mirror of
https://github.com/morten-olsen/homelab-operator.git
synced 2026-02-08 01:36:28 +01:00
4609 lines
164 KiB
TypeScript
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;
|
|
};
|
|
};
|
|
}
|