UNPKG

@kubernetes-models/argo-cd

Version:
1,143 lines (1,142 loc) 173 kB
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta"; import { Model, ModelData } from "@kubernetes-models/base"; /** * Application is a definition of Application resource. */ export interface IApplication { /** * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources */ "apiVersion": "argoproj.io/v1alpha1"; /** * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds */ "kind": "Application"; "metadata": IObjectMeta; /** * Operation contains information about a requested or running operation */ "operation"?: { /** * Info is a list of informational items for this operation */ "info"?: Array<{ "name": string; "value": string; }>; /** * InitiatedBy contains information about who initiated the operations */ "initiatedBy"?: { /** * Automated is set to true if operation was initiated automatically by the application controller. */ "automated"?: boolean; /** * Username contains the name of a user who started operation */ "username"?: string; }; /** * Retry controls the strategy to apply if a sync fails */ "retry"?: { /** * Backoff controls how to backoff on subsequent retries of failed syncs */ "backoff"?: { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h") */ "duration"?: string; /** * Factor is a factor to multiply the base duration after each failed retry */ "factor"?: number; /** * MaxDuration is the maximum amount of time allowed for the backoff strategy */ "maxDuration"?: string; }; /** * Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ "limit"?: number; }; /** * Sync contains parameters for the operation */ "sync"?: { /** * DryRun specifies to perform a `kubectl apply --dry-run` without actually performing the sync */ "dryRun"?: boolean; /** * Manifests is an optional field that overrides sync source with a local directory for development */ "manifests"?: Array<string>; /** * Prune specifies to delete resources from the cluster that are no longer tracked in git */ "prune"?: boolean; /** * Resources describes which resources shall be part of the sync */ "resources"?: Array<{ "group"?: string; "kind": string; "name": string; "namespace"?: string; }>; /** * Revision is the revision (Git) or chart version (Helm) which to sync the application to If omitted, will use the revision specified in app spec. */ "revision"?: string; /** * Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to If omitted, will use the revision specified in app spec. */ "revisions"?: Array<string>; /** * Source overrides the source definition set in the application. This is typically set in a Rollback operation and is nil during a Sync operation */ "source"?: { /** * Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo. */ "chart"?: string; /** * Directory holds path/directory specific options */ "directory"?: { /** * Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation */ "exclude"?: string; /** * Include contains a glob pattern to match paths against that should be explicitly included during manifest generation */ "include"?: string; /** * Jsonnet holds options specific to Jsonnet */ "jsonnet"?: { /** * ExtVars is a list of Jsonnet External Variables */ "extVars"?: Array<{ "code"?: boolean; "name": string; "value": string; }>; /** * Additional library search dirs */ "libs"?: Array<string>; /** * TLAS is a list of Jsonnet Top-level Arguments */ "tlas"?: Array<{ "code"?: boolean; "name": string; "value": string; }>; }; /** * Recurse specifies whether to scan a directory recursively for manifests */ "recurse"?: boolean; }; /** * Helm holds helm specific options */ "helm"?: { /** * FileParameters are file parameters to the helm template */ "fileParameters"?: Array<{ /** * Name is the name of the Helm parameter */ "name"?: string; /** * Path is the path to the file containing the values for the Helm parameter */ "path"?: string; }>; /** * IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values */ "ignoreMissingValueFiles"?: boolean; /** * Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation */ "parameters"?: Array<{ /** * ForceString determines whether to tell Helm to interpret booleans and numbers as strings */ "forceString"?: boolean; /** * Name is the name of the Helm parameter */ "name"?: string; /** * Value is the value for the Helm parameter */ "value"?: string; }>; /** * PassCredentials pass credentials to all domains (Helm's --pass-credentials) */ "passCredentials"?: boolean; /** * ReleaseName is the Helm release name to use. If omitted it will use the application name */ "releaseName"?: string; /** * SkipCrds skips custom resource definition installation step (Helm's --skip-crds) */ "skipCrds"?: boolean; /** * ValuesFiles is a list of Helm value files to use when generating a template */ "valueFiles"?: Array<string>; /** * Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other. */ "values"?: string; /** * ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values. */ "valuesObject"?: {}; /** * Version is the Helm version to use for templating ("3") */ "version"?: string; }; /** * Kustomize holds kustomize specific options */ "kustomize"?: { /** * CommonAnnotations is a list of additional annotations to add to rendered manifests */ "commonAnnotations"?: { [key: string]: string; }; /** * CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values */ "commonAnnotationsEnvsubst"?: boolean; /** * CommonLabels is a list of additional labels to add to rendered manifests */ "commonLabels"?: { [key: string]: string; }; /** * Components specifies a list of kustomize components to add to the kustomization before building */ "components"?: Array<string>; /** * ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps */ "forceCommonAnnotations"?: boolean; /** * ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps */ "forceCommonLabels"?: boolean; /** * Images is a list of Kustomize image override specifications */ "images"?: Array<string>; /** * NamePrefix is a prefix appended to resources for Kustomize apps */ "namePrefix"?: string; /** * NameSuffix is a suffix appended to resources for Kustomize apps */ "nameSuffix"?: string; /** * Namespace sets the namespace that Kustomize adds to all resources */ "namespace"?: string; /** * Patches is a list of Kustomize patches */ "patches"?: Array<{ "options"?: { [key: string]: boolean; }; "patch"?: string; "path"?: string; "target"?: { "annotationSelector"?: string; "group"?: string; "kind"?: string; "labelSelector"?: string; "name"?: string; "namespace"?: string; "version"?: string; }; }>; /** * Replicas is a list of Kustomize Replicas override specifications */ "replicas"?: Array<{ /** * Number of replicas */ "count": number | string; /** * Name of Deployment or StatefulSet */ "name": string; }>; /** * Version controls which version of Kustomize to use for rendering manifests */ "version"?: string; }; /** * Path is a directory path within the Git repository, and is only valid for applications sourced from Git. */ "path"?: string; /** * Plugin holds config management plugin specific options */ "plugin"?: { /** * Env is a list of environment variable entries */ "env"?: Array<{ /** * Name is the name of the variable, usually expressed in uppercase */ "name": string; /** * Value is the value of the variable */ "value": string; }>; "name"?: string; "parameters"?: Array<{ /** * Array is the value of an array type parameter. */ "array"?: Array<string>; /** * Map is the value of a map type parameter. */ "map"?: { [key: string]: string; }; /** * Name is the name identifying a parameter. */ "name"?: string; /** * String_ is the value of a string type parameter. */ "string"?: string; }>; }; /** * Ref is reference to another source within sources field. This field will not be used if used with a `source` tag. */ "ref"?: string; /** * RepoURL is the URL to the repository (Git or Helm) that contains the application manifests */ "repoURL": string; /** * TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ "targetRevision"?: string; }; /** * Sources overrides the source definition set in the application. This is typically set in a Rollback operation and is nil during a Sync operation */ "sources"?: Array<{ /** * Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo. */ "chart"?: string; /** * Directory holds path/directory specific options */ "directory"?: { /** * Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation */ "exclude"?: string; /** * Include contains a glob pattern to match paths against that should be explicitly included during manifest generation */ "include"?: string; /** * Jsonnet holds options specific to Jsonnet */ "jsonnet"?: { /** * ExtVars is a list of Jsonnet External Variables */ "extVars"?: Array<{ "code"?: boolean; "name": string; "value": string; }>; /** * Additional library search dirs */ "libs"?: Array<string>; /** * TLAS is a list of Jsonnet Top-level Arguments */ "tlas"?: Array<{ "code"?: boolean; "name": string; "value": string; }>; }; /** * Recurse specifies whether to scan a directory recursively for manifests */ "recurse"?: boolean; }; /** * Helm holds helm specific options */ "helm"?: { /** * FileParameters are file parameters to the helm template */ "fileParameters"?: Array<{ /** * Name is the name of the Helm parameter */ "name"?: string; /** * Path is the path to the file containing the values for the Helm parameter */ "path"?: string; }>; /** * IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values */ "ignoreMissingValueFiles"?: boolean; /** * Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation */ "parameters"?: Array<{ /** * ForceString determines whether to tell Helm to interpret booleans and numbers as strings */ "forceString"?: boolean; /** * Name is the name of the Helm parameter */ "name"?: string; /** * Value is the value for the Helm parameter */ "value"?: string; }>; /** * PassCredentials pass credentials to all domains (Helm's --pass-credentials) */ "passCredentials"?: boolean; /** * ReleaseName is the Helm release name to use. If omitted it will use the application name */ "releaseName"?: string; /** * SkipCrds skips custom resource definition installation step (Helm's --skip-crds) */ "skipCrds"?: boolean; /** * ValuesFiles is a list of Helm value files to use when generating a template */ "valueFiles"?: Array<string>; /** * Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other. */ "values"?: string; /** * ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values. */ "valuesObject"?: {}; /** * Version is the Helm version to use for templating ("3") */ "version"?: string; }; /** * Kustomize holds kustomize specific options */ "kustomize"?: { /** * CommonAnnotations is a list of additional annotations to add to rendered manifests */ "commonAnnotations"?: { [key: string]: string; }; /** * CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values */ "commonAnnotationsEnvsubst"?: boolean; /** * CommonLabels is a list of additional labels to add to rendered manifests */ "commonLabels"?: { [key: string]: string; }; /** * Components specifies a list of kustomize components to add to the kustomization before building */ "components"?: Array<string>; /** * ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps */ "forceCommonAnnotations"?: boolean; /** * ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps */ "forceCommonLabels"?: boolean; /** * Images is a list of Kustomize image override specifications */ "images"?: Array<string>; /** * NamePrefix is a prefix appended to resources for Kustomize apps */ "namePrefix"?: string; /** * NameSuffix is a suffix appended to resources for Kustomize apps */ "nameSuffix"?: string; /** * Namespace sets the namespace that Kustomize adds to all resources */ "namespace"?: string; /** * Patches is a list of Kustomize patches */ "patches"?: Array<{ "options"?: { [key: string]: boolean; }; "patch"?: string; "path"?: string; "target"?: { "annotationSelector"?: string; "group"?: string; "kind"?: string; "labelSelector"?: string; "name"?: string; "namespace"?: string; "version"?: string; }; }>; /** * Replicas is a list of Kustomize Replicas override specifications */ "replicas"?: Array<{ /** * Number of replicas */ "count": number | string; /** * Name of Deployment or StatefulSet */ "name": string; }>; /** * Version controls which version of Kustomize to use for rendering manifests */ "version"?: string; }; /** * Path is a directory path within the Git repository, and is only valid for applications sourced from Git. */ "path"?: string; /** * Plugin holds config management plugin specific options */ "plugin"?: { /** * Env is a list of environment variable entries */ "env"?: Array<{ /** * Name is the name of the variable, usually expressed in uppercase */ "name": string; /** * Value is the value of the variable */ "value": string; }>; "name"?: string; "parameters"?: Array<{ /** * Array is the value of an array type parameter. */ "array"?: Array<string>; /** * Map is the value of a map type parameter. */ "map"?: { [key: string]: string; }; /** * Name is the name identifying a parameter. */ "name"?: string; /** * String_ is the value of a string type parameter. */ "string"?: string; }>; }; /** * Ref is reference to another source within sources field. This field will not be used if used with a `source` tag. */ "ref"?: string; /** * RepoURL is the URL to the repository (Git or Helm) that contains the application manifests */ "repoURL": string; /** * TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ "targetRevision"?: string; }>; /** * SyncOptions provide per-sync sync-options, e.g. Validate=false */ "syncOptions"?: Array<string>; /** * SyncStrategy describes how to perform the sync */ "syncStrategy"?: { /** * Apply will perform a `kubectl apply` to perform the sync. */ "apply"?: { /** * Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times. */ "force"?: boolean; }; /** * Hook will submit any referenced resources to perform the sync. This is the default strategy */ "hook"?: { /** * Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times. */ "force"?: boolean; }; }; }; }; /** * ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision. */ "spec": { /** * Destination is a reference to the target Kubernetes server and namespace */ "destination": { /** * Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set. */ "name"?: string; /** * Namespace specifies the target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace */ "namespace"?: string; /** * Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set. */ "server"?: string; }; /** * IgnoreDifferences is a list of resources and their fields which should be ignored during comparison */ "ignoreDifferences"?: Array<{ "group"?: string; "jqPathExpressions"?: Array<string>; "jsonPointers"?: Array<string>; "kind": string; /** * ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the desired state defined in the SCM and won't be displayed in diffs */ "managedFieldsManagers"?: Array<string>; "name"?: string; "namespace"?: string; }>; /** * Info contains a list of information (URLs, email addresses, and plain text) that relates to the application */ "info"?: Array<{ "name": string; "value": string; }>; /** * Project is a reference to the project this application belongs to. The empty string means that application belongs to the 'default' project. */ "project": string; /** * RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ "revisionHistoryLimit"?: number; /** * Source is a reference to the location of the application's manifests or chart */ "source"?: { /** * Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo. */ "chart"?: string; /** * Directory holds path/directory specific options */ "directory"?: { /** * Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation */ "exclude"?: string; /** * Include contains a glob pattern to match paths against that should be explicitly included during manifest generation */ "include"?: string; /** * Jsonnet holds options specific to Jsonnet */ "jsonnet"?: { /** * ExtVars is a list of Jsonnet External Variables */ "extVars"?: Array<{ "code"?: boolean; "name": string; "value": string; }>; /** * Additional library search dirs */ "libs"?: Array<string>; /** * TLAS is a list of Jsonnet Top-level Arguments */ "tlas"?: Array<{ "code"?: boolean; "name": string; "value": string; }>; }; /** * Recurse specifies whether to scan a directory recursively for manifests */ "recurse"?: boolean; }; /** * Helm holds helm specific options */ "helm"?: { /** * FileParameters are file parameters to the helm template */ "fileParameters"?: Array<{ /** * Name is the name of the Helm parameter */ "name"?: string; /** * Path is the path to the file containing the values for the Helm parameter */ "path"?: string; }>; /** * IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values */ "ignoreMissingValueFiles"?: boolean; /** * Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation */ "parameters"?: Array<{ /** * ForceString determines whether to tell Helm to interpret booleans and numbers as strings */ "forceString"?: boolean; /** * Name is the name of the Helm parameter */ "name"?: string; /** * Value is the value for the Helm parameter */ "value"?: string; }>; /** * PassCredentials pass credentials to all domains (Helm's --pass-credentials) */ "passCredentials"?: boolean; /** * ReleaseName is the Helm release name to use. If omitted it will use the application name */ "releaseName"?: string; /** * SkipCrds skips custom resource definition installation step (Helm's --skip-crds) */ "skipCrds"?: boolean; /** * ValuesFiles is a list of Helm value files to use when generating a template */ "valueFiles"?: Array<string>; /** * Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other. */ "values"?: string; /** * ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values. */ "valuesObject"?: {}; /** * Version is the Helm version to use for templating ("3") */ "version"?: string; }; /** * Kustomize holds kustomize specific options */ "kustomize"?: { /** * CommonAnnotations is a list of additional annotations to add to rendered manifests */ "commonAnnotations"?: { [key: string]: string; }; /** * CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values */ "commonAnnotationsEnvsubst"?: boolean; /** * CommonLabels is a list of additional labels to add to rendered manifests */ "commonLabels"?: { [key: string]: string; }; /** * Components specifies a list of kustomize components to add to the kustomization before building */ "components"?: Array<string>; /** * ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps */ "forceCommonAnnotations"?: boolean; /** * ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps */ "forceCommonLabels"?: boolean; /** * Images is a list of Kustomize image override specifications */ "images"?: Array<string>; /** * NamePrefix is a prefix appended to resources for Kustomize apps */ "namePrefix"?: string; /** * NameSuffix is a suffix appended to resources for Kustomize apps */ "nameSuffix"?: string; /** * Namespace sets the namespace that Kustomize adds to all resources */ "namespace"?: string; /** * Patches is a list of Kustomize patches */ "patches"?: Array<{ "options"?: { [key: string]: boolean; }; "patch"?: string; "path"?: string; "target"?: { "annotationSelector"?: string; "group"?: string; "kind"?: string; "labelSelector"?: string; "name"?: string; "namespace"?: string; "version"?: string; }; }>; /** * Replicas is a list of Kustomize Replicas override specifications */ "replicas"?: Array<{ /** * Number of replicas */ "count": number | string; /** * Name of Deployment or StatefulSet */ "name": string; }>; /** * Version controls which version of Kustomize to use for rendering manifests */ "version"?: string; }; /** * Path is a directory path within the Git repository, and is only valid for applications sourced from Git. */ "path"?: string; /** * Plugin holds config management plugin specific options */ "plugin"?: { /** * Env is a list of environment variable entries */ "env"?: Array<{ /** * Name is the name of the variable, usually expressed in uppercase */ "name": string; /** * Value is the value of the variable */ "value": string; }>; "name"?: string; "parameters"?: Array<{ /** * Array is the value of an array type parameter. */ "array"?: Array<string>; /** * Map is the value of a map type parameter. */ "map"?: { [key: string]: string; }; /** * Name is the name identifying a parameter. */ "name"?: string; /** * String_ is the value of a string type parameter. */ "string"?: string; }>; }; /** * Ref is reference to another source within sources field. This field will not be used if used with a `source` tag. */ "ref"?: string; /** * RepoURL is the URL to the repository (Git or Helm) that contains the application manifests */ "repoURL": string; /** * TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ "targetRevision"?: string; }; /** * Sources is a reference to the location of the application's manifests or chart */ "sources"?: Array<{ /** * Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo. */ "chart"?: string; /** * Directory holds path/directory specific options */ "directory"?: { /** * Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation */ "exclude"?: string; /** * Include contains a glob pattern to match paths against that should be explicitly included during manifest generation */ "include"?: string; /** * Jsonnet holds options specific to Jsonnet */ "jsonnet"?: { /** * ExtVars is a list of Jsonnet External Variables */ "extVars"?: Array<{ "code"?: boolean; "name": string; "value": string; }>; /** * Additional library search dirs */ "libs"?: Array<string>; /** * TLAS is a list of Jsonnet Top-level Arguments */ "tlas"?: Array<{ "code"?: boolean; "name": string; "value": string; }>; }; /** * Recurse specifies whether to scan a directory recursively for manifests */ "recurse"?: boolean; }; /** * Helm holds helm specific options */ "helm"?: { /** * FileParameters are file parameters to the helm template */ "fileParameters"?: Array<{ /** * Name is the name of the Helm parameter */ "name"?: string; /** * Path is the path to the file containing the values for the Helm parameter */ "path"?: string; }>; /** * IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values */ "ignoreMissingValueFiles"?: boolean; /** * Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation */ "parameters"?: Array<{ /** * ForceString determines whether to tell Helm to interpret booleans and numbers as strings */ "forceString"?: boolean; /** * Name is the name of the Helm parameter */ "name"?: string; /** * Value is the value for the Helm parameter */ "value"?: string; }>; /** * PassCredentials pass credentials to all domains (Helm's --pass-credentials) */ "passCredentials"?: boolean; /** * ReleaseName is the Helm release name to use. If omitted it will use the application name */ "releaseName"?: string; /** * SkipCrds skips custom resource definition installation step (Helm's --skip-crds) */ "skipCrds"?: boolean; /** * ValuesFiles is a list of Helm value files to use when generating a template */ "valueFiles"?: Array<string>; /** * Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other. */ "values"?: string; /** * ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values. */ "valuesObject"?: {}; /** * Version is the Helm version to use for templating ("3") */ "version"?: string; }; /** * Kustomize holds kustomize specific options */ "kustomize"?: { /** * CommonAnnotations is a list of additional annotations to add to rendered manifests */ "commonAnnotations"?: { [key: string]: string; }; /** * CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values */ "commonAnnotationsEnvsubst"?: boolean; /** * CommonLabels is a list of additional labels to add to rendered manifests */ "commonLabels"?: { [key: string]: string; }; /** * Components specifies a list of kustomize components to add to the kustomization before building */ "components"?: Array<string>; /** * ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps */ "forceCommonAnnotations"?: boolean; /** * ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps */ "forceCommonLabels"?: boolean; /** * Images is a list of Kustomize image override specifications */ "images"?: Array<string>; /** * NamePrefix is a prefix appended to resources for Kustomize apps */ "namePrefix"?: string; /** * NameSuffix is a suffix appended to resources for Kustomize apps */ "nameSuffix"?: string; /** * Namespace sets the namespace that Kustomize adds to all resources */ "namespace"?: string; /** * Patches is a list of Kustomize patches */ "patches"?: Array<{ "options"?: { [key: string]: boolean; }; "patch"?: string; "path"?: string; "target"?: { "annotationSelector"?: string; "group"?: string; "kind"?: string; "labelSelector"?: string; "name"?: string; "namespace"?: string; "version"?: string; }; }>; /** * Replicas is a list of Kustomize Replicas override specifications */ "replicas"?: Array<{ /** * Number of replicas