Skip to content

Icebreaker Agent configuration

The Icebreaker Agent is configured at install time through Helm chart values. This page is the lookup reference; for the install narrative, see Install the Icebreaker Agent.

The chart lives in the eyrie repository at deploy/helm/eyrie-agent. Defaults shown here match the chart’s values.yaml.

ValueTypeDefaultDescription
agent.serverUrlstringwss://console.icebreakerdata.com/ws/virtual-clusterWebSocket URL of the Icebreaker control plane. Required.
agent.tokenstring""Agent token shown when you created the Agent. Set this or agent.existingSecret (not both). When set, the chart creates a Kubernetes Secret containing the token.
agent.existingSecretstring""Name of a pre-created Kubernetes Secret containing the token. Preferred over agent.token for production deployments.
agent.existingSecretKeystringtokenKey within agent.existingSecret that holds the token value.

The workload namespace is where the Icebreaker Agent reconciles Data Server Deployments, Services, and Ingresses. It must already exist before installation — the chart does not create it.

ValueTypeDefaultDescription
agent.workloadNamespacestringeyrie-computeNamespace for Icebreaker workloads.
agent.workloadServiceAccountstringcolibriServiceAccount name for Data Server pods. The chart creates this if rbac.createWorkloadRbac is true.
agent.workloadServiceAccountAnnotationsmap{}Annotations applied to the colibri ServiceAccount. Use this to set IRSA role ARNs (e.g., eks.amazonaws.com/role-arn) for IAM-backed pod identity.

Ingress configuration determines how SQL clients reach Data Server endpoints. The two modes are mutually exclusive.

ValueTypeDefaultDescription
agent.ingressDomainstring"ds.icebreakerdata.com"Base domain for nginx Ingress. The Icebreaker Agent creates one Ingress per Data Server at {data_server_id}.{ingressDomain}. Requires a wildcard DNS record pointing at the nginx controller’s load balancer. Override this with your own domain. The default is an Icebreaker-internal value that will not resolve in customer clusters.
agent.ingressTlsSecretstring"colibri-tls"Name of a kubernetes.io/tls Secret in the workload namespace holding a wildcard certificate for *.{ingressDomain}. When set, connection URLs use grpc+tls:// and Ingresses include a TLS block. Leave unset for plain grpc://. Override this with the name of your wildcard TLS Secret. The default is an Icebreaker-internal value.
ValueTypeDefaultDescription
agent.albIngressboolfalseEnable AWS ALB Ingress mode. Mutually exclusive with agent.ingressDomain.
agent.albCertificateArnstringunsetACM certificate ARN for the ALB HTTPS listener. Required when agent.albIngress is true.
ValueTypeDefaultDescription
rbac.createbooltrueCreate the Icebreaker Agent’s own ServiceAccount, Role, and RoleBinding.
rbac.manageNodePoolsbooltrueGrant cluster-scoped permissions to manage Karpenter NodePool CRDs. Set to false if Karpenter is not installed; the Icebreaker Agent logs errors for Capacity Policy reconciliation but Data Server reconciliation continues.
rbac.createWorkloadRbacbooltrueCreate the colibri ServiceAccount and Role in the workload namespace so Data Server pods can schedule their own query executor pods.
rbac.monitorNodeCostsbooltrueGrant the colibri ServiceAccount cluster-scoped read access to Nodes for the per-Data Server node cost monitor. Set to false to opt out — the monitor logs warnings and stays idle, but queries are unaffected. The monitor also needs AWS read permission for EC2 spot pricing; supply that via agent.workloadServiceAccountAnnotations (IRSA) or node-instance IAM.
ValueTypeDefaultDescription
image.repositorystringIcebreaker’s private container registry pathContainer image for the Icebreaker Agent.
image.tagstringv0.0.3 (defaults to chart appVersion when empty)Image tag. Pin to a specific release version in production.
image.pullPolicystringIfNotPresentKubernetes pull policy.
imagePullSecretslist[]imagePullSecrets references if your cluster needs them to pull from the Icebreaker registry.
ValueTypeDefaultDescription
agent.logLevelstringinfoPassed to the Icebreaker Agent as RUST_LOG. Use debug for verbose logs during troubleshooting.

Standard Kubernetes pod controls. Set as needed for your cluster.

ValueTypeDefaultDescription
resources.requests.cpustring50mCPU request for the Icebreaker Agent pod.
resources.requests.memorystring64MiMemory request.
resources.limits.cpustring500mCPU limit.
resources.limits.memorystring256MiMemory limit.
nodeSelectormap{}Standard nodeSelector.
tolerationslist[]Standard tolerations.
affinitymap{}Standard affinity rules.
priorityClassNamestring""Standard PriorityClass reference.
podAnnotationsmap{}Annotations added to the Icebreaker Agent pod.
podLabelsmap{}Labels added to the Icebreaker Agent pod.

The chart sets a hardened default. Override only if your environment requires it.

ValueTypeDefault
podSecurityContext.runAsNonRootbooltrue
podSecurityContext.runAsUserint65532
podSecurityContext.runAsGroupint65532
podSecurityContext.fsGroupint65532
podSecurityContext.seccompProfile.typestringRuntimeDefault
securityContext.allowPrivilegeEscalationboolfalse
securityContext.readOnlyRootFilesystembooltrue
securityContext.capabilities.droplist["ALL"]

Data Server status values (visible in the Admin console)

Section titled “Data Server status values (visible in the Admin console)”

When you view a Data Server in the Admin console, the status field is derived from the underlying Kubernetes Deployment.

Condition in the clusterStatus reported
No Deployment exists yetpending
Progressing=False with reason=ProgressDeadlineExceedederror
ReplicaFailure=True (any reason)error
ready_replicas >= desired.replicasrunning
Otherwisedeploying

Available=False / MinimumReplicasUnavailable during startup is normal and is intentionally not reported as an error.

The Icebreaker Agent can also be run directly as a binary. Each Helm value maps to a CLI flag and an environment variable. The most common mapping:

FlagEnv varHelm equivalent
--tokenAGENT_TOKENagent.token
--server-urlSERVER_URLagent.serverUrl
--namespaceNAMESPACEagent.workloadNamespace
--service-accountCOLIBRI_SERVICE_ACCOUNTagent.workloadServiceAccount
--ingress-domainCOLIBRI_INGRESS_DOMAINagent.ingressDomain
--ingress-tls-secretCOLIBRI_INGRESS_TLS_SECRETagent.ingressTlsSecret
--alb-ingressCOLIBRI_ALB_INGRESSagent.albIngress
--alb-certificate-arnCOLIBRI_ALB_CERTIFICATE_ARNagent.albCertificateArn

For most early-adopter deployments, the Helm chart is the supported install path. The CLI / env interface exists primarily for development and integration testing.