Argo CD Application Configuration¶
Placeholder names used on this page¶
| Placeholder | What it means | Example |
|---|---|---|
ENTITY_NAMESPACE |
Your entity/partner name โ used as both namespace and Argo project | france-titres |
APP_SLUG |
Your application's identifier | hello-world |
ARGO_PROJECT |
The Argo CD project (usually the same as ENTITY_NAMESPACE) |
france-titres |
HELM_REPO_URL |
Git URL of your Helm chart repository | https://tools.playground.france-identite.gouv.fr/gitlab/... |
TARGET_REVISION |
The Git revision Argo CD deploys | HEAD |
The Application manifest, generic form¶
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: ${ENTITY_NAMESPACE}-${APP_SLUG}
spec:
destination:
namespace: ${ENTITY_NAMESPACE}
server: https://kubernetes.default.svc
source:
path: .
repoURL: ${HELM_REPO_URL}
targetRevision: ${TARGET_REVISION}
sources: []
project: ${ARGO_PROJECT}
A real example (france-titres)¶
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: france-titres-hello-world
spec:
destination:
namespace: france-titres
server: https://kubernetes.default.svc
source:
path: .
repoURL: https://tools.playground.france-identite.gouv.fr/gitlab/plg/helm-hello-world.git
targetRevision: HEAD
sources: []
project: france-titres
Where ENTITY_NAMESPACE shows up¶
It appears in three places, so ownership, the target namespace, and Argo permissions all stay aligned:
| Field | Value |
|---|---|
metadata.name |
${ENTITY_NAMESPACE}-${APP_SLUG} |
spec.destination.namespace |
${ENTITY_NAMESPACE} |
spec.project |
${ENTITY_NAMESPACE} |
How this connects to the Helm chart¶
repoURL points at the Helm chart repository (helm-hello-world-main/). Argo CD renders its templates and applies them to your cluster:
How to check it worked¶
- The Application shows status
Syncedin Argo CD spec.destination.namespacematches your entity namespace- Your resources exist in the
${ENTITY_NAMESPACE}namespace - Your app is reachable at
/${ENTITY_NAMESPACE}/${APP_SLUG}/
Assumptions¶
- The Argo CD project (e.g.
france-titres) already exists and is authorized for your repository and namespace โ this is set up outside the chart repositories. - Argo CD has credentials to reach your Git repository. These aren't stored in either code repository โ they're configured directly in Argo CD.