Skip to content

Support multiple stages in Application's authorized-stage annotation #6027

Description

@jessesuen

Proposed Feature

Currently, the kargo.akuity.io/authorized-stage annotation that we set on an Application can only map to a single stage. This prevents multiple Stages from performing an argocd-update against the same application.

A long, long time ago, we actually used to support things like wildcards in kargo.akuity.io/authorized-stage, but had to be removed on performance & technical grounds.

One thing we need to check is whether we still rely on this annotation to optimize lookups for which stage/promotion to refresh when application health changes. If we do, then we may only be able to support explicit lists:

kargo.akuity.io/authorized-stage: project1:stage1,project1:stage2

but not wildcards:

kargo.akuity.io/authorized-stage: project1:*

NOTE: This issue has been raised before, but I am filing a new one because some of the previous discussion points are two years old and may no longer be relevant.

Motivation

There are use cases where stages don't necessarily represent an environment, but rather a process of their promotion pipeline.

Metadata

Metadata

Assignees

Labels

kind/enhancementAn entirely new featuremaintainer onlyCommunity contributions not accepted. Issue to be handled only by a maintainer.needs/areaIssue or PR needs to be labeled to indicate what parts of the code base are affectedpriority/highNeeds to be addressed sooner rather than later

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions