Models

v1alpha1ApplicationSetTemplate

object
Show child attributes
annotationsobject
Show child attributes
[key: string]string
finalizersArray<string>
labelsobject
Show child attributes
[key: string]string
namestring
namespacestring

ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision.

Show child attributes
Show child attributes
namestring

Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set.

namespacestring
serverstring

Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set.

Show child attributes

ResourceIgnoreDifferences contains resource filter and list of json paths which should be ignored during comparison with live state.

groupstring
jqPathExpressionsArray<string>
jsonPointersArray<string>
kindstring
managedFieldsManagersArray<string>
namestring
namespacestring
Show child attributes
namestring
valuestring
projectstring

Project is a reference to the project this application belongs to. The empty string means that application belongs to the 'default' project.

revisionHistoryLimitinteger<int64>

RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10.

Show child attributes
chartstring

Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.

Show child attributes
disableExtensionFilterboolean

DisableExtensionFilter controls whether the built-in file-extension filter is skipped during manifest generation. When false (the default), only files with a .yaml, .yml, .json, or .jsonnet extension are considered as potential manifests. Set it to true to disable the filter so that files with custom extensions (e.g. *.yaml.sealed) can be matched by the include/exclude glob patterns instead.

excludestring
includestring
Show child attributes
Show child attributes
codeboolean
namestring
valuestring
libsArray<string>
Show child attributes
codeboolean
namestring
valuestring
recurseboolean
Show child attributes
apiVersionsArray<string>

APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.

Show child attributes
namestring
pathstring
ignoreMissingValueFilesboolean
kubeVersionstring

KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD uses the Kubernetes version of the target cluster.

namespacestring

Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.

Show child attributes
forceStringboolean
namestring
valuestring
passCredentialsboolean
releaseNamestring
skipCrdsboolean
skipSchemaValidationboolean
skipTestsboolean

SkipTests skips test manifest installation step (Helm's --skip-tests).

valueFilesArray<string>
valuesstring

RawExtension is used to hold extensions in external versions.

To use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.

// Internal package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.Object `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// External package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.RawExtension `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// On the wire, the JSON will look something like this:

{
	"kind":"MyAPIObject",
	"apiVersion":"v1",
	"myPlugin": {
		"kind":"PluginA",
		"aOption":"foo",
	},
}

So what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)

+k8s:deepcopy-gen=true +protobuf=true +k8s:openapi-gen=true

Show child attributes
rawstring<byte>

Raw is the underlying serialization of this object.

TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.

versionstring
Show child attributes
apiVersionsArray<string>

APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.

commonAnnotationsobject
Show child attributes
[key: string]string
commonAnnotationsEnvsubstboolean
commonLabelsobject
Show child attributes
[key: string]string
componentsArray<string>
forceCommonAnnotationsboolean
forceCommonLabelsboolean
ignoreMissingComponentsboolean
imagesArray<string>
kubeVersionstring

KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD uses the Kubernetes version of the target cluster.

labelIncludeTemplatesboolean
labelWithoutSelectorboolean
namePrefixstring
nameSuffixstring
namespacestring
Show child attributes
optionsobject
Show child attributes
[key: string]boolean
patchstring
pathstring
Show child attributes
annotationSelectorstring
labelSelectorstring
Show child attributes
Show child attributes
groupstring
kindstring
versionstring
namestring
namespacestring
Show child attributes

+protobuf=true +protobuf.options.(gogoproto.goproto_stringer)=false +k8s:openapi-gen=true +k8s:openapi-model-package=io.k8s.apimachinery.pkg.util.intstr

Show child attributes
intValinteger<int32>
strValstring
typeinteger<int64>
namestring
versionstring
namestring

Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.

pathstring

Path is a directory path within the Git repository, and is only valid for applications sourced from Git.

Show child attributes
Show child attributes
namestring
valuestring
namestring
Show child attributes
arrayArray<string>

Array is the value of an array type parameter.

mapobject

Map is the value of a map type parameter.

Show child attributes
[key: string]string
namestring

Name is the name identifying a parameter.

stringstring

String_ is the value of a string type parameter.

refstring

Ref is reference to another source within sources field. This field will not be used if used with a source tag.

repoURLstring
tagPrefixstring

TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint. The prefix is stripped from tag names before comparison and re-added to the resolved version. For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".

