Kubernetes
Hosted by scaleway, argocd manages the kubernetes cluster usint gitops.
Until I put together a diagram for that, this is the rough flow:
- push up changes on the application repository
- github actions runs and pushes up a docker image
- the github action sends a workflow dispatch event to the gitops repository
- the configured workflow in the gitops repository updates the appropriate deployment definition version and pushes the changes back up to the
main
branch
- ArgoCD picks up the change and deploys the new version of the application
sequenceDiagram
actor Author
Author ->> Github: git push
Github ->> Actions: build docker image
Actions ->> Container Registry: docker push
Actions ->> Gitops Repository: workflow dispatch
Kubernetes ->> Gitops Repository: ArgoCD Sync
Kubernetes ->> Container Registry: docker pull
Kubernetes ->> ArgoCD Application: Update deployment
Notes
- Authentication is never done with personal access tokens. Those are fine for individuals, but for processes that should be supported long term, using a
github app seems like a better idea, plus the same setup can be done in orgs and on enterprise setups.
TODO:
- configure a webhook on the gitops repo to notify argocd, rather than have argocd poll
- style the site better
- the hamberder menu on mobile is trash