Create Argo CD Applications
Create Argo CD Application resources on Kupe Cloud:
- use the Argo CD UI
- apply Argo CD resources inside your managed cluster for a fully Git-driven workflow
Use project: <tenant> and the registered destination name
<tenant>--<cluster>-<suffix> in your Application spec. Do not use the raw Kubernetes API
server URL here.
Copy the exact cluster NAME from Settings → Clusters in Argo CD. Do not construct the destination name.
Option 1: Use the Argo CD UI
Section titled “Option 1: Use the Argo CD UI”This is the simplest way to create a first application.
Add a repository
Section titled “Add a repository”If your repo is private:
- Open Settings and then Repositories.
- Select Connect Repo.
- Enter the repository URL and credentials.
- Set the project to your tenant project.
Create the application
Section titled “Create the application”- Open Applications and select New App.
- Set Project to
<tenant>. - Set the source repository, revision, and path.
- Set Destination to the registered cluster name
<tenant>--<cluster>-<suffix>. - Set the target namespace for the workload.
- Choose the sync policy that fits the environment.
- Create the application.
The same thing with hello-kupe
Section titled “The same thing with hello-kupe”To try the form against something real, these are the exact values for
kupecloud/hello-kupe. It is a public
repository, so skip the credential step above.
| Field | Value |
|---|---|
| Application Name | hello-kupe |
| Project | your tenant name |
| Sync Policy | Automatic, with Prune Resources and Self Heal ticked |
| Repository URL | https://github.com/kupecloud/hello-kupe.git |
| Revision | main |
| Path | chart |
| Cluster | the entry from Settings → Clusters |
| Namespace | hello-kupe |
Under Directory/Helm, set two values:
tenant: <tenant>cluster: <cluster>Tick Auto-Create Namespace under Sync Options, then Create. When it goes
green, the app is at
https://hello-kupe.<cluster>.<tenant>.clusters.kupe.cloud.
The same application as a manifest, if you prefer applying it from your own cluster, is in Deploy your first app.
Option 2: Apply resources in your managed cluster
Section titled “Option 2: Apply resources in your managed cluster”This path keeps the Argo CD resources in Git and lets you apply them to the managed cluster like any other Kubernetes object.
Create supported resources in your cluster’s argocd namespace.
Optional: add a repository Secret
Section titled “Optional: add a repository Secret”If the repo is private, create a repository Secret like this:
apiVersion: v1kind: Secretmetadata: name: app-repo namespace: argocd labels: argocd.argoproj.io/secret-type: repository kupe.cloud/component: argocdtype: OpaquestringData: name: app-repo type: git url: https://github.com/<org>/<repo>.git project: <tenant> username: git password: <token>Create the Application
Section titled “Create the Application”apiVersion: argoproj.io/v1alpha1kind: Applicationmetadata: name: my-app namespace: argocdspec: project: <tenant> source: repoURL: https://github.com/<org>/<repo>.git path: deploy/ targetRevision: main destination: name: <tenant>--<cluster>-<suffix> namespace: workload syncPolicy: automated: prune: true selfHeal: trueApply the manifests with your cluster kubeconfig:
kubectl --kubeconfig ./<cluster>-oidc.kubeconfig apply -f application.yamlIf you also created a repository Secret:
kubectl --kubeconfig ./<cluster>-oidc.kubeconfig apply -f repo-secret.yamlValidation
Section titled “Validation”After creating the resources, confirm:
- the application appears in Argo CD under your tenant project
- the destination resolves to the expected managed cluster
- sync status becomes
Synced - health becomes
Healthy - workloads start in the target namespace
If you created a repository Secret, also confirm the repo connection succeeds in Argo CD.
Important limits
Section titled “Important limits”- project name must match your tenant name
- destination name must match the registered cluster name format
<tenant>--<cluster>-<suffix> - tenant-scoped in-cluster sync supports
Applicationresources and repository Secrets - repository Secrets must include both
argocd.argoproj.io/secret-type: repositoryandkupe.cloud/component: argocd