Skip to content

Allow AnalysisTemplate Jobs to run on the destination cluster that the Stage promotes to. #6017

@kahirokunn

Description

@kahirokunn

When Kargo promotes Freight through Stages, each Stage knows which cluster it targets. However, this destination cluster context is not available to the verification (AnalysisRun) phase. AnalysisRun Jobs always run on the control plane cluster (or a single globally-configured cluster via ARGO_ROLLOUTS_ANALYSIS_JOB_KUBECONFIG).

Kargo should provide a way to propagate the Stage's destination cluster information to the verification phase, so that Jobs (and the resources they create) land on the correct cluster.

Related issues:

Motivation

E2e verification often requires creating and interacting with Kubernetes resources on the actual destination cluster.

For example, verifying that an AWS Load Balancer Controller promotion was successful requires:

  1. Creating an Ingress resource on the destination cluster
  2. Verifying that an ALB is actually provisioned
  3. Running health checks against the provisioned endpoint
  4. Cleaning up test resources

Today, there is no straightforward way to do this because the Job has no access to the destination cluster context. Users would need to manually inject kubeconfig credentials, which defeats the purpose of Kargo already knowing the promotion target.

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