argocd-helm/charts/argocd-applicationset/crds/crd-applicationset.yaml
Petr Drastil 573a7494d4
Upgrade application-set to version 0.2.0 (#887)
Signed-off-by: Petr Drastil <petr.drastil@gmail.com>
2021-08-23 15:05:09 +02:00

6376 lines
404 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: applicationsets.argoproj.io
spec:
group: argoproj.io
names:
kind: ApplicationSet
listKind: ApplicationSetList
plural: applicationsets
shortNames:
- appset
- appsets
singular: applicationset
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ApplicationSet is a set of Application resources
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ApplicationSetSpec represents a class of application set
state.
properties:
generators:
items:
description: ApplicationSetGenerator include list item info
properties:
clusterDecisionResource:
description: DuckType defines a generator to match against clusters
registered with ArgoCD.
properties:
configMapRef:
description: ConfigMapRef is a ConfigMap with the duck type
definitions needed to retreive the data this
includes apiVersion(group/version), kind, matchKey and
validation settings Name is the resource name of the kind,
group and version, defined in the ConfigMapRef RequeueAfterSeconds
is how long before the duckType will be rechecked for
a change
type: string
labelSelector:
description: A label selector is a label query over a set
of resources. The result of matchLabels and matchExpressions
are ANDed. An empty label selector matches all objects.
A null label selector matches no objects.
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In,
NotIn, Exists and DoesNotExist.
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists
or DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field
is "key", the operator is "In", and the values array
contains only "value". The requirements are ANDed.
type: object
type: object
name:
type: string
requeueAfterSeconds:
format: int64
type: integer
template:
description: ApplicationSetTemplate represents argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents the
Argo CD application fields that may be used for Applications
generated from the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired application
state. Contains link to repository with application
definition and additional parameters link definition
revision.
properties:
destination:
description: Destination is a reference to the target
Kubernetes server and namespace
properties:
name:
description: Name is an alternate way of specifying
the target cluster by its symbolic name
type: string
namespace:
description: Namespace specifies the target
namespace for the application's resources.
The namespace will only be set for namespace-scoped
resources that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the URL of the
target cluster and must be set to the Kubernetes
control plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list of resources
and their fields which should be ignored during
comparison
items:
description: ResourceIgnoreDifferences contains
resource filter and list of json paths which
should be ignored during comparison with live
state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text) that relates
to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to the project
this application belongs to. The empty string
means that application belongs to the 'default'
project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to the location
of the application's manifests or chart
properties:
chart:
description: Chart is a Helm chart name, and
must be specified for applications sourced
from a Helm repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains a glob pattern
to match paths against that should be
explicitly excluded from being used during
manifest generation
type: string
include:
description: Include contains a glob pattern
to match paths against that should be
explicitly included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options specific
to Jsonnet
properties:
extVars:
description: ExtVars is a list of Jsonnet
External Variables
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library search
dirs
items:
type: string
type: array
tlas:
description: TLAS is a list of Jsonnet
Top-level Arguments
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies whether to
scan a directory recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific options
properties:
fileParameters:
description: FileParameters are file parameters
to the helm template
items:
description: HelmFileParameter is a file
parameter that's passed to helm template
during manifest generation
properties:
name:
description: Name is the name of the
Helm parameter
type: string
path:
description: Path is the path to the
file containing the values for the
Helm parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list of Helm
parameters which are passed to the helm
template command upon manifest generation
items:
description: HelmParameter is a parameter
that's passed to helm template during
manifest generation
properties:
forceString:
description: ForceString determines
whether to tell Helm to interpret
booleans and numbers as strings
type: boolean
name:
description: Name is the name of the
Helm parameter
type: string
value:
description: Value is the value for
the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the Helm release
name to use. If omitted it will use the
application name
type: string
valueFiles:
description: ValuesFiles is a list of Helm
value files to use when generating a template
items:
type: string
type: array
values:
description: Values specifies Helm values
to be passed to helm template, typically
defined as a block
type: string
version:
description: Version is the Helm version
to use for templating (either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet specific
options
properties:
environment:
description: Environment is a ksonnet application
environment name
type: string
parameters:
description: Parameters are a list of ksonnet
component parameter override values
items:
description: KsonnetParameter is a ksonnet
component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize specific
options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations is a list
of additional annotations to add to rendered
manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a list of additional
labels to add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations specifies
whether to force applying common annotations
to resources for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels specifies
whether to force applying common labels
to resources for Kustomize apps
type: boolean
images:
description: Images is a list of Kustomize
image override specifications
items:
description: KustomizeImage represents
a Kustomize image definition in the
format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix appended
to resources for Kustomize apps
type: string
nameSuffix:
description: NameSuffix is a suffix appended
to resources for Kustomize apps
type: string
version:
description: Version controls which version
of Kustomize to use for rendering manifests
type: string
type: object
path:
description: Path is a directory path within
the Git repository, and is only valid for
applications sourced from Git.
type: string
plugin:
description: ConfigManagementPlugin holds config
management plugin specific options
properties:
env:
description: Env is a list of environment
variable entries
items:
description: EnvEntry represents an entry
in the application's environment
properties:
name:
description: Name is the name of the
variable, usually expressed in uppercase
type: string
value:
description: Value is the value of
the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to the repository
(Git or Helm) that contains the application
manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when and how a
sync will be performed
properties:
automated:
description: Automated will keep an application
synced to the target revision
properties:
allowEmpty:
description: 'AllowEmpty allows apps have
zero live resources (default: false)'
type: boolean
prune:
description: 'Prune specifies whether to
delete resources from the cluster that
are not found in the sources anymore as
part of automated sync (default: false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes whether
to revert resources back to their desired
state upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed sync retry
behavior
properties:
backoff:
description: Backoff controls how to backoff
on subsequent retries of failed syncs
properties:
duration:
description: Duration is the amount
to back off. Default unit is seconds,
but could also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor to multiply
the base duration after each failed
retry
format: int64
type: integer
maxDuration:
description: MaxDuration is the maximum
amount of time allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum number
of attempts for retrying a failed sync.
If set to 0, no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to specify whole
app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
values:
additionalProperties:
type: string
description: Values contains key/value pairs which are passed
directly as parameters to the template
type: object
required:
- configMapRef
type: object
clusters:
description: ClusterGenerator defines a generator to match against
clusters registered with ArgoCD.
properties:
selector:
description: Selector defines a label selector to match
against all clusters registered with ArgoCD. Clusters
today are stored as Kubernetes Secrets, thus the Secret
labels will be used for matching the selector.
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In,
NotIn, Exists and DoesNotExist.
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists
or DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field
is "key", the operator is "In", and the values array
contains only "value". The requirements are ANDed.
type: object
type: object
template:
description: ApplicationSetTemplate represents argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents the
Argo CD application fields that may be used for Applications
generated from the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired application
state. Contains link to repository with application
definition and additional parameters link definition
revision.
properties:
destination:
description: Destination is a reference to the target
Kubernetes server and namespace
properties:
name:
description: Name is an alternate way of specifying
the target cluster by its symbolic name
type: string
namespace:
description: Namespace specifies the target
namespace for the application's resources.
The namespace will only be set for namespace-scoped
resources that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the URL of the
target cluster and must be set to the Kubernetes
control plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list of resources
and their fields which should be ignored during
comparison
items:
description: ResourceIgnoreDifferences contains
resource filter and list of json paths which
should be ignored during comparison with live
state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text) that relates
to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to the project
this application belongs to. The empty string
means that application belongs to the 'default'
project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to the location
of the application's manifests or chart
properties:
chart:
description: Chart is a Helm chart name, and
must be specified for applications sourced
from a Helm repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains a glob pattern
to match paths against that should be
explicitly excluded from being used during
manifest generation
type: string
include:
description: Include contains a glob pattern
to match paths against that should be
explicitly included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options specific
to Jsonnet
properties:
extVars:
description: ExtVars is a list of Jsonnet
External Variables
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library search
dirs
items:
type: string
type: array
tlas:
description: TLAS is a list of Jsonnet
Top-level Arguments
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies whether to
scan a directory recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific options
properties:
fileParameters:
description: FileParameters are file parameters
to the helm template
items:
description: HelmFileParameter is a file
parameter that's passed to helm template
during manifest generation
properties:
name:
description: Name is the name of the
Helm parameter
type: string
path:
description: Path is the path to the
file containing the values for the
Helm parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list of Helm
parameters which are passed to the helm
template command upon manifest generation
items:
description: HelmParameter is a parameter
that's passed to helm template during
manifest generation
properties:
forceString:
description: ForceString determines
whether to tell Helm to interpret
booleans and numbers as strings
type: boolean
name:
description: Name is the name of the
Helm parameter
type: string
value:
description: Value is the value for
the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the Helm release
name to use. If omitted it will use the
application name
type: string
valueFiles:
description: ValuesFiles is a list of Helm
value files to use when generating a template
items:
type: string
type: array
values:
description: Values specifies Helm values
to be passed to helm template, typically
defined as a block
type: string
version:
description: Version is the Helm version
to use for templating (either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet specific
options
properties:
environment:
description: Environment is a ksonnet application
environment name
type: string
parameters:
description: Parameters are a list of ksonnet
component parameter override values
items:
description: KsonnetParameter is a ksonnet
component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize specific
options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations is a list
of additional annotations to add to rendered
manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a list of additional
labels to add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations specifies
whether to force applying common annotations
to resources for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels specifies
whether to force applying common labels
to resources for Kustomize apps
type: boolean
images:
description: Images is a list of Kustomize
image override specifications
items:
description: KustomizeImage represents
a Kustomize image definition in the
format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix appended
to resources for Kustomize apps
type: string
nameSuffix:
description: NameSuffix is a suffix appended
to resources for Kustomize apps
type: string
version:
description: Version controls which version
of Kustomize to use for rendering manifests
type: string
type: object
path:
description: Path is a directory path within
the Git repository, and is only valid for
applications sourced from Git.
type: string
plugin:
description: ConfigManagementPlugin holds config
management plugin specific options
properties:
env:
description: Env is a list of environment
variable entries
items:
description: EnvEntry represents an entry
in the application's environment
properties:
name:
description: Name is the name of the
variable, usually expressed in uppercase
type: string
value:
description: Value is the value of
the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to the repository
(Git or Helm) that contains the application
manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when and how a
sync will be performed
properties:
automated:
description: Automated will keep an application
synced to the target revision
properties:
allowEmpty:
description: 'AllowEmpty allows apps have
zero live resources (default: false)'
type: boolean
prune:
description: 'Prune specifies whether to
delete resources from the cluster that
are not found in the sources anymore as
part of automated sync (default: false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes whether
to revert resources back to their desired
state upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed sync retry
behavior
properties:
backoff:
description: Backoff controls how to backoff
on subsequent retries of failed syncs
properties:
duration:
description: Duration is the amount
to back off. Default unit is seconds,
but could also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor to multiply
the base duration after each failed
retry
format: int64
type: integer
maxDuration:
description: MaxDuration is the maximum
amount of time allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum number
of attempts for retrying a failed sync.
If set to 0, no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to specify whole
app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
values:
additionalProperties:
type: string
description: Values contains key/value pairs which are passed
directly as parameters to the template
type: object
type: object
git:
properties:
directories:
items:
properties:
exclude:
type: boolean
path:
type: string
required:
- path
type: object
type: array
files:
items:
properties:
path:
type: string
required:
- path
type: object
type: array
repoURL:
type: string
requeueAfterSeconds:
format: int64
type: integer
revision:
type: string
template:
description: ApplicationSetTemplate represents argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents the
Argo CD application fields that may be used for Applications
generated from the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired application
state. Contains link to repository with application
definition and additional parameters link definition
revision.
properties:
destination:
description: Destination is a reference to the target
Kubernetes server and namespace
properties:
name:
description: Name is an alternate way of specifying
the target cluster by its symbolic name
type: string
namespace:
description: Namespace specifies the target
namespace for the application's resources.
The namespace will only be set for namespace-scoped
resources that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the URL of the
target cluster and must be set to the Kubernetes
control plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list of resources
and their fields which should be ignored during
comparison
items:
description: ResourceIgnoreDifferences contains
resource filter and list of json paths which
should be ignored during comparison with live
state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text) that relates
to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to the project
this application belongs to. The empty string
means that application belongs to the 'default'
project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to the location
of the application's manifests or chart
properties:
chart:
description: Chart is a Helm chart name, and
must be specified for applications sourced
from a Helm repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains a glob pattern
to match paths against that should be
explicitly excluded from being used during
manifest generation
type: string
include:
description: Include contains a glob pattern
to match paths against that should be
explicitly included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options specific
to Jsonnet
properties:
extVars:
description: ExtVars is a list of Jsonnet
External Variables
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library search
dirs
items:
type: string
type: array
tlas:
description: TLAS is a list of Jsonnet
Top-level Arguments
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies whether to
scan a directory recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific options
properties:
fileParameters:
description: FileParameters are file parameters
to the helm template
items:
description: HelmFileParameter is a file
parameter that's passed to helm template
during manifest generation
properties:
name:
description: Name is the name of the
Helm parameter
type: string
path:
description: Path is the path to the
file containing the values for the
Helm parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list of Helm
parameters which are passed to the helm
template command upon manifest generation
items:
description: HelmParameter is a parameter
that's passed to helm template during
manifest generation
properties:
forceString:
description: ForceString determines
whether to tell Helm to interpret
booleans and numbers as strings
type: boolean
name:
description: Name is the name of the
Helm parameter
type: string
value:
description: Value is the value for
the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the Helm release
name to use. If omitted it will use the
application name
type: string
valueFiles:
description: ValuesFiles is a list of Helm
value files to use when generating a template
items:
type: string
type: array
values:
description: Values specifies Helm values
to be passed to helm template, typically
defined as a block
type: string
version:
description: Version is the Helm version
to use for templating (either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet specific
options
properties:
environment:
description: Environment is a ksonnet application
environment name
type: string
parameters:
description: Parameters are a list of ksonnet
component parameter override values
items:
description: KsonnetParameter is a ksonnet
component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize specific
options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations is a list
of additional annotations to add to rendered
manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a list of additional
labels to add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations specifies
whether to force applying common annotations
to resources for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels specifies
whether to force applying common labels
to resources for Kustomize apps
type: boolean
images:
description: Images is a list of Kustomize
image override specifications
items:
description: KustomizeImage represents
a Kustomize image definition in the
format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix appended
to resources for Kustomize apps
type: string
nameSuffix:
description: NameSuffix is a suffix appended
to resources for Kustomize apps
type: string
version:
description: Version controls which version
of Kustomize to use for rendering manifests
type: string
type: object
path:
description: Path is a directory path within
the Git repository, and is only valid for
applications sourced from Git.
type: string
plugin:
description: ConfigManagementPlugin holds config
management plugin specific options
properties:
env:
description: Env is a list of environment
variable entries
items:
description: EnvEntry represents an entry
in the application's environment
properties:
name:
description: Name is the name of the
variable, usually expressed in uppercase
type: string
value:
description: Value is the value of
the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to the repository
(Git or Helm) that contains the application
manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when and how a
sync will be performed
properties:
automated:
description: Automated will keep an application
synced to the target revision
properties:
allowEmpty:
description: 'AllowEmpty allows apps have
zero live resources (default: false)'
type: boolean
prune:
description: 'Prune specifies whether to
delete resources from the cluster that
are not found in the sources anymore as
part of automated sync (default: false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes whether
to revert resources back to their desired
state upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed sync retry
behavior
properties:
backoff:
description: Backoff controls how to backoff
on subsequent retries of failed syncs
properties:
duration:
description: Duration is the amount
to back off. Default unit is seconds,
but could also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor to multiply
the base duration after each failed
retry
format: int64
type: integer
maxDuration:
description: MaxDuration is the maximum
amount of time allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum number
of attempts for retrying a failed sync.
If set to 0, no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to specify whole
app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
required:
- repoURL
- revision
type: object
list:
description: ListGenerator include items info
properties:
elements:
items:
x-kubernetes-preserve-unknown-fields: true
type: array
template:
description: ApplicationSetTemplate represents argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents the
Argo CD application fields that may be used for Applications
generated from the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired application
state. Contains link to repository with application
definition and additional parameters link definition
revision.
properties:
destination:
description: Destination is a reference to the target
Kubernetes server and namespace
properties:
name:
description: Name is an alternate way of specifying
the target cluster by its symbolic name
type: string
namespace:
description: Namespace specifies the target
namespace for the application's resources.
The namespace will only be set for namespace-scoped
resources that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the URL of the
target cluster and must be set to the Kubernetes
control plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list of resources
and their fields which should be ignored during
comparison
items:
description: ResourceIgnoreDifferences contains
resource filter and list of json paths which
should be ignored during comparison with live
state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text) that relates
to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to the project
this application belongs to. The empty string
means that application belongs to the 'default'
project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to the location
of the application's manifests or chart
properties:
chart:
description: Chart is a Helm chart name, and
must be specified for applications sourced
from a Helm repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains a glob pattern
to match paths against that should be
explicitly excluded from being used during
manifest generation
type: string
include:
description: Include contains a glob pattern
to match paths against that should be
explicitly included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options specific
to Jsonnet
properties:
extVars:
description: ExtVars is a list of Jsonnet
External Variables
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library search
dirs
items:
type: string
type: array
tlas:
description: TLAS is a list of Jsonnet
Top-level Arguments
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies whether to
scan a directory recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific options
properties:
fileParameters:
description: FileParameters are file parameters
to the helm template
items:
description: HelmFileParameter is a file
parameter that's passed to helm template
during manifest generation
properties:
name:
description: Name is the name of the
Helm parameter
type: string
path:
description: Path is the path to the
file containing the values for the
Helm parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list of Helm
parameters which are passed to the helm
template command upon manifest generation
items:
description: HelmParameter is a parameter
that's passed to helm template during
manifest generation
properties:
forceString:
description: ForceString determines
whether to tell Helm to interpret
booleans and numbers as strings
type: boolean
name:
description: Name is the name of the
Helm parameter
type: string
value:
description: Value is the value for
the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the Helm release
name to use. If omitted it will use the
application name
type: string
valueFiles:
description: ValuesFiles is a list of Helm
value files to use when generating a template
items:
type: string
type: array
values:
description: Values specifies Helm values
to be passed to helm template, typically
defined as a block
type: string
version:
description: Version is the Helm version
to use for templating (either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet specific
options
properties:
environment:
description: Environment is a ksonnet application
environment name
type: string
parameters:
description: Parameters are a list of ksonnet
component parameter override values
items:
description: KsonnetParameter is a ksonnet
component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize specific
options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations is a list
of additional annotations to add to rendered
manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a list of additional
labels to add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations specifies
whether to force applying common annotations
to resources for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels specifies
whether to force applying common labels
to resources for Kustomize apps
type: boolean
images:
description: Images is a list of Kustomize
image override specifications
items:
description: KustomizeImage represents
a Kustomize image definition in the
format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix appended
to resources for Kustomize apps
type: string
nameSuffix:
description: NameSuffix is a suffix appended
to resources for Kustomize apps
type: string
version:
description: Version controls which version
of Kustomize to use for rendering manifests
type: string
type: object
path:
description: Path is a directory path within
the Git repository, and is only valid for
applications sourced from Git.
type: string
plugin:
description: ConfigManagementPlugin holds config
management plugin specific options
properties:
env:
description: Env is a list of environment
variable entries
items:
description: EnvEntry represents an entry
in the application's environment
properties:
name:
description: Name is the name of the
variable, usually expressed in uppercase
type: string
value:
description: Value is the value of
the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to the repository
(Git or Helm) that contains the application
manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when and how a
sync will be performed
properties:
automated:
description: Automated will keep an application
synced to the target revision
properties:
allowEmpty:
description: 'AllowEmpty allows apps have
zero live resources (default: false)'
type: boolean
prune:
description: 'Prune specifies whether to
delete resources from the cluster that
are not found in the sources anymore as
part of automated sync (default: false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes whether
to revert resources back to their desired
state upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed sync retry
behavior
properties:
backoff:
description: Backoff controls how to backoff
on subsequent retries of failed syncs
properties:
duration:
description: Duration is the amount
to back off. Default unit is seconds,
but could also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor to multiply
the base duration after each failed
retry
format: int64
type: integer
maxDuration:
description: MaxDuration is the maximum
amount of time allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum number
of attempts for retrying a failed sync.
If set to 0, no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to specify whole
app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
required:
- elements
type: object
matrix:
description: MatrixGenerator include Other generators
properties:
generators:
items:
description: ApplicationSetBaseGenerator include list
item info CRD dosn't support recursive types so we need
a different type for the matrix generator https://github.com/kubernetes-sigs/controller-tools/issues/477
properties:
clusterDecisionResource:
description: DuckType defines a generator to match
against clusters registered with ArgoCD.
properties:
configMapRef:
description: ConfigMapRef is a ConfigMap with
the duck type definitions needed to retreive
the data this includes apiVersion(group/version),
kind, matchKey and validation settings Name
is the resource name of the kind, group and
version, defined in the ConfigMapRef RequeueAfterSeconds
is how long before the duckType will be rechecked
for a change
type: string
labelSelector:
description: A label selector is a label query
over a set of resources. The result of matchLabels
and matchExpressions are ANDed. An empty label
selector matches all objects. A null label selector
matches no objects.
properties:
matchExpressions:
description: matchExpressions is a list of
label selector requirements. The requirements
are ANDed.
items:
description: A label selector requirement
is a selector that contains values, a
key, and an operator that relates the
key and values.
properties:
key:
description: key is the label key that
the selector applies to.
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and
DoesNotExist.
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty.
If the operator is Exists or DoesNotExist,
the values array must be empty. This
array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is
"In", and the values array contains only
"value". The requirements are ANDed.
type: object
type: object
name:
type: string
requeueAfterSeconds:
format: int64
type: integer
template:
description: ApplicationSetTemplate represents
argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents
the Argo CD application fields that may
be used for Applications generated from
the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired
application state. Contains link to repository
with application definition and additional
parameters link definition revision.
properties:
destination:
description: Destination is a reference
to the target Kubernetes server and
namespace
properties:
name:
description: Name is an alternate
way of specifying the target cluster
by its symbolic name
type: string
namespace:
description: Namespace specifies the
target namespace for the application's
resources. The namespace will only
be set for namespace-scoped resources
that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the
URL of the target cluster and must
be set to the Kubernetes control
plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list
of resources and their fields which
should be ignored during comparison
items:
description: ResourceIgnoreDifferences
contains resource filter and list
of json paths which should be ignored
during comparison with live state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text)
that relates to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to
the project this application belongs
to. The empty string means that application
belongs to the 'default' project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to
the location of the application's manifests
or chart
properties:
chart:
description: Chart is a Helm chart
name, and must be specified for
applications sourced from a Helm
repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains
a glob pattern to match paths
against that should be explicitly
excluded from being used during
manifest generation
type: string
include:
description: Include contains
a glob pattern to match paths
against that should be explicitly
included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options
specific to Jsonnet
properties:
extVars:
description: ExtVars is a
list of Jsonnet External
Variables
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library
search dirs
items:
type: string
type: array
tlas:
description: TLAS is a list
of Jsonnet Top-level Arguments
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies
whether to scan a directory
recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific
options
properties:
fileParameters:
description: FileParameters are
file parameters to the helm
template
items:
description: HelmFileParameter
is a file parameter that's
passed to helm template during
manifest generation
properties:
name:
description: Name is the
name of the Helm parameter
type: string
path:
description: Path is the
path to the file containing
the values for the Helm
parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list
of Helm parameters which are
passed to the helm template
command upon manifest generation
items:
description: HelmParameter is
a parameter that's passed
to helm template during manifest
generation
properties:
forceString:
description: ForceString
determines whether to
tell Helm to interpret
booleans and numbers as
strings
type: boolean
name:
description: Name is the
name of the Helm parameter
type: string
value:
description: Value is the
value for the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the
Helm release name to use. If
omitted it will use the application
name
type: string
valueFiles:
description: ValuesFiles is a
list of Helm value files to
use when generating a template
items:
type: string
type: array
values:
description: Values specifies
Helm values to be passed to
helm template, typically defined
as a block
type: string
version:
description: Version is the Helm
version to use for templating
(either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet
specific options
properties:
environment:
description: Environment is a
ksonnet application environment
name
type: string
parameters:
description: Parameters are a
list of ksonnet component parameter
override values
items:
description: KsonnetParameter
is a ksonnet component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize
specific options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations
is a list of additional annotations
to add to rendered manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a
list of additional labels to
add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations
specifies whether to force applying
common annotations to resources
for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels
specifies whether to force applying
common labels to resources for
Kustomize apps
type: boolean
images:
description: Images is a list
of Kustomize image override
specifications
items:
description: KustomizeImage
represents a Kustomize image
definition in the format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix
appended to resources for Kustomize
apps
type: string
nameSuffix:
description: NameSuffix is a suffix
appended to resources for Kustomize
apps
type: string
version:
description: Version controls
which version of Kustomize to
use for rendering manifests
type: string
type: object
path:
description: Path is a directory path
within the Git repository, and is
only valid for applications sourced
from Git.
type: string
plugin:
description: ConfigManagementPlugin
holds config management plugin specific
options
properties:
env:
description: Env is a list of
environment variable entries
items:
description: EnvEntry represents
an entry in the application's
environment
properties:
name:
description: Name is the
name of the variable,
usually expressed in uppercase
type: string
value:
description: Value is the
value of the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to
the repository (Git or Helm) that
contains the application manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when
and how a sync will be performed
properties:
automated:
description: Automated will keep an
application synced to the target
revision
properties:
allowEmpty:
description: 'AllowEmpty allows
apps have zero live resources
(default: false)'
type: boolean
prune:
description: 'Prune specifies
whether to delete resources
from the cluster that are not
found in the sources anymore
as part of automated sync (default:
false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes
whether to revert resources
back to their desired state
upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed
sync retry behavior
properties:
backoff:
description: Backoff controls
how to backoff on subsequent
retries of failed syncs
properties:
duration:
description: Duration is the
amount to back off. Default
unit is seconds, but could
also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor
to multiply the base duration
after each failed retry
format: int64
type: integer
maxDuration:
description: MaxDuration is
the maximum amount of time
allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum
number of attempts for retrying
a failed sync. If set to 0,
no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to
specify whole app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
values:
additionalProperties:
type: string
description: Values contains key/value pairs which
are passed directly as parameters to the template
type: object
required:
- configMapRef
type: object
clusters:
description: ClusterGenerator defines a generator
to match against clusters registered with ArgoCD.
properties:
selector:
description: Selector defines a label selector
to match against all clusters registered with
ArgoCD. Clusters today are stored as Kubernetes
Secrets, thus the Secret labels will be used
for matching the selector.
properties:
matchExpressions:
description: matchExpressions is a list of
label selector requirements. The requirements
are ANDed.
items:
description: A label selector requirement
is a selector that contains values, a
key, and an operator that relates the
key and values.
properties:
key:
description: key is the label key that
the selector applies to.
type: string
operator:
description: operator represents a key's
relationship to a set of values. Valid
operators are In, NotIn, Exists and
DoesNotExist.
type: string
values:
description: values is an array of string
values. If the operator is In or NotIn,
the values array must be non-empty.
If the operator is Exists or DoesNotExist,
the values array must be empty. This
array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value}
pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions,
whose key field is "key", the operator is
"In", and the values array contains only
"value". The requirements are ANDed.
type: object
type: object
template:
description: ApplicationSetTemplate represents
argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents
the Argo CD application fields that may
be used for Applications generated from
the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired
application state. Contains link to repository
with application definition and additional
parameters link definition revision.
properties:
destination:
description: Destination is a reference
to the target Kubernetes server and
namespace
properties:
name:
description: Name is an alternate
way of specifying the target cluster
by its symbolic name
type: string
namespace:
description: Namespace specifies the
target namespace for the application's
resources. The namespace will only
be set for namespace-scoped resources
that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the
URL of the target cluster and must
be set to the Kubernetes control
plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list
of resources and their fields which
should be ignored during comparison
items:
description: ResourceIgnoreDifferences
contains resource filter and list
of json paths which should be ignored
during comparison with live state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text)
that relates to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to
the project this application belongs
to. The empty string means that application
belongs to the 'default' project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to
the location of the application's manifests
or chart
properties:
chart:
description: Chart is a Helm chart
name, and must be specified for
applications sourced from a Helm
repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains
a glob pattern to match paths
against that should be explicitly
excluded from being used during
manifest generation
type: string
include:
description: Include contains
a glob pattern to match paths
against that should be explicitly
included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options
specific to Jsonnet
properties:
extVars:
description: ExtVars is a
list of Jsonnet External
Variables
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library
search dirs
items:
type: string
type: array
tlas:
description: TLAS is a list
of Jsonnet Top-level Arguments
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies
whether to scan a directory
recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific
options
properties:
fileParameters:
description: FileParameters are
file parameters to the helm
template
items:
description: HelmFileParameter
is a file parameter that's
passed to helm template during
manifest generation
properties:
name:
description: Name is the
name of the Helm parameter
type: string
path:
description: Path is the
path to the file containing
the values for the Helm
parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list
of Helm parameters which are
passed to the helm template
command upon manifest generation
items:
description: HelmParameter is
a parameter that's passed
to helm template during manifest
generation
properties:
forceString:
description: ForceString
determines whether to
tell Helm to interpret
booleans and numbers as
strings
type: boolean
name:
description: Name is the
name of the Helm parameter
type: string
value:
description: Value is the
value for the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the
Helm release name to use. If
omitted it will use the application
name
type: string
valueFiles:
description: ValuesFiles is a
list of Helm value files to
use when generating a template
items:
type: string
type: array
values:
description: Values specifies
Helm values to be passed to
helm template, typically defined
as a block
type: string
version:
description: Version is the Helm
version to use for templating
(either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet
specific options
properties:
environment:
description: Environment is a
ksonnet application environment
name
type: string
parameters:
description: Parameters are a
list of ksonnet component parameter
override values
items:
description: KsonnetParameter
is a ksonnet component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize
specific options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations
is a list of additional annotations
to add to rendered manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a
list of additional labels to
add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations
specifies whether to force applying
common annotations to resources
for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels
specifies whether to force applying
common labels to resources for
Kustomize apps
type: boolean
images:
description: Images is a list
of Kustomize image override
specifications
items:
description: KustomizeImage
represents a Kustomize image
definition in the format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix
appended to resources for Kustomize
apps
type: string
nameSuffix:
description: NameSuffix is a suffix
appended to resources for Kustomize
apps
type: string
version:
description: Version controls
which version of Kustomize to
use for rendering manifests
type: string
type: object
path:
description: Path is a directory path
within the Git repository, and is
only valid for applications sourced
from Git.
type: string
plugin:
description: ConfigManagementPlugin
holds config management plugin specific
options
properties:
env:
description: Env is a list of
environment variable entries
items:
description: EnvEntry represents
an entry in the application's
environment
properties:
name:
description: Name is the
name of the variable,
usually expressed in uppercase
type: string
value:
description: Value is the
value of the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to
the repository (Git or Helm) that
contains the application manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when
and how a sync will be performed
properties:
automated:
description: Automated will keep an
application synced to the target
revision
properties:
allowEmpty:
description: 'AllowEmpty allows
apps have zero live resources
(default: false)'
type: boolean
prune:
description: 'Prune specifies
whether to delete resources
from the cluster that are not
found in the sources anymore
as part of automated sync (default:
false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes
whether to revert resources
back to their desired state
upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed
sync retry behavior
properties:
backoff:
description: Backoff controls
how to backoff on subsequent
retries of failed syncs
properties:
duration:
description: Duration is the
amount to back off. Default
unit is seconds, but could
also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor
to multiply the base duration
after each failed retry
format: int64
type: integer
maxDuration:
description: MaxDuration is
the maximum amount of time
allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum
number of attempts for retrying
a failed sync. If set to 0,
no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to
specify whole app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
values:
additionalProperties:
type: string
description: Values contains key/value pairs which
are passed directly as parameters to the template
type: object
type: object
git:
properties:
directories:
items:
properties:
exclude:
type: boolean
path:
type: string
required:
- path
type: object
type: array
files:
items:
properties:
path:
type: string
required:
- path
type: object
type: array
repoURL:
type: string
requeueAfterSeconds:
format: int64
type: integer
revision:
type: string
template:
description: ApplicationSetTemplate represents
argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents
the Argo CD application fields that may
be used for Applications generated from
the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired
application state. Contains link to repository
with application definition and additional
parameters link definition revision.
properties:
destination:
description: Destination is a reference
to the target Kubernetes server and
namespace
properties:
name:
description: Name is an alternate
way of specifying the target cluster
by its symbolic name
type: string
namespace:
description: Namespace specifies the
target namespace for the application's
resources. The namespace will only
be set for namespace-scoped resources
that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the
URL of the target cluster and must
be set to the Kubernetes control
plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list
of resources and their fields which
should be ignored during comparison
items:
description: ResourceIgnoreDifferences
contains resource filter and list
of json paths which should be ignored
during comparison with live state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text)
that relates to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to
the project this application belongs
to. The empty string means that application
belongs to the 'default' project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to
the location of the application's manifests
or chart
properties:
chart:
description: Chart is a Helm chart
name, and must be specified for
applications sourced from a Helm
repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains
a glob pattern to match paths
against that should be explicitly
excluded from being used during
manifest generation
type: string
include:
description: Include contains
a glob pattern to match paths
against that should be explicitly
included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options
specific to Jsonnet
properties:
extVars:
description: ExtVars is a
list of Jsonnet External
Variables
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library
search dirs
items:
type: string
type: array
tlas:
description: TLAS is a list
of Jsonnet Top-level Arguments
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies
whether to scan a directory
recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific
options
properties:
fileParameters:
description: FileParameters are
file parameters to the helm
template
items:
description: HelmFileParameter
is a file parameter that's
passed to helm template during
manifest generation
properties:
name:
description: Name is the
name of the Helm parameter
type: string
path:
description: Path is the
path to the file containing
the values for the Helm
parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list
of Helm parameters which are
passed to the helm template
command upon manifest generation
items:
description: HelmParameter is
a parameter that's passed
to helm template during manifest
generation
properties:
forceString:
description: ForceString
determines whether to
tell Helm to interpret
booleans and numbers as
strings
type: boolean
name:
description: Name is the
name of the Helm parameter
type: string
value:
description: Value is the
value for the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the
Helm release name to use. If
omitted it will use the application
name
type: string
valueFiles:
description: ValuesFiles is a
list of Helm value files to
use when generating a template
items:
type: string
type: array
values:
description: Values specifies
Helm values to be passed to
helm template, typically defined
as a block
type: string
version:
description: Version is the Helm
version to use for templating
(either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet
specific options
properties:
environment:
description: Environment is a
ksonnet application environment
name
type: string
parameters:
description: Parameters are a
list of ksonnet component parameter
override values
items:
description: KsonnetParameter
is a ksonnet component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize
specific options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations
is a list of additional annotations
to add to rendered manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a
list of additional labels to
add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations
specifies whether to force applying
common annotations to resources
for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels
specifies whether to force applying
common labels to resources for
Kustomize apps
type: boolean
images:
description: Images is a list
of Kustomize image override
specifications
items:
description: KustomizeImage
represents a Kustomize image
definition in the format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix
appended to resources for Kustomize
apps
type: string
nameSuffix:
description: NameSuffix is a suffix
appended to resources for Kustomize
apps
type: string
version:
description: Version controls
which version of Kustomize to
use for rendering manifests
type: string
type: object
path:
description: Path is a directory path
within the Git repository, and is
only valid for applications sourced
from Git.
type: string
plugin:
description: ConfigManagementPlugin
holds config management plugin specific
options
properties:
env:
description: Env is a list of
environment variable entries
items:
description: EnvEntry represents
an entry in the application's
environment
properties:
name:
description: Name is the
name of the variable,
usually expressed in uppercase
type: string
value:
description: Value is the
value of the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to
the repository (Git or Helm) that
contains the application manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when
and how a sync will be performed
properties:
automated:
description: Automated will keep an
application synced to the target
revision
properties:
allowEmpty:
description: 'AllowEmpty allows
apps have zero live resources
(default: false)'
type: boolean
prune:
description: 'Prune specifies
whether to delete resources
from the cluster that are not
found in the sources anymore
as part of automated sync (default:
false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes
whether to revert resources
back to their desired state
upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed
sync retry behavior
properties:
backoff:
description: Backoff controls
how to backoff on subsequent
retries of failed syncs
properties:
duration:
description: Duration is the
amount to back off. Default
unit is seconds, but could
also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor
to multiply the base duration
after each failed retry
format: int64
type: integer
maxDuration:
description: MaxDuration is
the maximum amount of time
allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum
number of attempts for retrying
a failed sync. If set to 0,
no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to
specify whole app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
required:
- repoURL
- revision
type: object
list:
description: ListGenerator include items info
properties:
elements:
items:
x-kubernetes-preserve-unknown-fields: true
type: array
template:
description: ApplicationSetTemplate represents
argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents
the Argo CD application fields that may
be used for Applications generated from
the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired
application state. Contains link to repository
with application definition and additional
parameters link definition revision.
properties:
destination:
description: Destination is a reference
to the target Kubernetes server and
namespace
properties:
name:
description: Name is an alternate
way of specifying the target cluster
by its symbolic name
type: string
namespace:
description: Namespace specifies the
target namespace for the application's
resources. The namespace will only
be set for namespace-scoped resources
that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the
URL of the target cluster and must
be set to the Kubernetes control
plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list
of resources and their fields which
should be ignored during comparison
items:
description: ResourceIgnoreDifferences
contains resource filter and list
of json paths which should be ignored
during comparison with live state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text)
that relates to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to
the project this application belongs
to. The empty string means that application
belongs to the 'default' project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to
the location of the application's manifests
or chart
properties:
chart:
description: Chart is a Helm chart
name, and must be specified for
applications sourced from a Helm
repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains
a glob pattern to match paths
against that should be explicitly
excluded from being used during
manifest generation
type: string
include:
description: Include contains
a glob pattern to match paths
against that should be explicitly
included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options
specific to Jsonnet
properties:
extVars:
description: ExtVars is a
list of Jsonnet External
Variables
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library
search dirs
items:
type: string
type: array
tlas:
description: TLAS is a list
of Jsonnet Top-level Arguments
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies
whether to scan a directory
recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific
options
properties:
fileParameters:
description: FileParameters are
file parameters to the helm
template
items:
description: HelmFileParameter
is a file parameter that's
passed to helm template during
manifest generation
properties:
name:
description: Name is the
name of the Helm parameter
type: string
path:
description: Path is the
path to the file containing
the values for the Helm
parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list
of Helm parameters which are
passed to the helm template
command upon manifest generation
items:
description: HelmParameter is
a parameter that's passed
to helm template during manifest
generation
properties:
forceString:
description: ForceString
determines whether to
tell Helm to interpret
booleans and numbers as
strings
type: boolean
name:
description: Name is the
name of the Helm parameter
type: string
value:
description: Value is the
value for the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the
Helm release name to use. If
omitted it will use the application
name
type: string
valueFiles:
description: ValuesFiles is a
list of Helm value files to
use when generating a template
items:
type: string
type: array
values:
description: Values specifies
Helm values to be passed to
helm template, typically defined
as a block
type: string
version:
description: Version is the Helm
version to use for templating
(either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet
specific options
properties:
environment:
description: Environment is a
ksonnet application environment
name
type: string
parameters:
description: Parameters are a
list of ksonnet component parameter
override values
items:
description: KsonnetParameter
is a ksonnet component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize
specific options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations
is a list of additional annotations
to add to rendered manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a
list of additional labels to
add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations
specifies whether to force applying
common annotations to resources
for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels
specifies whether to force applying
common labels to resources for
Kustomize apps
type: boolean
images:
description: Images is a list
of Kustomize image override
specifications
items:
description: KustomizeImage
represents a Kustomize image
definition in the format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix
appended to resources for Kustomize
apps
type: string
nameSuffix:
description: NameSuffix is a suffix
appended to resources for Kustomize
apps
type: string
version:
description: Version controls
which version of Kustomize to
use for rendering manifests
type: string
type: object
path:
description: Path is a directory path
within the Git repository, and is
only valid for applications sourced
from Git.
type: string
plugin:
description: ConfigManagementPlugin
holds config management plugin specific
options
properties:
env:
description: Env is a list of
environment variable entries
items:
description: EnvEntry represents
an entry in the application's
environment
properties:
name:
description: Name is the
name of the variable,
usually expressed in uppercase
type: string
value:
description: Value is the
value of the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to
the repository (Git or Helm) that
contains the application manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when
and how a sync will be performed
properties:
automated:
description: Automated will keep an
application synced to the target
revision
properties:
allowEmpty:
description: 'AllowEmpty allows
apps have zero live resources
(default: false)'
type: boolean
prune:
description: 'Prune specifies
whether to delete resources
from the cluster that are not
found in the sources anymore
as part of automated sync (default:
false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes
whether to revert resources
back to their desired state
upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed
sync retry behavior
properties:
backoff:
description: Backoff controls
how to backoff on subsequent
retries of failed syncs
properties:
duration:
description: Duration is the
amount to back off. Default
unit is seconds, but could
also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor
to multiply the base duration
after each failed retry
format: int64
type: integer
maxDuration:
description: MaxDuration is
the maximum amount of time
allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum
number of attempts for retrying
a failed sync. If set to 0,
no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to
specify whole app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
required:
- elements
type: object
scmProvider:
description: SCMProviderGenerator defines a generator
that scrapes a SCMaaS API to find candidate repos.
properties:
cloneProtocol:
description: Which protocol to use for the SCM
URL. Default is provider-specific but ssh if
possible. Not all providers necessarily support
all protocols.
type: string
filters:
description: Filters for which repos should be
considered.
items:
description: SCMProviderGeneratorFilter is a
single repository filter. If multiple filter
types are set on a single struct, they will
be AND'd together. All filters must pass for
a repo to be included.
properties:
branchMatch:
description: A regex which must match the
branch name.
type: string
labelMatch:
description: A regex which must match at
least one label.
type: string
pathsExist:
description: An array of paths, all of which
must exist.
items:
type: string
type: array
repositoryMatch:
description: A regex for repo names.
type: string
type: object
type: array
github:
description: Which provider to use and config
for it.
properties:
allBranches:
description: Scan all branches instead of
just the default branch.
type: boolean
api:
description: The GitHub API URL to talk to.
If blank, use https://api.github.com/.
type: string
organization:
description: GitHub org to scan. Required.
type: string
tokenRef:
description: Authentication token reference.
properties:
key:
type: string
secretName:
type: string
required:
- key
- secretName
type: object
required:
- organization
type: object
gitlab:
description: SCMProviderGeneratorGitlab defines
a connection info specific to Gitlab.
properties:
allBranches:
description: Scan all branches instead of
just the default branch.
type: boolean
api:
description: The Gitlab API URL to talk to.
type: string
group:
description: Gitlab group to scan. Required. You
can use either the project id (recommended)
or the full namespaced path.
type: string
includeSubgroups:
description: Recurse through subgroups (true)
or scan only the base group (false). Defaults
to "false"
type: boolean
tokenRef:
description: Authentication token reference.
properties:
key:
type: string
secretName:
type: string
required:
- key
- secretName
type: object
required:
- group
type: object
requeueAfterSeconds:
description: Standard parameters.
format: int64
type: integer
template:
description: ApplicationSetTemplate represents
argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents
the Argo CD application fields that may
be used for Applications generated from
the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired
application state. Contains link to repository
with application definition and additional
parameters link definition revision.
properties:
destination:
description: Destination is a reference
to the target Kubernetes server and
namespace
properties:
name:
description: Name is an alternate
way of specifying the target cluster
by its symbolic name
type: string
namespace:
description: Namespace specifies the
target namespace for the application's
resources. The namespace will only
be set for namespace-scoped resources
that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the
URL of the target cluster and must
be set to the Kubernetes control
plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list
of resources and their fields which
should be ignored during comparison
items:
description: ResourceIgnoreDifferences
contains resource filter and list
of json paths which should be ignored
during comparison with live state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text)
that relates to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to
the project this application belongs
to. The empty string means that application
belongs to the 'default' project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to
the location of the application's manifests
or chart
properties:
chart:
description: Chart is a Helm chart
name, and must be specified for
applications sourced from a Helm
repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains
a glob pattern to match paths
against that should be explicitly
excluded from being used during
manifest generation
type: string
include:
description: Include contains
a glob pattern to match paths
against that should be explicitly
included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options
specific to Jsonnet
properties:
extVars:
description: ExtVars is a
list of Jsonnet External
Variables
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library
search dirs
items:
type: string
type: array
tlas:
description: TLAS is a list
of Jsonnet Top-level Arguments
items:
description: JsonnetVar
represents a variable
to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies
whether to scan a directory
recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific
options
properties:
fileParameters:
description: FileParameters are
file parameters to the helm
template
items:
description: HelmFileParameter
is a file parameter that's
passed to helm template during
manifest generation
properties:
name:
description: Name is the
name of the Helm parameter
type: string
path:
description: Path is the
path to the file containing
the values for the Helm
parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list
of Helm parameters which are
passed to the helm template
command upon manifest generation
items:
description: HelmParameter is
a parameter that's passed
to helm template during manifest
generation
properties:
forceString:
description: ForceString
determines whether to
tell Helm to interpret
booleans and numbers as
strings
type: boolean
name:
description: Name is the
name of the Helm parameter
type: string
value:
description: Value is the
value for the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the
Helm release name to use. If
omitted it will use the application
name
type: string
valueFiles:
description: ValuesFiles is a
list of Helm value files to
use when generating a template
items:
type: string
type: array
values:
description: Values specifies
Helm values to be passed to
helm template, typically defined
as a block
type: string
version:
description: Version is the Helm
version to use for templating
(either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet
specific options
properties:
environment:
description: Environment is a
ksonnet application environment
name
type: string
parameters:
description: Parameters are a
list of ksonnet component parameter
override values
items:
description: KsonnetParameter
is a ksonnet component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize
specific options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations
is a list of additional annotations
to add to rendered manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a
list of additional labels to
add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations
specifies whether to force applying
common annotations to resources
for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels
specifies whether to force applying
common labels to resources for
Kustomize apps
type: boolean
images:
description: Images is a list
of Kustomize image override
specifications
items:
description: KustomizeImage
represents a Kustomize image
definition in the format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix
appended to resources for Kustomize
apps
type: string
nameSuffix:
description: NameSuffix is a suffix
appended to resources for Kustomize
apps
type: string
version:
description: Version controls
which version of Kustomize to
use for rendering manifests
type: string
type: object
path:
description: Path is a directory path
within the Git repository, and is
only valid for applications sourced
from Git.
type: string
plugin:
description: ConfigManagementPlugin
holds config management plugin specific
options
properties:
env:
description: Env is a list of
environment variable entries
items:
description: EnvEntry represents
an entry in the application's
environment
properties:
name:
description: Name is the
name of the variable,
usually expressed in uppercase
type: string
value:
description: Value is the
value of the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to
the repository (Git or Helm) that
contains the application manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when
and how a sync will be performed
properties:
automated:
description: Automated will keep an
application synced to the target
revision
properties:
allowEmpty:
description: 'AllowEmpty allows
apps have zero live resources
(default: false)'
type: boolean
prune:
description: 'Prune specifies
whether to delete resources
from the cluster that are not
found in the sources anymore
as part of automated sync (default:
false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes
whether to revert resources
back to their desired state
upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed
sync retry behavior
properties:
backoff:
description: Backoff controls
how to backoff on subsequent
retries of failed syncs
properties:
duration:
description: Duration is the
amount to back off. Default
unit is seconds, but could
also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor
to multiply the base duration
after each failed retry
format: int64
type: integer
maxDuration:
description: MaxDuration is
the maximum amount of time
allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum
number of attempts for retrying
a failed sync. If set to 0,
no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to
specify whole app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
type: object
type: object
type: array
template:
description: ApplicationSetTemplate represents argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents the
Argo CD application fields that may be used for Applications
generated from the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired application
state. Contains link to repository with application
definition and additional parameters link definition
revision.
properties:
destination:
description: Destination is a reference to the target
Kubernetes server and namespace
properties:
name:
description: Name is an alternate way of specifying
the target cluster by its symbolic name
type: string
namespace:
description: Namespace specifies the target
namespace for the application's resources.
The namespace will only be set for namespace-scoped
resources that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the URL of the
target cluster and must be set to the Kubernetes
control plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list of resources
and their fields which should be ignored during
comparison
items:
description: ResourceIgnoreDifferences contains
resource filter and list of json paths which
should be ignored during comparison with live
state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text) that relates
to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to the project
this application belongs to. The empty string
means that application belongs to the 'default'
project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to the location
of the application's manifests or chart
properties:
chart:
description: Chart is a Helm chart name, and
must be specified for applications sourced
from a Helm repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains a glob pattern
to match paths against that should be
explicitly excluded from being used during
manifest generation
type: string
include:
description: Include contains a glob pattern
to match paths against that should be
explicitly included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options specific
to Jsonnet
properties:
extVars:
description: ExtVars is a list of Jsonnet
External Variables
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library search
dirs
items:
type: string
type: array
tlas:
description: TLAS is a list of Jsonnet
Top-level Arguments
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies whether to
scan a directory recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific options
properties:
fileParameters:
description: FileParameters are file parameters
to the helm template
items:
description: HelmFileParameter is a file
parameter that's passed to helm template
during manifest generation
properties:
name:
description: Name is the name of the
Helm parameter
type: string
path:
description: Path is the path to the
file containing the values for the
Helm parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list of Helm
parameters which are passed to the helm
template command upon manifest generation
items:
description: HelmParameter is a parameter
that's passed to helm template during
manifest generation
properties:
forceString:
description: ForceString determines
whether to tell Helm to interpret
booleans and numbers as strings
type: boolean
name:
description: Name is the name of the
Helm parameter
type: string
value:
description: Value is the value for
the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the Helm release
name to use. If omitted it will use the
application name
type: string
valueFiles:
description: ValuesFiles is a list of Helm
value files to use when generating a template
items:
type: string
type: array
values:
description: Values specifies Helm values
to be passed to helm template, typically
defined as a block
type: string
version:
description: Version is the Helm version
to use for templating (either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet specific
options
properties:
environment:
description: Environment is a ksonnet application
environment name
type: string
parameters:
description: Parameters are a list of ksonnet
component parameter override values
items:
description: KsonnetParameter is a ksonnet
component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize specific
options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations is a list
of additional annotations to add to rendered
manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a list of additional
labels to add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations specifies
whether to force applying common annotations
to resources for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels specifies
whether to force applying common labels
to resources for Kustomize apps
type: boolean
images:
description: Images is a list of Kustomize
image override specifications
items:
description: KustomizeImage represents
a Kustomize image definition in the
format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix appended
to resources for Kustomize apps
type: string
nameSuffix:
description: NameSuffix is a suffix appended
to resources for Kustomize apps
type: string
version:
description: Version controls which version
of Kustomize to use for rendering manifests
type: string
type: object
path:
description: Path is a directory path within
the Git repository, and is only valid for
applications sourced from Git.
type: string
plugin:
description: ConfigManagementPlugin holds config
management plugin specific options
properties:
env:
description: Env is a list of environment
variable entries
items:
description: EnvEntry represents an entry
in the application's environment
properties:
name:
description: Name is the name of the
variable, usually expressed in uppercase
type: string
value:
description: Value is the value of
the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to the repository
(Git or Helm) that contains the application
manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when and how a
sync will be performed
properties:
automated:
description: Automated will keep an application
synced to the target revision
properties:
allowEmpty:
description: 'AllowEmpty allows apps have
zero live resources (default: false)'
type: boolean
prune:
description: 'Prune specifies whether to
delete resources from the cluster that
are not found in the sources anymore as
part of automated sync (default: false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes whether
to revert resources back to their desired
state upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed sync retry
behavior
properties:
backoff:
description: Backoff controls how to backoff
on subsequent retries of failed syncs
properties:
duration:
description: Duration is the amount
to back off. Default unit is seconds,
but could also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor to multiply
the base duration after each failed
retry
format: int64
type: integer
maxDuration:
description: MaxDuration is the maximum
amount of time allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum number
of attempts for retrying a failed sync.
If set to 0, no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to specify whole
app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
required:
- generators
type: object
scmProvider:
description: SCMProviderGenerator defines a generator that scrapes
a SCMaaS API to find candidate repos.
properties:
cloneProtocol:
description: Which protocol to use for the SCM URL. Default
is provider-specific but ssh if possible. Not all providers
necessarily support all protocols.
type: string
filters:
description: Filters for which repos should be considered.
items:
description: SCMProviderGeneratorFilter is a single repository
filter. If multiple filter types are set on a single
struct, they will be AND'd together. All filters must
pass for a repo to be included.
properties:
branchMatch:
description: A regex which must match the branch name.
type: string
labelMatch:
description: A regex which must match at least one
label.
type: string
pathsExist:
description: An array of paths, all of which must
exist.
items:
type: string
type: array
repositoryMatch:
description: A regex for repo names.
type: string
type: object
type: array
github:
description: Which provider to use and config for it.
properties:
allBranches:
description: Scan all branches instead of just the default
branch.
type: boolean
api:
description: The GitHub API URL to talk to. If blank,
use https://api.github.com/.
type: string
organization:
description: GitHub org to scan. Required.
type: string
tokenRef:
description: Authentication token reference.
properties:
key:
type: string
secretName:
type: string
required:
- key
- secretName
type: object
required:
- organization
type: object
gitlab:
description: SCMProviderGeneratorGitlab defines a connection
info specific to Gitlab.
properties:
allBranches:
description: Scan all branches instead of just the default
branch.
type: boolean
api:
description: The Gitlab API URL to talk to.
type: string
group:
description: Gitlab group to scan. Required. You can
use either the project id (recommended) or the full
namespaced path.
type: string
includeSubgroups:
description: Recurse through subgroups (true) or scan
only the base group (false). Defaults to "false"
type: boolean
tokenRef:
description: Authentication token reference.
properties:
key:
type: string
secretName:
type: string
required:
- key
- secretName
type: object
required:
- group
type: object
requeueAfterSeconds:
description: Standard parameters.
format: int64
type: integer
template:
description: ApplicationSetTemplate represents argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents the
Argo CD application fields that may be used for Applications
generated from the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired application
state. Contains link to repository with application
definition and additional parameters link definition
revision.
properties:
destination:
description: Destination is a reference to the target
Kubernetes server and namespace
properties:
name:
description: Name is an alternate way of specifying
the target cluster by its symbolic name
type: string
namespace:
description: Namespace specifies the target
namespace for the application's resources.
The namespace will only be set for namespace-scoped
resources that have not set a value for .metadata.namespace
type: string
server:
description: Server specifies the URL of the
target cluster and must be set to the Kubernetes
control plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list of resources
and their fields which should be ignored during
comparison
items:
description: ResourceIgnoreDifferences contains
resource filter and list of json paths which
should be ignored during comparison with live
state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information
(URLs, email addresses, and plain text) that relates
to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to the project
this application belongs to. The empty string
means that application belongs to the 'default'
project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to the location
of the application's manifests or chart
properties:
chart:
description: Chart is a Helm chart name, and
must be specified for applications sourced
from a Helm repo.
type: string
directory:
description: Directory holds path/directory
specific options
properties:
exclude:
description: Exclude contains a glob pattern
to match paths against that should be
explicitly excluded from being used during
manifest generation
type: string
include:
description: Include contains a glob pattern
to match paths against that should be
explicitly included during manifest generation
type: string
jsonnet:
description: Jsonnet holds options specific
to Jsonnet
properties:
extVars:
description: ExtVars is a list of Jsonnet
External Variables
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library search
dirs
items:
type: string
type: array
tlas:
description: TLAS is a list of Jsonnet
Top-level Arguments
items:
description: JsonnetVar represents
a variable to be passed to jsonnet
during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies whether to
scan a directory recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific options
properties:
fileParameters:
description: FileParameters are file parameters
to the helm template
items:
description: HelmFileParameter is a file
parameter that's passed to helm template
during manifest generation
properties:
name:
description: Name is the name of the
Helm parameter
type: string
path:
description: Path is the path to the
file containing the values for the
Helm parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list of Helm
parameters which are passed to the helm
template command upon manifest generation
items:
description: HelmParameter is a parameter
that's passed to helm template during
manifest generation
properties:
forceString:
description: ForceString determines
whether to tell Helm to interpret
booleans and numbers as strings
type: boolean
name:
description: Name is the name of the
Helm parameter
type: string
value:
description: Value is the value for
the Helm parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the Helm release
name to use. If omitted it will use the
application name
type: string
valueFiles:
description: ValuesFiles is a list of Helm
value files to use when generating a template
items:
type: string
type: array
values:
description: Values specifies Helm values
to be passed to helm template, typically
defined as a block
type: string
version:
description: Version is the Helm version
to use for templating (either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet specific
options
properties:
environment:
description: Environment is a ksonnet application
environment name
type: string
parameters:
description: Parameters are a list of ksonnet
component parameter override values
items:
description: KsonnetParameter is a ksonnet
component parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize specific
options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations is a list
of additional annotations to add to rendered
manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a list of additional
labels to add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations specifies
whether to force applying common annotations
to resources for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels specifies
whether to force applying common labels
to resources for Kustomize apps
type: boolean
images:
description: Images is a list of Kustomize
image override specifications
items:
description: KustomizeImage represents
a Kustomize image definition in the
format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix appended
to resources for Kustomize apps
type: string
nameSuffix:
description: NameSuffix is a suffix appended
to resources for Kustomize apps
type: string
version:
description: Version controls which version
of Kustomize to use for rendering manifests
type: string
type: object
path:
description: Path is a directory path within
the Git repository, and is only valid for
applications sourced from Git.
type: string
plugin:
description: ConfigManagementPlugin holds config
management plugin specific options
properties:
env:
description: Env is a list of environment
variable entries
items:
description: EnvEntry represents an entry
in the application's environment
properties:
name:
description: Name is the name of the
variable, usually expressed in uppercase
type: string
value:
description: Value is the value of
the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to the repository
(Git or Helm) that contains the application
manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when and how a
sync will be performed
properties:
automated:
description: Automated will keep an application
synced to the target revision
properties:
allowEmpty:
description: 'AllowEmpty allows apps have
zero live resources (default: false)'
type: boolean
prune:
description: 'Prune specifies whether to
delete resources from the cluster that
are not found in the sources anymore as
part of automated sync (default: false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes whether
to revert resources back to their desired
state upon modification in the cluster
(default: false)'
type: boolean
type: object
retry:
description: Retry controls failed sync retry
behavior
properties:
backoff:
description: Backoff controls how to backoff
on subsequent retries of failed syncs
properties:
duration:
description: Duration is the amount
to back off. Default unit is seconds,
but could also be a duration (e.g.
"2m", "1h")
type: string
factor:
description: Factor is a factor to multiply
the base duration after each failed
retry
format: int64
type: integer
maxDuration:
description: MaxDuration is the maximum
amount of time allowed for the backoff
strategy
type: string
type: object
limit:
description: Limit is the maximum number
of attempts for retrying a failed sync.
If set to 0, no retries will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to specify whole
app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
type: object
type: object
type: array
syncPolicy:
description: ApplicationSetSyncPolicy configures how generated Applications
will relate to their ApplicationSet.
properties:
preserveResourcesOnDeletion:
description: PreserveResourcesOnDeletion will preserve resources
on deletion. If PreserveResourcesOnDeletion is set to true,
these Applications will not be deleted.
type: boolean
type: object
template:
description: ApplicationSetTemplate represents argocd ApplicationSpec
properties:
metadata:
description: ApplicationSetTemplateMeta represents the Argo CD
application fields that may be used for Applications generated
from the ApplicationSet (based on metav1.ObjectMeta)
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: ApplicationSpec represents desired application state.
Contains link to repository with application definition and
additional parameters link definition revision.
properties:
destination:
description: Destination is a reference to the target Kubernetes
server and namespace
properties:
name:
description: Name is an alternate way of specifying the
target cluster by its symbolic name
type: string
namespace:
description: Namespace specifies the target namespace
for the application's resources. The namespace will
only be set for namespace-scoped resources that have
not set a value for .metadata.namespace
type: string
server:
description: Server specifies the URL of the target cluster
and must be set to the Kubernetes control plane API
type: string
type: object
ignoreDifferences:
description: IgnoreDifferences is a list of resources and
their fields which should be ignored during comparison
items:
description: ResourceIgnoreDifferences contains resource
filter and list of json paths which should be ignored
during comparison with live state.
properties:
group:
type: string
jqPathExpressions:
items:
type: string
type: array
jsonPointers:
items:
type: string
type: array
kind:
type: string
name:
type: string
namespace:
type: string
required:
- kind
type: object
type: array
info:
description: Info contains a list of information (URLs, email
addresses, and plain text) that relates to the application
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
project:
description: Project is a reference to the project this application
belongs to. The empty string means that application belongs
to the 'default' project.
type: string
revisionHistoryLimit:
description: 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.
format: int64
type: integer
source:
description: Source is a reference to the location of the
application's manifests or chart
properties:
chart:
description: Chart is a Helm chart name, and must be specified
for applications sourced from a Helm repo.
type: string
directory:
description: Directory holds path/directory specific options
properties:
exclude:
description: Exclude contains a glob pattern to match
paths against that should be explicitly excluded
from being used during manifest generation
type: string
include:
description: Include contains a glob pattern to match
paths against that should be explicitly included
during manifest generation
type: string
jsonnet:
description: Jsonnet holds options specific to Jsonnet
properties:
extVars:
description: ExtVars is a list of Jsonnet External
Variables
items:
description: JsonnetVar represents a variable
to be passed to jsonnet during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
libs:
description: Additional library search dirs
items:
type: string
type: array
tlas:
description: TLAS is a list of Jsonnet Top-level
Arguments
items:
description: JsonnetVar represents a variable
to be passed to jsonnet during manifest generation
properties:
code:
type: boolean
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
recurse:
description: Recurse specifies whether to scan a directory
recursively for manifests
type: boolean
type: object
helm:
description: Helm holds helm specific options
properties:
fileParameters:
description: FileParameters are file parameters to
the helm template
items:
description: HelmFileParameter is a file parameter
that's passed to helm template during manifest
generation
properties:
name:
description: Name is the name of the Helm parameter
type: string
path:
description: Path is the path to the file containing
the values for the Helm parameter
type: string
type: object
type: array
parameters:
description: Parameters is a list of Helm parameters
which are passed to the helm template command upon
manifest generation
items:
description: HelmParameter is a parameter that's
passed to helm template during manifest generation
properties:
forceString:
description: ForceString determines whether
to tell Helm to interpret booleans and numbers
as strings
type: boolean
name:
description: Name is the name of the Helm parameter
type: string
value:
description: Value is the value for the Helm
parameter
type: string
type: object
type: array
releaseName:
description: ReleaseName is the Helm release name
to use. If omitted it will use the application name
type: string
valueFiles:
description: ValuesFiles is a list of Helm value files
to use when generating a template
items:
type: string
type: array
values:
description: Values specifies Helm values to be passed
to helm template, typically defined as a block
type: string
version:
description: Version is the Helm version to use for
templating (either "2" or "3")
type: string
type: object
ksonnet:
description: Ksonnet holds ksonnet specific options
properties:
environment:
description: Environment is a ksonnet application
environment name
type: string
parameters:
description: Parameters are a list of ksonnet component
parameter override values
items:
description: KsonnetParameter is a ksonnet component
parameter
properties:
component:
type: string
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
type: object
kustomize:
description: Kustomize holds kustomize specific options
properties:
commonAnnotations:
additionalProperties:
type: string
description: CommonAnnotations is a list of additional
annotations to add to rendered manifests
type: object
commonLabels:
additionalProperties:
type: string
description: CommonLabels is a list of additional
labels to add to rendered manifests
type: object
forceCommonAnnotations:
description: ForceCommonAnnotations specifies whether
to force applying common annotations to resources
for Kustomize apps
type: boolean
forceCommonLabels:
description: ForceCommonLabels specifies whether to
force applying common labels to resources for Kustomize
apps
type: boolean
images:
description: Images is a list of Kustomize image override
specifications
items:
description: KustomizeImage represents a Kustomize
image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string
type: array
namePrefix:
description: NamePrefix is a prefix appended to resources
for Kustomize apps
type: string
nameSuffix:
description: NameSuffix is a suffix appended to resources
for Kustomize apps
type: string
version:
description: Version controls which version of Kustomize
to use for rendering manifests
type: string
type: object
path:
description: Path is a directory path within the Git repository,
and is only valid for applications sourced from Git.
type: string
plugin:
description: ConfigManagementPlugin holds config management
plugin specific options
properties:
env:
description: Env is a list of environment variable
entries
items:
description: EnvEntry represents an entry in the
application's environment
properties:
name:
description: Name is the name of the variable,
usually expressed in uppercase
type: string
value:
description: Value is the value of the variable
type: string
required:
- name
- value
type: object
type: array
name:
type: string
type: object
repoURL:
description: RepoURL is the URL to the repository (Git
or Helm) that contains the application manifests
type: string
targetRevision:
description: 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.
type: string
required:
- repoURL
type: object
syncPolicy:
description: SyncPolicy controls when and how a sync will
be performed
properties:
automated:
description: Automated will keep an application synced
to the target revision
properties:
allowEmpty:
description: 'AllowEmpty allows apps have zero live
resources (default: false)'
type: boolean
prune:
description: 'Prune specifies whether to delete resources
from the cluster that are not found in the sources
anymore as part of automated sync (default: false)'
type: boolean
selfHeal:
description: 'SelfHeal specifes whether to revert
resources back to their desired state upon modification
in the cluster (default: false)'
type: boolean
type: object
retry:
description: Retry controls failed sync retry behavior
properties:
backoff:
description: Backoff controls how to backoff on subsequent
retries of failed syncs
properties:
duration:
description: Duration is the amount to back off.
Default unit is seconds, but could also be a
duration (e.g. "2m", "1h")
type: string
factor:
description: Factor is a factor to multiply the
base duration after each failed retry
format: int64
type: integer
maxDuration:
description: MaxDuration is the maximum amount
of time allowed for the backoff strategy
type: string
type: object
limit:
description: Limit is the maximum number of attempts
for retrying a failed sync. If set to 0, no retries
will be performed.
format: int64
type: integer
type: object
syncOptions:
description: Options allow you to specify whole app sync-options
items:
type: string
type: array
type: object
required:
- destination
- project
- source
type: object
required:
- metadata
- spec
type: object
required:
- generators
- template
type: object
status:
description: ApplicationSetStatus defines the observed state of ApplicationSet
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []