github.com/giantswarm/apiextensions/v2@v2.6.2/config/crd/v1/application.giantswarm.io_apps.yaml (about)

     1  
     2  ---
     3  apiVersion: apiextensions.k8s.io/v1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    annotations:
     7      controller-gen.kubebuilder.io/version: v0.2.4
     8    creationTimestamp: null
     9    name: apps.application.giantswarm.io
    10  spec:
    11    group: application.giantswarm.io
    12    names:
    13      categories:
    14      - common
    15      - giantswarm
    16      kind: App
    17      listKind: AppList
    18      plural: apps
    19      singular: app
    20    scope: Namespaced
    21    versions:
    22    - name: v1alpha1
    23      schema:
    24        openAPIV3Schema:
    25          description: App represents a managed app.
    26          properties:
    27            apiVersion:
    28              description: 'APIVersion defines the versioned schema of this representation
    29                of an object. Servers should convert recognized schemas to the latest
    30                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    31              type: string
    32            kind:
    33              description: 'Kind is a string value representing the REST resource this
    34                object represents. Servers may infer this from the endpoint the client
    35                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    36              type: string
    37            metadata:
    38              type: object
    39            spec:
    40              properties:
    41                catalog:
    42                  description: Catalog is the name of the app catalog this app belongs
    43                    to. e.g. giantswarm
    44                  type: string
    45                config:
    46                  description: Config is the config to be applied when the app is deployed.
    47                  nullable: true
    48                  properties:
    49                    configMap:
    50                      description: ConfigMap references a config map containing values
    51                        that should be applied to the app.
    52                      nullable: true
    53                      properties:
    54                        name:
    55                          description: Name is the name of the config map containing
    56                            app values to apply, e.g. prometheus-values.
    57                          type: string
    58                        namespace:
    59                          description: Namespace is the namespace of the values config
    60                            map, e.g. monitoring.
    61                          type: string
    62                      required:
    63                      - name
    64                      - namespace
    65                      type: object
    66                    secret:
    67                      description: Secret references a secret containing secret values
    68                        that should be applied to the app.
    69                      nullable: true
    70                      properties:
    71                        name:
    72                          description: Name is the name of the secret containing app
    73                            values to apply, e.g. prometheus-secret.
    74                          type: string
    75                        namespace:
    76                          description: Namespace is the namespace of the secret, e.g.
    77                            kube-system.
    78                          type: string
    79                      required:
    80                      - name
    81                      - namespace
    82                      type: object
    83                  type: object
    84                kubeConfig:
    85                  description: KubeConfig is the kubeconfig to connect to the cluster
    86                    when deploying the app.
    87                  properties:
    88                    context:
    89                      description: Context is the kubeconfig context.
    90                      nullable: true
    91                      properties:
    92                        name:
    93                          description: Name is the name of the kubeconfig context. e.g.
    94                            giantswarm-12345.
    95                          type: string
    96                      required:
    97                      - name
    98                      type: object
    99                    inCluster:
   100                      description: InCluster is a flag for whether to use InCluster
   101                        credentials. When true the context name and secret should not
   102                        be set.
   103                      type: boolean
   104                    secret:
   105                      description: Secret references a secret containing the kubconfig.
   106                      nullable: true
   107                      properties:
   108                        name:
   109                          description: Name is the name of the secret containing the
   110                            kubeconfig, e.g. app-operator-kubeconfig.
   111                          type: string
   112                        namespace:
   113                          description: Namespace is the namespace of the secret containing
   114                            the kubeconfig, e.g. giantswarm.
   115                          type: string
   116                      required:
   117                      - name
   118                      - namespace
   119                      type: object
   120                  required:
   121                  - inCluster
   122                  type: object
   123                name:
   124                  description: Name is the name of the app to be deployed. e.g. kubernetes-prometheus
   125                  type: string
   126                namespace:
   127                  description: Namespace is the namespace where the app should be deployed.
   128                    e.g. monitoring
   129                  type: string
   130                userConfig:
   131                  description: UserConfig is the user config to be applied when the
   132                    app is deployed.
   133                  nullable: true
   134                  properties:
   135                    configMap:
   136                      description: ConfigMap references a config map containing user
   137                        values that should be applied to the app.
   138                      nullable: true
   139                      properties:
   140                        name:
   141                          description: Name is the name of the config map containing
   142                            user values to apply, e.g. prometheus-user-values.
   143                          type: string
   144                        namespace:
   145                          description: Namespace is the namespace of the user values
   146                            config map on the control plane, e.g. 123ab.
   147                          type: string
   148                      required:
   149                      - name
   150                      - namespace
   151                      type: object
   152                    secret:
   153                      description: Secret references a secret containing user secret
   154                        values that should be applied to the app.
   155                      nullable: true
   156                      properties:
   157                        name:
   158                          description: Name is the name of the secret containing user
   159                            values to apply, e.g. prometheus-user-secret.
   160                          type: string
   161                        namespace:
   162                          description: Namespace is the namespace of the secret, e.g.
   163                            kube-system.
   164                          type: string
   165                      required:
   166                      - name
   167                      - namespace
   168                      type: object
   169                  type: object
   170                version:
   171                  description: Version is the version of the app that should be deployed.
   172                    e.g. 1.0.0
   173                  type: string
   174              required:
   175              - catalog
   176              - kubeConfig
   177              - name
   178              - namespace
   179              - version
   180              type: object
   181            status:
   182              description: Status Spec part of the App resource. Initially, it would
   183                be left as empty until the operator successfully reconciles the helm
   184                release.
   185              properties:
   186                appVersion:
   187                  description: AppVersion is the value of the AppVersion field in the
   188                    Chart.yaml of the deployed app. This is an optional field with the
   189                    version of the component being deployed. e.g. 0.21.0. https://helm.sh/docs/topics/charts/#the-chartyaml-file
   190                  type: string
   191                release:
   192                  description: Release is the status of the Helm release for the deployed
   193                    app.
   194                  properties:
   195                    lastDeployed:
   196                      description: LastDeployed is the time when the app was last deployed.
   197                      format: date-time
   198                      nullable: true
   199                      type: string
   200                    reason:
   201                      description: Reason is the description of the last status of helm
   202                        release when the app is not installed successfully, e.g. deploy
   203                        resource already exists.
   204                      type: string
   205                    status:
   206                      description: Status is the status of the deployed app, e.g. DEPLOYED.
   207                      type: string
   208                  required:
   209                  - status
   210                  type: object
   211                version:
   212                  description: Version is the value of the Version field in the Chart.yaml
   213                    of the deployed app. e.g. 1.0.0.
   214                  type: string
   215              required:
   216              - appVersion
   217              - release
   218              - version
   219              type: object
   220          required:
   221          - spec
   222          type: object
   223      served: true
   224      storage: true
   225      subresources:
   226        status: {}
   227  status:
   228    acceptedNames:
   229      kind: ""
   230      plural: ""
   231    conditions: []
   232    storedVersions: []