Skip to content

Configuration Reference

Updated 3 min read

Generated from internal/configspec/spec.go. Edit the spec and run make docs to update this file.

The collector and dashboard binaries are configured entirely via environment variables. When deployed with the Helm chart, these are set through values.yaml and rendered into the relevant pod’s env block.

Read by cmd/provenance-collector (the CronJob).

VariableTypeDefaultDescription
PROVENANCE_NAMESPACESstring list(empty)Comma-separated namespaces to scan. Empty means scan all namespaces.
PROVENANCE_EXCLUDE_NAMESPACESstring list(empty)Comma-separated namespaces to exclude from the scan.
PROVENANCE_REGISTRY_AUTHstring(empty)Path to a Docker config.json for private registry authentication.
PROVENANCE_REGISTRY_TIMEOUTduration30sTimeout for registry operations (digest resolution, tag listing).
PROVENANCE_CHECK_UPDATESbooltrueCheck registries for newer semver tags.
PROVENANCE_UPDATE_LEVELstringpatchMinimum version bump to flag as an update: patch, minor, or major.
PROVENANCE_SKIP_PRERELEASEbooltrueIgnore alpha / beta / RC versions when checking for updates.
PROVENANCE_VERIFY_SIGNATURESbooltrueCheck for cosign signatures on images.
PROVENANCE_COSIGN_PUBLIC_KEYstring(empty)Path or KMS URI for the cosign public key. Empty = existence check only, no trust-chain verification.
PROVENANCE_CHECK_SBOMbooltrueCheck for SBOM attestations on discovered images.
PROVENANCE_CHECK_PROVENANCEbooltrueCheck for SLSA provenance attestations on discovered images.
PROVENANCE_HELM_ENABLEDbooltrueDiscover deployed Helm releases.
PROVENANCE_REPORT_OUTPUTstringhttpReport output type: http (POST to the dashboard’s internal endpoint), pvc (write to a shared PVC), or configmap.
PROVENANCE_REPORT_CONFIGMAPstringprovenance-reportConfigMap name used by the configmap report output type.
PROVENANCE_REPORT_CONFIGMAP_NAMESPACEstringdefaultNamespace for the report ConfigMap. Typically overridden by the chart to the release namespace.
PROVENANCE_REPORT_UPLOAD_URLstring(set by chart)Full URL the collector POSTs to in http mode, e.g. http://provenance-collector-web-internal.<ns>.svc:8081/internal/reports.
PROVENANCE_REPORT_UPLOAD_TIMEOUTduration30sTimeout for the report upload request in http mode.
PROVENANCE_CLUSTER_NAMEstring(empty)Cluster name included in report metadata. Informational only.
KUBECONFIGstring(empty)Path to a kubeconfig file. Empty = use in-cluster credentials (the normal case for the chart-deployed CronJob).

Read by both binaries.

VariableTypeDefaultDescription
PROVENANCE_REPORT_PATHstring/reportsFilesystem path used by the dashboard pod (always) and the collector pod (only in pvc mode).
PROVENANCE_REPORT_RETENTIONduration168hAuto-prune reports older than this. Use -1 to disable cleanup and keep all reports.

Read by cmd/dashboard (the web UI pod).

VariableTypeDefaultDescription
PROVENANCE_DASHBOARD_ADDRstring:8080Listen address for the public HTTP server (UI + read API).
PROVENANCE_DASHBOARD_INTERNAL_ADDRstring:8081Listen address for the internal upload endpoint. Never put this behind an Ingress.
PROVENANCE_UPLOAD_MAX_BYTESbytes16777216Max body size in bytes accepted on the internal upload endpoint. Default ~16 MiB.
PROVENANCE_OIDC_ISSUERstring(empty)OIDC issuer URL the dashboard calls for userinfo (e.g. https://keycloak.example.com/realms/nebari). Empty = auth disabled.
PROVENANCE_ADMIN_GROUPSstring list(empty)Comma-separated OIDC groups whose members may trigger a scan via the dashboard’s Run Scan button.
PROVENANCE_MANUAL_JOB_TTLduration1hTTL after which dashboard-triggered Jobs are auto-cleaned. 0 (or any zero-duration string) keeps Jobs forever.
PROVENANCE_NAMESPACEstring(set by chart)Namespace the dashboard runs in. Used to address the CronJob from /api/scan. The chart populates this via the downward API.
PROVENANCE_CRONJOB_NAMEstring(set by chart)Name of the CronJob the dashboard creates manual Jobs from. The chart sets this to the release’s full name.
PROVENANCE_FEATURE_TIMELINE_DELTASboolfalseOpt-in: render a +N / -N unique-image delta badge on each timeline card vs the previous scan. Exposed in the chart as webUI.features.timelineDeltas.

Duration values use Go’s time.ParseDuration format:

  • 30s — 30 seconds
  • 5m — 5 minutes
  • 1h30m — 1 hour 30 minutes
  • 168h — 7 days

Where noted, -1 disables the timeout / retention.

Boolean values accept true / 1 / yes / on (case-insensitive) as truthy. Anything else, including unset, is false.

Integer count of bytes (decimal). 16777216 is 16 MiB.

Comma-separated. Whitespace around commas is trimmed; empty entries are dropped.