targetRevisionstring

TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version.

SourceHydrator specifies a dry "don't repeat yourself" source for manifests, a sync source from which to sync hydrated manifests, and an optional hydrateTo location to act as a "staging" aread for hydrated manifests.

Show child attributes

DrySource specifies a location for dry "don't repeat yourself" manifest source information.

Show child attributes
Show child attributes
disableExtensionFilterboolean

DisableExtensionFilter controls whether the built-in file-extension filter is skipped during manifest generation. When false (the default), only files with a .yaml, .yml, .json, or .jsonnet extension are considered as potential manifests. Set it to true to disable the filter so that files with custom extensions (e.g. *.yaml.sealed) can be matched by the include/exclude glob patterns instead.

excludestring
includestring
Show child attributes
Show child attributes
codeboolean
namestring
valuestring
libsArray<string>
Show child attributes
codeboolean
namestring
valuestring
recurseboolean
Show child attributes
apiVersionsArray<string>

APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.

Show child attributes
namestring
pathstring
ignoreMissingValueFilesboolean
kubeVersionstring

KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD uses the Kubernetes version of the target cluster.

namespacestring

Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.

Show child attributes
forceStringboolean
namestring
valuestring
passCredentialsboolean
releaseNamestring
skipCrdsboolean
skipSchemaValidationboolean
skipTestsboolean

SkipTests skips test manifest installation step (Helm's --skip-tests).

valueFilesArray<string>
valuesstring

RawExtension is used to hold extensions in external versions.

To use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.

// Internal package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.Object `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// External package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.RawExtension `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// On the wire, the JSON will look something like this:

{
	"kind":"MyAPIObject",
	"apiVersion":"v1",
	"myPlugin": {
		"kind":"PluginA",
		"aOption":"foo",
	},
}

So what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)

+k8s:deepcopy-gen=true +protobuf=true +k8s:openapi-gen=true

Show child attributes
rawstring<byte>

Raw is the underlying serialization of this object.

TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.

versionstring
Show child attributes
apiVersionsArray<string>

APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.

commonAnnotationsobject
Show child attributes
[key: string]string
commonAnnotationsEnvsubstboolean
commonLabelsobject
Show child attributes
[key: string]string
componentsArray<string>
forceCommonAnnotationsboolean
forceCommonLabelsboolean
ignoreMissingComponentsboolean
imagesArray<string>
kubeVersionstring

KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD uses the Kubernetes version of the target cluster.

labelIncludeTemplatesboolean
labelWithoutSelectorboolean
namePrefixstring
nameSuffixstring
namespacestring
Show child attributes
optionsobject
Show child attributes
[key: string]boolean
patchstring
pathstring
Show child attributes
annotationSelectorstring
labelSelectorstring
Show child attributes
Show child attributes
groupstring
kindstring
versionstring
namestring
namespacestring
Show child attributes

+protobuf=true +protobuf.options.(gogoproto.goproto_stringer)=false +k8s:openapi-gen=true +k8s:openapi-model-package=io.k8s.apimachinery.pkg.util.intstr

Show child attributes
intValinteger<int32>
strValstring
typeinteger<int64>
namestring
versionstring
pathstring
Show child attributes
Show child attributes
namestring
valuestring
namestring
Show child attributes
arrayArray<string>

Array is the value of an array type parameter.

mapobject

Map is the value of a map type parameter.

Show child attributes
[key: string]string
namestring

Name is the name identifying a parameter.

stringstring

String_ is the value of a string type parameter.

repoURLstring
targetRevisionstring

HydrateTo specifies a branch to which hydrated manifests should be pushed as a "staging area" before being moved to the SyncSource. The repository and path are inherited from SyncSource.

Show child attributes
targetBranchstring

SyncSource specifies a location from which hydrated manifests may be synced. If RepoURL is not set, it is assumed to be the same as the associated DrySource config in the SourceHydrator.

Show child attributes
pathstring

Path is a directory path within the git repository where hydrated manifests should be committed to and synced from. The Path should never point to the root of the repo. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.

+kubebuilder:validation:Required +kubebuilder:validation:MinLength=1 +kubebuilder:validation:Pattern=^.{2,}|[^./]$

repoURLstring

