Skip to content

Roadmap

Planned features

Promotion strategy and pipelines

  • DAG-style promotion strategies — Model promotion flows beyond a linear environment chain, including environment dependencies and parallel branch targets within a step (#1364).

Commit status and gating

  • Deployment window gates — Gate promotions on allowed time-of-day or calendar windows.
  • Self-registering commit status controllers — Register commit status keys with Promoter without listing them on every PromotionStrategy.

SCM providers and integrations

Operations, scaling, and observability

  • Multiple instances per cluster — Run separate Promoter deployments for scale, blast-radius isolation, or tenancy.
  • Namespaced operation mode — Restrict watches and permissions to configured namespaces.
  • DORA metrics — Export deployment frequency, lead time, and related delivery metrics.
  • SLSA release provenance — Publish SLSA attestations for release binaries and images.

v1.0 expected breaking changes

The project is still experimental; v1.0 will mark a stabilized API. The items below are expected or possible before then.

spec.key may become required (planned for v1.0)

Today, ArgoCDCommitStatus and TimedCommitStatus expose an optional spec.key with CRD defaults (argocd-health and timer). WebRequestCommitStatus and GitCommitStatus already require spec.key.

For v1.0, we may make spec.key required on ArgoCDCommitStatus and TimedCommitStatus so all built-in gate CRs share the same API shape. The deprecated CommitStatusKey() helpers on those spec types (empty-key fallback for pre-upgrade CRDs) will be removed; controllers will use spec.Key directly (#1465).

We recommend setting spec.key explicitly on ArgoCDCommitStatus and TimedCommitStatus now (use argocd-health or timer when those are your gate names). That keeps manifests aligned with PromotionStrategy keys and avoids churn if the field becomes required in v1.0:

apiVersion: promoter.argoproj.io/v1alpha1
kind: ArgoCDCommitStatus
metadata:
  name: webservice-tier-1
spec:
  key: argocd-health
  promotionStrategyRef:
    name: webservice-tier-1
  applicationSelector:
    matchLabels:
      app: webservice-tier-1
apiVersion: promoter.argoproj.io/v1alpha1
kind: TimedCommitStatus
metadata:
  name: webservice-tier-1
spec:
  key: timer
  promotionStrategyRef:
    name: webservice-tier-1
  environments:
    - branch: environment/development
      duration: 1h

Use the same key in PromotionStrategy activeCommitStatuses for ArgoCDCommitStatus, or in activeCommitStatuses / proposedCommitStatuses for TimedCommitStatus as appropriate.

See also: Argo CD Commit Status, Timed Commit Status, and Development Best Practices.

ArgoCDCommitStatus legacy CommitStatus cleanup (planned for v1.0)

Remove cleanupLegacyOrphanedCommitStatusesWithoutParentLabel once clusters are past the Argo CD CommitStatus naming and parent-gate label migration (#1460).