Helm
Deploy Crow CI on Kubernetes using the official Helm chart.
Installation
Section titled “Installation”-
Add the Helm repository:
-
Install the chart:
Or use OCI directly:
Configuration
Section titled “Configuration”Agent Secret
Section titled “Agent Secret”By default, createAgentSecret: true creates a shared secret for server-agent authentication.
The default agents are automatically configured.
Workflow Volume Size
Section titled “Workflow Volume Size”Set CROW_BACKEND_K8S_VOLUME_SIZE for temporary workflow volumes:
Crow will deploy a fresh “workflow” volume for each pipeline. It will last the duration of the pipeline and should be large enough to accommodate the workflow’s (temporary) data.
Sensitive Secrets
Section titled “Sensitive Secrets”Inject sensitive values from Kubernetes secrets:
Common sensitive values:
CROW_DATABASE_DATASOURCECROW_FORGEJO_SECRET(OAuth)CROW_AGENT_SECRET(if not using auto-generated)
External Agents
Section titled “External Agents”To allow external agents to register, enable TLS-secured GRPC ingress:
Agent Affinity
Section titled “Agent Affinity”Spread agent pods across nodes:
Encryption at Rest
Section titled “Encryption at Rest”Crow encrypts secrets using Google Tink.
-
Generate a keyset:
-
Create a Kubernetes secret:
-
Enable in values:
Disabling Encryption
Section titled “Disabling Encryption”To decrypt existing data before disabling:
Wait for decryption to complete (check logs), then remove the configuration.
Security Context
Section titled “Security Context”The Helm chart configures security contexts for both server and agent components.
Server
Section titled “Server”The server uses fsGroup: 1000 to ensure the crow user can write to the persistent volume at /var/lib/crow.
The agent runs as non-root by default with runAsUser: 1000 and fsGroup: 1000.
Metrics
Section titled “Metrics”Enable Prometheus metrics:
If metrics aren’t collected, verify Prometheus namespace selectors: