/* 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; }; }; }