k8c.io/api/v3@v3.0.0-20230904060738-b0a93889c0b6/crd/enterprise/kcp/ee.apps.kubermatic.k8c.io_applicationdefinitions.yaml (about)

     1  # This file has been generated by hack/update-codegen.sh, DO NOT EDIT.
     2  
     3  apiVersion: apiextensions.k8s.io/v1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    annotations:
     7      controller-gen.kubebuilder.io/version: v0.12.0
     8    name: applicationdefinitions.ee.apps.kubermatic.k8c.io
     9  spec:
    10    group: ee.apps.kubermatic.k8c.io
    11    names:
    12      kind: ApplicationDefinition
    13      listKind: ApplicationDefinitionList
    14      plural: applicationdefinitions
    15      shortNames:
    16        - appdef
    17      singular: applicationdefinition
    18    scope: Cluster
    19    versions:
    20      - name: v1
    21        schema:
    22          openAPIV3Schema:
    23            description: ApplicationDefinition is the Schema for the applicationdefinitions API.
    24            properties:
    25              apiVersion:
    26                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'
    27                type: string
    28              kind:
    29                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'
    30                type: string
    31              metadata:
    32                type: object
    33              spec:
    34                description: ApplicationDefinitionSpec defines the desired state of ApplicationDefinition.
    35                properties:
    36                  defaultDeployOptions:
    37                    description: DefaultDeployOptions holds the settings specific to the templating method used to deploy the application. These settings can be overridden in applicationInstallation.
    38                    properties:
    39                      helm:
    40                        description: HelmDeployOptions holds the deployment settings when templating method is Helm.
    41                        properties:
    42                          atomic:
    43                            description: Atomic corresponds to the --atomic flag on Helm cli. if set, the installation process deletes the installation on failure; the upgrade process rolls back changes made in case of failed upgrade.
    44                            type: boolean
    45                          enableDNS:
    46                            description: EnableDNS  corresponds to the --enable-dns flag on Helm cli. enable DNS lookups when rendering templates. if you enable this flag, you have to verify that helm template function 'getHostByName' is not being used in a chart to disclose any information you do not want to be passed to DNS servers.(c.f. CVE-2023-25165)
    47                            type: boolean
    48                          timeout:
    49                            description: Timeout corresponds to the --timeout flag on Helm cli. time to wait for any individual Kubernetes operation.
    50                            type: string
    51                          wait:
    52                            description: Wait corresponds to the --wait flag on Helm cli. if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful. It will wait for as long as timeout
    53                            type: boolean
    54                        type: object
    55                    type: object
    56                  defaultValues:
    57                    description: DefaultValues describe overrides for manifest-rendering in UI when creating an application.
    58                    type: object
    59                    x-kubernetes-preserve-unknown-fields: true
    60                  description:
    61                    description: Description of the application. what is its purpose
    62                    type: string
    63                  method:
    64                    description: Method used to install the application
    65                    enum:
    66                      - helm
    67                    type: string
    68                  versions:
    69                    description: Available version for this application
    70                    items:
    71                      properties:
    72                        template:
    73                          description: Template defines how application is installed (source provenance, Method...)
    74                          properties:
    75                            source:
    76                              description: Defined how the source of the application (e.g Helm chart) is retrieved. Exactly one type of source must be defined.
    77                              properties:
    78                                git:
    79                                  description: Install application from a Git repository
    80                                  properties:
    81                                    credentials:
    82                                      description: Credentials are optional and holds the git credentials
    83                                      properties:
    84                                        method:
    85                                          description: Authentication method. Either password or token or ssh-key. if method is password then username and password must be defined. if method is token then token must be defined. if method is ssh-key then ssh-key must be defined.
    86                                          enum:
    87                                            - password
    88                                            - token
    89                                            - ssh-key
    90                                          type: string
    91                                        password:
    92                                          description: Password holds the ref and key in the secret for the Password credential. The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
    93                                          properties:
    94                                            key:
    95                                              description: The key of the secret to select from.  Must be a valid secret key.
    96                                              type: string
    97                                            name:
    98                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
    99                                              type: string
   100                                            optional:
   101                                              description: Specify whether the Secret or its key must be defined
   102                                              type: boolean
   103                                          required:
   104                                            - key
   105                                          type: object
   106                                          x-kubernetes-map-type: atomic
   107                                        sshKey:
   108                                          description: SSHKey holds the ref and key in the secret for the SshKey credential. The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
   109                                          properties:
   110                                            key:
   111                                              description: The key of the secret to select from.  Must be a valid secret key.
   112                                              type: string
   113                                            name:
   114                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   115                                              type: string
   116                                            optional:
   117                                              description: Specify whether the Secret or its key must be defined
   118                                              type: boolean
   119                                          required:
   120                                            - key
   121                                          type: object
   122                                          x-kubernetes-map-type: atomic
   123                                        token:
   124                                          description: Token holds the ref and key in the secret for the token credential. The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
   125                                          properties:
   126                                            key:
   127                                              description: The key of the secret to select from.  Must be a valid secret key.
   128                                              type: string
   129                                            name:
   130                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   131                                              type: string
   132                                            optional:
   133                                              description: Specify whether the Secret or its key must be defined
   134                                              type: boolean
   135                                          required:
   136                                            - key
   137                                          type: object
   138                                          x-kubernetes-map-type: atomic
   139                                        username:
   140                                          description: Username holds the ref and key in the secret for the username credential. The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
   141                                          properties:
   142                                            key:
   143                                              description: The key of the secret to select from.  Must be a valid secret key.
   144                                              type: string
   145                                            name:
   146                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   147                                              type: string
   148                                            optional:
   149                                              description: Specify whether the Secret or its key must be defined
   150                                              type: boolean
   151                                          required:
   152                                            - key
   153                                          type: object
   154                                          x-kubernetes-map-type: atomic
   155                                      required:
   156                                        - method
   157                                      type: object
   158                                    path:
   159                                      description: Path of the "source" in the repository. default is repository root
   160                                      type: string
   161                                    ref:
   162                                      description: Git reference to checkout. For large repositories, we recommend to either use Tag, Branch or Branch+Commit. This allows a shallow clone, which dramatically speeds up performance
   163                                      properties:
   164                                        branch:
   165                                          description: Branch to checkout. Only the last commit of the branch will be checkout in order to reduce the amount of data to download.
   166                                          type: string
   167                                        commit:
   168                                          description: "Commit SHA in a Branch to checkout. \n It must be used in conjunction with branch field."
   169                                          pattern: ^[a-f0-9]{40}$
   170                                          type: string
   171                                        tag:
   172                                          description: Tag to check out. It can not be used in conjunction with commit or branch.
   173                                          type: string
   174                                      type: object
   175                                    remote:
   176                                      description: URL to the repository. Can be HTTP(s) (e.g. https://example.com/myrepo) or SSH (e.g. git://example.com[:port]/path/to/repo.git/)
   177                                      minLength: 1
   178                                      type: string
   179                                  required:
   180                                    - ref
   181                                    - remote
   182                                  type: object
   183                                helm:
   184                                  description: Install Application from a Helm repository
   185                                  properties:
   186                                    chartName:
   187                                      description: Name of the Chart.
   188                                      minLength: 1
   189                                      type: string
   190                                    chartVersion:
   191                                      description: Version of the Chart.
   192                                      minLength: 1
   193                                      type: string
   194                                    credentials:
   195                                      description: Credentials are optional and hold the ref to the secret with helm credentials. Either username / Password or registryConfigFile can be defined.
   196                                      properties:
   197                                        password:
   198                                          description: Password holds the ref and key in the secret for the Password credential. The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
   199                                          properties:
   200                                            key:
   201                                              description: The key of the secret to select from.  Must be a valid secret key.
   202                                              type: string
   203                                            name:
   204                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   205                                              type: string
   206                                            optional:
   207                                              description: Specify whether the Secret or its key must be defined
   208                                              type: boolean
   209                                          required:
   210                                            - key
   211                                          type: object
   212                                          x-kubernetes-map-type: atomic
   213                                        registryConfigFile:
   214                                          description: RegistryConfigFile holds the ref and key in the secret for the registry credential file. The value is dockercfg file that follows the same format rules as ~/.docker/config.json The The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
   215                                          properties:
   216                                            key:
   217                                              description: The key of the secret to select from.  Must be a valid secret key.
   218                                              type: string
   219                                            name:
   220                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   221                                              type: string
   222                                            optional:
   223                                              description: Specify whether the Secret or its key must be defined
   224                                              type: boolean
   225                                          required:
   226                                            - key
   227                                          type: object
   228                                          x-kubernetes-map-type: atomic
   229                                        username:
   230                                          description: Username holds the ref and key in the secret for the username credential. The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
   231                                          properties:
   232                                            key:
   233                                              description: The key of the secret to select from.  Must be a valid secret key.
   234                                              type: string
   235                                            name:
   236                                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   237                                              type: string
   238                                            optional:
   239                                              description: Specify whether the Secret or its key must be defined
   240                                              type: boolean
   241                                          required:
   242                                            - key
   243                                          type: object
   244                                          x-kubernetes-map-type: atomic
   245                                      type: object
   246                                    url:
   247                                      description: URl of the helm repository. It can be an HTTP(s) repository (e.g. https://localhost/myrepo) or on OCI repository (e.g. oci://localhost:5000/myrepo).
   248                                      pattern: ^(http|https|oci)://.+
   249                                      type: string
   250                                  required:
   251                                    - chartName
   252                                    - chartVersion
   253                                    - url
   254                                  type: object
   255                              type: object
   256                            templateCredentials:
   257                              description: DependencyCredentials holds the credentials that may be needed for templating the application.
   258                              properties:
   259                                helmCredentials:
   260                                  description: HelmCredentials holds the ref to the secret with helm credentials needed to build helm dependencies. It is not required when using helm as a source, as dependencies are already prepackaged in this case. It's either username / password or a registryConfigFile can be defined.
   261                                  properties:
   262                                    password:
   263                                      description: Password holds the ref and key in the secret for the Password credential. The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
   264                                      properties:
   265                                        key:
   266                                          description: The key of the secret to select from.  Must be a valid secret key.
   267                                          type: string
   268                                        name:
   269                                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   270                                          type: string
   271                                        optional:
   272                                          description: Specify whether the Secret or its key must be defined
   273                                          type: boolean
   274                                      required:
   275                                        - key
   276                                      type: object
   277                                      x-kubernetes-map-type: atomic
   278                                    registryConfigFile:
   279                                      description: RegistryConfigFile holds the ref and key in the secret for the registry credential file. The value is dockercfg file that follows the same format rules as ~/.docker/config.json The The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
   280                                      properties:
   281                                        key:
   282                                          description: The key of the secret to select from.  Must be a valid secret key.
   283                                          type: string
   284                                        name:
   285                                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   286                                          type: string
   287                                        optional:
   288                                          description: Specify whether the Secret or its key must be defined
   289                                          type: boolean
   290                                      required:
   291                                        - key
   292                                      type: object
   293                                      x-kubernetes-map-type: atomic
   294                                    username:
   295                                      description: Username holds the ref and key in the secret for the username credential. The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git
   296                                      properties:
   297                                        key:
   298                                          description: The key of the secret to select from.  Must be a valid secret key.
   299                                          type: string
   300                                        name:
   301                                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   302                                          type: string
   303                                        optional:
   304                                          description: Specify whether the Secret or its key must be defined
   305                                          type: boolean
   306                                      required:
   307                                        - key
   308                                      type: object
   309                                      x-kubernetes-map-type: atomic
   310                                  type: object
   311                              type: object
   312                          required:
   313                            - source
   314                          type: object
   315                        version:
   316                          description: Version of the application (e.g. v1.2.3)
   317                          pattern: v?([0-9]+)(\.[0-9]+)?(\.[0-9]+)?(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?
   318                          type: string
   319                      required:
   320                        - template
   321                        - version
   322                      type: object
   323                    type: array
   324                required:
   325                  - description
   326                  - method
   327                  - versions
   328                type: object
   329            type: object
   330        served: true
   331        storage: true