Jonline is generally setup to be deployed using Make atop kubectl
and jq
(and graphviz
, if editing architecture diagrams in this directory).
This is how Jonline works on a client-server, in terms of interaction of the Browser/App, HTTP server, gRPC server, PostgreSQL DB, and MinIO.
Deployment management logic lives in deploys/
. Essentially this is some readable Makefile
stuff built atop kubectl
.
Generated certs live in deploys/generated_certs
. Generally, if you want to deploy to your own Kubernetes cluster, and secure it with TLS, you should take a look at these docs. Cert-Manager for DigitalOcean with DigitalOcean DNS is done. It should be possible to do this for other hosts with Cert-Manager support.
CI/CD logic is defined in .github/workflows/
. If you can set up a Kubernetes deployment with the instructions in deploys/
, hooking into the Server
The main CI jobs behind Jonline are:
This is how Jonline is currently deployed.
Not yet implemented; an ongoing dev effort (that welcomes outside contributions)! See the GitHub issue for more information.