apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: labels: app.kubernetes.io/name: {{ include "argo-cd.name" . }} helm.sh/chart: {{ include "argo-cd.chart" . }} app.kubernetes.io/part-of: {{ include "argo-cd.name" . }} name: applications.argoproj.io annotations: "helm.sh/hook": crd-install spec: group: argoproj.io names: kind: Application plural: applications shortNames: - app - apps scope: Namespaced validation: openAPIV3Schema: properties: apiVersion: description: '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/api-conventions.md#resources' type: string kind: description: '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/api-conventions.md#types-kinds' type: string metadata: {} operation: description: Operation contains requested operation parameters. properties: sync: description: SyncOperation contains sync operation details. properties: dryRun: description: DryRun will perform a `kubectl apply --dry-run` without actually performing the sync type: boolean manifests: description: Manifests is an optional field that overrides sync source with a local directory for development items: type: string type: array prune: description: Prune deletes resources that are no longer tracked in git type: boolean resources: description: Resources describes which resources to sync items: description: SyncOperationResource contains resources to sync. properties: group: type: string kind: type: string name: type: string required: - kind - name type: object type: array revision: description: Revision is the git revision in which to sync the application to. If omitted, will use the revision specified in app spec. type: string source: description: ApplicationSource contains information about github repository, path within repository and target application environment. properties: directory: properties: jsonnet: description: ApplicationSourceJsonnet holds jsonnet specific options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array type: object recurse: type: boolean type: object helm: description: ApplicationSourceHelm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: description: HelmParameter is a parameter to a helm template properties: name: description: Name is the name of the helm parameter type: string value: description: Value is the value for the helm parameter type: string type: object type: array releaseName: description: The Helm release name. If omitted it will use the application name type: string valueFiles: description: ValuesFiles is a list of Helm value files to use when generating a template items: type: string type: array type: object ksonnet: description: ApplicationSourceKsonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment name type: string parameters: description: Parameters are a list of ksonnet component parameter override values items: description: KsonnetParameter is a ksonnet component parameter properties: component: type: string name: type: string value: type: string required: - name - value type: object type: array type: object kustomize: description: ApplicationSourceKustomize holds kustomize specific options properties: commonLabels: description: CommonLabels adds additional kustomize commonLabels type: object imageTags: description: ImageTags are kustomize 1.0 image tag overrides items: description: KustomizeImageTag is a kustomize image tag properties: name: description: Name is the name of the image (e.g. nginx) type: string value: description: Value is the value for the new tag (e.g. 1.8.0) type: string type: object type: array images: description: Images are kustomize 2.0 image overrides items: type: string type: array namePrefix: description: NamePrefix is a prefix appended to resources for kustomize apps type: string type: object path: description: Path is a directory path within the repository containing a type: string plugin: description: ApplicationSourcePlugin holds config management plugin specific options properties: name: type: string type: object repoURL: description: RepoURL is the git repository URL of the application manifests type: string targetRevision: description: Environment is a ksonnet application environment name TargetRevision defines the commit, tag, or branch in which to sync the application to. If omitted, will sync to HEAD type: string required: - repoURL - path type: object syncStrategy: description: SyncStrategy controls the manner in which a sync is performed properties: apply: description: SyncStrategyApply uses `kubectl apply` to perform the apply properties: force: description: 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. type: boolean type: object hook: description: SyncStrategyHook will perform a sync using hooks annotations. If no hook annotation is specified falls back to `kubectl apply`. properties: SyncStrategyApply: description: SyncStrategyApply uses `kubectl apply` to perform the apply properties: force: description: 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. type: boolean type: object type: object type: object type: object type: object spec: description: ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision. properties: destination: description: ApplicationDestination contains deployment destination information properties: namespace: description: Namespace overrides the environment namespace value in the ksonnet app.yaml type: string server: description: Server overrides the environment server value in the ksonnet app.yaml type: string type: object ignoreDifferences: description: IgnoreDifferences controls resources fields which should be ignored during comparison items: description: ResourceIgnoreDifferences contains resource filter and list of json paths which should be ignored during comparison with live state. properties: group: type: string jsonPointers: items: type: string type: array kind: type: string name: type: string namespace: type: string required: - group - kind - jsonPointers type: object type: array info: description: Infos contains a list of useful information (URLs, email addresses, and plain text) that relates to the application items: properties: name: type: string value: type: string required: - name - value type: object type: array project: description: Project is a application project name. Empty name means that application belongs to 'default' project. type: string source: description: ApplicationSource contains information about github repository, path within repository and target application environment. properties: directory: properties: jsonnet: description: ApplicationSourceJsonnet holds jsonnet specific options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array type: object recurse: type: boolean type: object helm: description: ApplicationSourceHelm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: description: HelmParameter is a parameter to a helm template properties: name: description: Name is the name of the helm parameter type: string value: description: Value is the value for the helm parameter type: string type: object type: array releaseName: description: The Helm release name. If omitted it will use the application name type: string valueFiles: description: ValuesFiles is a list of Helm value files to use when generating a template items: type: string type: array type: object ksonnet: description: ApplicationSourceKsonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment name type: string parameters: description: Parameters are a list of ksonnet component parameter override values items: description: KsonnetParameter is a ksonnet component parameter properties: component: type: string name: type: string value: type: string required: - name - value type: object type: array type: object kustomize: description: ApplicationSourceKustomize holds kustomize specific options properties: commonLabels: description: CommonLabels adds additional kustomize commonLabels type: object imageTags: description: ImageTags are kustomize 1.0 image tag overrides items: description: KustomizeImageTag is a kustomize image tag properties: name: description: Name is the name of the image (e.g. nginx) type: string value: description: Value is the value for the new tag (e.g. 1.8.0) type: string type: object type: array images: description: Images are kustomize 2.0 image overrides items: type: string type: array namePrefix: description: NamePrefix is a prefix appended to resources for kustomize apps type: string type: object path: description: Path is a directory path within the repository containing a type: string plugin: description: ApplicationSourcePlugin holds config management plugin specific options properties: name: type: string type: object repoURL: description: RepoURL is the git repository URL of the application manifests type: string targetRevision: description: Environment is a ksonnet application environment name TargetRevision defines the commit, tag, or branch in which to sync the application to. If omitted, will sync to HEAD type: string required: - repoURL - path type: object syncPolicy: description: SyncPolicy controls when a sync will be performed in response to updates in git properties: automated: description: SyncPolicyAutomated controls the behavior of an automated sync properties: prune: description: 'Prune will prune resources automatically as part of automated sync (default: false)' type: boolean type: object type: object required: - source - destination - project type: object status: description: ApplicationStatus contains information about application sync, health status properties: conditions: items: description: ApplicationCondition contains details about current application condition properties: message: description: Message contains human-readable message indicating details about condition type: string type: description: Type is an application condition type type: string required: - type - message type: object type: array health: properties: message: type: string status: type: string type: object history: items: description: RevisionHistory contains information relevant to an application deployment properties: deployedAt: {} id: format: int64 type: integer revision: type: string source: description: ApplicationSource contains information about github repository, path within repository and target application environment. properties: directory: properties: jsonnet: description: ApplicationSourceJsonnet holds jsonnet specific options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array type: object recurse: type: boolean type: object helm: description: ApplicationSourceHelm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: description: HelmParameter is a parameter to a helm template properties: name: description: Name is the name of the helm parameter type: string value: description: Value is the value for the helm parameter type: string type: object type: array releaseName: description: The Helm release name. If omitted it will use the application name type: string valueFiles: description: ValuesFiles is a list of Helm value files to use when generating a template items: type: string type: array type: object ksonnet: description: ApplicationSourceKsonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment name type: string parameters: description: Parameters are a list of ksonnet component parameter override values items: description: KsonnetParameter is a ksonnet component parameter properties: component: type: string name: type: string value: type: string required: - name - value type: object type: array type: object kustomize: description: ApplicationSourceKustomize holds kustomize specific options properties: commonLabels: description: CommonLabels adds additional kustomize commonLabels type: object imageTags: description: ImageTags are kustomize 1.0 image tag overrides items: description: KustomizeImageTag is a kustomize image tag properties: name: description: Name is the name of the image (e.g. nginx) type: string value: description: Value is the value for the new tag (e.g. 1.8.0) type: string type: object type: array images: description: Images are kustomize 2.0 image overrides items: type: string type: array namePrefix: description: NamePrefix is a prefix appended to resources for kustomize apps type: string type: object path: description: Path is a directory path within the repository containing a type: string plugin: description: ApplicationSourcePlugin holds config management plugin specific options properties: name: type: string type: object repoURL: description: RepoURL is the git repository URL of the application manifests type: string targetRevision: description: Environment is a ksonnet application environment name TargetRevision defines the commit, tag, or branch in which to sync the application to. If omitted, will sync to HEAD type: string required: - repoURL - path type: object required: - revision - deployedAt - id type: object type: array observedAt: {} operationState: description: OperationState contains information about state of currently performing operation on application. properties: finishedAt: {} message: description: Message hold any pertinent messages when attempting to perform operation (typically errors). type: string operation: description: Operation contains requested operation parameters. properties: sync: description: SyncOperation contains sync operation details. properties: dryRun: description: DryRun will perform a `kubectl apply --dry-run` without actually performing the sync type: boolean manifests: description: Manifests is an optional field that overrides sync source with a local directory for development items: type: string type: array prune: description: Prune deletes resources that are no longer tracked in git type: boolean resources: description: Resources describes which resources to sync items: description: SyncOperationResource contains resources to sync. properties: group: type: string kind: type: string name: type: string required: - kind - name type: object type: array revision: description: Revision is the git revision in which to sync the application to. If omitted, will use the revision specified in app spec. type: string source: description: ApplicationSource contains information about github repository, path within repository and target application environment. properties: directory: properties: jsonnet: description: ApplicationSourceJsonnet holds jsonnet specific options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array type: object recurse: type: boolean type: object helm: description: ApplicationSourceHelm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: description: HelmParameter is a parameter to a helm template properties: name: description: Name is the name of the helm parameter type: string value: description: Value is the value for the helm parameter type: string type: object type: array releaseName: description: The Helm release name. If omitted it will use the application name type: string valueFiles: description: ValuesFiles is a list of Helm value files to use when generating a template items: type: string type: array type: object ksonnet: description: ApplicationSourceKsonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment name type: string parameters: description: Parameters are a list of ksonnet component parameter override values items: description: KsonnetParameter is a ksonnet component parameter properties: component: type: string name: type: string value: type: string required: - name - value type: object type: array type: object kustomize: description: ApplicationSourceKustomize holds kustomize specific options properties: commonLabels: description: CommonLabels adds additional kustomize commonLabels type: object imageTags: description: ImageTags are kustomize 1.0 image tag overrides items: description: KustomizeImageTag is a kustomize image tag properties: name: description: Name is the name of the image (e.g. nginx) type: string value: description: Value is the value for the new tag (e.g. 1.8.0) type: string type: object type: array images: description: Images are kustomize 2.0 image overrides items: type: string type: array namePrefix: description: NamePrefix is a prefix appended to resources for kustomize apps type: string type: object path: description: Path is a directory path within the repository containing a type: string plugin: description: ApplicationSourcePlugin holds config management plugin specific options properties: name: type: string type: object repoURL: description: RepoURL is the git repository URL of the application manifests type: string targetRevision: description: Environment is a ksonnet application environment name TargetRevision defines the commit, tag, or branch in which to sync the application to. If omitted, will sync to HEAD type: string required: - repoURL - path type: object syncStrategy: description: SyncStrategy controls the manner in which a sync is performed properties: apply: description: SyncStrategyApply uses `kubectl apply` to perform the apply properties: force: description: 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. type: boolean type: object hook: description: SyncStrategyHook will perform a sync using hooks annotations. If no hook annotation is specified falls back to `kubectl apply`. properties: SyncStrategyApply: description: SyncStrategyApply uses `kubectl apply` to perform the apply properties: force: description: 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. type: boolean type: object type: object type: object type: object type: object phase: description: Phase is the current phase of the operation type: string startedAt: {} syncResult: description: SyncOperationResult represent result of sync operation properties: resources: description: Resources holds the sync result of each individual resource items: description: ResourceResult holds the operation result details of a specific resource properties: group: type: string hookPhase: description: 'the state of any operation associated with this resource OR hook note: can contain values for non-hook resources' type: string hookType: description: the type of the hook, empty for non-hook resources type: string kind: type: string message: description: message for the last sync OR operation type: string name: type: string namespace: type: string status: description: the final result of the sync, this is be empty if the resources is yet to be applied/pruned and is always zero-value for hooks type: string syncPhase: description: indicates the particular phase of the sync that this is for type: string version: type: string required: - group - version - kind - namespace - name type: object type: array revision: description: Revision holds the git commit SHA of the sync type: string source: description: ApplicationSource contains information about github repository, path within repository and target application environment. properties: directory: properties: jsonnet: description: ApplicationSourceJsonnet holds jsonnet specific options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array type: object recurse: type: boolean type: object helm: description: ApplicationSourceHelm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: description: HelmParameter is a parameter to a helm template properties: name: description: Name is the name of the helm parameter type: string value: description: Value is the value for the helm parameter type: string type: object type: array releaseName: description: The Helm release name. If omitted it will use the application name type: string valueFiles: description: ValuesFiles is a list of Helm value files to use when generating a template items: type: string type: array type: object ksonnet: description: ApplicationSourceKsonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment name type: string parameters: description: Parameters are a list of ksonnet component parameter override values items: description: KsonnetParameter is a ksonnet component parameter properties: component: type: string name: type: string value: type: string required: - name - value type: object type: array type: object kustomize: description: ApplicationSourceKustomize holds kustomize specific options properties: commonLabels: description: CommonLabels adds additional kustomize commonLabels type: object imageTags: description: ImageTags are kustomize 1.0 image tag overrides items: description: KustomizeImageTag is a kustomize image tag properties: name: description: Name is the name of the image (e.g. nginx) type: string value: description: Value is the value for the new tag (e.g. 1.8.0) type: string type: object type: array images: description: Images are kustomize 2.0 image overrides items: type: string type: array namePrefix: description: NamePrefix is a prefix appended to resources for kustomize apps type: string type: object path: description: Path is a directory path within the repository containing a type: string plugin: description: ApplicationSourcePlugin holds config management plugin specific options properties: name: type: string type: object repoURL: description: RepoURL is the git repository URL of the application manifests type: string targetRevision: description: Environment is a ksonnet application environment name TargetRevision defines the commit, tag, or branch in which to sync the application to. If omitted, will sync to HEAD type: string required: - repoURL - path type: object required: - revision type: object required: - operation - phase - startedAt type: object reconciledAt: {} resources: items: description: ResourceStatus holds the current sync and health status of a resource properties: group: type: string health: properties: message: type: string status: type: string type: object hook: type: boolean kind: type: string name: type: string namespace: type: string status: type: string version: type: string type: object type: array sourceType: type: string summary: properties: externalURLs: description: ExternalURLs holds all external URLs of application child resources. items: type: string type: array images: description: Images holds all images of application child resources. items: type: string type: array type: object sync: description: SyncStatus is a comparison result of application spec and deployed application. properties: comparedTo: description: ComparedTo contains application source and target which was used for resources comparison properties: destination: description: ApplicationDestination contains deployment destination information properties: namespace: description: Namespace overrides the environment namespace value in the ksonnet app.yaml type: string server: description: Server overrides the environment server value in the ksonnet app.yaml type: string type: object source: description: ApplicationSource contains information about github repository, path within repository and target application environment. properties: directory: properties: jsonnet: description: ApplicationSourceJsonnet holds jsonnet specific options properties: extVars: description: ExtVars is a list of Jsonnet External Variables items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array tlas: description: TLAS is a list of Jsonnet Top-level Arguments items: description: JsonnetVar is a jsonnet variable properties: code: type: boolean name: type: string value: type: string required: - name - value type: object type: array type: object recurse: type: boolean type: object helm: description: ApplicationSourceHelm holds helm specific options properties: parameters: description: Parameters are parameters to the helm template items: description: HelmParameter is a parameter to a helm template properties: name: description: Name is the name of the helm parameter type: string value: description: Value is the value for the helm parameter type: string type: object type: array releaseName: description: The Helm release name. If omitted it will use the application name type: string valueFiles: description: ValuesFiles is a list of Helm value files to use when generating a template items: type: string type: array type: object ksonnet: description: ApplicationSourceKsonnet holds ksonnet specific options properties: environment: description: Environment is a ksonnet application environment name type: string parameters: description: Parameters are a list of ksonnet component parameter override values items: description: KsonnetParameter is a ksonnet component parameter properties: component: type: string name: type: string value: type: string required: - name - value type: object type: array type: object kustomize: description: ApplicationSourceKustomize holds kustomize specific options properties: commonLabels: description: CommonLabels adds additional kustomize commonLabels type: object imageTags: description: ImageTags are kustomize 1.0 image tag overrides items: description: KustomizeImageTag is a kustomize image tag properties: name: description: Name is the name of the image (e.g. nginx) type: string value: description: Value is the value for the new tag (e.g. 1.8.0) type: string type: object type: array images: description: Images are kustomize 2.0 image overrides items: type: string type: array namePrefix: description: NamePrefix is a prefix appended to resources for kustomize apps type: string type: object path: description: Path is a directory path within the repository containing a type: string plugin: description: ApplicationSourcePlugin holds config management plugin specific options properties: name: type: string type: object repoURL: description: RepoURL is the git repository URL of the application manifests type: string targetRevision: description: Environment is a ksonnet application environment name TargetRevision defines the commit, tag, or branch in which to sync the application to. If omitted, will sync to HEAD type: string required: - repoURL - path type: object required: - source - destination type: object revision: type: string status: type: string required: - status type: object type: object type: object version: v1alpha1