Skip to main content

Agent installation with Helm

The Akuity Platform provides an official Helm chart for installing and registering the Akuity agent on a cluster. The chart handles both registering the cluster with the Akuity Platform and deploying the agent components in a single step.

The chart is published to the OCI registry at oci://quay.io/akuity/akuity-platform-charts/akuity-agent.

Overview

When installed, the chart runs a registration job that:

  1. Creates (or upserts) the cluster entry in the Akuity Platform using the Akuity CLI.
  2. Fetches the generated agent manifests from the platform.
  3. Applies the agent manifests to the cluster.

The agent is designed to be provisioned as part of a cluster bootstrapping process. Rather than registering clusters manually after they are created, we recommend embedding this Helm chart into the platform infrastructure that is already in place. For example Terraform - so that every new cluster is registered automatically on creation.

Prerequisites

  • An Akuity Platform organization and an existing Argo CD instance to register the cluster with.
  • An Akuity API key. Generate one from the API Keys tab on the organization profile page in the Akuity Portal UI, or see the CLI reference for the akuity apikey create command.
  • Helm v3 and kubectl access to the target cluster.

Installing the chart

helm install akuity-agent oci://quay.io/akuity/akuity-platform-charts/akuity-agent \
--namespace akuity-agent \
--create-namespace \
--set clusterName=<cluster-name> \
--set instanceName=<argocd-instance-name> \
--set organizationName=<organization-name> \
--set akuityApiKeyId=<api-key-id> \
--set akuityApiKeySecret=<api-key-secret>

Configuration reference

ValueDescriptionRequired
clusterNameName of the cluster as it will appear in the Akuity PlatformYes
instanceNameName of the Argo CD instance to register the cluster withYes
organizationNameName of your Akuity organizationYes
akuityApiKeyIdAkuity API key IDYes
akuityApiKeySecretAkuity API key secretYes
akuityServerUrlAkuity Platform API URL (defaults to https://akuity.cloud)No
versionPin a specific agent versionNo
agentSizeAgent resource sizeNo
labelsLabels to apply to the cluster, e.g. ["env=prod", "team=platform"]No
annotationsAnnotations to apply to the clusterNo
projectProject to associate the cluster withNo
namespaceScopedInstall the agent in namespace-scoped modeNo
disableAutoUpdateDisable automatic agent updatesNo
stateReplicationEnable state replicationNo
redisTunnelingEnable Redis tunnelingNo

Embedding in Terraform

For clusters managed by Terraform, use the helm_release resource to register each cluster as part of provisioning. This ensures the agent is always installed when a new cluster is created, without any manual steps.

variable "akuity_api_key_id" {
type = string
sensitive = true
}

variable "akuity_api_key_secret" {
type = string
sensitive = true
}

resource "helm_release" "akuity_agent" {
name = "akuity-agent"
repository = "oci://quay.io/akuity/akuity-platform-charts"
chart = "akuity-agent"
namespace = "akuity-agent"
create_namespace = true

set {
name = "clusterName"
value = var.cluster_name
}

set {
name = "instanceName"
value = var.argocd_instance_name
}

set {
name = "organizationName"
value = var.akuity_organization_name
}

set {
name = "akuityApiKeyId"
value = var.akuity_api_key_id
type = "string"
}

set_sensitive {
name = "akuityApiKeySecret"
value = var.akuity_api_key_secret
}
}
note

Store akuityApiKeyId and akuityApiKeySecret in a secrets manager (such as AWS Secrets Manager or HashiCorp Vault) and pass them into Terraform as sensitive variables rather than hardcoding them in the configuration.