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
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.
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
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.
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.
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
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 and must be set to the Kubernetes control plane API
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.
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
description:RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
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
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
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 specifes whether to revert resources back to their desired state upon modification in the cluster (default:false)'
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.
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
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
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
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
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:
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
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
description:Recurse specifies whether to scan a directory recursively for manifests
type:boolean
type:object
helm:
description:Helm holds helm specific options
properties:
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
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
releaseName:
description:ReleaseName is the Helm release name to use. If omitted it will use the application name
type:string
valueFiles:
description:ValuesFiles is a list of Helm value files to use when generating a template
items:
type:string
type:array
values:
description:Values specifies Helm values to be passed to helm template, typically defined as a block
type:string
version:
description:Version is the Helm version to use for templating (either "2" or "3")
type:string
type:object
ksonnet:
description:Ksonnet holds ksonnet specific options
properties:
environment:
description:Environment is a ksonnet application environment name
type:string
parameters:
description:Parameters are a list of ksonnet component parameter override values
items:
description:KsonnetParameter is a ksonnet component parameter
properties:
component:
type:string
name:
type:string
value:
type:string
required:
- name
- value
type:object
type:array
type:object
kustomize:
description:Kustomize holds kustomize specific options
properties:
commonAnnotations:
additionalProperties:
type:string
description:CommonAnnotations is a list of additional annotations to add to rendered manifests
type:object
commonLabels:
additionalProperties:
type:string
description:CommonLabels is a list of additional labels to add to rendered manifests
type:object
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
namePrefix:
description:NamePrefix is a prefix appended to resources for Kustomize apps
type:string
nameSuffix:
description:NameSuffix is a suffix appended to resources for Kustomize apps
type:string
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, and is only valid for applications sourced from Git.
type:string
plugin:
description:ConfigManagementPlugin 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
type:object
repoURL:
description:RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
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
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
resources:
description:Resources is a list of Kubernetes resources managed by this application
items:
description: 'ResourceStatus holds the current sync and health status of a resource TODO:describe members of this type'
properties:
group:
type:string
health:
description:HealthStatus contains information about the currently observed health state of an application or resource
properties:
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 or resource
type:string
type:object
hook:
type:boolean
kind:
type:string
name:
type:string
namespace:
type:string
requiresPruning:
type:boolean
status:
description:SyncStatusCode is a type which represents possible comparison results
type:string
version:
type:string
type:object
type:array
sourceType:
description:SourceType specifies the type of this application
type:string
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
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
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 and must be set to the Kubernetes control plane API
type:string
type:object
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:
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
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
releaseName:
description:ReleaseName is the Helm release name to use. If omitted it will use the application name
type:string
valueFiles:
description:ValuesFiles is a list of Helm value files to use when generating a template
items:
type:string
type:array
values:
description:Values specifies Helm values to be passed to helm template, typically defined as a block
description:CommonLabels is a list of additional labels to add to rendered manifests
type:object
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
namePrefix:
description:NamePrefix is a prefix appended to resources for Kustomize apps
type:string
nameSuffix:
description:NameSuffix is a suffix appended to resources for Kustomize apps
type:string
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, and is only valid for applications sourced from Git.
type:string
plugin:
description:ConfigManagementPlugin 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
type:object
repoURL:
description:RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
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
required:
- destination
- source
type:object
revision:
description:Revision contains information about the revision the comparison has been performed to
type:string
status:
description:Status is the sync state of the comparison
description: 'AppProject provides a logical grouping of applications, providing controls for:*where the apps may deploy to (cluster whitelist) * what may be deployed (repository whitelist, resource whitelist/blacklist) * who can access these applications (roles, OIDC group claims bindings) * and what they can do (RBAC policies) * automation access to these roles (JWT tokens)'
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
spec:
description:AppProjectSpec is the specification of an AppProject
properties:
clusterResourceBlacklist:
description:ClusterResourceBlacklist contains list of blacklisted cluster level resources
items:
description:GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
description:ClusterResourceWhitelist contains list of whitelisted cluster level resources
items:
description:GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
description:Destinations contains list of destinations available for deployment
items:
description:ApplicationDestination holds information about the application's destination
properties:
name:
description:Name is an alternate way of specifying the target cluster by its symbolic name
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 and must be set to the Kubernetes control plane API
type:string
type:object
type:array
namespaceResourceBlacklist:
description:NamespaceResourceBlacklist contains list of blacklisted namespace level resources
items:
description:GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
properties:
group:
type:string
kind:
type:string
required:
- group
- kind
type:object
type:array
namespaceResourceWhitelist:
description:NamespaceResourceWhitelist contains list of whitelisted namespace level resources
items:
description:GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
properties:
group:
type:string
kind:
type:string
required:
- group
- kind
type:object
type:array
orphanedResources:
description:OrphanedResources specifies if controller should monitor orphaned resources of apps in this project
properties:
ignore:
description:Ignore contains a list of resources that are to be excluded from orphaned resources monitoring