Skip to content

Add local Kubernetes deployment environment (kind + Podman + Argo CD) - #1505

Open
tommybobbins wants to merge 17 commits into
overleaf:mainfrom
tommybobbins:tng-k8s-kind-podman-argocd
Open

Add local Kubernetes deployment environment (kind + Podman + Argo CD)#1505
tommybobbins wants to merge 17 commits into
overleaf:mainfrom
tommybobbins:tng-k8s-kind-podman-argocd

Conversation

@tommybobbins

Copy link
Copy Markdown
Contributor

Description

  • Adds a complete local Kubernetes development environment for Overleaf Community Edition under a k8s/ directory.
  • Uses kind with Podman as the container runtime and Argo CD for GitOps-style deployment.
  • All runtime images are built locally and served from a local OCI registry inside kind (localhost:5001) - the environment is fully sandboxed following bootstrap.
  • No existing files in the source tree are modified.
  • Built and tested on macOS using homebrew, but installation steps should be straightforward to tailor for other platforms.

Contents

  • Bootstrap/teardown scripts (k8s/bootstrap/01-06): check and/or install prerequisites for macOS, create a kind cluster, stand up a local registry, install Argo CD, build and push all images, and tear down.
  • Helm chart (k8s/charts/overleaf/): deploys Overleaf (NodePort 30000), MongoDB 8.0 (with replica-set init), and Redis 6.2, each with persistent volume claims.
  • Argo CD configuration (k8s/argocd/): an Application pointing at the Helm chart with auto-sync and self-heal enabled.
  • Documentation (k8s/README.md): architecture overview.

Warning

Before this change can be approved, repoURL will need to change in k8s/argocd/application.yaml. It should point to:

repoURL: https://github.com/overleaf/overleaf.git

I have left this pointing to a fork for now to allow for testing.

Related issues / Pull Requests

N/A

Contributor Agreement

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant