Installing Kargo
Basic Installation
Installing Kargo with default configuration is quick and easy.
You will need:
- Helm: These instructions were tested with v3.13.1.
- A Kubernetes cluster with cert-manager,
Argo CD, and
Argo Rollouts
pre-installed. These instructions were tested with:
- Kubernetes: v1.27.4
- cert-manager: v1.11.5
- Argo CD: v2.9.3
- Argo Rollouts: v1.6.4
cert-manager
is used for self-signing a certificate used to identify Kargo's
webhook server to the Kubernetes API server. If you do not wish to use
cert-manager
for this purpose, you may provision your own certificate through
other means. Refer to the advanced installation section for more information.
We are working toward transitioning Argo CD and Argo Rollouts from required dependencies to suggested dependencies.
If your Argo CD control plane manages multiple Kubernetes clusters, be advised that Kargo is intended to be installed into the same cluster as the Argo CD control plane and not into the individual clusters that Argo CD is managing.
The following command will install Kargo with default configuration and a user-specified admin password:
helm install kargo \
oci://ghcr.io/akuity/kargo-charts/kargo \
--namespace kargo \
--create-namespace \
--set api.adminAccount.passwordHash='$2a$10$Zrhhie4vLz5ygtVSaif6o.qN36jgs6vjtMBdM6yrU1FOeiAAMMxOm' \
--set api.adminAccount.tokenSigningKey=iwishtowashmyirishwristwatch \
--wait
If deploying to an internet-facing cluster, be certain to do one of the following:
-
Disable the admin account with
--set api.adminAccount.enabled=false
-
Choose your own strong password and signing key.
Advanced Installation
-
Extract the default values from the Helm chart and save it to a convenient location. In the example below, we save it to
~/kargo-values.yaml
helm inspect values \
oci://ghcr.io/akuity/kargo-charts/kargo > ~/kargo-values.yaml -
Edit and save the values.
infoYou will find this configuration file contains helpful comments for every option, so specific options are not covered in detail here.
-
Proceed with installation, using your modified values:
helm install kargo \
oci://ghcr.io/akuity/kargo-charts/kargo \
--namespace kargo \
--create-namespace \
--values ~/kargo-values.yaml \
--wait