Skip to content

Configuration

Consize can be configured to control what it observes, what it can change, and how it operates in your environment.

This page is the reference list of configuration options. For task-based walkthroughs, see Production Installation and Environments.

Durable storage

Variable Default Description
CONSIZE_DATABASE_URL unset PostgreSQL connection URL shared by the API and worker. Required for production durable storage. Inject it from a secret and require TLS outside trusted local networks.

The JSON state_path configuration is limited to the single-process local lab. PostgreSQL owns production migrations, constraints, restart recovery, and concurrent API/worker access. See Durable storage and schema evolution.

Collection

Variable Default Description
CONSIZE_NAMESPACES empty (cluster-wide) Comma-separated namespaces to scope collection to, e.g. boutique,payments,checkout
CONSIZE_MIN_DATA_DAYS 5 Minimum distinct days of data required before a recommendation is generated. Confidence scores scale with data volume regardless of this setting.

Verification

Variable Default Description
CONSIZE_SUSTAINED_MINUTES 5 How long a signal must stay past its regression threshold before it counts as a breach and triggers rollback
CONSIZE_SLI_ERROR_EXPR unset (off) Optional PromQL expression for an app-level error-rate signal. Off by default until you provide app-level labels.
CONSIZE_SLI_P99_EXPR unset (off) Optional PromQL expression for an app-level p99 latency signal

Without zero-instrumentation SLIs (restarts, OOM kills, evictions, CPU throttling), verification still runs, see The Safety Net for the default signal set and verdict logic.

Cloud database metrics

Variable Default Description
CONSIZE_DBMETRICS none (Kubernetes-only) Selects the DB metrics source: none, cloudwatch (AWS RDS), or cloudmonitoring (GCP Cloud SQL)
CONSIZE_AWS_REGION us-east-1 AWS region, used when CONSIZE_DBMETRICS=cloudwatch
CONSIZE_GCP_PROJECT inferred from service account key GCP project, used when CONSIZE_DBMETRICS=cloudmonitoring
CONSIZE_DB_FILTER unset Optional filter limiting which DB instances are collected

For the exact IAM permissions these require, see Production Installation. For which providers and services are supported at all, see Supported Platforms.

Recommendation retention

Variable Default Description
CONSIZE_REC_RETENTION 168h (7 days) How long superseded recommendations are kept before pruning. Applied, verified, rolled-back, and pending recommendations are never pruned.

Authentication

Variable Default Description
CONSIZE_AUTH_REQUIRED false Whether login is enforced on the API/UI
CONSIZE_BOOTSTRAP_ADMIN unset "email:password", creates the first admin account, and only while the users table is empty

Namespace and RBAC scoping

Collection scope, write scope, and automatic-application eligibility are configured through Helm values and Kubernetes labels rather than environment variables, see Environments for the collector.namespaces / rbac.writer.namespaces values and the consize.savings.dev/auto-apply label.

Secrets

Metrics connection, Slack notifications, and GitHub integration are configured through Kubernetes secrets (consize-store, consize-alerts, consize-github), see Production Installation for the exact commands.

Helm values

Production installations use Helm values to configure Consize. See Production Installation for the install commands.

Next steps

Was this page helpful?