Skip to content
Crow CI

Server Core

Core server configuration variables.

  • Name: CROW_ADMIN
  • Description: List of admin users. Applies to forge sign-in only; single sign-on uses CROW_OIDC_ADMIN_GROUPS.
  • Default: none

  • Name: CROW_ADMIN_TOKEN
  • Description: Opaque secret (at least 32 characters) seeded at startup as a full-admin API token for automation. Owned by the dedicated crow-admin system user. Changing the value rotates the credential and revokes the previous one on next boot.
  • Default: none

  • Name: CROW_HOST
  • Description: Server fully qualified URL. Format: <scheme>://<host>[/<prefix path>]
  • Default: none

  • Name: CROW_OPEN
  • Description: Enable open user registration, through a forge or through single sign-on.
  • Default: false

  • Name: CROW_ORGS
  • Description: List of approved organizations.
  • Default: none

  • Name: CROW_REPO_OWNERS
  • Description: Repositories by those owners will be allowed to be used in Crow.
  • Default: none

  • Name: CROW_SERVER_ADDR
  • Description: Server address.
  • Default: :8000

  • Name: CROW_TRUSTED_PROXIES
  • Description: Comma-separated IP addresses or CIDR ranges of the reverse proxies whose X-Forwarded-For and X-Real-IP headers are trusted for the client IP. Unset trusts every peer, which lets clients spoof their IP and get around the per-IP limit on LDAP sign-in. An invalid entry stops the server from starting.
  • Default: none

  • Name: CROW_FORGE_LOGIN_DISABLED
  • Description: Disable forge OAuth sign-in; forge accounts can still be linked. Requires OIDC or LDAP sign-in, otherwise the server refuses to start.
  • Default: false

  • Name: CROW_SERVER_ADDR_TLS
  • Description: Port HTTPS with TLS.
  • Default: :443

  • Name: CROW_SERVER_CERT
  • Description: Server SSL cert path.
  • Default: none

  • Name: CROW_SERVER_KEY
  • Description: Server SSL key path.
  • Default: none

  • Name: CROW_EXPERT_WEBHOOK_HOST
  • Description: Fully qualified Crow server URL called by forge’s webhooks. Format: <scheme>://<host>[/<prefix path>]. For experts only!
  • Default: none

  • Name: CROW_GRPC_ADDR
  • Description: gRPC address.
  • Default: :9000

  • Name: CROW_METRICS_SERVER_ADDR
  • Description: Metrics server address.
  • Default: none

  • Name: CROW_ENABLE_SWAGGER
  • Description: Enable Swagger API documentation.
  • Default: true

  • Name: CROW_ENABLE_HA
  • Description: Enable high availability mode with database-backed queue.
  • Default: false

  • Name: CROW_QUEUE_LOCK_TTL
  • Description: Time-to-live for the queue processing leader election lock in High Availability mode. If the leader node fails, other nodes must wait this duration before acquiring the lock.
  • Default: 30s

  • Name: CROW_CRON_LOCK_TTL
  • Description: Time-to-live for the cron scheduler leader election lock in High Availability mode. If the leader node fails, other nodes must wait this duration before acquiring the lock.
  • Default: 90s

  • Name: CROW_SCHEDULING_STRATEGY
  • Description: How the server distributes workflows across agents that are equally eligible (same labels, same priority). One of least-loaded, pack, round-robin or random. Applies to both the single-instance and High Availability queues. See Scheduling strategy.
  • Default: least-loaded

  • Name: CROW_AGENT_AUTO_RESTART
  • Description: Restart agents that accept remote restarts (CROW_AGENT_REMOTE_UPDATE=restart) without an admin asking. One of off, outdated (agents on an older protocol version than the server) or release (agents on any other release). Each agent is asked at most once per server release. See Rolling Restarts.
  • Default: off

  • Name: CROW_AGENT_AUTO_RESTART_MAX_PARALLEL
  • Description: How many agents may drain for a queued or automatic restart at the same time. Restarts an admin requests for a single agent are not limited.
  • Default: 1

  • Name: CROW_METRICS_PRESERVE_DELETED
  • Description: Keep a repository’s or organization’s pipelines and workflows when it is removed, so historic data stays in the metrics dashboard instead of disappearing. When disabled, removing a repo or org purges its pipelines and workflows (the pre-6.x behavior). See Metrics dashboard.
  • Default: true

  • Name: CROW_KEEPALIVE_MIN_TIME
  • Description: Server-side enforcement policy on the minimum amount of time a client should wait before sending a keepalive ping.
  • Default: none

  • Name: CROW_SESSION_EXPIRES
  • Description: Session expiration time.
  • Default: 72h

  • Name: CROW_STATUS_CONTEXT
  • Description: Status context prefix.
  • Default: ci/crow

  • Name: CROW_STATUS_CONTEXT_FORMAT
  • Description: Status context format.
  • Default: {{ .context }}/{{ .event }}/{{ .workflow }}{{if not (eq .axis_id 0)}}/{{.axis_id}}{{end}}

  • Name: CROW_DISABLE_VERSION_CHECK
  • Description: Disable version check in admin web UI.
  • Default: false

  • Name: CROW_DISABLE_USER_AGENT_REGISTRATION
  • Description: Disable user registered agents.
  • Default: false

  • Name: CROW_MIGRATIONS_ALLOW_LONG
  • Description: Allow long-running migrations.
  • Default: false

  • Name: CROW_CUSTOM_CSS_FILE
  • Description: File path for the server to serve a custom .CSS file, used for customizing the UI.
  • Default: none

  • Name: CROW_CUSTOM_JS_FILE
  • Description: File path for the server to serve a custom .JS file, used for customizing the UI.
  • Default: none

  • Name: CROW_CUSTOM_THEMES
  • Description: Comma-separated file paths or http(s):// URLs of CSS or JSON files with additional UI themes, offered to users next to the bundled themes. A theme with the id of a bundled theme replaces it. Sources are read and validated at startup, and the server refuses to start if one is invalid; URLs that cannot be fetched are skipped with an error log. See Admin-provided themes for the formats.
  • Default: none

  • Name: CROW_DEV_WWW_PROXY
  • Description: Serve the website by using a proxy (used for development).
  • Default: none

  • Name: CROW_ENVIRONMENT
  • Description: Environment variables.
  • Default: none

  • Name: CROW_NETWORK
  • Description: Networks.
  • Default: none

  • Name: CROW_VOLUME
  • Description: Volumes.
  • Default: none

  • Name: CROW_CONTAINER_NAME_SCHEME
  • Description: Determines the naming scheme type for containers. Possible values are descriptive and hash. The descriptive scheme uses format <owner>-<repo>-<pipeline>-<workflow>-<stepname>-<stepnumber> for readability and uniqueness.
  • Default: descriptive

  • Name: CROW_CONFIG_SERVICE_ENDPOINT
  • Description: URL used for calling configuration service endpoint.
  • Default: none

  • Name: CROW_MAX_MATRIX_SIZE
  • Description: Maximum number of matrix permutations allowed per pipeline. Set to 0 for unlimited.
  • Default: 25

  • Name: CROW_PROMETHEUS_AUTH_TOKEN
  • Description: Token to secure Prometheus metrics endpoint.
  • Default: none

  • Name: CROW_PROCLOG_ENABLED
  • Description: Master switch for process logs. When false, ingest endpoints are unavailable, the SSE stream returns empty, and the janitor does not run.
  • Default: true

  • Name: CROW_PROCLOG_MAX_ROWS_PER_SOURCE
  • Description: Maximum process-log rows retained per (source_type, source_id). Older rows are trimmed by the janitor.
  • Default: 5000

  • Name: CROW_PROCLOG_JANITOR_INTERVAL
  • Description: How often the process-log janitor trims rows that exceed CROW_PROCLOG_MAX_ROWS_PER_SOURCE.
  • Default: 5m

  • Name: CROW_PROCLOG_POLL_INTERVAL
  • Description: Database poll cadence for the SSE stream when pushing live entries to the client.
  • Default: 100ms

  • Name: CROW_APPROVAL_GATE_TIMEOUT_DEFAULT
  • Description: Default workflow approval gate timeout applied when YAML omits approval.timeout. See Approval gates.
  • Default: 24h

  • Name: CROW_APPROVAL_GATE_TIMEOUT_MAX
  • Description: Hard upper bound on per-gate timeout. YAML values above this fail lint.
  • Default: 168h

  • Name: CROW_APPROVAL_GATE_SWEEP_INTERVAL
  • Description: How often the approval gate timeout sweeper runs. Clamped to a minimum of 5s.
  • Default: 30s