Skip to content

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

@jessesuen

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

No one assigned

    Labels

    kind/enhancementAn entirely new featurekind/proposalIndicates maintainers have not yet committed to a feature requestneeds/areaIssue or PR needs to be labeled to indicate what parts of the code base are affectedneeds/priorityPriority has not yet been determined; a good signal that maintainers aren't fully committed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions