monedula-gitops docs menu
Install monedula-gitops
Install the monedula-gitops CLI with Homebrew, go install, a release binary or Docker, and the Kubernetes operator with Helm or Kustomize.
On this page
One binary runs as the CLI or as the Kubernetes operator. Install the CLI wherever you run commands such as apply and verify, on your machine or a CI runner, and the operator in the Kubernetes cluster that should reconcile your custom resources.
Before you start
- For the CLI, depending on the method: Homebrew, Go 1.26 or newer, or Docker. The prebuilt binary needs none of them.
- For the operator, a Kubernetes cluster at version 1.25 or newer,
kubectland, for the chart, Helm.
Steps
1. Install the CLI
Install the binary with one of these methods:
brew install monedula-dev/tap/monedula-gitopsgo install github.com/monedula-dev/monedula-gitops/cmd/monedula-gitops@latestdocker run --rm ghcr.io/monedula-dev/monedula-gitops:latest --helpTo use a prebuilt binary instead, download the archive for your operating system and architecture from the latest release, extract it, and put monedula-gitops on your PATH.
The Docker image’s entrypoint is monedula-gitops and its default command is operator, so anything you pass after the image name replaces that default: --help above prints the CLI help instead of starting the operator.
2. Install the operator
Install the Helm chart into its own namespace:
helm install monedula-gitops oci://ghcr.io/monedula-dev/charts/monedula-gitops \
--namespace monedula-system --create-namespace
The chart installs the custom resource definitions, the RBAC rules and the operator Deployment, and pulls the operator image ghcr.io/monedula-dev/monedula-gitops, tagged with the chart’s app version. helm uninstall leaves the custom resource definitions and your custom resources in place.
The admission webhook is off by default. To turn it on, install cert-manager first, which issues its serving certificate (or bring your own certificate), and add --set webhook.enabled=true; Configure the Kubernetes operator covers the webhook and the other chart values.
To install with Kustomize instead, apply the repository’s default configuration at the release tag:
kubectl apply -k "github.com/monedula-dev/monedula-gitops/config/default?ref=v1.0.0"
It creates the namespace monedula-system, the custom resource definitions, the RBAC rules and the operator Deployment monedula-controller-manager, with the webhook off. To turn the webhook on, install cert-manager first and apply config/overlays/webhook at the same tag instead of config/default.
Check it worked
Check that the CLI runs:
monedula-gitops version
It prints the version, the commit and the build date. A binary that go install builds reports its version as dev. With the Docker image, pass version after the image name instead.
Check that the operator Deployment, named after the Helm release (monedula-controller-manager with Kustomize), finished rolling out:
kubectl -n monedula-system rollout status deploy/monedula-gitops
If the rollout does not finish, read the operator logs:
kubectl -n monedula-system logs deploy/monedula-gitops
Related
- Get started with the CLI and Get started with the operator walk through a first run on a local cluster.
- Connect to a secured Kafka cluster is the next step after installing.