Skip to content

feat(applicationsets): GitOps install of the eks-agent-platform operator#24

Merged
stxkxs merged 1 commit into
mainfrom
feat/agent-platform-operator-addon
Jun 1, 2026
Merged

feat(applicationsets): GitOps install of the eks-agent-platform operator#24
stxkxs merged 1 commit into
mainfrom
feat/agent-platform-operator-addon

Conversation

@stxkxs
Copy link
Copy Markdown
Member

@stxkxs stxkxs commented Jun 1, 2026

Closes the gap where the operator existed only in eks-agent-platform's never-bridged ApplicationSet and had to be helm-installed by hand. eks-gitops now carries it as an ai-platform addon, deployed to clusters opted in via the eks-agent-platform/enabled=true label cluster-bootstrap sets.

Per-cluster IRSA values (config.oidc.* + the role-arn SA annotation) embed the account ID, so cluster-bootstrap publishes them as in-cluster Secret annotations and this AppSet reads them via ArgoCD's cluster generator → Helm valuesObject. config.environment/region from the Secret labels. Static config (self-signed webhook issuer, cilium NetworkPolicy engine) in addons/ai-platform/operator/values.yaml + per-env files. Account ID never in git.

Chart is git-sourced (public eks-agent-platform/charts/operator) so no chart release needed — switch to OCI once published. The operator image must be published multi-arch (arm64) for pods to start.

Pairs with landing-zone #22 (publishes the annotations). Verified offline: yamllint clean; helm template of the chart with the injected valuesObject renders the role-arn annotation, --oidc-*, --environment, and the ClusterIssuer. Live ArgoCD render confirmed on next bring-up.

Closes the gap where the operator existed only in eks-agent-platform's own
(never-bridged) ApplicationSet and had to be helm-installed by hand: eks-gitops
now carries it as an ai-platform addon, deployed to every cluster opted in via
the eks-agent-platform/enabled=true label cluster-bootstrap sets.

The operator needs per-cluster IRSA values (config.oidc.* + a role-arn
ServiceAccount annotation) that embed the AWS account ID. To keep that out of
this public repo, cluster-bootstrap publishes them as annotations on the
in-cluster ArgoCD Secret and this ApplicationSet reads them through ArgoCD's
cluster generator, injecting them via Helm valuesObject; config.environment /
region come from the Secret's labels. The static config (self-signed webhook
issuer, cilium NetworkPolicy engine) lives in addons/ai-platform/operator/values.yaml
+ per-env files. The account ID never lands in git.

The chart is sourced from git (the public eks-agent-platform charts/operator) so
no chart release is required; the comment notes switching to the OCI registry
once the chart is published, and that the operator image must be published
multi-arch (incl. arm64) for the pods to start.

Pairs with landing-zone "publish agent-platform IRSA wiring on the cluster
Secret". Verified offline: yamllint clean; helm template of charts/operator with
the injected valuesObject paths renders the role-arn annotation, --oidc-* flags,
--environment, and the self-signed ClusterIssuer. Live ArgoCD render confirmed
on the next cluster bring-up.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 1, 2026

CI Results

Check Status
YAML Lint
Environment Kustomize Build
dev
staging
production

All validations passed.

@stxkxs stxkxs merged commit 2d2be04 into main Jun 1, 2026
5 checks passed
@stxkxs stxkxs deleted the feat/agent-platform-operator-addon branch June 1, 2026 03:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant