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