mirror of
https://github.com/hanzoai/cd.git
synced 2026-10-30 14:56:45 +00:00
repository.proto and 11 sibling hand-written .proto files referenced generated.proto's application/v1alpha1 types under the pre-fork package path (github.com.argoproj.argo_cd.v3...); protoc silently kept compiling because generated.proto still carried that same stale package too. Point both at the real, mechanically-derived path (github.com.hanzoai.cd.pkg.apis.application.v1alpha1, no v3 segment) and regenerate everything protoc/go-to-protobuf own: generated.proto/pb.go, every pkg/apiclient and reposerver/cmpserver/commitserver *.pb.go, assets/swagger.json, and the CRD manifests. That regeneration surfaced a second, unrelated bug: hack/gen-crd-spec stamped app.kubernetes.io/part-of: cd on the CRDs, but util/settings.isSettingsObject (and the ConfigMap informer built on it) only ever recognizes part-of=hanzocd. The same wrong "cd" value was baked into cmd/cd/commands/admin/settings.go's setSettingsMeta and the shared test/testdata.go fixtures ~30 files import — util/settings' own test suite was panicking on an empty slice because its fixture was invisible to the informer it was supposedly seeding. Fixed the label everywhere it's produced or asserted in the settings path; left the ~90 unrelated part-of:"cd" literals in other packages' local test fixtures alone since they never touch this selector. Also dropped 25 "TODO: Remove deprecated <dead upstream issue link>" comments that duplicated the real explanation already sitting one line away (a proper `Deprecated:` godoc, a cobra Deprecated field, or a nolint:staticcheck marker) — kept the explanation, dropped the link, per the standing rule for these citations. And repointed the two Grafana dashboards' job selector from argocd-server-metrics, a Service the manifests never create, to hanzocd-server-metrics, the one they do.
7110 lines
396 KiB
YAML
Generated
7110 lines
396 KiB
YAML
Generated
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: applications.apps.hanzo.ai
|
|
app.kubernetes.io/part-of: cd
|
|
name: applications.apps.hanzo.ai
|
|
spec:
|
|
group: apps.hanzo.ai
|
|
names:
|
|
kind: Application
|
|
listKind: ApplicationList
|
|
plural: applications
|
|
shortNames:
|
|
- app
|
|
- apps
|
|
singular: application
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.sync.status
|
|
name: Sync Status
|
|
type: string
|
|
- jsonPath: .status.health.status
|
|
name: Health Status
|
|
type: string
|
|
- jsonPath: .status.sync.revision
|
|
name: Revision
|
|
priority: 10
|
|
type: string
|
|
- jsonPath: .spec.project
|
|
name: Project
|
|
priority: 10
|
|
type: string
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Application is a definition of Application resource.
|
|
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
operation:
|
|
description: Operation contains information about a requested or running
|
|
operation
|
|
properties:
|
|
info:
|
|
description: Info is a list of informational items for this operation
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
initiatedBy:
|
|
description: InitiatedBy contains information about who initiated
|
|
the operations
|
|
properties:
|
|
automated:
|
|
description: Automated is set to true if operation was initiated
|
|
automatically by the application controller.
|
|
type: boolean
|
|
username:
|
|
description: Username contains the name of a user who started
|
|
operation
|
|
type: string
|
|
type: object
|
|
retry:
|
|
description: Retry controls the strategy to apply if a sync fails
|
|
properties:
|
|
backoff:
|
|
description: Backoff controls how to backoff on subsequent retries
|
|
of failed syncs
|
|
properties:
|
|
duration:
|
|
description: Duration is the amount to back off. Default unit
|
|
is seconds, but could also be a duration (e.g. "2m", "1h")
|
|
type: string
|
|
factor:
|
|
description: Factor is a factor to multiply the base duration
|
|
after each failed retry
|
|
format: int64
|
|
type: integer
|
|
maxDuration:
|
|
description: MaxDuration is the maximum amount of time allowed
|
|
for the backoff strategy
|
|
type: string
|
|
type: object
|
|
limit:
|
|
description: Limit is the maximum number of attempts for retrying
|
|
a failed sync. If set to 0, no retries will be performed.
|
|
format: int64
|
|
type: integer
|
|
refresh:
|
|
description: 'Refresh indicates if the latest revision should
|
|
be used on retry instead of the initial one (default: false)'
|
|
type: boolean
|
|
type: object
|
|
sync:
|
|
description: Sync contains parameters for the operation
|
|
properties:
|
|
autoHealAttemptsCount:
|
|
description: SelfHealAttemptsCount contains the number of auto-heal
|
|
attempts
|
|
format: int64
|
|
type: integer
|
|
dryRun:
|
|
description: DryRun specifies to 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 specifies to delete resources from the cluster
|
|
that are no longer tracked in git
|
|
type: boolean
|
|
resources:
|
|
description: Resources describes which resources shall be part
|
|
of the sync
|
|
items:
|
|
description: SyncOperationResource contains resources to sync.
|
|
properties:
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
type: array
|
|
revision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
revisions:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
source:
|
|
description: |-
|
|
Source overrides the source definition set in the application.
|
|
This is typically set in a Rollback operation and is nil during a Sync operation
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be specified
|
|
for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to match
|
|
paths against that should be explicitly excluded from
|
|
being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to match
|
|
paths against that should be explicitly included during
|
|
manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External
|
|
Variables
|
|
items:
|
|
description: JsonnetVar represents a variable to
|
|
be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable to
|
|
be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a directory
|
|
recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters to the
|
|
helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file containing
|
|
the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm template
|
|
from failing when valueFiles do not exist locally by
|
|
not appending them to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace to template
|
|
with. If left empty, defaults to the app's destination
|
|
namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters which
|
|
are passed to the helm template command upon manifest
|
|
generation
|
|
items:
|
|
description: HelmParameter is a parameter that's passed
|
|
to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether to tell
|
|
Helm to interpret booleans and numbers as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to all domains
|
|
(Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name to use.
|
|
If omitted it will use the application name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema validation
|
|
(Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value files
|
|
to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values to be
|
|
passed to helm template, defined as a map. This takes
|
|
precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use for templating
|
|
("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies whether
|
|
to apply env variables substitution for annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional labels
|
|
to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether
|
|
to force applying common annotations to resources for
|
|
Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether to force
|
|
applying common labels to resources for Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally by
|
|
not appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image override
|
|
specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize image
|
|
definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether to
|
|
apply common labels to resource templates or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether to
|
|
apply common labels to resource selectors or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix in the
|
|
kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix in the
|
|
kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is displayed
|
|
in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git repository,
|
|
and is only valid for applications sourced from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable entries
|
|
items:
|
|
description: EnvEntry represents an entry in the application's
|
|
environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable, usually
|
|
expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array type
|
|
parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string type
|
|
parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within sources
|
|
field. This field will not be used if used with a `source`
|
|
tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git or
|
|
Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
sources:
|
|
description: |-
|
|
Sources overrides the source definition set in the application.
|
|
This is typically set in a Rollback operation and is nil during a Sync operation
|
|
items:
|
|
description: ApplicationSource contains all required information
|
|
about the source of an application
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be specified
|
|
for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to match
|
|
paths against that should be explicitly excluded from
|
|
being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to match
|
|
paths against that should be explicitly included during
|
|
manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External
|
|
Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a directory
|
|
recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters to the
|
|
helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file containing
|
|
the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm template
|
|
from failing when valueFiles do not exist locally
|
|
by not appending them to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace to template
|
|
with. If left empty, defaults to the app's destination
|
|
namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command upon
|
|
manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's passed
|
|
to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether to
|
|
tell Helm to interpret booleans and numbers
|
|
as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to all
|
|
domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name to
|
|
use. If omitted it will use the application name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value files
|
|
to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values to be
|
|
passed to helm template, defined as a map. This takes
|
|
precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use for
|
|
templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies whether
|
|
to apply env variables substitution for annotation
|
|
values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional labels
|
|
to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether
|
|
to force applying common annotations to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether to
|
|
force applying common labels to resources for Kustomize
|
|
apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally
|
|
by not appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image override
|
|
specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is displayed
|
|
in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git repository,
|
|
and is only valid for applications sourced from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable entries
|
|
items:
|
|
description: EnvEntry represents an entry in the application's
|
|
environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array type
|
|
parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within sources
|
|
field. This field will not be used if used with a `source`
|
|
tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git or
|
|
Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
type: array
|
|
syncOptions:
|
|
description: SyncOptions provide per-sync sync-options, e.g. Validate=false
|
|
items:
|
|
type: string
|
|
type: array
|
|
syncStrategy:
|
|
description: SyncStrategy describes how to perform the sync
|
|
properties:
|
|
apply:
|
|
description: Apply will perform a `kubectl apply` to perform
|
|
the sync.
|
|
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: Hook will submit any referenced resources to
|
|
perform the sync. This is the default strategy
|
|
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
|
|
spec:
|
|
description: ApplicationSpec represents desired application state. Contains
|
|
link to repository with application definition and additional parameters
|
|
link definition revision.
|
|
properties:
|
|
destination:
|
|
description: Destination is a reference to the target Kubernetes server
|
|
and namespace
|
|
properties:
|
|
name:
|
|
description: Name is an alternate way of specifying the target
|
|
cluster by its symbolic name. This must be set if Server is
|
|
not set.
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
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
|
|
type: string
|
|
server:
|
|
description: Server specifies the URL of the target cluster's
|
|
Kubernetes control plane API. This must be set if Name is not
|
|
set.
|
|
type: string
|
|
type: object
|
|
ignoreDifferences:
|
|
description: IgnoreDifferences is a list of resources and their 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
|
|
jqPathExpressions:
|
|
items:
|
|
type: string
|
|
type: array
|
|
jsonPointers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
kind:
|
|
type: string
|
|
managedFieldsManagers:
|
|
description: |-
|
|
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
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
type: object
|
|
type: array
|
|
info:
|
|
description: Info contains a list of 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 reference to the project this application belongs to.
|
|
The empty string means that application belongs to the 'default' project.
|
|
type: string
|
|
revisionHistoryLimit:
|
|
description: |-
|
|
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.
|
|
format: int64
|
|
type: integer
|
|
source:
|
|
description: Source is a reference to the location of the application's
|
|
manifests or chart
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be specified
|
|
for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to match paths
|
|
against that should be explicitly excluded from being used
|
|
during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to match paths
|
|
against that should be explicitly included during manifest
|
|
generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External Variables
|
|
items:
|
|
description: JsonnetVar represents a variable to be
|
|
passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable to be
|
|
passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a directory
|
|
recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters to the helm
|
|
template
|
|
items:
|
|
description: HelmFileParameter is a file parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file containing
|
|
the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm template
|
|
from failing when valueFiles do not exist locally by not
|
|
appending them to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace to template
|
|
with. If left empty, defaults to the app's destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters which
|
|
are passed to the helm template command upon manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's passed
|
|
to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether to tell
|
|
Helm to interpret booleans and numbers as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to all domains
|
|
(Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name to use.
|
|
If omitted it will use the application name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition installation
|
|
step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema validation
|
|
(Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation step
|
|
(Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value files to
|
|
use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values to be passed
|
|
to helm template, defined as a map. This takes precedence
|
|
over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use for templating
|
|
("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional annotations
|
|
to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies whether to
|
|
apply env variables substitution for annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional labels to
|
|
add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize components
|
|
to add to the kustomization before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether to force
|
|
applying common annotations to resources for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether to force
|
|
applying common labels to resources for Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize from
|
|
failing when components do not exist locally by not appending
|
|
them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image override
|
|
specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize image
|
|
definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether to apply
|
|
common labels to resource templates or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether to apply
|
|
common labels to resource selectors or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix in the kustomization.yaml
|
|
for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix in the kustomization.yaml
|
|
for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize adds
|
|
to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas override
|
|
specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize to
|
|
use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is displayed
|
|
in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git repository,
|
|
and is only valid for applications sourced from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable entries
|
|
items:
|
|
description: EnvEntry represents an entry in the application's
|
|
environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable, usually
|
|
expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within sources
|
|
field. This field will not be used if used with a `source` tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git or Helm)
|
|
that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
sourceHydrator:
|
|
description: SourceHydrator provides a way to push hydrated manifests
|
|
back to git before syncing them to the cluster.
|
|
properties:
|
|
drySource:
|
|
description: DrySource specifies where the dry "don't repeat yourself"
|
|
manifest source lives.
|
|
properties:
|
|
directory:
|
|
description: Directory specifies path/directory specific options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to match
|
|
paths against that should be explicitly excluded from
|
|
being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to match
|
|
paths against that should be explicitly included during
|
|
manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External
|
|
Variables
|
|
items:
|
|
description: JsonnetVar represents a variable to
|
|
be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable to
|
|
be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a directory
|
|
recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm specifies helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters to the
|
|
helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file containing
|
|
the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm template
|
|
from failing when valueFiles do not exist locally by
|
|
not appending them to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace to template
|
|
with. If left empty, defaults to the app's destination
|
|
namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters which
|
|
are passed to the helm template command upon manifest
|
|
generation
|
|
items:
|
|
description: HelmParameter is a parameter that's passed
|
|
to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether to tell
|
|
Helm to interpret booleans and numbers as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to all domains
|
|
(Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name to use.
|
|
If omitted it will use the application name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema validation
|
|
(Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value files
|
|
to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values to be
|
|
passed to helm template, defined as a map. This takes
|
|
precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use for templating
|
|
("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize specifies kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies whether
|
|
to apply env variables substitution for annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional labels
|
|
to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether
|
|
to force applying common annotations to resources for
|
|
Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether to force
|
|
applying common labels to resources for Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally by
|
|
not appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image override
|
|
specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize image
|
|
definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether to
|
|
apply common labels to resource templates or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether to
|
|
apply common labels to resource selectors or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix in the
|
|
kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix in the
|
|
kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
path:
|
|
description: Path is a directory path within the Git repository
|
|
where the manifests are located
|
|
type: string
|
|
plugin:
|
|
description: Plugin specifies config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable entries
|
|
items:
|
|
description: EnvEntry represents an entry in the application's
|
|
environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable, usually
|
|
expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array type
|
|
parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string type
|
|
parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
repoURL:
|
|
description: RepoURL is the URL to the git repository that
|
|
contains the application manifests
|
|
type: string
|
|
targetRevision:
|
|
description: TargetRevision defines the revision of the source
|
|
to hydrate
|
|
type: string
|
|
required:
|
|
- path
|
|
- repoURL
|
|
- targetRevision
|
|
type: object
|
|
hydrateTo:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
targetBranch:
|
|
description: TargetBranch is the branch to which hydrated
|
|
manifests should be committed
|
|
type: string
|
|
required:
|
|
- targetBranch
|
|
type: object
|
|
syncSource:
|
|
description: SyncSource specifies where to sync hydrated manifests
|
|
from.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
Path is a directory path within the git repository where hydrated manifests should be committed to and synced
|
|
from. The Path should never point to the root of the repo. If hydrateTo is set, this is just the path from which
|
|
hydrated manifests will be synced.
|
|
minLength: 1
|
|
pattern: ^.{2,}|[^./]$
|
|
type: string
|
|
repoURL:
|
|
description: |-
|
|
RepoURL is the URL to the git repository that contains the hydrated manifests. If not set, defaults to
|
|
the DrySource.RepoURL.
|
|
type: string
|
|
targetBranch:
|
|
description: |-
|
|
TargetBranch is the branch from which hydrated manifests will be synced.
|
|
If HydrateTo is not set, this is also the branch to which hydrated manifests are committed.
|
|
type: string
|
|
required:
|
|
- path
|
|
- targetBranch
|
|
type: object
|
|
required:
|
|
- drySource
|
|
- syncSource
|
|
type: object
|
|
sources:
|
|
description: Sources is a reference to the location of the application's
|
|
manifests or chart
|
|
items:
|
|
description: ApplicationSource contains all required information
|
|
about the source of an application
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be specified
|
|
for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to match paths
|
|
against that should be explicitly excluded from being
|
|
used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to match paths
|
|
against that should be explicitly included during manifest
|
|
generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External Variables
|
|
items:
|
|
description: JsonnetVar represents a variable to be
|
|
passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable to be
|
|
passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a directory
|
|
recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters to the helm
|
|
template
|
|
items:
|
|
description: HelmFileParameter is a file parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file containing
|
|
the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm template
|
|
from failing when valueFiles do not exist locally by not
|
|
appending them to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace to template
|
|
with. If left empty, defaults to the app's destination
|
|
namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters which
|
|
are passed to the helm template command upon manifest
|
|
generation
|
|
items:
|
|
description: HelmParameter is a parameter that's passed
|
|
to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether to tell
|
|
Helm to interpret booleans and numbers as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to all domains
|
|
(Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name to use.
|
|
If omitted it will use the application name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition installation
|
|
step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema validation
|
|
(Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value files to
|
|
use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values to be passed
|
|
to helm template, defined as a map. This takes precedence
|
|
over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use for templating
|
|
("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional annotations
|
|
to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies whether
|
|
to apply env variables substitution for annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional labels
|
|
to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize components
|
|
to add to the kustomization before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether to
|
|
force applying common annotations to resources for Kustomize
|
|
apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether to force
|
|
applying common labels to resources for Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally by not
|
|
appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image override
|
|
specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize image
|
|
definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether to
|
|
apply common labels to resource templates or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether to apply
|
|
common labels to resource selectors or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix in the
|
|
kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix in the
|
|
kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas override
|
|
specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is displayed
|
|
in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git repository,
|
|
and is only valid for applications sourced from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable entries
|
|
items:
|
|
description: EnvEntry represents an entry in the application's
|
|
environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable, usually
|
|
expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string type
|
|
parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within sources
|
|
field. This field will not be used if used with a `source`
|
|
tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git or Helm)
|
|
that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
type: array
|
|
syncPolicy:
|
|
description: SyncPolicy controls when and how a sync will be performed
|
|
properties:
|
|
automated:
|
|
description: Automated will keep an application synced to the
|
|
target revision
|
|
properties:
|
|
allowEmpty:
|
|
description: 'AllowEmpty allows apps have zero live resources
|
|
(default: false)'
|
|
type: boolean
|
|
enabled:
|
|
description: Enable allows apps to explicitly control automated
|
|
sync
|
|
type: boolean
|
|
prune:
|
|
description: 'Prune specifies whether to delete resources
|
|
from the cluster that are not found in the sources anymore
|
|
as part of automated sync (default: false)'
|
|
type: boolean
|
|
selfHeal:
|
|
description: 'SelfHeal specifies whether to revert resources
|
|
back to their desired state upon modification in the cluster
|
|
(default: false)'
|
|
type: boolean
|
|
type: object
|
|
managedNamespaceMetadata:
|
|
description: ManagedNamespaceMetadata controls metadata in the
|
|
given namespace (if CreateNamespace=true)
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
retry:
|
|
description: Retry controls failed sync retry behavior
|
|
properties:
|
|
backoff:
|
|
description: Backoff controls how to backoff on subsequent
|
|
retries of failed syncs
|
|
properties:
|
|
duration:
|
|
description: Duration is the amount to back off. Default
|
|
unit is seconds, but could also be a duration (e.g.
|
|
"2m", "1h")
|
|
type: string
|
|
factor:
|
|
description: Factor is a factor to multiply the base duration
|
|
after each failed retry
|
|
format: int64
|
|
type: integer
|
|
maxDuration:
|
|
description: MaxDuration is the maximum amount of time
|
|
allowed for the backoff strategy
|
|
type: string
|
|
type: object
|
|
limit:
|
|
description: Limit is the maximum number of attempts for retrying
|
|
a failed sync. If set to 0, no retries will be performed.
|
|
format: int64
|
|
type: integer
|
|
refresh:
|
|
description: 'Refresh indicates if the latest revision should
|
|
be used on retry instead of the initial one (default: false)'
|
|
type: boolean
|
|
type: object
|
|
syncOptions:
|
|
description: Options allow you to specify whole app sync-options
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
required:
|
|
- destination
|
|
- project
|
|
type: object
|
|
status:
|
|
description: ApplicationStatus contains status information for the application
|
|
properties:
|
|
conditions:
|
|
description: Conditions is a list of currently observed application
|
|
conditions
|
|
items:
|
|
description: ApplicationCondition contains details about an application
|
|
condition, which is usually an error or warning
|
|
properties:
|
|
lastTransitionTime:
|
|
description: LastTransitionTime is the time the condition was
|
|
last observed
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: Message contains human-readable message indicating
|
|
details about condition
|
|
type: string
|
|
type:
|
|
description: Type is an application condition type
|
|
type: string
|
|
required:
|
|
- message
|
|
- type
|
|
type: object
|
|
type: array
|
|
controllerNamespace:
|
|
description: ControllerNamespace indicates the namespace in which
|
|
the application controller is located
|
|
type: string
|
|
health:
|
|
description: Health contains information about the application's current
|
|
health status
|
|
properties:
|
|
lastTransitionTime:
|
|
description: LastTransitionTime is the time the HealthStatus was
|
|
set or updated
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: Message is a human-readable informational message
|
|
describing the health status
|
|
type: string
|
|
status:
|
|
description: Status holds the status code of the application
|
|
type: string
|
|
type: object
|
|
history:
|
|
description: History contains information about the application's
|
|
sync history
|
|
items:
|
|
description: RevisionHistory contains history information about
|
|
a previous sync
|
|
properties:
|
|
deployStartedAt:
|
|
description: DeployStartedAt holds the time the sync operation
|
|
started
|
|
format: date-time
|
|
type: string
|
|
deployedAt:
|
|
description: DeployedAt holds the time the sync operation completed
|
|
format: date-time
|
|
type: string
|
|
id:
|
|
description: ID is an auto incrementing identifier of the RevisionHistory
|
|
format: int64
|
|
type: integer
|
|
initiatedBy:
|
|
description: InitiatedBy contains information about who initiated
|
|
the operations
|
|
properties:
|
|
automated:
|
|
description: Automated is set to true if operation was initiated
|
|
automatically by the application controller.
|
|
type: boolean
|
|
username:
|
|
description: Username contains the name of a user who started
|
|
operation
|
|
type: string
|
|
type: object
|
|
revision:
|
|
description: Revision holds the revision the sync was performed
|
|
against
|
|
type: string
|
|
revisions:
|
|
description: Revisions holds the revision of each source in
|
|
sources field the sync was performed against
|
|
items:
|
|
type: string
|
|
type: array
|
|
source:
|
|
description: Source is a reference to the application source
|
|
used for the sync operation
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be specified
|
|
for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to match
|
|
paths against that should be explicitly excluded from
|
|
being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to match
|
|
paths against that should be explicitly included during
|
|
manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External
|
|
Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a directory
|
|
recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters to the
|
|
helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file containing
|
|
the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm template
|
|
from failing when valueFiles do not exist locally
|
|
by not appending them to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace to template
|
|
with. If left empty, defaults to the app's destination
|
|
namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command upon
|
|
manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's passed
|
|
to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether to
|
|
tell Helm to interpret booleans and numbers
|
|
as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to all
|
|
domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name to
|
|
use. If omitted it will use the application name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value files
|
|
to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values to be
|
|
passed to helm template, defined as a map. This takes
|
|
precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use for
|
|
templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies whether
|
|
to apply env variables substitution for annotation
|
|
values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional labels
|
|
to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether
|
|
to force applying common annotations to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether to
|
|
force applying common labels to resources for Kustomize
|
|
apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally
|
|
by not appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image override
|
|
specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is displayed
|
|
in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git repository,
|
|
and is only valid for applications sourced from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable entries
|
|
items:
|
|
description: EnvEntry represents an entry in the application's
|
|
environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array type
|
|
parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within sources
|
|
field. This field will not be used if used with a `source`
|
|
tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git or
|
|
Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
sources:
|
|
description: Sources is a reference to the application sources
|
|
used for the sync operation
|
|
items:
|
|
description: ApplicationSource contains all required information
|
|
about the source of an application
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be specified
|
|
for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to match
|
|
paths against that should be explicitly excluded
|
|
from being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to match
|
|
paths against that should be explicitly included
|
|
during manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External
|
|
Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a directory
|
|
recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters to
|
|
the helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file containing
|
|
the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm
|
|
template from failing when valueFiles do not exist
|
|
locally by not appending them to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace to
|
|
template with. If left empty, defaults to the app's
|
|
destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command upon
|
|
manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether
|
|
to tell Helm to interpret booleans and numbers
|
|
as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to all
|
|
domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name
|
|
to use. If omitted it will use the application name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value files
|
|
to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values to
|
|
be passed to helm template, defined as a map. This
|
|
takes precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use for
|
|
templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies whether
|
|
to apply env variables substitution for annotation
|
|
values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional
|
|
labels to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether
|
|
to force applying common annotations to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether to
|
|
force applying common labels to resources for Kustomize
|
|
apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally
|
|
by not appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image override
|
|
specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates or
|
|
not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors or
|
|
not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is
|
|
displayed in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git repository,
|
|
and is only valid for applications sourced from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable
|
|
entries
|
|
items:
|
|
description: EnvEntry represents an entry in the
|
|
application's environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array
|
|
type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type
|
|
parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying a
|
|
parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within
|
|
sources field. This field will not be used if used with
|
|
a `source` tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git
|
|
or Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
type: array
|
|
required:
|
|
- deployedAt
|
|
- id
|
|
type: object
|
|
type: array
|
|
observedAt:
|
|
description: |-
|
|
ObservedAt indicates when the application state was updated without querying latest git state
|
|
|
|
Deprecated: controller no longer updates ObservedAt field
|
|
format: date-time
|
|
type: string
|
|
operationState:
|
|
description: OperationState contains information about any ongoing
|
|
operations, such as a sync
|
|
properties:
|
|
finishedAt:
|
|
description: FinishedAt contains time of operation completion
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: Message holds any pertinent messages when attempting
|
|
to perform operation (typically errors).
|
|
type: string
|
|
operation:
|
|
description: Operation is the original requested operation
|
|
properties:
|
|
info:
|
|
description: Info is a list of informational items for this
|
|
operation
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
initiatedBy:
|
|
description: InitiatedBy contains information about who initiated
|
|
the operations
|
|
properties:
|
|
automated:
|
|
description: Automated is set to true if operation was
|
|
initiated automatically by the application controller.
|
|
type: boolean
|
|
username:
|
|
description: Username contains the name of a user who
|
|
started operation
|
|
type: string
|
|
type: object
|
|
retry:
|
|
description: Retry controls the strategy to apply if a sync
|
|
fails
|
|
properties:
|
|
backoff:
|
|
description: Backoff controls how to backoff on subsequent
|
|
retries of failed syncs
|
|
properties:
|
|
duration:
|
|
description: Duration is the amount to back off. Default
|
|
unit is seconds, but could also be a duration (e.g.
|
|
"2m", "1h")
|
|
type: string
|
|
factor:
|
|
description: Factor is a factor to multiply the base
|
|
duration after each failed retry
|
|
format: int64
|
|
type: integer
|
|
maxDuration:
|
|
description: MaxDuration is the maximum amount of
|
|
time allowed for the backoff strategy
|
|
type: string
|
|
type: object
|
|
limit:
|
|
description: Limit is the maximum number of attempts for
|
|
retrying a failed sync. If set to 0, no retries will
|
|
be performed.
|
|
format: int64
|
|
type: integer
|
|
refresh:
|
|
description: 'Refresh indicates if the latest revision
|
|
should be used on retry instead of the initial one (default:
|
|
false)'
|
|
type: boolean
|
|
type: object
|
|
sync:
|
|
description: Sync contains parameters for the operation
|
|
properties:
|
|
autoHealAttemptsCount:
|
|
description: SelfHealAttemptsCount contains the number
|
|
of auto-heal attempts
|
|
format: int64
|
|
type: integer
|
|
dryRun:
|
|
description: DryRun specifies to 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 specifies to delete resources from
|
|
the cluster that are no longer tracked in git
|
|
type: boolean
|
|
resources:
|
|
description: Resources describes which resources shall
|
|
be part of the sync
|
|
items:
|
|
description: SyncOperationResource contains resources
|
|
to sync.
|
|
properties:
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
type: array
|
|
revision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
revisions:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
source:
|
|
description: |-
|
|
Source overrides the source definition set in the application.
|
|
This is typically set in a Rollback operation and is nil during a Sync operation
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must
|
|
be specified for applications sourced from a Helm
|
|
repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific
|
|
options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
excluded from being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
included during manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to
|
|
Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet
|
|
External Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan
|
|
a directory recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters
|
|
to the helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm
|
|
parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file
|
|
containing the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents
|
|
helm template from failing when valueFiles do
|
|
not exist locally by not appending them to helm
|
|
template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace
|
|
to template with. If left empty, defaults to
|
|
the app's destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command
|
|
upon manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether
|
|
to tell Helm to interpret booleans and
|
|
numbers as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials
|
|
to all domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name
|
|
to use. If omitted it will use the application
|
|
name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value
|
|
files to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values
|
|
to be passed to helm template, defined as a
|
|
map. This takes precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use
|
|
for templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies
|
|
whether to apply env variables substitution
|
|
for annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional
|
|
labels to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before
|
|
building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies
|
|
whether to force applying common annotations
|
|
to resources for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether
|
|
to force applying common labels to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents
|
|
kustomize from failing when components do not
|
|
exist locally by not appending them to kustomization
|
|
file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image
|
|
override specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates
|
|
or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors
|
|
or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that
|
|
Kustomize adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of
|
|
Kustomize to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and
|
|
is displayed in the UI. It is used in multi-source
|
|
Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git
|
|
repository, and is only valid for applications sourced
|
|
from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin
|
|
specific options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable
|
|
entries
|
|
items:
|
|
description: EnvEntry represents an entry in
|
|
the application's environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array
|
|
type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type
|
|
parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying
|
|
a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within
|
|
sources field. This field will not be used if used
|
|
with a `source` tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository
|
|
(Git or Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
sources:
|
|
description: |-
|
|
Sources overrides the source definition set in the application.
|
|
This is typically set in a Rollback operation and is nil during a Sync operation
|
|
items:
|
|
description: ApplicationSource contains all required
|
|
information about the source of an application
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must
|
|
be specified for applications sourced from a Helm
|
|
repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific
|
|
options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern
|
|
to match paths against that should be explicitly
|
|
excluded from being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern
|
|
to match paths against that should be explicitly
|
|
included during manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific
|
|
to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet
|
|
External Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan
|
|
a directory recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters
|
|
to the helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm
|
|
parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file
|
|
containing the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents
|
|
helm template from failing when valueFiles
|
|
do not exist locally by not appending them
|
|
to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace
|
|
to template with. If left empty, defaults
|
|
to the app's destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command
|
|
upon manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether
|
|
to tell Helm to interpret booleans and
|
|
numbers as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials
|
|
to all domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release
|
|
name to use. If omitted it will use the application
|
|
name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource
|
|
definition installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON
|
|
schema validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value
|
|
files to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values
|
|
to be passed to helm template, defined as
|
|
a map. This takes precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to
|
|
use for templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific
|
|
options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of
|
|
additional annotations to add to rendered
|
|
manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies
|
|
whether to apply env variables substitution
|
|
for annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional
|
|
labels to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of
|
|
kustomize components to add to the kustomization
|
|
before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies
|
|
whether to force applying common annotations
|
|
to resources for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether
|
|
to force applying common labels to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents
|
|
kustomize from failing when components do
|
|
not exist locally by not appending them to
|
|
kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image
|
|
override specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies
|
|
whether to apply common labels to resource
|
|
templates or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies
|
|
whether to apply common labels to resource
|
|
selectors or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that
|
|
Kustomize adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize
|
|
patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize
|
|
Replicas override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version
|
|
of Kustomize to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and
|
|
is displayed in the UI. It is used in multi-source
|
|
Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the
|
|
Git repository, and is only valid for applications
|
|
sourced from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin
|
|
specific options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable
|
|
entries
|
|
items:
|
|
description: EnvEntry represents an entry
|
|
in the application's environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the
|
|
variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an
|
|
array type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map
|
|
type parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying
|
|
a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a
|
|
string type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source
|
|
within sources field. This field will not be used
|
|
if used with a `source` tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository
|
|
(Git or Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
type: array
|
|
syncOptions:
|
|
description: SyncOptions provide per-sync sync-options,
|
|
e.g. Validate=false
|
|
items:
|
|
type: string
|
|
type: array
|
|
syncStrategy:
|
|
description: SyncStrategy describes how to perform the
|
|
sync
|
|
properties:
|
|
apply:
|
|
description: Apply will perform a `kubectl apply`
|
|
to perform the sync.
|
|
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: Hook will submit any referenced resources
|
|
to perform the sync. This is the default strategy
|
|
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
|
|
phase:
|
|
description: Phase is the current phase of the operation
|
|
type: string
|
|
retryCount:
|
|
description: RetryCount contains time of operation retries
|
|
format: int64
|
|
type: integer
|
|
startedAt:
|
|
description: StartedAt contains time of operation start
|
|
format: date-time
|
|
type: string
|
|
syncResult:
|
|
description: SyncResult is the result of a Sync operation
|
|
properties:
|
|
managedNamespaceMetadata:
|
|
description: ManagedNamespaceMetadata contains the current
|
|
sync state of managed namespace metadata
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
resources:
|
|
description: Resources contains a list of sync result items
|
|
for each individual resource in a sync operation
|
|
items:
|
|
description: ResourceResult holds the operation result details
|
|
of a specific resource
|
|
properties:
|
|
group:
|
|
description: Group specifies the API group of the resource
|
|
type: string
|
|
hookPhase:
|
|
description: |-
|
|
HookPhase contains the state of any operation associated with this resource OR hook
|
|
This can also contain values for non-hook resources.
|
|
type: string
|
|
hookType:
|
|
description: HookType specifies the type of the hook.
|
|
Empty for non-hook resources
|
|
type: string
|
|
images:
|
|
description: Images contains the images related to the
|
|
ResourceResult
|
|
items:
|
|
type: string
|
|
type: array
|
|
kind:
|
|
description: Kind specifies the API kind of the resource
|
|
type: string
|
|
message:
|
|
description: Message contains an informational or error
|
|
message for the last sync OR operation
|
|
type: string
|
|
name:
|
|
description: Name specifies the name of the resource
|
|
type: string
|
|
namespace:
|
|
description: Namespace specifies the target namespace
|
|
of the resource
|
|
type: string
|
|
status:
|
|
description: 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
|
|
type: string
|
|
syncPhase:
|
|
description: SyncPhase indicates the particular phase
|
|
of the sync that this result was acquired in
|
|
type: string
|
|
version:
|
|
description: Version specifies the API version of the
|
|
resource
|
|
type: string
|
|
required:
|
|
- group
|
|
- kind
|
|
- name
|
|
- namespace
|
|
- version
|
|
type: object
|
|
type: array
|
|
revision:
|
|
description: Revision holds the revision this sync operation
|
|
was performed to
|
|
type: string
|
|
revisions:
|
|
description: Revisions holds the revision this sync operation
|
|
was performed for respective indexed source in sources field
|
|
items:
|
|
type: string
|
|
type: array
|
|
source:
|
|
description: Source records the application source information
|
|
of the sync, used for comparing auto-sync
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be specified
|
|
for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to match
|
|
paths against that should be explicitly excluded
|
|
from being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to match
|
|
paths against that should be explicitly included
|
|
during manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External
|
|
Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a directory
|
|
recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters to
|
|
the helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file containing
|
|
the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm
|
|
template from failing when valueFiles do not exist
|
|
locally by not appending them to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace to
|
|
template with. If left empty, defaults to the app's
|
|
destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command upon
|
|
manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether
|
|
to tell Helm to interpret booleans and numbers
|
|
as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to all
|
|
domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name
|
|
to use. If omitted it will use the application name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value files
|
|
to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values to
|
|
be passed to helm template, defined as a map. This
|
|
takes precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use for
|
|
templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies whether
|
|
to apply env variables substitution for annotation
|
|
values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional
|
|
labels to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether
|
|
to force applying common annotations to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether to
|
|
force applying common labels to resources for Kustomize
|
|
apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally
|
|
by not appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image override
|
|
specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates or
|
|
not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors or
|
|
not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is
|
|
displayed in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git repository,
|
|
and is only valid for applications sourced from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable
|
|
entries
|
|
items:
|
|
description: EnvEntry represents an entry in the
|
|
application's environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array
|
|
type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type
|
|
parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying a
|
|
parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within
|
|
sources field. This field will not be used if used with
|
|
a `source` tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git
|
|
or Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
sources:
|
|
description: Source records the application source information
|
|
of the sync, used for comparing auto-sync
|
|
items:
|
|
description: ApplicationSource contains all required information
|
|
about the source of an application
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be
|
|
specified for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific
|
|
options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
excluded from being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
included during manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External
|
|
Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a
|
|
directory recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters
|
|
to the helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm
|
|
parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file
|
|
containing the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm
|
|
template from failing when valueFiles do not exist
|
|
locally by not appending them to helm template
|
|
--values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace
|
|
to template with. If left empty, defaults to the
|
|
app's destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command
|
|
upon manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether
|
|
to tell Helm to interpret booleans and numbers
|
|
as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to
|
|
all domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name
|
|
to use. If omitted it will use the application
|
|
name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value
|
|
files to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values
|
|
to be passed to helm template, defined as a map.
|
|
This takes precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use
|
|
for templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies
|
|
whether to apply env variables substitution for
|
|
annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional
|
|
labels to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before
|
|
building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether
|
|
to force applying common annotations to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether
|
|
to force applying common labels to resources for
|
|
Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally
|
|
by not appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image
|
|
override specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates or
|
|
not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors or
|
|
not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is
|
|
displayed in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git
|
|
repository, and is only valid for applications sourced
|
|
from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable
|
|
entries
|
|
items:
|
|
description: EnvEntry represents an entry in the
|
|
application's environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array
|
|
type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type
|
|
parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying
|
|
a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within
|
|
sources field. This field will not be used if used
|
|
with a `source` tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git
|
|
or Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
type: array
|
|
required:
|
|
- revision
|
|
type: object
|
|
required:
|
|
- operation
|
|
- phase
|
|
- startedAt
|
|
type: object
|
|
reconciledAt:
|
|
description: ReconciledAt indicates when the application state was
|
|
reconciled using the latest git version
|
|
format: date-time
|
|
type: string
|
|
resourceHealthSource:
|
|
description: 'ResourceHealthSource indicates where the resource health
|
|
status is stored: inline if not set or appTree'
|
|
type: string
|
|
resources:
|
|
description: Resources is a list of Kubernetes resources managed by
|
|
this application
|
|
items:
|
|
description: ResourceStatus holds the current synchronization and
|
|
health status of a Kubernetes resource.
|
|
properties:
|
|
group:
|
|
description: Group represents the API group of the resource
|
|
(e.g., "apps" for Deployments).
|
|
type: string
|
|
health:
|
|
description: Health indicates the health status of the resource
|
|
(e.g., Healthy, Degraded, Progressing).
|
|
properties:
|
|
lastTransitionTime:
|
|
description: |-
|
|
LastTransitionTime is the time the HealthStatus was set or updated
|
|
|
|
Deprecated: this field is not used and will be removed in a future release.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: Message is a human-readable informational message
|
|
describing the health status
|
|
type: string
|
|
status:
|
|
description: Status holds the status code of the resource
|
|
type: string
|
|
type: object
|
|
hook:
|
|
description: Hook is true if the resource is used as a lifecycle
|
|
hook in an Hanzo CD application.
|
|
type: boolean
|
|
kind:
|
|
description: Kind specifies the type of the resource (e.g.,
|
|
"Deployment", "Service").
|
|
type: string
|
|
name:
|
|
description: Name is the unique name of the resource within
|
|
the namespace.
|
|
type: string
|
|
namespace:
|
|
description: Namespace defines the Kubernetes namespace where
|
|
the resource is located.
|
|
type: string
|
|
requiresDeletionConfirmation:
|
|
description: RequiresDeletionConfirmation is true if the resource
|
|
requires explicit user confirmation before deletion.
|
|
type: boolean
|
|
requiresPruning:
|
|
description: RequiresPruning is true if the resource needs to
|
|
be pruned (deleted) as part of synchronization.
|
|
type: boolean
|
|
status:
|
|
description: Status represents the synchronization state of
|
|
the resource (e.g., Synced, OutOfSync).
|
|
type: string
|
|
syncWave:
|
|
description: |-
|
|
SyncWave determines the order in which resources are applied during a sync operation.
|
|
Lower values are applied first.
|
|
format: int64
|
|
type: integer
|
|
version:
|
|
description: Version indicates the API version of the resource
|
|
(e.g., "v1", "v1beta1").
|
|
type: string
|
|
type: object
|
|
type: array
|
|
sourceHydrator:
|
|
description: SourceHydrator stores information about the current state
|
|
of source hydration
|
|
properties:
|
|
currentOperation:
|
|
description: CurrentOperation holds the status of the hydrate
|
|
operation
|
|
properties:
|
|
drySHA:
|
|
description: DrySHA holds the resolved revision (sha) of the
|
|
dry source as of the most recent reconciliation
|
|
type: string
|
|
finishedAt:
|
|
description: FinishedAt indicates when the hydrate operation
|
|
finished
|
|
format: date-time
|
|
type: string
|
|
hydratedSHA:
|
|
description: HydratedSHA holds the resolved revision (sha)
|
|
of the hydrated source as of the most recent reconciliation
|
|
type: string
|
|
message:
|
|
description: Message contains a message describing the current
|
|
status of the hydrate operation
|
|
type: string
|
|
phase:
|
|
description: Phase indicates the status of the hydrate operation
|
|
enum:
|
|
- Hydrating
|
|
- Failed
|
|
- Hydrated
|
|
type: string
|
|
sourceHydrator:
|
|
description: SourceHydrator holds the hydrator config used
|
|
for the hydrate operation
|
|
properties:
|
|
drySource:
|
|
description: DrySource specifies where the dry "don't
|
|
repeat yourself" manifest source lives.
|
|
properties:
|
|
directory:
|
|
description: Directory specifies path/directory specific
|
|
options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
excluded from being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
included during manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to
|
|
Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet
|
|
External Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan
|
|
a directory recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm specifies helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters
|
|
to the helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm
|
|
parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file
|
|
containing the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents
|
|
helm template from failing when valueFiles do
|
|
not exist locally by not appending them to helm
|
|
template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace
|
|
to template with. If left empty, defaults to
|
|
the app's destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command
|
|
upon manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether
|
|
to tell Helm to interpret booleans and
|
|
numbers as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials
|
|
to all domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name
|
|
to use. If omitted it will use the application
|
|
name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value
|
|
files to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values
|
|
to be passed to helm template, defined as a
|
|
map. This takes precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use
|
|
for templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize specifies kustomize specific
|
|
options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies
|
|
whether to apply env variables substitution
|
|
for annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional
|
|
labels to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before
|
|
building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies
|
|
whether to force applying common annotations
|
|
to resources for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether
|
|
to force applying common labels to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents
|
|
kustomize from failing when components do not
|
|
exist locally by not appending them to kustomization
|
|
file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image
|
|
override specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates
|
|
or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors
|
|
or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that
|
|
Kustomize adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of
|
|
Kustomize to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
path:
|
|
description: Path is a directory path within the Git
|
|
repository where the manifests are located
|
|
type: string
|
|
plugin:
|
|
description: Plugin specifies config management plugin
|
|
specific options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable
|
|
entries
|
|
items:
|
|
description: EnvEntry represents an entry in
|
|
the application's environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array
|
|
type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type
|
|
parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying
|
|
a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
repoURL:
|
|
description: RepoURL is the URL to the git repository
|
|
that contains the application manifests
|
|
type: string
|
|
targetRevision:
|
|
description: TargetRevision defines the revision of
|
|
the source to hydrate
|
|
type: string
|
|
required:
|
|
- path
|
|
- repoURL
|
|
- targetRevision
|
|
type: object
|
|
hydrateTo:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
targetBranch:
|
|
description: TargetBranch is the branch to which hydrated
|
|
manifests should be committed
|
|
type: string
|
|
required:
|
|
- targetBranch
|
|
type: object
|
|
syncSource:
|
|
description: SyncSource specifies where to sync hydrated
|
|
manifests from.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
Path is a directory path within the git repository where hydrated manifests should be committed to and synced
|
|
from. The Path should never point to the root of the repo. If hydrateTo is set, this is just the path from which
|
|
hydrated manifests will be synced.
|
|
minLength: 1
|
|
pattern: ^.{2,}|[^./]$
|
|
type: string
|
|
repoURL:
|
|
description: |-
|
|
RepoURL is the URL to the git repository that contains the hydrated manifests. If not set, defaults to
|
|
the DrySource.RepoURL.
|
|
type: string
|
|
targetBranch:
|
|
description: |-
|
|
TargetBranch is the branch from which hydrated manifests will be synced.
|
|
If HydrateTo is not set, this is also the branch to which hydrated manifests are committed.
|
|
type: string
|
|
required:
|
|
- path
|
|
- targetBranch
|
|
type: object
|
|
required:
|
|
- drySource
|
|
- syncSource
|
|
type: object
|
|
startedAt:
|
|
description: StartedAt indicates when the hydrate operation
|
|
started
|
|
format: date-time
|
|
type: string
|
|
required:
|
|
- message
|
|
- phase
|
|
type: object
|
|
lastComparedDryRevision:
|
|
description: |-
|
|
LastComparedDryRevision holds the resolved revision from the most recent dry source comparison.
|
|
This is updated on every evaluation, even when hydration is skipped due to no changes.
|
|
type: string
|
|
lastSuccessfulOperation:
|
|
description: LastSuccessfulOperation holds info about the most
|
|
recent successful hydration
|
|
properties:
|
|
drySHA:
|
|
description: DrySHA holds the resolved revision (sha) of the
|
|
dry source as of the most recent reconciliation
|
|
type: string
|
|
hydratedSHA:
|
|
description: HydratedSHA holds the resolved revision (sha)
|
|
of the hydrated source as of the most recent reconciliation
|
|
type: string
|
|
sourceHydrator:
|
|
description: SourceHydrator holds the hydrator config used
|
|
for the hydrate operation
|
|
properties:
|
|
drySource:
|
|
description: DrySource specifies where the dry "don't
|
|
repeat yourself" manifest source lives.
|
|
properties:
|
|
directory:
|
|
description: Directory specifies path/directory specific
|
|
options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
excluded from being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
included during manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to
|
|
Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet
|
|
External Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan
|
|
a directory recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm specifies helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters
|
|
to the helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm
|
|
parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file
|
|
containing the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents
|
|
helm template from failing when valueFiles do
|
|
not exist locally by not appending them to helm
|
|
template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace
|
|
to template with. If left empty, defaults to
|
|
the app's destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command
|
|
upon manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether
|
|
to tell Helm to interpret booleans and
|
|
numbers as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials
|
|
to all domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name
|
|
to use. If omitted it will use the application
|
|
name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value
|
|
files to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values
|
|
to be passed to helm template, defined as a
|
|
map. This takes precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use
|
|
for templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize specifies kustomize specific
|
|
options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies
|
|
whether to apply env variables substitution
|
|
for annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional
|
|
labels to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before
|
|
building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies
|
|
whether to force applying common annotations
|
|
to resources for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether
|
|
to force applying common labels to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents
|
|
kustomize from failing when components do not
|
|
exist locally by not appending them to kustomization
|
|
file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image
|
|
override specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates
|
|
or not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors
|
|
or not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that
|
|
Kustomize adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of
|
|
Kustomize to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
path:
|
|
description: Path is a directory path within the Git
|
|
repository where the manifests are located
|
|
type: string
|
|
plugin:
|
|
description: Plugin specifies config management plugin
|
|
specific options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable
|
|
entries
|
|
items:
|
|
description: EnvEntry represents an entry in
|
|
the application's environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array
|
|
type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type
|
|
parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying
|
|
a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
repoURL:
|
|
description: RepoURL is the URL to the git repository
|
|
that contains the application manifests
|
|
type: string
|
|
targetRevision:
|
|
description: TargetRevision defines the revision of
|
|
the source to hydrate
|
|
type: string
|
|
required:
|
|
- path
|
|
- repoURL
|
|
- targetRevision
|
|
type: object
|
|
hydrateTo:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
targetBranch:
|
|
description: TargetBranch is the branch to which hydrated
|
|
manifests should be committed
|
|
type: string
|
|
required:
|
|
- targetBranch
|
|
type: object
|
|
syncSource:
|
|
description: SyncSource specifies where to sync hydrated
|
|
manifests from.
|
|
properties:
|
|
path:
|
|
description: |-
|
|
Path is a directory path within the git repository where hydrated manifests should be committed to and synced
|
|
from. The Path should never point to the root of the repo. If hydrateTo is set, this is just the path from which
|
|
hydrated manifests will be synced.
|
|
minLength: 1
|
|
pattern: ^.{2,}|[^./]$
|
|
type: string
|
|
repoURL:
|
|
description: |-
|
|
RepoURL is the URL to the git repository that contains the hydrated manifests. If not set, defaults to
|
|
the DrySource.RepoURL.
|
|
type: string
|
|
targetBranch:
|
|
description: |-
|
|
TargetBranch is the branch from which hydrated manifests will be synced.
|
|
If HydrateTo is not set, this is also the branch to which hydrated manifests are committed.
|
|
type: string
|
|
required:
|
|
- path
|
|
- targetBranch
|
|
type: object
|
|
required:
|
|
- drySource
|
|
- syncSource
|
|
type: object
|
|
type: object
|
|
type: object
|
|
sourceType:
|
|
description: SourceType specifies the type of this application
|
|
type: string
|
|
sourceTypes:
|
|
description: SourceTypes specifies the type of the sources included
|
|
in the application
|
|
items:
|
|
description: ApplicationSourceType specifies the type of the application's
|
|
source
|
|
type: string
|
|
type: array
|
|
summary:
|
|
description: Summary contains a list of URLs and container images
|
|
used by this application
|
|
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
|
|
isAppOfApps:
|
|
description: IsAppOfApps holds true if the application has any
|
|
application for child resource.
|
|
type: boolean
|
|
type: object
|
|
sync:
|
|
description: Sync contains information about the application's current
|
|
sync status
|
|
properties:
|
|
comparedTo:
|
|
description: ComparedTo contains information about what has been
|
|
compared
|
|
properties:
|
|
destination:
|
|
description: Destination is a reference to the application's
|
|
destination used for comparison
|
|
properties:
|
|
name:
|
|
description: Name is an alternate way of specifying the
|
|
target cluster by its symbolic name. This must be set
|
|
if Server is not set.
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
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
|
|
type: string
|
|
server:
|
|
description: Server specifies the URL of the target cluster's
|
|
Kubernetes control plane API. This must be set if Name
|
|
is not set.
|
|
type: string
|
|
type: object
|
|
ignoreDifferences:
|
|
description: IgnoreDifferences is a reference to the application's
|
|
ignored differences used for 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
|
|
jqPathExpressions:
|
|
items:
|
|
type: string
|
|
type: array
|
|
jsonPointers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
kind:
|
|
type: string
|
|
managedFieldsManagers:
|
|
description: |-
|
|
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
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
type: object
|
|
type: array
|
|
source:
|
|
description: Source is a reference to the application's source
|
|
used for comparison
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be specified
|
|
for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to match
|
|
paths against that should be explicitly excluded
|
|
from being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to match
|
|
paths against that should be explicitly included
|
|
during manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External
|
|
Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a directory
|
|
recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters to
|
|
the helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file containing
|
|
the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm
|
|
template from failing when valueFiles do not exist
|
|
locally by not appending them to helm template --values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace to
|
|
template with. If left empty, defaults to the app's
|
|
destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command upon
|
|
manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether
|
|
to tell Helm to interpret booleans and numbers
|
|
as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to all
|
|
domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name
|
|
to use. If omitted it will use the application name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value files
|
|
to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values to
|
|
be passed to helm template, defined as a map. This
|
|
takes precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use for
|
|
templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies whether
|
|
to apply env variables substitution for annotation
|
|
values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional
|
|
labels to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether
|
|
to force applying common annotations to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether to
|
|
force applying common labels to resources for Kustomize
|
|
apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally
|
|
by not appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image override
|
|
specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates or
|
|
not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors or
|
|
not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix in
|
|
the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is
|
|
displayed in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git repository,
|
|
and is only valid for applications sourced from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable
|
|
entries
|
|
items:
|
|
description: EnvEntry represents an entry in the
|
|
application's environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array
|
|
type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type
|
|
parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying a
|
|
parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within
|
|
sources field. This field will not be used if used with
|
|
a `source` tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git
|
|
or Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
sources:
|
|
description: Sources is a reference to the application's multiple
|
|
sources used for comparison
|
|
items:
|
|
description: ApplicationSource contains all required information
|
|
about the source of an application
|
|
properties:
|
|
chart:
|
|
description: Chart is a Helm chart name, and must be
|
|
specified for applications sourced from a Helm repo.
|
|
type: string
|
|
directory:
|
|
description: Directory holds path/directory specific
|
|
options
|
|
properties:
|
|
exclude:
|
|
description: Exclude contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
excluded from being used during manifest generation
|
|
type: string
|
|
include:
|
|
description: Include contains a glob pattern to
|
|
match paths against that should be explicitly
|
|
included during manifest generation
|
|
type: string
|
|
jsonnet:
|
|
description: Jsonnet holds options specific to Jsonnet
|
|
properties:
|
|
extVars:
|
|
description: ExtVars is a list of Jsonnet External
|
|
Variables
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
libs:
|
|
description: Additional library search dirs
|
|
items:
|
|
type: string
|
|
type: array
|
|
tlas:
|
|
description: TLAS is a list of Jsonnet Top-level
|
|
Arguments
|
|
items:
|
|
description: JsonnetVar represents a variable
|
|
to be passed to jsonnet during manifest
|
|
generation
|
|
properties:
|
|
code:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
type: object
|
|
recurse:
|
|
description: Recurse specifies whether to scan a
|
|
directory recursively for manifests
|
|
type: boolean
|
|
type: object
|
|
helm:
|
|
description: Helm holds helm specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
fileParameters:
|
|
description: FileParameters are file parameters
|
|
to the helm template
|
|
items:
|
|
description: HelmFileParameter is a file parameter
|
|
that's passed to helm template during manifest
|
|
generation
|
|
properties:
|
|
name:
|
|
description: Name is the name of the Helm
|
|
parameter
|
|
type: string
|
|
path:
|
|
description: Path is the path to the file
|
|
containing the values for the Helm parameter
|
|
type: string
|
|
type: object
|
|
type: array
|
|
ignoreMissingValueFiles:
|
|
description: IgnoreMissingValueFiles prevents helm
|
|
template from failing when valueFiles do not exist
|
|
locally by not appending them to helm template
|
|
--values
|
|
type: boolean
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
namespace:
|
|
description: Namespace is an optional namespace
|
|
to template with. If left empty, defaults to the
|
|
app's destination namespace.
|
|
type: string
|
|
parameters:
|
|
description: Parameters is a list of Helm parameters
|
|
which are passed to the helm template command
|
|
upon manifest generation
|
|
items:
|
|
description: HelmParameter is a parameter that's
|
|
passed to helm template during manifest generation
|
|
properties:
|
|
forceString:
|
|
description: ForceString determines whether
|
|
to tell Helm to interpret booleans and numbers
|
|
as strings
|
|
type: boolean
|
|
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
|
|
passCredentials:
|
|
description: PassCredentials pass credentials to
|
|
all domains (Helm's --pass-credentials)
|
|
type: boolean
|
|
releaseName:
|
|
description: ReleaseName is the Helm release name
|
|
to use. If omitted it will use the application
|
|
name
|
|
type: string
|
|
skipCrds:
|
|
description: SkipCrds skips custom resource definition
|
|
installation step (Helm's --skip-crds)
|
|
type: boolean
|
|
skipSchemaValidation:
|
|
description: SkipSchemaValidation skips JSON schema
|
|
validation (Helm's --skip-schema-validation)
|
|
type: boolean
|
|
skipTests:
|
|
description: SkipTests skips test manifest installation
|
|
step (Helm's --skip-tests).
|
|
type: boolean
|
|
valueFiles:
|
|
description: ValuesFiles is a list of Helm value
|
|
files to use when generating a template
|
|
items:
|
|
type: string
|
|
type: array
|
|
values:
|
|
description: 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.
|
|
type: string
|
|
valuesObject:
|
|
description: ValuesObject specifies Helm values
|
|
to be passed to helm template, defined as a map.
|
|
This takes precedence over Values.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
version:
|
|
description: Version is the Helm version to use
|
|
for templating ("3")
|
|
type: string
|
|
type: object
|
|
kustomize:
|
|
description: Kustomize holds kustomize specific options
|
|
properties:
|
|
apiVersions:
|
|
description: |-
|
|
APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
|
|
Hanzo CD uses the API versions of the target cluster. The format is [group/]version/kind.
|
|
items:
|
|
type: string
|
|
type: array
|
|
commonAnnotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonAnnotations is a list of additional
|
|
annotations to add to rendered manifests
|
|
type: object
|
|
commonAnnotationsEnvsubst:
|
|
description: CommonAnnotationsEnvsubst specifies
|
|
whether to apply env variables substitution for
|
|
annotation values
|
|
type: boolean
|
|
commonLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: CommonLabels is a list of additional
|
|
labels to add to rendered manifests
|
|
type: object
|
|
components:
|
|
description: Components specifies a list of kustomize
|
|
components to add to the kustomization before
|
|
building
|
|
items:
|
|
type: string
|
|
type: array
|
|
forceCommonAnnotations:
|
|
description: ForceCommonAnnotations specifies whether
|
|
to force applying common annotations to resources
|
|
for Kustomize apps
|
|
type: boolean
|
|
forceCommonLabels:
|
|
description: ForceCommonLabels specifies whether
|
|
to force applying common labels to resources for
|
|
Kustomize apps
|
|
type: boolean
|
|
ignoreMissingComponents:
|
|
description: IgnoreMissingComponents prevents kustomize
|
|
from failing when components do not exist locally
|
|
by not appending them to kustomization file
|
|
type: boolean
|
|
images:
|
|
description: Images is a list of Kustomize image
|
|
override specifications
|
|
items:
|
|
description: KustomizeImage represents a Kustomize
|
|
image definition in the format [old_image_name=]<image_name>:<image_tag>
|
|
type: string
|
|
type: array
|
|
kubeVersion:
|
|
description: |-
|
|
KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Hanzo CD
|
|
uses the Kubernetes version of the target cluster.
|
|
type: string
|
|
labelIncludeTemplates:
|
|
description: LabelIncludeTemplates specifies whether
|
|
to apply common labels to resource templates or
|
|
not
|
|
type: boolean
|
|
labelWithoutSelector:
|
|
description: LabelWithoutSelector specifies whether
|
|
to apply common labels to resource selectors or
|
|
not
|
|
type: boolean
|
|
namePrefix:
|
|
description: NamePrefix overrides the namePrefix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
nameSuffix:
|
|
description: NameSuffix overrides the nameSuffix
|
|
in the kustomization.yaml for Kustomize apps
|
|
type: string
|
|
namespace:
|
|
description: Namespace sets the namespace that Kustomize
|
|
adds to all resources
|
|
type: string
|
|
patches:
|
|
description: Patches is a list of Kustomize patches
|
|
items:
|
|
properties:
|
|
options:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
patch:
|
|
type: string
|
|
path:
|
|
type: string
|
|
target:
|
|
properties:
|
|
annotationSelector:
|
|
type: string
|
|
group:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
labelSelector:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
replicas:
|
|
description: Replicas is a list of Kustomize Replicas
|
|
override specifications
|
|
items:
|
|
properties:
|
|
count:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Number of replicas
|
|
x-kubernetes-int-or-string: true
|
|
name:
|
|
description: Name of Deployment or StatefulSet
|
|
type: string
|
|
required:
|
|
- count
|
|
- name
|
|
type: object
|
|
type: array
|
|
version:
|
|
description: Version controls which version of Kustomize
|
|
to use for rendering manifests
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is used to refer to a source and is
|
|
displayed in the UI. It is used in multi-source Applications.
|
|
type: string
|
|
path:
|
|
description: Path is a directory path within the Git
|
|
repository, and is only valid for applications sourced
|
|
from Git.
|
|
type: string
|
|
plugin:
|
|
description: Plugin holds config management plugin specific
|
|
options
|
|
properties:
|
|
env:
|
|
description: Env is a list of environment variable
|
|
entries
|
|
items:
|
|
description: EnvEntry represents an entry in the
|
|
application's environment
|
|
properties:
|
|
name:
|
|
description: Name is the name of the variable,
|
|
usually expressed in uppercase
|
|
type: string
|
|
value:
|
|
description: Value is the value of the variable
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
parameters:
|
|
items:
|
|
properties:
|
|
array:
|
|
description: Array is the value of an array
|
|
type parameter.
|
|
items:
|
|
type: string
|
|
type: array
|
|
map:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map is the value of a map type
|
|
parameter.
|
|
type: object
|
|
name:
|
|
description: Name is the name identifying
|
|
a parameter.
|
|
type: string
|
|
string:
|
|
description: String_ is the value of a string
|
|
type parameter.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
ref:
|
|
description: Ref is reference to another source within
|
|
sources field. This field will not be used if used
|
|
with a `source` tag.
|
|
type: string
|
|
repoURL:
|
|
description: RepoURL is the URL to the repository (Git
|
|
or Helm) that contains the application manifests
|
|
type: string
|
|
tagPrefix:
|
|
description: |-
|
|
TagPrefix filters git tags to only those with this prefix before evaluating targetRevision as a semver constraint.
|
|
The prefix is stripped from tag names before comparison and re-added to the resolved version.
|
|
For example, with tagPrefix "component-b/" and targetRevision "1.0.*", tags like "component-b/1.0.0" and
|
|
"component-b/1.0.1" are candidates, and the constraint resolves to "component-b/1.0.1".
|
|
type: string
|
|
targetRevision:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- repoURL
|
|
type: object
|
|
type: array
|
|
required:
|
|
- destination
|
|
type: object
|
|
revision:
|
|
description: Revision contains information about the revision
|
|
the comparison has been performed to
|
|
type: string
|
|
revisions:
|
|
description: Revisions contains information about the revisions
|
|
of multiple sources the comparison has been performed to
|
|
items:
|
|
type: string
|
|
type: array
|
|
status:
|
|
description: Status is the sync state of the comparison
|
|
type: string
|
|
required:
|
|
- status
|
|
type: object
|
|
type: object
|
|
required:
|
|
- metadata
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|