Skip to content
ReferenceArgoCDInstance

ArgoCDInstance

k8s.gitops.nyl/v1

Kubernetes GitOps Resources · Download JSON Schema · Usage guide

Defines an Argo CD control plane and the catalog defaults for its deployment targets.

This is compiler configuration. Targets sharing an instance must use unambiguous generated Application and AppProject names.

When needed

Declare one to configure a shared or remote Argo CD control plane, a different namespace, or shared catalog defaults.

If omitted

When no ArgoCDInstance resources are declared, each target uses an implicit instance in its workload Cluster, in namespace argocd, with the catalog defaults. Leave spec.argocdRef unset in this case. Once any explicit instance exists, every DeploymentTarget must set spec.argocdRef.name to a declared instance.

Example

apiVersion: k8s.gitops.nyl/v1
kind: ArgoCDInstance
metadata:
  name: primary
spec:
  clusterRef:
    name: primary
  namespace: argocd

Fields

Required means required within the containing object. Optional and nullable are distinct; contextual defaults and requirements are explained with each field.

Unknown fields are rejected.

apiVersion

Required · string

API group and version defining this resource.

const: "k8s.gitops.nyl/v1"

kind

Required · string

Resource kind within the API group.

const: "ArgoCDInstance"

metadata

Required · object

Resource identity and metadata.

Unknown fields are rejected.

metadata.labels

Optional · object

Literal labels used for organization and target selection.

metadata.labels[key]

Optional · string

metadata.name

Required · string

Project-local identity, validated by the resource kind; remains static during discovery.

spec

Required · object

Configuration for this resource.

Unknown fields are rejected.

spec.catalogApplicationDefaults

Optional · object

Default policy for the catalog Applications of targets using this instance.

default: {"applicationDeletionPolicy":"Foreground","project":"default","selfPrunePolicy":"Confirm","syncPolicy":{"syncOptions":["ApplyOutOfSyncOnly=true","ServerSideApply=true"]}}

Unknown fields are rejected.

spec.catalogApplicationDefaults.annotations

Optional · object

Annotations added to generated Applications.

spec.catalogApplicationDefaults.annotations[key]

Optional · string

spec.catalogApplicationDefaults.applicationDeletionPolicy

Optional · string

Argo CD Application finalizer policy: foreground cascade, background cascade, or orphan workloads.

default: "Foreground"

Allowed values:

ValueMeaning
"Foreground"Cascade deletion in the foreground using the Argo CD resources finalizer.
"Background"Cascade deletion in the background using the Argo CD background finalizer.
"Orphan"Omit the finalizer and leave workload resources in place.

spec.catalogApplicationDefaults.labels

Optional · object

Labels added to generated Applications.

spec.catalogApplicationDefaults.labels[key]

Optional · string

spec.catalogApplicationDefaults.project

Optional · string

Argo CD project assigned to generated catalog Applications.

default: "default"

spec.catalogApplicationDefaults.selfPrunePolicy

Optional · string

Policy for pruning the catalog Application itself. Confirmation is required by default.

default: "Confirm"

Allowed values:

ValueMeaning
"Automatic"Allow pruning or deletion without additional restrictions.
"Confirm"Require confirmation through the Argo CD Prune or Delete sync option.
"Retain"Set the Argo CD Prune or Delete sync option to false.

spec.catalogApplicationDefaults.syncPolicy

Optional · object

Catalog synchronization policy. Defaults to manual sync with apply-only-out-of-sync and server-side apply.

default: {"syncOptions":["ApplyOutOfSyncOnly=true","ServerSideApply=true"]}

Unknown fields are rejected.

spec.catalogApplicationDefaults.syncPolicy.automated

Optional · object or null

Presence enables automated synchronization unless enabled is false.

Unknown fields are rejected.

spec.catalogApplicationDefaults.syncPolicy.automated.enabled

Optional · boolean or null

Whether automated sync is enabled. Omission enables it when the automated block is present.

spec.catalogApplicationDefaults.syncPolicy.automated.prune

Optional · boolean

Allow Argo CD to prune resources removed from desired manifests.

default: false

spec.catalogApplicationDefaults.syncPolicy.automated.selfHeal

Optional · boolean

Allow Argo CD to repair live drift automatically.

default: false

spec.catalogApplicationDefaults.syncPolicy.syncOptions

Optional · array

Argo CD sync options. Generated Applications add ApplyOutOfSyncOnly=true and ServerSideApply=true unless an option with the same key is supplied.

spec.catalogApplicationDefaults.syncPolicy.syncOptions[]

Required · string

spec.clusterRef

Required · object

Project-local Cluster containing the Argo CD control plane.

Unknown fields are rejected.

spec.clusterRef.name

Required · string

Project-local name of the referenced resource; its kind and API group are determined by the containing field.

spec.namespace

Optional · string

Namespace containing Argo CD Applications and AppProjects.

default: "argocd"