github.com/giantswarm/apiextensions/v6@v6.6.0/helm/crds-common/templates/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.7.0 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 - additionalPrinterColumns: 23 - description: Desired version of the app 24 jsonPath: .spec.version 25 name: Desired Version 26 priority: 1 27 type: string 28 - description: Installed version of the app 29 jsonPath: .status.version 30 name: Installed Version 31 type: string 32 - description: Time of app creation 33 jsonPath: .metadata.creationTimestamp 34 name: Created At 35 type: date 36 - description: Time since last deployment 37 jsonPath: .status.release.lastDeployed 38 name: Last Deployed 39 type: date 40 - description: Deployment status of the app 41 jsonPath: .status.release.status 42 name: Status 43 type: string 44 name: v1alpha1 45 schema: 46 openAPIV3Schema: 47 description: App represents a managed app which a user intended to install. 48 It is reconciled by app-operator. 49 properties: 50 apiVersion: 51 description: 'APIVersion defines the versioned schema of this representation 52 of an object. Servers should convert recognized schemas to the latest 53 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 54 type: string 55 kind: 56 description: 'Kind is a string value representing the REST resource this 57 object represents. Servers may infer this from the endpoint the client 58 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 59 type: string 60 metadata: 61 type: object 62 spec: 63 properties: 64 catalog: 65 description: Catalog is the name of the app catalog this app belongs 66 to. e.g. giantswarm 67 type: string 68 catalogNamespace: 69 description: CatalogNamespace is the namespace of the Catalog CR this 70 app belongs to. e.g. giantswarm 71 nullable: true 72 type: string 73 config: 74 description: Config is the config to be applied when the app is deployed. 75 nullable: true 76 properties: 77 configMap: 78 description: ConfigMap references a config map containing values 79 that should be applied to the app. 80 nullable: true 81 properties: 82 name: 83 description: Name is the name of the config map containing 84 app values to apply, e.g. prometheus-values. 85 type: string 86 namespace: 87 description: Namespace is the namespace of the values config 88 map, e.g. monitoring. 89 type: string 90 required: 91 - name 92 - namespace 93 type: object 94 secret: 95 description: Secret references a secret containing secret values 96 that should be applied to the app. 97 nullable: true 98 properties: 99 name: 100 description: Name is the name of the secret containing app 101 values to apply, e.g. prometheus-secret. 102 type: string 103 namespace: 104 description: Namespace is the namespace of the secret, e.g. 105 kube-system. 106 type: string 107 required: 108 - name 109 - namespace 110 type: object 111 type: object 112 extraConfigs: 113 description: 'ExtraConfigs is a list of configurations to merge together 114 based on the priority and order in the list. See: https://github.com/giantswarm/rfc/tree/main/multi-layer-app-config#enhancing-app-cr' 115 items: 116 properties: 117 kind: 118 default: configMap 119 description: Kind of configuration to look up that should be 120 applied to the app when deployed. 121 enum: 122 - configMap 123 - secret 124 type: string 125 name: 126 description: Name of the resource of the given kind to look 127 up. 128 type: string 129 namespace: 130 description: Namespace where the resource with the given name 131 and kind to look up is located. 132 type: string 133 priority: 134 default: 25 135 description: 'Priority is used to indicate at which stage the 136 extra configuration should be merged. See: https://github.com/giantswarm/rfc/tree/main/multi-layer-app-config#enhancing-app-cr' 137 maximum: 150 138 minimum: 1 139 type: integer 140 required: 141 - name 142 - namespace 143 type: object 144 nullable: true 145 type: array 146 install: 147 description: Install is the config used when installing the app. 148 nullable: true 149 properties: 150 skipCRDs: 151 description: 'SkipCRDs when true decides that CRDs which are supplied 152 with the chart are not installed. Default: false.' 153 nullable: true 154 type: boolean 155 timeout: 156 description: Timeout for the Helm install. When not set the default 157 timeout of 5 minutes is being enforced. 158 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 159 type: string 160 type: object 161 kubeConfig: 162 description: KubeConfig is the kubeconfig to connect to the cluster 163 when deploying the app. 164 properties: 165 context: 166 description: Context is the kubeconfig context. 167 nullable: true 168 properties: 169 name: 170 description: Name is the name of the kubeconfig context. e.g. 171 giantswarm-12345. 172 type: string 173 required: 174 - name 175 type: object 176 inCluster: 177 description: InCluster is a flag for whether to use InCluster 178 credentials. When true the context name and secret should not 179 be set. 180 type: boolean 181 secret: 182 description: Secret references a secret containing the kubconfig. 183 nullable: true 184 properties: 185 name: 186 description: Name is the name of the secret containing the 187 kubeconfig, e.g. app-operator-kubeconfig. 188 type: string 189 namespace: 190 description: Namespace is the namespace of the secret containing 191 the kubeconfig, e.g. giantswarm. 192 type: string 193 required: 194 - name 195 - namespace 196 type: object 197 required: 198 - inCluster 199 type: object 200 name: 201 description: Name is the name of the app to be deployed. e.g. kubernetes-prometheus 202 type: string 203 namespace: 204 description: Namespace is the target namespace where the app should 205 be deployed e.g. monitoring, it cannot be changed. 206 type: string 207 namespaceConfig: 208 description: NamespaceConfig is the namespace config to be applied 209 to the target namespace when the app is deployed. 210 nullable: true 211 properties: 212 annotations: 213 additionalProperties: 214 type: string 215 description: Annotations is a string map of annotations to apply 216 to the target namespace. 217 nullable: true 218 type: object 219 labels: 220 additionalProperties: 221 type: string 222 description: Labels is a string map of labels to apply to the 223 target namespace. 224 nullable: true 225 type: object 226 type: object 227 rollback: 228 description: Rollback is the config used when rolling back the app. 229 nullable: true 230 properties: 231 timeout: 232 description: Timeout for the Helm rollback. When not set the default 233 timeout of 5 minutes is being enforced. 234 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 235 type: string 236 type: object 237 uninstall: 238 description: Uninstall is the config used when uninstalling the app. 239 nullable: true 240 properties: 241 timeout: 242 description: Timeout for the Helm uninstall. When not set the 243 default timeout of 5 minutes is being enforced. 244 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 245 type: string 246 type: object 247 upgrade: 248 description: Upgrade is the config used when upgrading the app. 249 nullable: true 250 properties: 251 timeout: 252 description: Timeout for the Helm upgrade. When not set the default 253 timeout of 5 minutes is being enforced. 254 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 255 type: string 256 type: object 257 userConfig: 258 description: UserConfig is the user config to be applied when the 259 app is deployed. 260 nullable: true 261 properties: 262 configMap: 263 description: ConfigMap references a config map containing user 264 values that should be applied to the app. 265 nullable: true 266 properties: 267 name: 268 description: Name is the name of the config map containing 269 user values to apply, e.g. prometheus-user-values. 270 type: string 271 namespace: 272 description: Namespace is the namespace of the user values 273 config map on the management cluster, e.g. 123ab. 274 type: string 275 required: 276 - name 277 - namespace 278 type: object 279 secret: 280 description: Secret references a secret containing user secret 281 values that should be applied to the app. 282 nullable: true 283 properties: 284 name: 285 description: Name is the name of the secret containing user 286 values to apply, e.g. prometheus-user-secret. 287 type: string 288 namespace: 289 description: Namespace is the namespace of the secret, e.g. 290 kube-system. 291 type: string 292 required: 293 - name 294 - namespace 295 type: object 296 type: object 297 version: 298 description: Version is the version of the app that should be deployed. 299 e.g. 1.0.0 300 type: string 301 required: 302 - catalog 303 - kubeConfig 304 - name 305 - namespace 306 - version 307 type: object 308 status: 309 description: Status Spec part of the App resource. Initially, it would 310 be left as empty until the operator successfully reconciles the helm 311 release. 312 properties: 313 appVersion: 314 description: AppVersion is the value of the AppVersion field in the 315 Chart.yaml of the deployed app. This is an optional field with the 316 version of the component being deployed. e.g. 0.21.0. https://helm.sh/docs/topics/charts/#the-chartyaml-file 317 type: string 318 release: 319 description: Release is the status of the Helm release for the deployed 320 app. 321 properties: 322 lastDeployed: 323 description: LastDeployed is the time when the app was last deployed. 324 format: date-time 325 nullable: true 326 type: string 327 reason: 328 description: Reason is the description of the last status of helm 329 release when the app is not installed successfully, e.g. deploy 330 resource already exists. 331 type: string 332 status: 333 description: Status is the status of the deployed app, e.g. DEPLOYED. 334 type: string 335 required: 336 - status 337 type: object 338 version: 339 description: Version is the value of the Version field in the Chart.yaml 340 of the deployed app. e.g. 1.0.0. 341 type: string 342 required: 343 - appVersion 344 - release 345 - version 346 type: object 347 required: 348 - spec 349 type: object 350 served: true 351 storage: true 352 subresources: 353 status: {} 354 status: 355 acceptedNames: 356 kind: "" 357 plural: "" 358 conditions: [] 359 storedVersions: []