Deploy Kompass to an EKS cluster using the values generated during account onboarding.
The caller's Helm provider selects the target cluster. The Kompass cluster submodule uses that provider and the account module's kompass_values_yaml output.
terraform {
required_version = ">= 1.5"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 6.0"
}
helm = {
source = "hashicorp/helm"
version = "~> 2.17"
}
}
}
variable "cluster_name" {
type = string
}
provider "aws" {
region = "us-west-2"
}
data "aws_eks_cluster" "target" {
name = var.cluster_name
}
data "aws_eks_cluster_auth" "target" {
name = data.aws_eks_cluster.target.name
}
provider "helm" {
kubernetes {
host = data.aws_eks_cluster.target.endpoint
cluster_ca_certificate = base64decode(data.aws_eks_cluster.target.certificate_authority[0].data)
token = data.aws_eks_cluster_auth.target.token
}
}
module "zesty_account" {
source = "zesty-co/zesty-account/aws"
version = "~> 0.1.1"
account_type = "linked"
kompass = {}
}
module "kompass_cluster" {
source = "zesty-co/zesty-account/aws//modules/kompass-cluster"
version = "~> 0.1.1"
kompass_values_yaml = module.zesty_account.kompass_values_yaml
}This installs Kompass with the generated Helm values. cert-manager is handled by the Kompass Helm chart.
To use EKS Pod Identity for the Kompass Insights agent, add the following options:
module "kompass_cluster" {
source = "zesty-co/zesty-account/aws//modules/kompass-cluster"
version = "~> 0.1.1"
kompass_values_yaml = module.zesty_account.kompass_values_yaml
pod_identity_enabled = true
cluster_name = var.cluster_name
insights_agent_role_name = "ZestyInsightsAgent-${var.cluster_name}"
}When pod_identity_enabled = true, the EKS Pod Identity Agent add-on must already be installed in the target cluster.
If you use IRSA, set irsa_enabled = true and provide oidc_provider_arn.
See the Kompass cluster submodule README for all options.
Verify the Helm installation with:
helm status kompass -n zesty-system
kubectl get pods -n zesty-systemInstall Kompass in multiple EKS clusters
For multiple clusters:
Configure one Helm provider alias per cluster.
Call the Kompass cluster submodule once per cluster.
Pass the same account-level kompass_values_yaml output to each cluster call.
See the multi-cluster example.