Code for the blogging service of while-true-do.io..
As a community project, we want to inform our users and publish knowledge. This can be done with a platform that allows contributors to publish new articles on a regular basis.
The repository holds the deployment data for blog.while-true-do.io. The blog engine is based on the popular and simple Ghost blogging platform.
In addition, we will track new ideas and article progress in the GitHub issues.
You can find a small architectural diagram of the blog engine in the docs directory.
We are really happy, that you consider using our software. In case you want to install and run the code on your machine, please check out this section.
The deployment is done on Kubernetes. Therefore, you will need a Kubernetes instance running to apply the deployment. As a reference, you can have a look at kube.while-true-do.io.
For development purposes, you can also use Minikube or plain k3s.
The installation of the deployment is done with kustomize. Kustomize is baked into kubectl.
For now, we are offering 3 different environments:
The home environment is the default environment. It can be used for your personal home server, development or small environments.
# Deploy to the home environment
$ kubectl apply -k kubernetes/overlays/home/
This will create:
- a namespace "blog-home-while-true-do-io"
- an ingress "blog.home.while-true-do.io"
- the necessary services, deployments, configMap and persistent volumes
The test environment is used for testing purposes. It is used in our testing area to learn about new features and try out new ideas.
# Deploy to the test environment
$ kubectl apply -k kubernetes/overlays/test/
This will create:
- a namespace "blog-test-while-true-do-io"
- an ingress "blog.test.while-true-do.io"
- the necessary services, deployments, configMap and persistent volumes
The production environment is used for the deployment of the blog. For now, it does not differ from other deployments, but is intended to facilitate certain scaling and HA features in the future.
# Deploy to the prod environment
$ kubectl apply -k kubernetes/overlays/prod/
This will create:
- a namespace "blog-prod-while-true-do-io"
- an ingress "blog.while-true-do.io"
- the necessary services, deployments, configMap and persistent volumes
The deployment is based on the famous Ghost blogging engine which is documented in the Ghost documentation.
The software is open source and can be found on GitHub.
Thank you so much for considering to contribute! We are happy, when someone is joining the hard work. Please have a look at the Contributor Conventions beforehand.
Issues and Pull Requests are handled on a regular basis. Please be aware, that we may reach out to you, ask you to provide additional resources or want to discuss the issue a little, before planning it.
In case you want to customize the deployment or help developing, you should copy one of the overlays and inspect each of the files. You need to adjust at least:
- the namespace.yml
- the ingress.yml
- the blog-web.env
You should also make yourself comfortable with the use of MiniKube and Kustomize.
We are maintaining a changelog for repositories. Normally, the developers will update the changelog, according to keepachangelog.com.
To ensure a high quality and functionality, we want to carefully test our software. The provided code is automatically tested as described in the .cirrus.yml.
Except otherwise noted, all work is licensed under a BSD-3-Clause License.
Please feel free to reach out to us and the community. We also recommend to read and understand the Code of Conduct beforehand.
- Site: https://while-true-do.io
- Blog: https://blog.while-true-do.io
- Code: https://github.com/whiletruedoio
- Chat: libera.chat #whiletruedoio
- Mail: hello@while-true-do.io