Application API reference

Detailed docuementation on the Application API

Packages:

apps.kurator.dev/v1alpha1

Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group

Resource Types:

    Application

    Application is the schema for the application’s API.

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    ApplicationSpec
    source
    ApplicationSource

    Source defines the artifact source.

    syncPolicies
    []ApplicationSyncPolicy

    SyncPolicies controls how the artifact will be customized and where it will be synced.

    destination
    ApplicationDestination
    (Optional)

    Destination defines the destination clusters where the artifacts will be synced. It can be overriden by the syncPolicies’ destination.

    status
    ApplicationStatus

    ApplicationDestination

    (Appears on: ApplicationSpec, ApplicationSyncPolicy)

    ApplicationDestination defines the configuration to dispatch an artifact to a fleet or specific clusters.

    Field Description
    fleet
    string

    Fleet defines the fleet to dispatch the artifact.

    clusterSelector
    ClusterSelector
    (Optional)

    ClusterSelector specifies the selectors to select the clusters within the fleet. If unspecified, all clusters in the fleet will be selected.

    ApplicationSource

    (Appears on: ApplicationSpec)

    ApplicationSource defines the configuration to produce an artifact for git, helm or oci repository. Note only one source can be specified.

    ApplicationSourceStatus

    (Appears on: ApplicationStatus)

    applicationSourceStatus defines the observed state of the artifact source.

    ApplicationSpec

    (Appears on: Application)

    ApplicationSpec defines the configuration to produce an artifact and how to dispatch it.

    Field Description
    source
    ApplicationSource

    Source defines the artifact source.

    syncPolicies
    []ApplicationSyncPolicy

    SyncPolicies controls how the artifact will be customized and where it will be synced.

    destination
    ApplicationDestination
    (Optional)

    Destination defines the destination clusters where the artifacts will be synced. It can be overriden by the syncPolicies’ destination.

    ApplicationStatus

    (Appears on: Application)

    ApplicationStatus defines the observed state of Application.

    Field Description
    sourceStatus
    ApplicationSourceStatus
    syncStatus
    []ApplicationSyncStatus

    ApplicationSyncPolicy

    (Appears on: ApplicationSpec)

    ApplicationSyncPolicy defines the configuration to sync an artifact. Only oneof kustomization or helm can be specified to manage application sync.

    Field Description
    name
    string
    (Optional)

    Name defines the name of the sync policy. If unspecified, a name of format <application name>-<index> will be generated.

    kustomization
    Kustomization
    (Optional)

    Kustomization defines the configuration to calculate the desired state from a source using kustomize.

    helm
    HelmRelease
    (Optional)

    HelmRelease defines the desired state of a Helm release.

    destination
    ApplicationDestination
    (Optional)

    Destination defines the destination for the artifact. If specified, it will override the destination specified at Application level.

    ApplicationSyncStatus

    (Appears on: ApplicationStatus)

    ApplicationSyncStatus defines the observed state of Application sync.

    ClusterSelector

    (Appears on: ApplicationDestination)

    Field Description
    matchLabels
    map[string]string
    (Optional)

    MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors

    CommonMetadata

    (Appears on: Kustomization)

    Field Description
    annotations
    map[string]string
    (Optional)

    Annotations to be added to the object’s metadata.

    labels
    map[string]string
    (Optional)

    Labels to be added to the object’s metadata.

    HelmChartTemplate

    (Appears on: HelmRelease)

    HelmChartTemplate defines the template from which the controller will generate a v1beta2.HelmChart object in the same namespace as the referenced v1beta2.Source.

    Field Description
    metadata
    HelmChartTemplateObjectMeta
    (Optional)

    ObjectMeta holds the template for metadata like labels and annotations.

    spec
    HelmChartTemplateSpec

    Spec holds the template for the v1beta2.HelmChartSpec for this HelmRelease.

    chart
    string

    The name or path the Helm chart is available at in the SourceRef.

    version
    string
    (Optional)

    Version semver expression, ignored for charts from v1beta2.GitRepository and v1beta2.Bucket sources. Defaults to latest when omitted.

    interval
    Kubernetes meta/v1.Duration
    (Optional)

    Interval at which to check the v1beta2.Source for updates. Defaults to ‘HelmReleaseSpec.Interval’.

    reconcileStrategy
    string
    (Optional)

    Determines what enables the creation of a new artifact. Valid values are (‘ChartVersion’, ‘Revision’). See the documentation of the values for an explanation on their behavior. Defaults to ChartVersion when omitted.

    valuesFiles
    []string
    (Optional)

    Alternative list of values files to use as the chart values (values.yaml is not included by default), expected to be a relative path in the SourceRef. Values files are merged in the order of this list with the last file overriding the first. Ignored when omitted.

    HelmChartTemplateObjectMeta

    (Appears on: HelmChartTemplate)

    HelmChartTemplateObjectMeta defines the template for the ObjectMeta of a v1beta2.HelmChart.

    Field Description
    labels
    map[string]string
    (Optional)

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

    annotations
    map[string]string
    (Optional)

    Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/

    HelmChartTemplateSpec

    (Appears on: HelmChartTemplate)

    HelmChartTemplateSpec defines the template from which the controller will generate a v1beta2.HelmChartSpec object.

    Field Description
    chart
    string

    The name or path the Helm chart is available at in the SourceRef.

    version
    string
    (Optional)

    Version semver expression, ignored for charts from v1beta2.GitRepository and v1beta2.Bucket sources. Defaults to latest when omitted.

    interval
    Kubernetes meta/v1.Duration
    (Optional)

    Interval at which to check the v1beta2.Source for updates. Defaults to ‘HelmReleaseSpec.Interval’.

    reconcileStrategy
    string
    (Optional)

    Determines what enables the creation of a new artifact. Valid values are (‘ChartVersion’, ‘Revision’). See the documentation of the values for an explanation on their behavior. Defaults to ChartVersion when omitted.

    valuesFiles
    []string
    (Optional)

    Alternative list of values files to use as the chart values (values.yaml is not included by default), expected to be a relative path in the SourceRef. Values files are merged in the order of this list with the last file overriding the first. Ignored when omitted.

    HelmRelease

    (Appears on: ApplicationSyncPolicy)

    Note: copied from https://github.com/fluxcd/helm-controller/blob/main/api/v2beta1/helmrelease_types.go HelmRelease defines the desired state of a Helm release.

    Field Description
    chart
    HelmChartTemplate

    Chart defines the template of the v1beta2.HelmChart that should be created for this HelmRelease.

    interval
    Kubernetes meta/v1.Duration

    Interval at which to reconcile the Helm release.

    suspend
    bool
    (Optional)

    Suspend tells the controller to suspend reconciliation for this HelmRelease, it does not apply to already started reconciliations. Defaults to false.

    releaseName
    string
    (Optional)

    ReleaseName used for the Helm release. Defaults to a composition of ‘[TargetNamespace-]Name’.

    targetNamespace
    string
    (Optional)

    TargetNamespace to target when performing operations for the HelmRelease. Defaults to the namespace of the HelmRelease.

    dependsOn
    []github.com/fluxcd/pkg/apis/meta.NamespacedObjectReference
    (Optional)

    DependsOn may contain a meta.NamespacedObjectReference slice with references to HelmRelease resources that must be ready before this HelmRelease can be reconciled.

    timeout
    Kubernetes meta/v1.Duration
    (Optional)

    Timeout is the time to wait for any individual Kubernetes operation (like Jobs for hooks) during the performance of a Helm action. Defaults to ‘5m0s’.

    maxHistory
    int
    (Optional)

    MaxHistory is the number of revisions saved by Helm for this HelmRelease. Use ‘0’ for an unlimited number of revisions; defaults to ‘10’.

    serviceAccountName
    string
    (Optional)

    The name of the Kubernetes service account to impersonate when reconciling this HelmRelease.

    persistentClient
    bool
    (Optional)

    PersistentClient tells the controller to use a persistent Kubernetes client for this release. When enabled, the client will be reused for the duration of the reconciliation, instead of being created and destroyed for each (step of a) Helm action.

    This can improve performance, but may cause issues with some Helm charts that for example do create Custom Resource Definitions during installation outside Helm’s CRD lifecycle hooks, which are then not observed to be available by e.g. post-install hooks.

    If not set, it defaults to true.

    install
    github.com/fluxcd/helm-controller/api/v2beta1.Install
    (Optional)

    Install holds the configuration for Helm install actions for this HelmRelease.

    upgrade
    github.com/fluxcd/helm-controller/api/v2beta1.Upgrade
    (Optional)

    Upgrade holds the configuration for Helm upgrade actions for this HelmRelease.

    rollback
    github.com/fluxcd/helm-controller/api/v2beta1.Rollback
    (Optional)

    Rollback holds the configuration for Helm rollback actions for this HelmRelease.

    uninstall
    github.com/fluxcd/helm-controller/api/v2beta1.Uninstall
    (Optional)

    Uninstall holds the configuration for Helm uninstall actions for this HelmRelease.

    valuesFrom
    []github.com/fluxcd/helm-controller/api/v2beta1.ValuesReference

    ValuesFrom holds references to resources containing Helm values for this HelmRelease, and information about how they should be merged.

    values
    Kubernetes /apiextensions/v1.JSON
    (Optional)

    Values holds the values for this Helm release.

    Kustomization

    (Appears on: ApplicationSyncPolicy)

    Note: copied from https://github.com/fluxcd/kustomize-controller/blob/main/api/v1/kustomization_types.go Kustomization defines the configuration to calculate the desired state from a Source using Kustomize.

    Field Description
    commonMetadata
    CommonMetadata
    (Optional)

    CommonMetadata specifies the common labels and annotations that are applied to all resources. Any existing label or annotation will be overridden if its key matches a common one.

    dependsOn
    []github.com/fluxcd/pkg/apis/meta.NamespacedObjectReference
    (Optional)

    DependsOn may contain a meta.NamespacedObjectReference slice with references to Kustomization resources that must be ready before this Kustomization can be reconciled.

    interval
    Kubernetes meta/v1.Duration

    The interval at which to reconcile the Kustomization.

    retryInterval
    Kubernetes meta/v1.Duration
    (Optional)

    The interval at which to retry a previously failed reconciliation. When not specified, the controller uses the KustomizationSpec.Interval value to retry failures.

    path
    string
    (Optional)

    Path to the directory containing the kustomization.yaml file, or the set of plain YAMLs a kustomization.yaml should be generated for. Defaults to ‘None’, which translates to the root path of the SourceRef.

    prune
    bool

    Prune enables garbage collection.

    patches
    []github.com/fluxcd/pkg/apis/kustomize.Patch
    (Optional)

    Strategic merge and JSON patches, defined as inline YAML objects, capable of targeting objects based on kind, label and annotation selectors.

    images
    []github.com/fluxcd/pkg/apis/kustomize.Image
    (Optional)

    Images is a list of (image name, new name, new tag or digest) for changing image names, tags or digests. This can also be achieved with a patch, but this operator is simpler to specify.

    suspend
    bool
    (Optional)

    This flag tells the controller to suspend subsequent kustomize executions, it does not apply to already started executions. Defaults to false.

    targetNamespace
    string
    (Optional)

    TargetNamespace sets or overrides the namespace in the kustomization.yaml file.

    timeout
    Kubernetes meta/v1.Duration
    (Optional)

    Timeout for validation, apply and health checking operations. Defaults to ‘Interval’ duration.

    force
    bool
    (Optional)

    Force instructs the controller to recreate resources when patching fails due to an immutable field change.

    components
    []string
    (Optional)

    Components specifies relative paths to specifications of other Components.

    This page was automatically generated with gen-crd-api-reference-docs