gitops-base Development Setup
Purpose: For contributors, shows how to set up the gitops-base development environment.
What you'll have at the end
A local Kubernetes cluster (Kind) with FluxCD bootstrapped, reconciling against your fork of openCenter-gitops-base. You can add or modify services and see them deploy in real time.
Prerequisites
kubectl,flux,kustomize, andkindCLI tools installed- A container runtime (Podman or Docker)
- A GitHub account with a fork of
openCenter-gitops-base
Step 1: Create a local Kind cluster
kind create cluster --name gitops-dev
Step 2: Bootstrap FluxCD
Point FluxCD at your fork so you can push changes and watch reconciliation:
flux bootstrap github \
--owner=<your-github-user> \
--repository=openCenter-gitops-base \
--branch=dev \
--path=applications/base \
--personal
Step 3: Verify FluxCD is running
flux check
kubectl get kustomizations -n flux-system
All Kustomizations should show Ready: True.
Step 4: Test a service locally
To test changes to a service (e.g., cert-manager), validate the Kustomize output before pushing:
kustomize build applications/base/services/cert-manager/
This renders the final manifests. Check for YAML errors and correct resource definitions.
Step 5: Push and reconcile
git add .
git commit -m "feat: update cert-manager values"
git push origin dev
# Force immediate reconciliation (instead of waiting for the poll interval)
flux reconcile source git flux-system
Step 6: Verify deployment
flux get helmreleases -A
kubectl get pods -n cert-manager
Check your work
flux checkreports no issuesflux get kustomizations -Ashows all resources asReady- Modified services deploy and pods reach
Runningstate
Next steps
- Read Adding a Service to add a new platform service
- Review existing services under
applications/base/services/for patterns - See Kustomize Patterns for the base + overlay composition model