Updated
- Bumping chart version to v0.6.1 for scalr-agent v1.1.0
Changed
-
BREAKING: Default
image.repositorychanged fromscalr/agent-runnertoscalr/agent.The chart now defaults to the minimal
scalr/agentimage, which ships the Scalr Agent service, the OpenTofu/Terraform runtime, and basic tooling (git,curl,openssl,ca-certificates). It does not ship cloud-provider CLIs (aws,gcloud,az,kubectl,scalr-cli) — those were previously bundled inscalr/agent-runner. The motivation is a smaller default image, faster pulls, and a reduced attack surface for the majority of installations that never invoke a cloud CLI from a run.Only installations whose runs invoke
aws,gcloud,az,kubectl,scalr-cli, or other tooling that was previously preinstalled inscalr/agent-runnerare affected. To check, scan your Workspace hooks and Terraform/OpenTofu modules for those binaries. Installations already using a customimage.repositoryare unaffected.If affected, pick one:
-
Build a custom image on top of
scalr/agentwith the required tooling preinstalled (see Custom Agent Image) and point the chart at it:image: repository: registry.example.com/my-scalr-agent tag: "1.0.5"
-
Or install the required tooling on demand via Workspace pre-run hooks.
-
Added
-
Added custom CA bundle configuration (
agent.tls.caBundleSecret,agent.tls.caBundle) for outbound TLS validation against the Scalr API, VCS providers, and provider registries. The bundle is mounted read-only at/etc/ssl/certs/scalr-ca-bundle.crtand exported viaSCALR_AGENT_CA_CERTandSSL_CERT_FILE. Supports both existing Kubernetes secrets and inline PEM values;caBundleSecrettakes precedence when both are set.SCALR_AGENT_CA_CERTandSSL_CERT_FILEare now reserved env var names and cannot be overridden viaextraEnv. -
Added
extraVolumesandextraVolumeMountsfor mounting additional secrets, configMaps, or other volumes into the agent pod alongside the chart-managed ones. -
Added mTLS client certificate configuration (
agent.tls.clientCertSecret,agent.tls.clientCert,agent.tls.clientKey) for mutual TLS authentication between the agent and Scalr. The bootstrap certificate and key are mounted read-only at/etc/scalr-agent/ssl/and mapped toSCALR_AGENT_TLS_CERT_FILEandSCALR_AGENT_TLS_KEY_FILE. Supports both existing Kubernetes secrets (includingkubernetes.io/tlstype) and inline PEM values. Note: mTLS is an upcoming Enterprise feature. -
Made the data directory persistence configurable. The
persistence.datablock now supports the sameenabled/emptyDir/persistentVolumeClaimstructure aspersistence.cache, allowing the data volume to be backed by a PVC instead ofemptyDir. Example:persistence: data: enabled: true persistentVolumeClaim: storageClassName: "" # use cluster default storage: 4Gi accessMode: ReadWriteOnce cache: enabled: true persistentVolumeClaim: storageClassName: "nfs-client" storage: 40Gi accessMode: ReadWriteMany # share cache across replicas
-
Persistence schema is now symmetric between
persistence.dataandpersistence.cache, matching theagent-jobchart.
Deprecated
- The top-level
persistence.enabledandpersistence.persistentVolumeClaim.*keys are deprecated in favor ofpersistence.cache.enabledandpersistence.cache.persistentVolumeClaim.*. The legacy keys still work and the chart emits a deprecation warning viaNOTES.txtwhen they are used. They will be removed in a future release.
Backward compatibility: existing installations continue to work without any values changes. When the legacy keys are set, the chart maps them onto the cache volume and preserves the legacy default cache PVC name (<release-fullname>) to avoid orphaning existing PVCs on upgrade. On the new schema, the default cache PVC name is <release-fullname>-cache and the new data PVC default name is <release-fullname>-data.
Action required (recommended migration): move legacy values under persistence.cache.*. Before:
persistence:
enabled: true
persistentVolumeClaim:
claimName: "my-cache-pvc"
storageClassName: "nfs-client"
storage: 40Gi
accessMode: ReadWriteManyAfter:
persistence:
cache:
enabled: true
persistentVolumeClaim:
claimName: "my-cache-pvc"
storageClassName: "nfs-client"
storage: 40Gi
accessMode: ReadWriteManyWhen you migrate without specifying claimName and previously relied on the auto-created PVC, note that the default PVC name changes from <release-fullname> to <release-fullname>-cache. To keep using the existing PVC, set persistence.cache.persistentVolumeClaim.claimName: "<release-fullname>" explicitly, or rename/re-bind the underlying PV.