Last generated September 14, 2020

App

App represents a managed app.

Full name:
apps.application.giantswarm.io
Group:
application.giantswarm.io
Singular name:
app
Plural name:
apps
Scope:
Namespaced
Versions:
v1alpha1

Version v1alpha1

Example CR


apiVersion: application.giantswarm.io/v1alpha1
kind: App
metadata:
  creationTimestamp: null
  labels:
    app-operator.giantswarm.io/version: 1.0.0
  name: prometheus
  namespace: default
spec:
  catalog: my-playground-catalog
  config:
    configMap:
      name: f2def-cluster-values
      namespace: f2def
    secret:
      name: f2def-cluster-values
      namespace: f2def
  kubeConfig:
    context:
      name: f2def
    inCluster: false
    secret:
      name: f2def-kubeconfig
      namespace: f2def
  name: prometheus
  namespace: monitoring
  userConfig:
    configMap:
      name: prometheus-user-values
      namespace: f2def
    secret:
      name: prometheus-user-values
      namespace: f2def
  version: 1.0.1

Properties

.apiVersion

string

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

.kind

string

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

.metadata

object

.spec

object Required

.spec.catalog

string Required

Catalog is the name of the app catalog this app belongs to. e.g. giantswarm

.spec.config

object

Config is the config to be applied when the app is deployed.

.spec.config.configMap

object

ConfigMap references a config map containing values that should be applied to the app.

.spec.config.configMap.name

string Required

Name is the name of the config map containing app values to apply, e.g. prometheus-values.

.spec.config.configMap.namespace

string Required

Namespace is the namespace of the values config map, e.g. monitoring.

.spec.config.secret

object

Secret references a secret containing secret values that should be applied to the app.

.spec.config.secret.name

string Required

Name is the name of the secret containing app values to apply, e.g. prometheus-secret.

.spec.config.secret.namespace

string Required

Namespace is the namespace of the secret, e.g. kube-system.

.spec.kubeConfig

object Required

KubeConfig is the kubeconfig to connect to the cluster when deploying the app.

.spec.kubeConfig.context

object

Context is the kubeconfig context.

.spec.kubeConfig.context.name

string Required

Name is the name of the kubeconfig context. e.g. giantswarm-12345.

.spec.kubeConfig.inCluster

boolean Required

InCluster is a flag for whether to use InCluster credentials. When true the context name and secret should not be set.

.spec.kubeConfig.secret

object

Secret references a secret containing the kubconfig.

.spec.kubeConfig.secret.name

string Required

Name is the name of the secret containing the kubeconfig, e.g. app-operator-kubeconfig.

.spec.kubeConfig.secret.namespace

string Required

Namespace is the namespace of the secret containing the kubeconfig, e.g. giantswarm.

.spec.name

string Required

Name is the name of the app to be deployed. e.g. kubernetes-prometheus

.spec.namespace

string Required

Namespace is the namespace where the app should be deployed. e.g. monitoring

.spec.userConfig

object

UserConfig is the user config to be applied when the app is deployed.

.spec.userConfig.configMap

object

ConfigMap references a config map containing user values that should be applied to the app.

.spec.userConfig.configMap.name

string Required

Name is the name of the config map containing user values to apply, e.g. prometheus-user-values.

.spec.userConfig.configMap.namespace

string Required

Namespace is the namespace of the user values config map on the control plane, e.g. 123ab.

.spec.userConfig.secret

object

Secret references a secret containing user secret values that should be applied to the app.

.spec.userConfig.secret.name

string Required

Name is the name of the secret containing user values to apply, e.g. prometheus-user-secret.

.spec.userConfig.secret.namespace

string Required

Namespace is the namespace of the secret, e.g. kube-system.

.spec.version

string Required

Version is the version of the app that should be deployed. e.g. 1.0.0

.status

object

Status Spec part of the App resource. Initially, it would be left as empty until the operator successfully reconciles the helm release.

.status.appVersion

string Required

AppVersion is the value of the AppVersion field in the Chart.yaml of the deployed app. This is an optional field with the version of the component being deployed. e.g. 0.21.0. https://helm.sh/docs/topics/charts/#the-chartyaml-file

.status.release

object Required

Release is the status of the Helm release for the deployed app.

.status.release.lastDeployed

string

LastDeployed is the time when the app was last deployed.

.status.release.reason

string

Reason is the description of the last status of helm release when the app is not installed successfully, e.g. deploy resource already exists.

.status.release.status

string Required

Status is the status of the deployed app, e.g. DEPLOYED.

.status.version

string Required

Version is the value of the Version field in the Chart.yaml of the deployed app. e.g. 1.0.0.


This documentation page shows information based on apiextensions v0.4.19.