RepoURL is the URL to the git repository that contains the hydrated manifests. If not set, defaults to the DrySource.RepoURL.

targetBranchstring

TargetBranch is the branch from which hydrated manifests will be synced. If HydrateTo is not set, this is also the branch to which hydrated manifests are committed.

Show child attributes
chartstring

Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.

Show child attributes
disableExtensionFilterboolean

DisableExtensionFilter controls whether the built-in file-extension filter is skipped during manifest generation. When false (the default), only files with a .yaml, .yml, .json, or .jsonnet extension are considered as potential manifests. Set it to true to disable the filter so that files with custom extensions (e.g. *.yaml.sealed) can be matched by the include/exclude glob patterns instead.

excludestring
includestring
Show child attributes
Show child attributes
codeboolean
namestring
valuestring
libsArray<string>
Show child attributes
codeboolean
namestring
valuestring
recurseboolean
Show child attributes
apiVersionsArray<string>

APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.

Show child attributes
namestring
pathstring
ignoreMissingValueFilesboolean
kubeVersionstring

KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD uses the Kubernetes version of the target cluster.

namespacestring

Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.

Show child attributes
forceStringboolean
namestring
valuestring
passCredentialsboolean
releaseNamestring
skipCrdsboolean
skipSchemaValidationboolean
skipTestsboolean

SkipTests skips test manifest installation step (Helm's --skip-tests).

valueFilesArray<string>
valuesstring

RawExtension is used to hold extensions in external versions.

To use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.

// Internal package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.Object `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// External package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.RawExtension `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// On the wire, the JSON will look something like this:

{
	"kind":"MyAPIObject",
	"apiVersion":"v1",
	"myPlugin": {
		"kind":"PluginA",
		"aOption":"foo",
	},
}

So what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)

+k8s:deepcopy-gen=true +protobuf=true +k8s:openapi-gen=true

Show child attributes
rawstring<byte>

Raw is the underlying serialization of this object.

TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.

versionstring
Show child attributes
apiVersionsArray<string>

APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.

commonAnnotationsobject
Show child attributes
[key: string]string
commonAnnotationsEnvsubstboolean
commonLabelsobject
Show child attributes
[key: string]string
componentsArray<string>
forceCommonAnnotationsboolean
forceCommonLabelsboolean
ignoreMissingComponentsboolean
imagesArray<string>
kubeVersionstring

KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD uses the Kubernetes version of the target cluster.

labelIncludeTemplatesboolean
labelWithoutSelectorboolean
namePrefixstring
nameSuffixstring
namespacestring
Show child attributes
optionsobject
Show child attributes
[key: string]boolean
patchstring
pathstring
Show child attributes
annotationSelectorstring
labelSelectorstring
Show child attributes
Show child attributes
groupstring
kindstring
versionstring
namestring
namespacestring
Show child attributes

+protobuf=true +protobuf.options.(gogoproto.goproto_stringer)=false +k8s:openapi-gen=true +k8s:openapi-model-package=io.k8s.apimachinery.pkg.util.intstr

Show child attributes
intValinteger<int32>
strValstring
typeinteger<int64>
namestring
versionstring
namestring

Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.

pathstring

Path is a directory path within the Git repository, and is only valid for applications sourced from Git.

Show child attributes
Show child attributes
namestring
valuestring
namestring
Show child attributes
arrayArray<string>

Array is the value of an array type parameter.

mapobject

Map is the value of a map type parameter.

Show child attributes
[key: string]string
namestring

Name is the name identifying a parameter.

stringstring

String_ is the value of a string type parameter.

refstring

Ref is reference to another source within sources field. This field will not be used if used with a source tag.

repoURLstring
tagPrefixstring

TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint. The prefix is stripped from tag names before comparison and re-added to the resolved version. For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and "component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".

targetRevisionstring

TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version.

Show child attributes
Show child attributes
allowEmptyboolean
enabledboolean
pruneboolean
selfHealboolean
managedNamespaceMetadatav1alpha1ManagedNamespaceMetadata
Show child attributes
annotationsobject
Show child attributes
[key: string]string
labelsobject
Show child attributes
[key: string]string
Show child attributes
Show child attributes
durationstring
factorinteger<int64>
maxDurationstring
limitinteger<int64>

Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.

refreshboolean
syncOptionsArray<string>