Files
operator/src/__generated__/resources/K8SApplicationV1alpha1.ts
Morten Olsen 757b2fcfac lot more stuff
2025-08-04 23:44:14 +02:00

4609 lines
164 KiB
TypeScript

/* eslint-disable */
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/
/**
* Application is a definition of Application resource.
*/
export interface K8SApplicationV1Alpha1 {
/**
* 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
*/
apiVersion?: string;
/**
* 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
*/
kind?: string;
metadata: {};
/**
* Operation contains information about a requested or running operation
*/
operation?: {
/**
* Info is a list of informational items for this operation
*/
info?: {
name: string;
value: string;
}[];
/**
* InitiatedBy contains information about who initiated the operations
*/
initiatedBy?: {
/**
* Automated is set to true if operation was initiated automatically by the application controller.
*/
automated?: boolean;
/**
* Username contains the name of a user who started operation
*/
username?: string;
};
/**
* Retry controls the strategy to apply if a sync fails
*/
retry?: {
/**
* Backoff controls how to backoff on subsequent retries of failed syncs
*/
backoff?: {
/**
* Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h")
*/
duration?: string;
/**
* Factor is a factor to multiply the base duration after each failed retry
*/
factor?: number;
/**
* MaxDuration is the maximum amount of time allowed for the backoff strategy
*/
maxDuration?: string;
};
/**
* Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.
*/
limit?: number;
};
/**
* Sync contains parameters for the operation
*/
sync?: {
/**
* SelfHealAttemptsCount contains the number of auto-heal attempts
*/
autoHealAttemptsCount?: number;
/**
* DryRun specifies to perform a `kubectl apply --dry-run` without actually performing the sync
*/
dryRun?: boolean;
/**
* Manifests is an optional field that overrides sync source with a local directory for development
*/
manifests?: string[];
/**
* Prune specifies to delete resources from the cluster that are no longer tracked in git
*/
prune?: boolean;
/**
* Resources describes which resources shall be part of the sync
*/
resources?: {
group?: string;
kind: string;
name: string;
namespace?: string;
}[];
/**
* Revision is the revision (Git) or chart version (Helm) which to sync the application to
* If omitted, will use the revision specified in app spec.
*/
revision?: string;
/**
* Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to
* If omitted, will use the revision specified in app spec.
*/
revisions?: string[];
/**
* Source overrides the source definition set in the application.
* This is typically set in a Rollback operation and is nil during a Sync operation
*/
source?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
};
/**
* Sources overrides the source definition set in the application.
* This is typically set in a Rollback operation and is nil during a Sync operation
*/
sources?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
}[];
/**
* SyncOptions provide per-sync sync-options, e.g. Validate=false
*/
syncOptions?: string[];
/**
* SyncStrategy describes how to perform the sync
*/
syncStrategy?: {
/**
* Apply will perform a `kubectl apply` to perform the sync.
*/
apply?: {
/**
* Force indicates whether or not to supply the --force flag to `kubectl apply`.
* The --force flag deletes and re-create the resource, when PATCH encounters conflict and has
* retried for 5 times.
*/
force?: boolean;
};
/**
* Hook will submit any referenced resources to perform the sync. This is the default strategy
*/
hook?: {
/**
* Force indicates whether or not to supply the --force flag to `kubectl apply`.
* The --force flag deletes and re-create the resource, when PATCH encounters conflict and has
* retried for 5 times.
*/
force?: boolean;
};
};
};
};
/**
* ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision.
*/
spec: {
/**
* Destination is a reference to the target Kubernetes server and namespace
*/
destination: {
/**
* Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set.
*/
name?: string;
/**
* 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
*/
namespace?: string;
/**
* Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set.
*/
server?: string;
};
/**
* IgnoreDifferences is a list of resources and their fields which should be ignored during comparison
*/
ignoreDifferences?: {
group?: string;
jqPathExpressions?: string[];
jsonPointers?: string[];
kind: string;
/**
* ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the
* desired state defined in the SCM and won't be displayed in diffs
*/
managedFieldsManagers?: string[];
name?: string;
namespace?: string;
}[];
/**
* Info contains a list of information (URLs, email addresses, and plain text) that relates to the application
*/
info?: {
name: string;
value: string;
}[];
/**
* Project is a reference to the project this application belongs to.
* The empty string means that application belongs to the 'default' project.
*/
project: string;
/**
* 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.
*/
revisionHistoryLimit?: number;
/**
* Source is a reference to the location of the application's manifests or chart
*/
source?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
};
/**
* SourceHydrator provides a way to push hydrated manifests back to git before syncing them to the cluster.
*/
sourceHydrator?: {
/**
* DrySource specifies where the dry "don't repeat yourself" manifest source lives.
*/
drySource: {
/**
* Path is a directory path within the Git repository where the manifests are located
*/
path: string;
/**
* RepoURL is the URL to the git repository that contains the application manifests
*/
repoURL: string;
/**
* TargetRevision defines the revision of the source to hydrate
*/
targetRevision: string;
};
/**
* HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then
* have to move manifests to the SyncSource, e.g. by pull request.
*/
hydrateTo?: {
/**
* TargetBranch is the branch to which hydrated manifests should be committed
*/
targetBranch: string;
};
/**
* SyncSource specifies where to sync hydrated manifests from.
*/
syncSource: {
/**
* Path is a directory path within the git repository where hydrated manifests should be committed to and synced
* from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.
*/
path: string;
/**
* TargetBranch is the branch to which hydrated manifests should be committed
*/
targetBranch: string;
};
};
/**
* Sources is a reference to the location of the application's manifests or chart
*/
sources?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
}[];
/**
* SyncPolicy controls when and how a sync will be performed
*/
syncPolicy?: {
/**
* Automated will keep an application synced to the target revision
*/
automated?: {
/**
* AllowEmpty allows apps have zero live resources (default: false)
*/
allowEmpty?: boolean;
/**
* Prune specifies whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync (default: false)
*/
prune?: boolean;
/**
* SelfHeal specifies whether to revert resources back to their desired state upon modification in the cluster (default: false)
*/
selfHeal?: boolean;
};
/**
* ManagedNamespaceMetadata controls metadata in the given namespace (if CreateNamespace=true)
*/
managedNamespaceMetadata?: {
annotations?: {
[k: string]: string;
};
labels?: {
[k: string]: string;
};
};
/**
* Retry controls failed sync retry behavior
*/
retry?: {
/**
* Backoff controls how to backoff on subsequent retries of failed syncs
*/
backoff?: {
/**
* Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h")
*/
duration?: string;
/**
* Factor is a factor to multiply the base duration after each failed retry
*/
factor?: number;
/**
* MaxDuration is the maximum amount of time allowed for the backoff strategy
*/
maxDuration?: string;
};
/**
* Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.
*/
limit?: number;
};
/**
* Options allow you to specify whole app sync-options
*/
syncOptions?: string[];
};
};
/**
* ApplicationStatus contains status information for the application
*/
status?: {
/**
* Conditions is a list of currently observed application conditions
*/
conditions?: {
/**
* LastTransitionTime is the time the condition was last observed
*/
lastTransitionTime?: string;
/**
* Message contains human-readable message indicating details about condition
*/
message: string;
/**
* Type is an application condition type
*/
type: string;
}[];
/**
* ControllerNamespace indicates the namespace in which the application controller is located
*/
controllerNamespace?: string;
/**
* Health contains information about the application's current health status
*/
health?: {
/**
* LastTransitionTime is the time the HealthStatus was set or updated
*/
lastTransitionTime?: string;
/**
* Message is a human-readable informational message describing the health status
*/
message?: string;
/**
* Status holds the status code of the application or resource
*/
status?: string;
};
/**
* History contains information about the application's sync history
*/
history?: {
/**
* DeployStartedAt holds the time the sync operation started
*/
deployStartedAt?: string;
/**
* DeployedAt holds the time the sync operation completed
*/
deployedAt: string;
/**
* ID is an auto incrementing identifier of the RevisionHistory
*/
id: number;
/**
* InitiatedBy contains information about who initiated the operations
*/
initiatedBy?: {
/**
* Automated is set to true if operation was initiated automatically by the application controller.
*/
automated?: boolean;
/**
* Username contains the name of a user who started operation
*/
username?: string;
};
/**
* Revision holds the revision the sync was performed against
*/
revision?: string;
/**
* Revisions holds the revision of each source in sources field the sync was performed against
*/
revisions?: string[];
/**
* Source is a reference to the application source used for the sync operation
*/
source?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
};
/**
* Sources is a reference to the application sources used for the sync operation
*/
sources?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
}[];
}[];
/**
* ObservedAt indicates when the application state was updated without querying latest git state
* Deprecated: controller no longer updates ObservedAt field
*/
observedAt?: string;
/**
* OperationState contains information about any ongoing operations, such as a sync
*/
operationState?: {
/**
* FinishedAt contains time of operation completion
*/
finishedAt?: string;
/**
* Message holds any pertinent messages when attempting to perform operation (typically errors).
*/
message?: string;
/**
* Operation is the original requested operation
*/
operation: {
/**
* Info is a list of informational items for this operation
*/
info?: {
name: string;
value: string;
}[];
/**
* InitiatedBy contains information about who initiated the operations
*/
initiatedBy?: {
/**
* Automated is set to true if operation was initiated automatically by the application controller.
*/
automated?: boolean;
/**
* Username contains the name of a user who started operation
*/
username?: string;
};
/**
* Retry controls the strategy to apply if a sync fails
*/
retry?: {
/**
* Backoff controls how to backoff on subsequent retries of failed syncs
*/
backoff?: {
/**
* Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h")
*/
duration?: string;
/**
* Factor is a factor to multiply the base duration after each failed retry
*/
factor?: number;
/**
* MaxDuration is the maximum amount of time allowed for the backoff strategy
*/
maxDuration?: string;
};
/**
* Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.
*/
limit?: number;
};
/**
* Sync contains parameters for the operation
*/
sync?: {
/**
* SelfHealAttemptsCount contains the number of auto-heal attempts
*/
autoHealAttemptsCount?: number;
/**
* DryRun specifies to perform a `kubectl apply --dry-run` without actually performing the sync
*/
dryRun?: boolean;
/**
* Manifests is an optional field that overrides sync source with a local directory for development
*/
manifests?: string[];
/**
* Prune specifies to delete resources from the cluster that are no longer tracked in git
*/
prune?: boolean;
/**
* Resources describes which resources shall be part of the sync
*/
resources?: {
group?: string;
kind: string;
name: string;
namespace?: string;
}[];
/**
* Revision is the revision (Git) or chart version (Helm) which to sync the application to
* If omitted, will use the revision specified in app spec.
*/
revision?: string;
/**
* Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to
* If omitted, will use the revision specified in app spec.
*/
revisions?: string[];
/**
* Source overrides the source definition set in the application.
* This is typically set in a Rollback operation and is nil during a Sync operation
*/
source?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
};
/**
* Sources overrides the source definition set in the application.
* This is typically set in a Rollback operation and is nil during a Sync operation
*/
sources?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
}[];
/**
* SyncOptions provide per-sync sync-options, e.g. Validate=false
*/
syncOptions?: string[];
/**
* SyncStrategy describes how to perform the sync
*/
syncStrategy?: {
/**
* Apply will perform a `kubectl apply` to perform the sync.
*/
apply?: {
/**
* Force indicates whether or not to supply the --force flag to `kubectl apply`.
* The --force flag deletes and re-create the resource, when PATCH encounters conflict and has
* retried for 5 times.
*/
force?: boolean;
};
/**
* Hook will submit any referenced resources to perform the sync. This is the default strategy
*/
hook?: {
/**
* Force indicates whether or not to supply the --force flag to `kubectl apply`.
* The --force flag deletes and re-create the resource, when PATCH encounters conflict and has
* retried for 5 times.
*/
force?: boolean;
};
};
};
};
/**
* Phase is the current phase of the operation
*/
phase: string;
/**
* RetryCount contains time of operation retries
*/
retryCount?: number;
/**
* StartedAt contains time of operation start
*/
startedAt: string;
/**
* SyncResult is the result of a Sync operation
*/
syncResult?: {
/**
* ManagedNamespaceMetadata contains the current sync state of managed namespace metadata
*/
managedNamespaceMetadata?: {
annotations?: {
[k: string]: string;
};
labels?: {
[k: string]: string;
};
};
/**
* Resources contains a list of sync result items for each individual resource in a sync operation
*/
resources?: {
/**
* Group specifies the API group of the resource
*/
group: string;
/**
* HookPhase contains the state of any operation associated with this resource OR hook
* This can also contain values for non-hook resources.
*/
hookPhase?: string;
/**
* HookType specifies the type of the hook. Empty for non-hook resources
*/
hookType?: string;
/**
* Kind specifies the API kind of the resource
*/
kind: string;
/**
* Message contains an informational or error message for the last sync OR operation
*/
message?: string;
/**
* Name specifies the name of the resource
*/
name: string;
/**
* Namespace specifies the target namespace of the resource
*/
namespace: string;
/**
* Status holds the final result of the sync. Will be empty if the resources is yet to be applied/pruned and is always zero-value for hooks
*/
status?: string;
/**
* SyncPhase indicates the particular phase of the sync that this result was acquired in
*/
syncPhase?: string;
/**
* Version specifies the API version of the resource
*/
version: string;
}[];
/**
* Revision holds the revision this sync operation was performed to
*/
revision: string;
/**
* Revisions holds the revision this sync operation was performed for respective indexed source in sources field
*/
revisions?: string[];
/**
* Source records the application source information of the sync, used for comparing auto-sync
*/
source?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
};
/**
* Source records the application source information of the sync, used for comparing auto-sync
*/
sources?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
}[];
};
};
/**
* ReconciledAt indicates when the application state was reconciled using the latest git version
*/
reconciledAt?: string;
/**
* ResourceHealthSource indicates where the resource health status is stored: inline if not set or appTree
*/
resourceHealthSource?: string;
/**
* Resources is a list of Kubernetes resources managed by this application
*/
resources?: {
/**
* Group represents the API group of the resource (e.g., "apps" for Deployments).
*/
group?: string;
/**
* Health indicates the health status of the resource (e.g., Healthy, Degraded, Progressing).
*/
health?: {
/**
* LastTransitionTime is the time the HealthStatus was set or updated
*/
lastTransitionTime?: string;
/**
* Message is a human-readable informational message describing the health status
*/
message?: string;
/**
* Status holds the status code of the application or resource
*/
status?: string;
};
/**
* Hook is true if the resource is used as a lifecycle hook in an Argo CD application.
*/
hook?: boolean;
/**
* Kind specifies the type of the resource (e.g., "Deployment", "Service").
*/
kind?: string;
/**
* Name is the unique name of the resource within the namespace.
*/
name?: string;
/**
* Namespace defines the Kubernetes namespace where the resource is located.
*/
namespace?: string;
/**
* RequiresDeletionConfirmation is true if the resource requires explicit user confirmation before deletion.
*/
requiresDeletionConfirmation?: boolean;
/**
* RequiresPruning is true if the resource needs to be pruned (deleted) as part of synchronization.
*/
requiresPruning?: boolean;
/**
* Status represents the synchronization state of the resource (e.g., Synced, OutOfSync).
*/
status?: string;
/**
* SyncWave determines the order in which resources are applied during a sync operation.
* Lower values are applied first.
*/
syncWave?: number;
/**
* Version indicates the API version of the resource (e.g., "v1", "v1beta1").
*/
version?: string;
}[];
/**
* SourceHydrator stores information about the current state of source hydration
*/
sourceHydrator?: {
/**
* CurrentOperation holds the status of the hydrate operation
*/
currentOperation?: {
/**
* DrySHA holds the resolved revision (sha) of the dry source as of the most recent reconciliation
*/
drySHA?: string;
/**
* FinishedAt indicates when the hydrate operation finished
*/
finishedAt?: string;
/**
* HydratedSHA holds the resolved revision (sha) of the hydrated source as of the most recent reconciliation
*/
hydratedSHA?: string;
/**
* Message contains a message describing the current status of the hydrate operation
*/
message: string;
/**
* Phase indicates the status of the hydrate operation
*/
phase: string;
/**
* SourceHydrator holds the hydrator config used for the hydrate operation
*/
sourceHydrator?: {
/**
* DrySource specifies where the dry "don't repeat yourself" manifest source lives.
*/
drySource: {
/**
* Path is a directory path within the Git repository where the manifests are located
*/
path: string;
/**
* RepoURL is the URL to the git repository that contains the application manifests
*/
repoURL: string;
/**
* TargetRevision defines the revision of the source to hydrate
*/
targetRevision: string;
};
/**
* HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then
* have to move manifests to the SyncSource, e.g. by pull request.
*/
hydrateTo?: {
/**
* TargetBranch is the branch to which hydrated manifests should be committed
*/
targetBranch: string;
};
/**
* SyncSource specifies where to sync hydrated manifests from.
*/
syncSource: {
/**
* Path is a directory path within the git repository where hydrated manifests should be committed to and synced
* from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.
*/
path: string;
/**
* TargetBranch is the branch to which hydrated manifests should be committed
*/
targetBranch: string;
};
};
/**
* StartedAt indicates when the hydrate operation started
*/
startedAt?: string;
};
/**
* LastSuccessfulOperation holds info about the most recent successful hydration
*/
lastSuccessfulOperation?: {
/**
* DrySHA holds the resolved revision (sha) of the dry source as of the most recent reconciliation
*/
drySHA?: string;
/**
* HydratedSHA holds the resolved revision (sha) of the hydrated source as of the most recent reconciliation
*/
hydratedSHA?: string;
/**
* SourceHydrator holds the hydrator config used for the hydrate operation
*/
sourceHydrator?: {
/**
* DrySource specifies where the dry "don't repeat yourself" manifest source lives.
*/
drySource: {
/**
* Path is a directory path within the Git repository where the manifests are located
*/
path: string;
/**
* RepoURL is the URL to the git repository that contains the application manifests
*/
repoURL: string;
/**
* TargetRevision defines the revision of the source to hydrate
*/
targetRevision: string;
};
/**
* HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then
* have to move manifests to the SyncSource, e.g. by pull request.
*/
hydrateTo?: {
/**
* TargetBranch is the branch to which hydrated manifests should be committed
*/
targetBranch: string;
};
/**
* SyncSource specifies where to sync hydrated manifests from.
*/
syncSource: {
/**
* Path is a directory path within the git repository where hydrated manifests should be committed to and synced
* from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.
*/
path: string;
/**
* TargetBranch is the branch to which hydrated manifests should be committed
*/
targetBranch: string;
};
};
};
};
/**
* SourceType specifies the type of this application
*/
sourceType?: string;
/**
* SourceTypes specifies the type of the sources included in the application
*/
sourceTypes?: string[];
/**
* Summary contains a list of URLs and container images used by this application
*/
summary?: {
/**
* ExternalURLs holds all external URLs of application child resources.
*/
externalURLs?: string[];
/**
* Images holds all images of application child resources.
*/
images?: string[];
};
/**
* Sync contains information about the application's current sync status
*/
sync?: {
/**
* ComparedTo contains information about what has been compared
*/
comparedTo?: {
/**
* Destination is a reference to the application's destination used for comparison
*/
destination: {
/**
* Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set.
*/
name?: string;
/**
* 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
*/
namespace?: string;
/**
* Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set.
*/
server?: string;
};
/**
* IgnoreDifferences is a reference to the application's ignored differences used for comparison
*/
ignoreDifferences?: {
group?: string;
jqPathExpressions?: string[];
jsonPointers?: string[];
kind: string;
/**
* ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the
* desired state defined in the SCM and won't be displayed in diffs
*/
managedFieldsManagers?: string[];
name?: string;
namespace?: string;
}[];
/**
* Source is a reference to the application's source used for comparison
*/
source?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
};
/**
* Sources is a reference to the application's multiple sources used for comparison
*/
sources?: {
/**
* Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
*/
chart?: string;
/**
* Directory holds path/directory specific options
*/
directory?: {
/**
* Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
*/
exclude?: string;
/**
* Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
*/
include?: string;
/**
* Jsonnet holds options specific to Jsonnet
*/
jsonnet?: {
/**
* ExtVars is a list of Jsonnet External Variables
*/
extVars?: {
code?: boolean;
name: string;
value: string;
}[];
/**
* Additional library search dirs
*/
libs?: string[];
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
tlas?: {
code?: boolean;
name: string;
value: string;
}[];
};
/**
* Recurse specifies whether to scan a directory recursively for manifests
*/
recurse?: boolean;
};
/**
* Helm holds helm specific options
*/
helm?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* FileParameters are file parameters to the helm template
*/
fileParameters?: {
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Path is the path to the file containing the values for the Helm parameter
*/
path?: string;
}[];
/**
* IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
*/
ignoreMissingValueFiles?: boolean;
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
*/
namespace?: string;
/**
* Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
*/
parameters?: {
/**
* ForceString determines whether to tell Helm to interpret booleans and numbers as strings
*/
forceString?: boolean;
/**
* Name is the name of the Helm parameter
*/
name?: string;
/**
* Value is the value for the Helm parameter
*/
value?: string;
}[];
/**
* PassCredentials pass credentials to all domains (Helm's --pass-credentials)
*/
passCredentials?: boolean;
/**
* ReleaseName is the Helm release name to use. If omitted it will use the application name
*/
releaseName?: string;
/**
* SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
*/
skipCrds?: boolean;
/**
* SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
*/
skipSchemaValidation?: boolean;
/**
* SkipTests skips test manifest installation step (Helm's --skip-tests).
*/
skipTests?: boolean;
/**
* ValuesFiles is a list of Helm value files to use when generating a template
*/
valueFiles?: string[];
/**
* Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
*/
values?: string;
/**
* ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values.
*/
valuesObject?: {};
/**
* Version is the Helm version to use for templating ("3")
*/
version?: string;
};
/**
* Kustomize holds kustomize specific options
*/
kustomize?: {
/**
* APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
* Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
*/
apiVersions?: string[];
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
commonAnnotations?: {
[k: string]: string;
};
/**
* CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
*/
commonAnnotationsEnvsubst?: boolean;
/**
* CommonLabels is a list of additional labels to add to rendered manifests
*/
commonLabels?: {
[k: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
components?: string[];
/**
* ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
*/
forceCommonAnnotations?: boolean;
/**
* ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
*/
forceCommonLabels?: boolean;
/**
* IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
*/
ignoreMissingComponents?: boolean;
/**
* Images is a list of Kustomize image override specifications
*/
images?: string[];
/**
* KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
* uses the Kubernetes version of the target cluster.
*/
kubeVersion?: string;
/**
* LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
*/
labelIncludeTemplates?: boolean;
/**
* LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
*/
labelWithoutSelector?: boolean;
/**
* NamePrefix is a prefix appended to resources for Kustomize apps
*/
namePrefix?: string;
/**
* NameSuffix is a suffix appended to resources for Kustomize apps
*/
nameSuffix?: string;
/**
* Namespace sets the namespace that Kustomize adds to all resources
*/
namespace?: string;
/**
* Patches is a list of Kustomize patches
*/
patches?: {
options?: {
[k: string]: boolean;
};
patch?: string;
path?: string;
target?: {
annotationSelector?: string;
group?: string;
kind?: string;
labelSelector?: string;
name?: string;
namespace?: string;
version?: string;
};
}[];
/**
* Replicas is a list of Kustomize Replicas override specifications
*/
replicas?: {
/**
* Number of replicas
*/
count: number | string;
/**
* Name of Deployment or StatefulSet
*/
name: string;
}[];
/**
* Version controls which version of Kustomize to use for rendering manifests
*/
version?: string;
};
/**
* Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.
*/
name?: string;
/**
* Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
*/
path?: string;
/**
* Plugin holds config management plugin specific options
*/
plugin?: {
/**
* Env is a list of environment variable entries
*/
env?: {
/**
* Name is the name of the variable, usually expressed in uppercase
*/
name: string;
/**
* Value is the value of the variable
*/
value: string;
}[];
name?: string;
parameters?: {
/**
* Array is the value of an array type parameter.
*/
array?: string[];
/**
* Map is the value of a map type parameter.
*/
map?: {
[k: string]: string;
};
/**
* Name is the name identifying a parameter.
*/
name?: string;
/**
* String_ is the value of a string type parameter.
*/
string?: string;
}[];
};
/**
* Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
*/
ref?: string;
/**
* RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
*/
repoURL: string;
/**
* 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.
*/
targetRevision?: string;
}[];
};
/**
* Revision contains information about the revision the comparison has been performed to
*/
revision?: string;
/**
* Revisions contains information about the revisions of multiple sources the comparison has been performed to
*/
revisions?: string[];
/**
* Status is the sync state of the comparison
*/
status: string;
};
};
}