@kubernetes-models/argo-cd
Version:
1,118 lines • 213 kB
TypeScript
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta";
import { Model, ModelData } from "@kubernetes-models/base";
/**
* Application is a definition of Application resource.
*/
export interface IApplication {
/**
* 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": "argoproj.io/v1alpha1";
/**
* 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": "Application";
"metadata": IObjectMeta;
/**
* Operation contains information about a requested or running operation
*/
"operation"?: {
/**
* Info is a list of informational items for this operation
*/
"info"?: Array<{
"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"?: Array<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"?: Array<{
"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"?: Array<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"?: Array<{
"code"?: boolean;
"name": string;
"value": string;
}>;
/**
* Additional library search dirs
*/
"libs"?: Array<string>;
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
"tlas"?: Array<{
"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"?: Array<string>;
/**
* FileParameters are file parameters to the helm template
*/
"fileParameters"?: Array<{
/**
* 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"?: Array<{
/**
* 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"?: Array<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"?: Array<string>;
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
"commonAnnotations"?: {
[key: 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"?: {
[key: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
"components"?: Array<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;
/**
* Images is a list of Kustomize image override specifications
*/
"images"?: Array<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;
/**
* 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"?: Array<{
"options"?: {
[key: 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"?: Array<{
/**
* 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"?: Array<{
/**
* 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<{
/**
* Array is the value of an array type parameter.
*/
"array"?: Array<string>;
/**
* Map is the value of a map type parameter.
*/
"map"?: {
[key: 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"?: Array<{
/**
* 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"?: Array<{
"code"?: boolean;
"name": string;
"value": string;
}>;
/**
* Additional library search dirs
*/
"libs"?: Array<string>;
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
"tlas"?: Array<{
"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"?: Array<string>;
/**
* FileParameters are file parameters to the helm template
*/
"fileParameters"?: Array<{
/**
* 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"?: Array<{
/**
* 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"?: Array<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"?: Array<string>;
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
"commonAnnotations"?: {
[key: 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"?: {
[key: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
"components"?: Array<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;
/**
* Images is a list of Kustomize image override specifications
*/
"images"?: Array<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;
/**
* 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"?: Array<{
"options"?: {
[key: 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"?: Array<{
/**
* 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"?: Array<{
/**
* 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<{
/**
* Array is the value of an array type parameter.
*/
"array"?: Array<string>;
/**
* Map is the value of a map type parameter.
*/
"map"?: {
[key: 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"?: Array<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"?: Array<{
"group"?: string;
"jqPathExpressions"?: Array<string>;
"jsonPointers"?: Array<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"?: Array<string>;
"name"?: string;
"namespace"?: string;
}>;
/**
* Info contains a list of information (URLs, email addresses, and plain text) that relates to the application
*/
"info"?: Array<{
"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"?: Array<{
"code"?: boolean;
"name": string;
"value": string;
}>;
/**
* Additional library search dirs
*/
"libs"?: Array<string>;
/**
* TLAS is a list of Jsonnet Top-level Arguments
*/
"tlas"?: Array<{
"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"?: Array<string>;
/**
* FileParameters are file parameters to the helm template
*/
"fileParameters"?: Array<{
/**
* 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"?: Array<{
/**
* 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"?: Array<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"?: Array<string>;
/**
* CommonAnnotations is a list of additional annotations to add to rendered manifests
*/
"commonAnnotations"?: {
[key: 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"?: {
[key: string]: string;
};
/**
* Components specifies a list of kustomize components to add to the kustomization before building
*/
"components"?: Array<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;
/**
* Images is a list of Kustomize image override specifications
*/
"images"?: Array<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;
/**
* 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"?: Array<{
"options"?: {
[key: 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"?: Array<{
/**
* 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"?: Array<{
/**
* 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<{
/**
* Array is the value of an array type parameter.
*/
"array"?: Array<string>;
/**
* Map is the value of a map type parameter.
*/
"map"?: {
[key: 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 tha