Monedula
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.

How-to guides 1 of 18

2 min read

Updated 9 October 2026

Markdown

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, kubectl and, for the chart, Helm.

Steps

1. Install the CLI

Install the binary with one of these methods:

brew install monedula-dev/tap/monedula-gitops
go install github.com/monedula-dev/monedula-gitops/cmd/monedula-gitops@latest
docker run --rm ghcr.io/monedula-dev/monedula-gitops:latest --help

To 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