Hybrid cloud cluster monorepo with Ansible, K8s, NixOS, and Terraform. cute.haus
ansible terraform nix k8s
0

Configure Feed

Select the types of activity you want to include in your feed.

Update dependency fluxcd/flux2 to v2.9.0

authored by

renovate[bot] and committed by
Aly Raffauf
(Jul 1, 2026, 6:43 PM EDT) be95182a 5df48da3

+5162 -5643
+5162 -5643
k8s/flux/system/gotk-components.yaml
··· 1 1 --- 2 2 # This manifest was generated by flux. DO NOT EDIT. 3 - # Flux Version: v2.8.8 3 + # Flux Version: v2.9.0 4 4 # Components: source-controller,kustomize-controller,helm-controller,notification-controller 5 5 apiVersion: v1 6 6 kind: Namespace ··· 8 8 labels: 9 9 app.kubernetes.io/instance: flux-system 10 10 app.kubernetes.io/part-of: flux 11 - app.kubernetes.io/version: v2.8.8 11 + app.kubernetes.io/version: v2.9.0 12 12 pod-security.kubernetes.io/warn: restricted 13 13 pod-security.kubernetes.io/warn-version: latest 14 14 name: flux-system ··· 19 19 labels: 20 20 app.kubernetes.io/instance: flux-system 21 21 app.kubernetes.io/part-of: flux 22 - app.kubernetes.io/version: v2.8.8 22 + app.kubernetes.io/version: v2.9.0 23 23 name: allow-egress 24 24 namespace: flux-system 25 25 spec: 26 26 egress: 27 - - {} 27 + - {} 28 28 ingress: 29 - - from: 30 - - podSelector: {} 29 + - from: 30 + - podSelector: {} 31 31 podSelector: {} 32 32 policyTypes: 33 - - Ingress 34 - - Egress 33 + - Ingress 34 + - Egress 35 35 --- 36 36 apiVersion: networking.k8s.io/v1 37 37 kind: NetworkPolicy ··· 39 39 labels: 40 40 app.kubernetes.io/instance: flux-system 41 41 app.kubernetes.io/part-of: flux 42 - app.kubernetes.io/version: v2.8.8 42 + app.kubernetes.io/version: v2.9.0 43 43 name: allow-scraping 44 44 namespace: flux-system 45 45 spec: 46 46 ingress: 47 - - from: 48 - - namespaceSelector: {} 49 - ports: 50 - - port: 8080 51 - protocol: TCP 47 + - from: 48 + - namespaceSelector: {} 49 + ports: 50 + - port: 8080 51 + protocol: TCP 52 52 podSelector: {} 53 53 policyTypes: 54 - - Ingress 54 + - Ingress 55 55 --- 56 56 apiVersion: networking.k8s.io/v1 57 57 kind: NetworkPolicy ··· 59 59 labels: 60 60 app.kubernetes.io/instance: flux-system 61 61 app.kubernetes.io/part-of: flux 62 - app.kubernetes.io/version: v2.8.8 62 + app.kubernetes.io/version: v2.9.0 63 63 name: allow-webhooks 64 64 namespace: flux-system 65 65 spec: 66 66 ingress: 67 - - from: 68 - - namespaceSelector: {} 67 + - from: 68 + - namespaceSelector: {} 69 69 podSelector: 70 70 matchLabels: 71 71 app: notification-controller 72 72 policyTypes: 73 - - Ingress 73 + - Ingress 74 74 --- 75 75 apiVersion: v1 76 76 kind: ResourceQuota ··· 78 78 labels: 79 79 app.kubernetes.io/instance: flux-system 80 80 app.kubernetes.io/part-of: flux 81 - app.kubernetes.io/version: v2.8.8 81 + app.kubernetes.io/version: v2.9.0 82 82 name: critical-pods-flux-system 83 83 namespace: flux-system 84 84 spec: ··· 86 86 pods: "1000" 87 87 scopeSelector: 88 88 matchExpressions: 89 - - operator: In 90 - scopeName: PriorityClass 91 - values: 92 - - system-node-critical 93 - - system-cluster-critical 89 + - operator: In 90 + scopeName: PriorityClass 91 + values: 92 + - system-node-critical 93 + - system-cluster-critical 94 94 --- 95 95 apiVersion: rbac.authorization.k8s.io/v1 96 96 kind: ClusterRole ··· 98 98 labels: 99 99 app.kubernetes.io/instance: flux-system 100 100 app.kubernetes.io/part-of: flux 101 - app.kubernetes.io/version: v2.8.8 101 + app.kubernetes.io/version: v2.9.0 102 102 name: crd-controller-flux-system 103 103 rules: 104 - - apiGroups: 105 - - source.toolkit.fluxcd.io 106 - resources: 107 - - "*" 108 - verbs: 109 - - "*" 110 - - apiGroups: 111 - - kustomize.toolkit.fluxcd.io 112 - resources: 113 - - "*" 114 - verbs: 115 - - "*" 116 - - apiGroups: 117 - - helm.toolkit.fluxcd.io 118 - resources: 119 - - "*" 120 - verbs: 121 - - "*" 122 - - apiGroups: 123 - - notification.toolkit.fluxcd.io 124 - resources: 125 - - "*" 126 - verbs: 127 - - "*" 128 - - apiGroups: 129 - - image.toolkit.fluxcd.io 130 - resources: 131 - - "*" 132 - verbs: 133 - - "*" 134 - - apiGroups: 135 - - source.extensions.fluxcd.io 136 - resources: 137 - - "*" 138 - verbs: 139 - - "*" 140 - - apiGroups: 141 - - "" 142 - resources: 143 - - namespaces 144 - - secrets 145 - - configmaps 146 - - serviceaccounts 147 - verbs: 148 - - get 149 - - list 150 - - watch 151 - - apiGroups: 152 - - "" 153 - resources: 154 - - events 155 - verbs: 156 - - create 157 - - patch 158 - - apiGroups: 159 - - "" 160 - resources: 161 - - configmaps 162 - verbs: 163 - - get 164 - - list 165 - - watch 166 - - create 167 - - update 168 - - patch 169 - - delete 170 - - apiGroups: 171 - - "" 172 - resources: 173 - - configmaps/status 174 - verbs: 175 - - get 176 - - update 177 - - patch 178 - - apiGroups: 179 - - coordination.k8s.io 180 - resources: 181 - - leases 182 - verbs: 183 - - get 184 - - list 185 - - watch 186 - - create 187 - - update 188 - - patch 189 - - delete 190 - - apiGroups: 191 - - "" 192 - resources: 193 - - serviceaccounts/token 194 - verbs: 195 - - create 196 - - nonResourceURLs: 197 - - /livez/ping 198 - verbs: 199 - - head 104 + - apiGroups: 105 + - source.toolkit.fluxcd.io 106 + resources: 107 + - '*' 108 + verbs: 109 + - '*' 110 + - apiGroups: 111 + - kustomize.toolkit.fluxcd.io 112 + resources: 113 + - '*' 114 + verbs: 115 + - '*' 116 + - apiGroups: 117 + - helm.toolkit.fluxcd.io 118 + resources: 119 + - '*' 120 + verbs: 121 + - '*' 122 + - apiGroups: 123 + - notification.toolkit.fluxcd.io 124 + resources: 125 + - '*' 126 + verbs: 127 + - '*' 128 + - apiGroups: 129 + - image.toolkit.fluxcd.io 130 + resources: 131 + - '*' 132 + verbs: 133 + - '*' 134 + - apiGroups: 135 + - source.extensions.fluxcd.io 136 + resources: 137 + - '*' 138 + verbs: 139 + - '*' 140 + - apiGroups: 141 + - "" 142 + resources: 143 + - namespaces 144 + - secrets 145 + - configmaps 146 + - serviceaccounts 147 + verbs: 148 + - get 149 + - list 150 + - watch 151 + - apiGroups: 152 + - "" 153 + resources: 154 + - events 155 + verbs: 156 + - create 157 + - patch 158 + - apiGroups: 159 + - "" 160 + resources: 161 + - configmaps 162 + verbs: 163 + - get 164 + - list 165 + - watch 166 + - create 167 + - update 168 + - patch 169 + - delete 170 + - apiGroups: 171 + - "" 172 + resources: 173 + - configmaps/status 174 + verbs: 175 + - get 176 + - update 177 + - patch 178 + - apiGroups: 179 + - coordination.k8s.io 180 + resources: 181 + - leases 182 + verbs: 183 + - get 184 + - list 185 + - watch 186 + - create 187 + - update 188 + - patch 189 + - delete 190 + - apiGroups: 191 + - "" 192 + resources: 193 + - serviceaccounts/token 194 + verbs: 195 + - create 196 + - nonResourceURLs: 197 + - /livez/ping 198 + verbs: 199 + - head 200 200 --- 201 201 apiVersion: rbac.authorization.k8s.io/v1 202 202 kind: ClusterRole ··· 204 204 labels: 205 205 app.kubernetes.io/instance: flux-system 206 206 app.kubernetes.io/part-of: flux 207 - app.kubernetes.io/version: v2.8.8 207 + app.kubernetes.io/version: v2.9.0 208 208 rbac.authorization.k8s.io/aggregate-to-admin: "true" 209 209 rbac.authorization.k8s.io/aggregate-to-edit: "true" 210 210 name: flux-edit-flux-system 211 211 rules: 212 - - apiGroups: 213 - - notification.toolkit.fluxcd.io 214 - - source.toolkit.fluxcd.io 215 - - source.extensions.fluxcd.io 216 - - helm.toolkit.fluxcd.io 217 - - image.toolkit.fluxcd.io 218 - - kustomize.toolkit.fluxcd.io 219 - resources: 220 - - "*" 221 - verbs: 222 - - create 223 - - delete 224 - - deletecollection 225 - - patch 226 - - update 212 + - apiGroups: 213 + - notification.toolkit.fluxcd.io 214 + - source.toolkit.fluxcd.io 215 + - source.extensions.fluxcd.io 216 + - helm.toolkit.fluxcd.io 217 + - image.toolkit.fluxcd.io 218 + - kustomize.toolkit.fluxcd.io 219 + resources: 220 + - '*' 221 + verbs: 222 + - create 223 + - delete 224 + - deletecollection 225 + - patch 226 + - update 227 227 --- 228 228 apiVersion: rbac.authorization.k8s.io/v1 229 229 kind: ClusterRole ··· 231 231 labels: 232 232 app.kubernetes.io/instance: flux-system 233 233 app.kubernetes.io/part-of: flux 234 - app.kubernetes.io/version: v2.8.8 234 + app.kubernetes.io/version: v2.9.0 235 235 rbac.authorization.k8s.io/aggregate-to-admin: "true" 236 236 rbac.authorization.k8s.io/aggregate-to-edit: "true" 237 237 rbac.authorization.k8s.io/aggregate-to-view: "true" 238 238 name: flux-view-flux-system 239 239 rules: 240 - - apiGroups: 241 - - notification.toolkit.fluxcd.io 242 - - source.toolkit.fluxcd.io 243 - - source.extensions.fluxcd.io 244 - - helm.toolkit.fluxcd.io 245 - - image.toolkit.fluxcd.io 246 - - kustomize.toolkit.fluxcd.io 247 - resources: 248 - - "*" 249 - verbs: 250 - - get 251 - - list 252 - - watch 240 + - apiGroups: 241 + - notification.toolkit.fluxcd.io 242 + - source.toolkit.fluxcd.io 243 + - source.extensions.fluxcd.io 244 + - helm.toolkit.fluxcd.io 245 + - image.toolkit.fluxcd.io 246 + - kustomize.toolkit.fluxcd.io 247 + resources: 248 + - '*' 249 + verbs: 250 + - get 251 + - list 252 + - watch 253 253 --- 254 254 apiVersion: rbac.authorization.k8s.io/v1 255 255 kind: ClusterRoleBinding ··· 257 257 labels: 258 258 app.kubernetes.io/instance: flux-system 259 259 app.kubernetes.io/part-of: flux 260 - app.kubernetes.io/version: v2.8.8 260 + app.kubernetes.io/version: v2.9.0 261 261 name: cluster-reconciler-flux-system 262 262 roleRef: 263 263 apiGroup: rbac.authorization.k8s.io 264 264 kind: ClusterRole 265 265 name: cluster-admin 266 266 subjects: 267 - - kind: ServiceAccount 268 - name: kustomize-controller 269 - namespace: flux-system 270 - - kind: ServiceAccount 271 - name: helm-controller 272 - namespace: flux-system 267 + - kind: ServiceAccount 268 + name: kustomize-controller 269 + namespace: flux-system 270 + - kind: ServiceAccount 271 + name: helm-controller 272 + namespace: flux-system 273 273 --- 274 274 apiVersion: rbac.authorization.k8s.io/v1 275 275 kind: ClusterRoleBinding ··· 277 277 labels: 278 278 app.kubernetes.io/instance: flux-system 279 279 app.kubernetes.io/part-of: flux 280 - app.kubernetes.io/version: v2.8.8 280 + app.kubernetes.io/version: v2.9.0 281 281 name: crd-controller-flux-system 282 282 roleRef: 283 283 apiGroup: rbac.authorization.k8s.io 284 284 kind: ClusterRole 285 285 name: crd-controller-flux-system 286 286 subjects: 287 - - kind: ServiceAccount 288 - name: kustomize-controller 289 - namespace: flux-system 290 - - kind: ServiceAccount 291 - name: helm-controller 292 - namespace: flux-system 293 - - kind: ServiceAccount 294 - name: source-controller 295 - namespace: flux-system 296 - - kind: ServiceAccount 297 - name: notification-controller 298 - namespace: flux-system 299 - - kind: ServiceAccount 300 - name: image-reflector-controller 301 - namespace: flux-system 302 - - kind: ServiceAccount 303 - name: image-automation-controller 304 - namespace: flux-system 305 - - kind: ServiceAccount 306 - name: source-watcher 307 - namespace: flux-system 287 + - kind: ServiceAccount 288 + name: kustomize-controller 289 + namespace: flux-system 290 + - kind: ServiceAccount 291 + name: helm-controller 292 + namespace: flux-system 293 + - kind: ServiceAccount 294 + name: source-controller 295 + namespace: flux-system 296 + - kind: ServiceAccount 297 + name: notification-controller 298 + namespace: flux-system 299 + - kind: ServiceAccount 300 + name: image-reflector-controller 301 + namespace: flux-system 302 + - kind: ServiceAccount 303 + name: image-automation-controller 304 + namespace: flux-system 305 + - kind: ServiceAccount 306 + name: source-watcher 307 + namespace: flux-system 308 308 --- 309 309 apiVersion: apiextensions.k8s.io/v1 310 310 kind: CustomResourceDefinition 311 311 metadata: 312 312 annotations: 313 - controller-gen.kubebuilder.io/version: v0.19.0 313 + controller-gen.kubebuilder.io/version: v0.21.0 314 314 labels: 315 315 app.kubernetes.io/component: source-controller 316 316 app.kubernetes.io/instance: flux-system 317 317 app.kubernetes.io/part-of: flux 318 - app.kubernetes.io/version: v2.8.8 318 + app.kubernetes.io/version: v2.9.0 319 319 name: buckets.source.toolkit.fluxcd.io 320 320 spec: 321 321 group: source.toolkit.fluxcd.io 322 322 names: 323 + categories: 324 + - all 325 + - fluxcd 326 + - fluxcd-sources 323 327 kind: Bucket 324 328 listKind: BucketList 325 329 plural: buckets 326 330 singular: bucket 327 331 scope: Namespaced 328 332 versions: 329 - - additionalPrinterColumns: 330 - - jsonPath: .spec.endpoint 331 - name: Endpoint 332 - type: string 333 - - jsonPath: .metadata.creationTimestamp 334 - name: Age 335 - type: date 336 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 337 - name: Ready 338 - type: string 339 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 340 - name: Status 341 - type: string 342 - name: v1 343 - schema: 344 - openAPIV3Schema: 345 - description: Bucket is the Schema for the buckets API. 346 - properties: 347 - apiVersion: 348 - description: |- 349 - APIVersion defines the versioned schema of this representation of an object. 350 - Servers should convert recognized schemas to the latest internal value, and 351 - may reject unrecognized values. 352 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 353 - type: string 354 - kind: 355 - description: |- 356 - Kind is a string value representing the REST resource this object represents. 357 - Servers may infer this from the endpoint the client submits requests to. 358 - Cannot be updated. 359 - In CamelCase. 360 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 361 - type: string 362 - metadata: 363 - type: object 364 - spec: 365 - description: |- 366 - BucketSpec specifies the required configuration to produce an Artifact for 367 - an object storage bucket. 368 - properties: 369 - bucketName: 370 - description: BucketName is the name of the object storage bucket. 371 - type: string 372 - certSecretRef: 373 - description: |- 374 - CertSecretRef can be given the name of a Secret containing 375 - either or both of 333 + - additionalPrinterColumns: 334 + - jsonPath: .spec.endpoint 335 + name: Endpoint 336 + type: string 337 + - jsonPath: .metadata.creationTimestamp 338 + name: Age 339 + type: date 340 + - jsonPath: .status.conditions[?(@.type=="Ready")].status 341 + name: Ready 342 + type: string 343 + - jsonPath: .status.conditions[?(@.type=="Ready")].message 344 + name: Status 345 + type: string 346 + name: v1 347 + schema: 348 + openAPIV3Schema: 349 + description: Bucket is the Schema for the buckets API. 350 + properties: 351 + apiVersion: 352 + description: |- 353 + APIVersion defines the versioned schema of this representation of an object. 354 + Servers should convert recognized schemas to the latest internal value, and 355 + may reject unrecognized values. 356 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 357 + type: string 358 + kind: 359 + description: |- 360 + Kind is a string value representing the REST resource this object represents. 361 + Servers may infer this from the endpoint the client submits requests to. 362 + Cannot be updated. 363 + In CamelCase. 364 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 365 + type: string 366 + metadata: 367 + type: object 368 + spec: 369 + description: |- 370 + BucketSpec specifies the required configuration to produce an Artifact for 371 + an object storage bucket. 372 + properties: 373 + bucketName: 374 + description: BucketName is the name of the object storage bucket. 375 + type: string 376 + certSecretRef: 377 + description: |- 378 + CertSecretRef can be given the name of a Secret containing 379 + either or both of 376 380 377 - - a PEM-encoded client certificate (`tls.crt`) and private 378 - key (`tls.key`); 379 - - a PEM-encoded CA certificate (`ca.crt`) 381 + - a PEM-encoded client certificate (`tls.crt`) and private 382 + key (`tls.key`); 383 + - a PEM-encoded CA certificate (`ca.crt`) 380 384 381 - and whichever are supplied, will be used for connecting to the 382 - bucket. The client cert and key are useful if you are 383 - authenticating with a certificate; the CA cert is useful if 384 - you are using a self-signed server certificate. The Secret must 385 - be of type `Opaque` or `kubernetes.io/tls`. 385 + and whichever are supplied, will be used for connecting to the 386 + bucket. The client cert and key are useful if you are 387 + authenticating with a certificate; the CA cert is useful if 388 + you are using a self-signed server certificate. The Secret must 389 + be of type `Opaque` or `kubernetes.io/tls`. 386 390 387 - This field is only supported for the `generic` provider. 388 - properties: 389 - name: 390 - description: Name of the referent. 391 - type: string 392 - required: 393 - - name 394 - type: object 395 - endpoint: 396 - description: 397 - Endpoint is the object storage address the BucketName 398 - is located at. 399 - type: string 400 - ignore: 401 - description: |- 402 - Ignore overrides the set of excluded patterns in the .sourceignore format 403 - (which is the same as .gitignore). If not provided, a default will be used, 404 - consult the documentation for your version to find out what those are. 405 - type: string 406 - insecure: 407 - description: Insecure allows connecting to a non-TLS HTTP Endpoint. 408 - type: boolean 409 - interval: 410 - description: |- 411 - Interval at which the Bucket Endpoint is checked for updates. 412 - This interval is approximate and may be subject to jitter to ensure 413 - efficient use of resources. 414 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 415 - type: string 416 - prefix: 417 - description: 418 - Prefix to use for server-side filtering of files in the 419 - Bucket. 420 - type: string 421 - provider: 422 - default: generic 423 - description: |- 424 - Provider of the object storage bucket. 425 - Defaults to 'generic', which expects an S3 (API) compatible object 426 - storage. 427 - enum: 428 - - generic 429 - - aws 430 - - gcp 431 - - azure 432 - type: string 433 - proxySecretRef: 434 - description: |- 435 - ProxySecretRef specifies the Secret containing the proxy configuration 436 - to use while communicating with the Bucket server. 437 - properties: 438 - name: 439 - description: Name of the referent. 440 - type: string 441 - required: 442 - - name 443 - type: object 444 - region: 445 - description: 446 - Region of the Endpoint where the BucketName is located 447 - in. 448 - type: string 449 - secretRef: 450 - description: |- 451 - SecretRef specifies the Secret containing authentication credentials 452 - for the Bucket. 453 - properties: 454 - name: 455 - description: Name of the referent. 456 - type: string 457 - required: 458 - - name 459 - type: object 460 - serviceAccountName: 461 - description: |- 462 - ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate 463 - the bucket. This field is only supported for the 'gcp' and 'aws' providers. 464 - For more information about workload identity: 465 - https://fluxcd.io/flux/components/source/buckets/#workload-identity 466 - type: string 467 - sts: 468 - description: |- 469 - STS specifies the required configuration to use a Security Token 470 - Service for fetching temporary credentials to authenticate in a 471 - Bucket provider. 391 + This field is only supported for the `generic` provider. 392 + properties: 393 + name: 394 + description: Name of the referent. 395 + type: string 396 + required: 397 + - name 398 + type: object 399 + endpoint: 400 + description: Endpoint is the object storage address the BucketName 401 + is located at. 402 + type: string 403 + ignore: 404 + description: |- 405 + Ignore overrides the set of excluded patterns in the .sourceignore format 406 + (which is the same as .gitignore). If not provided, a default will be used, 407 + consult the documentation for your version to find out what those are. 408 + type: string 409 + insecure: 410 + description: Insecure allows connecting to a non-TLS HTTP Endpoint. 411 + type: boolean 412 + interval: 413 + description: |- 414 + Interval at which the Bucket Endpoint is checked for updates. 415 + This interval is approximate and may be subject to jitter to ensure 416 + efficient use of resources. 417 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 418 + type: string 419 + prefix: 420 + description: Prefix to use for server-side filtering of files in the 421 + Bucket. 422 + type: string 423 + provider: 424 + default: generic 425 + description: |- 426 + Provider of the object storage bucket. 427 + Defaults to 'generic', which expects an S3 (API) compatible object 428 + storage. 429 + enum: 430 + - generic 431 + - aws 432 + - gcp 433 + - azure 434 + type: string 435 + proxySecretRef: 436 + description: |- 437 + ProxySecretRef specifies the Secret containing the proxy configuration 438 + to use while communicating with the Bucket server. 439 + properties: 440 + name: 441 + description: Name of the referent. 442 + type: string 443 + required: 444 + - name 445 + type: object 446 + region: 447 + description: Region of the Endpoint where the BucketName is located 448 + in. 449 + type: string 450 + secretRef: 451 + description: |- 452 + SecretRef specifies the Secret containing authentication credentials 453 + for the Bucket. 454 + properties: 455 + name: 456 + description: Name of the referent. 457 + type: string 458 + required: 459 + - name 460 + type: object 461 + serviceAccountName: 462 + description: |- 463 + ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate 464 + the bucket. This field is only supported for the 'gcp' and 'aws' providers. 465 + For more information about workload identity: 466 + https://fluxcd.io/flux/components/source/buckets/#workload-identity 467 + type: string 468 + sts: 469 + description: |- 470 + STS specifies the required configuration to use a Security Token 471 + Service for fetching temporary credentials to authenticate in a 472 + Bucket provider. 472 473 473 - This field is only supported for the `aws` and `generic` providers. 474 - properties: 475 - certSecretRef: 476 - description: |- 477 - CertSecretRef can be given the name of a Secret containing 478 - either or both of 474 + This field is only supported for the `aws` and `generic` providers. 475 + properties: 476 + certSecretRef: 477 + description: |- 478 + CertSecretRef can be given the name of a Secret containing 479 + either or both of 479 480 480 - - a PEM-encoded client certificate (`tls.crt`) and private 481 - key (`tls.key`); 482 - - a PEM-encoded CA certificate (`ca.crt`) 481 + - a PEM-encoded client certificate (`tls.crt`) and private 482 + key (`tls.key`); 483 + - a PEM-encoded CA certificate (`ca.crt`) 483 484 484 - and whichever are supplied, will be used for connecting to the 485 - STS endpoint. The client cert and key are useful if you are 486 - authenticating with a certificate; the CA cert is useful if 487 - you are using a self-signed server certificate. The Secret must 488 - be of type `Opaque` or `kubernetes.io/tls`. 485 + and whichever are supplied, will be used for connecting to the 486 + STS endpoint. The client cert and key are useful if you are 487 + authenticating with a certificate; the CA cert is useful if 488 + you are using a self-signed server certificate. The Secret must 489 + be of type `Opaque` or `kubernetes.io/tls`. 489 490 490 - This field is only supported for the `ldap` provider. 491 - properties: 492 - name: 493 - description: Name of the referent. 494 - type: string 495 - required: 496 - - name 497 - type: object 498 - endpoint: 499 - description: |- 500 - Endpoint is the HTTP/S endpoint of the Security Token Service from 501 - where temporary credentials will be fetched. 502 - pattern: ^(http|https)://.*$ 503 - type: string 504 - provider: 505 - description: Provider of the Security Token Service. 506 - enum: 507 - - aws 508 - - ldap 509 - type: string 510 - secretRef: 511 - description: |- 512 - SecretRef specifies the Secret containing authentication credentials 513 - for the STS endpoint. This Secret must contain the fields `username` 514 - and `password` and is supported only for the `ldap` provider. 515 - properties: 516 - name: 517 - description: Name of the referent. 518 - type: string 519 - required: 520 - - name 521 - type: object 522 - required: 523 - - endpoint 524 - - provider 525 - type: object 526 - suspend: 527 - description: |- 528 - Suspend tells the controller to suspend the reconciliation of this 529 - Bucket. 530 - type: boolean 531 - timeout: 532 - default: 60s 533 - description: Timeout for fetch operations, defaults to 60s. 534 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 535 - type: string 536 - required: 537 - - bucketName 491 + This field is only supported for the `ldap` provider. 492 + properties: 493 + name: 494 + description: Name of the referent. 495 + type: string 496 + required: 497 + - name 498 + type: object 499 + endpoint: 500 + description: |- 501 + Endpoint is the HTTP/S endpoint of the Security Token Service from 502 + where temporary credentials will be fetched. 503 + pattern: ^(http|https)://.*$ 504 + type: string 505 + provider: 506 + description: Provider of the Security Token Service. 507 + enum: 508 + - aws 509 + - ldap 510 + type: string 511 + secretRef: 512 + description: |- 513 + SecretRef specifies the Secret containing authentication credentials 514 + for the STS endpoint. This Secret must contain the fields `username` 515 + and `password` and is supported only for the `ldap` provider. 516 + properties: 517 + name: 518 + description: Name of the referent. 519 + type: string 520 + required: 521 + - name 522 + type: object 523 + required: 538 524 - endpoint 539 - - interval 540 - type: object 541 - x-kubernetes-validations: 542 - - message: 543 - STS configuration is only supported for the 'aws' and 'generic' 544 - Bucket providers 545 - rule: self.provider == 'aws' || self.provider == 'generic' || !has(self.sts) 546 - - message: 547 - "'aws' is the only supported STS provider for the 'aws' 548 - Bucket provider" 549 - rule: 550 - self.provider != 'aws' || !has(self.sts) || self.sts.provider 551 - == 'aws' 552 - - message: 553 - "'ldap' is the only supported STS provider for the 'generic' 554 - Bucket provider" 555 - rule: 556 - self.provider != 'generic' || !has(self.sts) || self.sts.provider 557 - == 'ldap' 558 - - message: spec.sts.secretRef is not required for the 'aws' STS provider 559 - rule: "!has(self.sts) || self.sts.provider != 'aws' || !has(self.sts.secretRef)" 560 - - message: spec.sts.certSecretRef is not required for the 'aws' STS provider 561 - rule: "!has(self.sts) || self.sts.provider != 'aws' || !has(self.sts.certSecretRef)" 562 - - message: 563 - ServiceAccountName is not supported for the 'generic' Bucket 564 - provider 565 - rule: self.provider != 'generic' || !has(self.serviceAccountName) 566 - - message: cannot set both .spec.secretRef and .spec.serviceAccountName 567 - rule: "!has(self.secretRef) || !has(self.serviceAccountName)" 568 - status: 569 - default: 570 - observedGeneration: -1 571 - description: BucketStatus records the observed state of a Bucket. 572 - properties: 573 - artifact: 574 - description: Artifact represents the last successful Bucket reconciliation. 575 - properties: 576 - digest: 577 - description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 578 - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 525 + - provider 526 + type: object 527 + suspend: 528 + description: |- 529 + Suspend tells the controller to suspend the reconciliation of this 530 + Bucket. 531 + type: boolean 532 + timeout: 533 + default: 60s 534 + description: Timeout for fetch operations, defaults to 60s. 535 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 536 + type: string 537 + required: 538 + - bucketName 539 + - endpoint 540 + - interval 541 + type: object 542 + x-kubernetes-validations: 543 + - message: STS configuration is only supported for the 'aws' and 'generic' 544 + Bucket providers 545 + rule: self.provider == 'aws' || self.provider == 'generic' || !has(self.sts) 546 + - message: '''aws'' is the only supported STS provider for the ''aws'' 547 + Bucket provider' 548 + rule: self.provider != 'aws' || !has(self.sts) || self.sts.provider 549 + == 'aws' 550 + - message: '''ldap'' is the only supported STS provider for the ''generic'' 551 + Bucket provider' 552 + rule: self.provider != 'generic' || !has(self.sts) || self.sts.provider 553 + == 'ldap' 554 + - message: spec.sts.secretRef is not required for the 'aws' STS provider 555 + rule: '!has(self.sts) || self.sts.provider != ''aws'' || !has(self.sts.secretRef)' 556 + - message: spec.sts.certSecretRef is not required for the 'aws' STS provider 557 + rule: '!has(self.sts) || self.sts.provider != ''aws'' || !has(self.sts.certSecretRef)' 558 + - message: ServiceAccountName is not supported for the 'generic' Bucket 559 + provider 560 + rule: self.provider != 'generic' || !has(self.serviceAccountName) 561 + - message: cannot set both .spec.secretRef and .spec.serviceAccountName 562 + rule: '!has(self.secretRef) || !has(self.serviceAccountName)' 563 + status: 564 + default: 565 + observedGeneration: -1 566 + description: BucketStatus records the observed state of a Bucket. 567 + properties: 568 + artifact: 569 + description: Artifact represents the last successful Bucket reconciliation. 570 + properties: 571 + digest: 572 + description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 573 + pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 574 + type: string 575 + lastUpdateTime: 576 + description: |- 577 + LastUpdateTime is the timestamp corresponding to the last update of the 578 + Artifact. 579 + format: date-time 580 + type: string 581 + metadata: 582 + additionalProperties: 579 583 type: string 580 - lastUpdateTime: 584 + description: Metadata holds upstream information such as OCI annotations. 585 + type: object 586 + path: 587 + description: |- 588 + Path is the relative file path of the Artifact. It can be used to locate 589 + the file in the root of the Artifact storage on the local file system of 590 + the controller managing the Source. 591 + type: string 592 + revision: 593 + description: |- 594 + Revision is a human-readable identifier traceable in the origin source 595 + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 596 + type: string 597 + size: 598 + description: Size is the number of bytes in the file. 599 + format: int64 600 + type: integer 601 + url: 602 + description: |- 603 + URL is the HTTP address of the Artifact as exposed by the controller 604 + managing the Source. It can be used to retrieve the Artifact for 605 + consumption, e.g. by another controller applying the Artifact contents. 606 + type: string 607 + required: 608 + - digest 609 + - lastUpdateTime 610 + - path 611 + - revision 612 + - url 613 + type: object 614 + conditions: 615 + description: Conditions holds the conditions for the Bucket. 616 + items: 617 + description: Condition contains details for one aspect of the current 618 + state of this API Resource. 619 + properties: 620 + lastTransitionTime: 581 621 description: |- 582 - LastUpdateTime is the timestamp corresponding to the last update of the 583 - Artifact. 622 + lastTransitionTime is the last time the condition transitioned from one status to another. 623 + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 584 624 format: date-time 585 625 type: string 586 - metadata: 587 - additionalProperties: 588 - type: string 589 - description: Metadata holds upstream information such as OCI annotations. 590 - type: object 591 - path: 626 + message: 592 627 description: |- 593 - Path is the relative file path of the Artifact. It can be used to locate 594 - the file in the root of the Artifact storage on the local file system of 595 - the controller managing the Source. 628 + message is a human readable message indicating details about the transition. 629 + This may be an empty string. 630 + maxLength: 32768 596 631 type: string 597 - revision: 632 + observedGeneration: 598 633 description: |- 599 - Revision is a human-readable identifier traceable in the origin source 600 - system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 601 - type: string 602 - size: 603 - description: Size is the number of bytes in the file. 634 + observedGeneration represents the .metadata.generation that the condition was set based upon. 635 + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 636 + with respect to the current state of the instance. 604 637 format: int64 638 + minimum: 0 605 639 type: integer 606 - url: 640 + reason: 607 641 description: |- 608 - URL is the HTTP address of the Artifact as exposed by the controller 609 - managing the Source. It can be used to retrieve the Artifact for 610 - consumption, e.g. by another controller applying the Artifact contents. 642 + reason contains a programmatic identifier indicating the reason for the condition's last transition. 643 + Producers of specific condition types may define expected values and meanings for this field, 644 + and whether the values are considered a guaranteed API. 645 + The value should be a CamelCase string. 646 + This field may not be empty. 647 + maxLength: 1024 648 + minLength: 1 649 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 650 + type: string 651 + status: 652 + description: status of the condition, one of True, False, Unknown. 653 + enum: 654 + - "True" 655 + - "False" 656 + - Unknown 657 + type: string 658 + type: 659 + description: type of condition in CamelCase or in foo.example.com/CamelCase. 660 + maxLength: 316 661 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 611 662 type: string 612 663 required: 613 - - digest 614 - - lastUpdateTime 615 - - path 616 - - revision 617 - - url 664 + - lastTransitionTime 665 + - message 666 + - reason 667 + - status 668 + - type 618 669 type: object 619 - conditions: 620 - description: Conditions holds the conditions for the Bucket. 621 - items: 622 - description: 623 - Condition contains details for one aspect of the current 624 - state of this API Resource. 625 - properties: 626 - lastTransitionTime: 627 - description: |- 628 - lastTransitionTime is the last time the condition transitioned from one status to another. 629 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 630 - format: date-time 631 - type: string 632 - message: 633 - description: |- 634 - message is a human readable message indicating details about the transition. 635 - This may be an empty string. 636 - maxLength: 32768 637 - type: string 638 - observedGeneration: 639 - description: |- 640 - observedGeneration represents the .metadata.generation that the condition was set based upon. 641 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 642 - with respect to the current state of the instance. 643 - format: int64 644 - minimum: 0 645 - type: integer 646 - reason: 647 - description: |- 648 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 649 - Producers of specific condition types may define expected values and meanings for this field, 650 - and whether the values are considered a guaranteed API. 651 - The value should be a CamelCase string. 652 - This field may not be empty. 653 - maxLength: 1024 654 - minLength: 1 655 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 656 - type: string 657 - status: 658 - description: status of the condition, one of True, False, Unknown. 659 - enum: 660 - - "True" 661 - - "False" 662 - - Unknown 663 - type: string 664 - type: 665 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 666 - maxLength: 316 667 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 668 - type: string 669 - required: 670 - - lastTransitionTime 671 - - message 672 - - reason 673 - - status 674 - - type 675 - type: object 676 - type: array 677 - lastHandledReconcileAt: 678 - description: |- 679 - LastHandledReconcileAt holds the value of the most recent 680 - reconcile request value, so a change of the annotation value 681 - can be detected. 682 - type: string 683 - observedGeneration: 684 - description: 685 - ObservedGeneration is the last observed generation of 686 - the Bucket object. 687 - format: int64 688 - type: integer 689 - observedIgnore: 690 - description: |- 691 - ObservedIgnore is the observed exclusion patterns used for constructing 692 - the source artifact. 693 - type: string 694 - url: 695 - description: |- 696 - URL is the dynamic fetch link for the latest Artifact. 697 - It is provided on a "best effort" basis, and using the precise 698 - BucketStatus.Artifact data is recommended. 699 - type: string 700 - type: object 701 - type: object 702 - served: true 703 - storage: true 704 - subresources: 705 - status: {} 670 + type: array 671 + lastHandledReconcileAt: 672 + description: |- 673 + LastHandledReconcileAt holds the value of the most recent 674 + reconcile request value, so a change of the annotation value 675 + can be detected. 676 + type: string 677 + observedGeneration: 678 + description: ObservedGeneration is the last observed generation of 679 + the Bucket object. 680 + format: int64 681 + type: integer 682 + observedIgnore: 683 + description: |- 684 + ObservedIgnore is the observed exclusion patterns used for constructing 685 + the source artifact. 686 + type: string 687 + url: 688 + description: |- 689 + URL is the dynamic fetch link for the latest Artifact. 690 + It is provided on a "best effort" basis, and using the precise 691 + BucketStatus.Artifact data is recommended. 692 + type: string 693 + type: object 694 + type: object 695 + served: true 696 + storage: true 697 + subresources: 698 + status: {} 706 699 --- 707 700 apiVersion: apiextensions.k8s.io/v1 708 701 kind: CustomResourceDefinition 709 702 metadata: 710 703 annotations: 711 - controller-gen.kubebuilder.io/version: v0.19.0 704 + controller-gen.kubebuilder.io/version: v0.21.0 712 705 labels: 713 706 app.kubernetes.io/component: source-controller 714 707 app.kubernetes.io/instance: flux-system 715 708 app.kubernetes.io/part-of: flux 716 - app.kubernetes.io/version: v2.8.8 709 + app.kubernetes.io/version: v2.9.0 717 710 name: externalartifacts.source.toolkit.fluxcd.io 718 711 spec: 719 712 group: source.toolkit.fluxcd.io 720 713 names: 714 + categories: 715 + - all 716 + - fluxcd 717 + - fluxcd-sources 721 718 kind: ExternalArtifact 722 719 listKind: ExternalArtifactList 723 720 plural: externalartifacts 721 + shortNames: 722 + - ea 724 723 singular: externalartifact 725 724 scope: Namespaced 726 725 versions: 727 - - additionalPrinterColumns: 728 - - jsonPath: .metadata.creationTimestamp 729 - name: Age 730 - type: date 731 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 732 - name: Ready 733 - type: string 734 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 735 - name: Status 736 - type: string 737 - - jsonPath: .spec.sourceRef.name 738 - name: Source 739 - type: string 740 - name: v1 741 - schema: 742 - openAPIV3Schema: 743 - description: ExternalArtifact is the Schema for the external artifacts API 744 - properties: 745 - apiVersion: 746 - description: |- 747 - APIVersion defines the versioned schema of this representation of an object. 748 - Servers should convert recognized schemas to the latest internal value, and 749 - may reject unrecognized values. 750 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 751 - type: string 752 - kind: 753 - description: |- 754 - Kind is a string value representing the REST resource this object represents. 755 - Servers may infer this from the endpoint the client submits requests to. 756 - Cannot be updated. 757 - In CamelCase. 758 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 759 - type: string 760 - metadata: 761 - type: object 762 - spec: 763 - description: ExternalArtifactSpec defines the desired state of ExternalArtifact 764 - properties: 765 - sourceRef: 766 - description: |- 767 - SourceRef points to the Kubernetes custom resource for 768 - which the artifact is generated. 769 - properties: 770 - apiVersion: 771 - description: 772 - API version of the referent, if not specified the 773 - Kubernetes preferred version will be used. 726 + - additionalPrinterColumns: 727 + - jsonPath: .metadata.creationTimestamp 728 + name: Age 729 + type: date 730 + - jsonPath: .status.conditions[?(@.type=="Ready")].status 731 + name: Ready 732 + type: string 733 + - jsonPath: .status.conditions[?(@.type=="Ready")].message 734 + name: Status 735 + type: string 736 + - jsonPath: .spec.sourceRef.name 737 + name: Source 738 + type: string 739 + name: v1 740 + schema: 741 + openAPIV3Schema: 742 + description: ExternalArtifact is the Schema for the external artifacts API 743 + properties: 744 + apiVersion: 745 + description: |- 746 + APIVersion defines the versioned schema of this representation of an object. 747 + Servers should convert recognized schemas to the latest internal value, and 748 + may reject unrecognized values. 749 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 750 + type: string 751 + kind: 752 + description: |- 753 + Kind is a string value representing the REST resource this object represents. 754 + Servers may infer this from the endpoint the client submits requests to. 755 + Cannot be updated. 756 + In CamelCase. 757 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 758 + type: string 759 + metadata: 760 + type: object 761 + spec: 762 + description: ExternalArtifactSpec defines the desired state of ExternalArtifact 763 + properties: 764 + sourceRef: 765 + description: |- 766 + SourceRef points to the Kubernetes custom resource for 767 + which the artifact is generated. 768 + properties: 769 + apiVersion: 770 + description: API version of the referent, if not specified the 771 + Kubernetes preferred version will be used. 772 + type: string 773 + kind: 774 + description: Kind of the referent. 775 + type: string 776 + name: 777 + description: Name of the referent. 778 + type: string 779 + namespace: 780 + description: Namespace of the referent, when not specified it 781 + acts as LocalObjectReference. 782 + type: string 783 + required: 784 + - kind 785 + - name 786 + type: object 787 + type: object 788 + status: 789 + description: ExternalArtifactStatus defines the observed state of ExternalArtifact 790 + properties: 791 + artifact: 792 + description: Artifact represents the output of an ExternalArtifact 793 + reconciliation. 794 + properties: 795 + digest: 796 + description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 797 + pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 798 + type: string 799 + lastUpdateTime: 800 + description: |- 801 + LastUpdateTime is the timestamp corresponding to the last update of the 802 + Artifact. 803 + format: date-time 804 + type: string 805 + metadata: 806 + additionalProperties: 774 807 type: string 775 - kind: 776 - description: Kind of the referent. 777 - type: string 778 - name: 779 - description: Name of the referent. 780 - type: string 781 - namespace: 782 - description: 783 - Namespace of the referent, when not specified it 784 - acts as LocalObjectReference. 785 - type: string 786 - required: 787 - - kind 788 - - name 789 - type: object 790 - type: object 791 - status: 792 - description: ExternalArtifactStatus defines the observed state of ExternalArtifact 793 - properties: 794 - artifact: 795 - description: 796 - Artifact represents the output of an ExternalArtifact 797 - reconciliation. 808 + description: Metadata holds upstream information such as OCI annotations. 809 + type: object 810 + path: 811 + description: |- 812 + Path is the relative file path of the Artifact. It can be used to locate 813 + the file in the root of the Artifact storage on the local file system of 814 + the controller managing the Source. 815 + type: string 816 + revision: 817 + description: |- 818 + Revision is a human-readable identifier traceable in the origin source 819 + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 820 + type: string 821 + size: 822 + description: Size is the number of bytes in the file. 823 + format: int64 824 + type: integer 825 + url: 826 + description: |- 827 + URL is the HTTP address of the Artifact as exposed by the controller 828 + managing the Source. It can be used to retrieve the Artifact for 829 + consumption, e.g. by another controller applying the Artifact contents. 830 + type: string 831 + required: 832 + - digest 833 + - lastUpdateTime 834 + - path 835 + - revision 836 + - url 837 + type: object 838 + conditions: 839 + description: Conditions holds the conditions for the ExternalArtifact. 840 + items: 841 + description: Condition contains details for one aspect of the current 842 + state of this API Resource. 798 843 properties: 799 - digest: 800 - description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 801 - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 802 - type: string 803 - lastUpdateTime: 844 + lastTransitionTime: 804 845 description: |- 805 - LastUpdateTime is the timestamp corresponding to the last update of the 806 - Artifact. 846 + lastTransitionTime is the last time the condition transitioned from one status to another. 847 + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 807 848 format: date-time 808 849 type: string 809 - metadata: 810 - additionalProperties: 811 - type: string 812 - description: Metadata holds upstream information such as OCI annotations. 813 - type: object 814 - path: 850 + message: 815 851 description: |- 816 - Path is the relative file path of the Artifact. It can be used to locate 817 - the file in the root of the Artifact storage on the local file system of 818 - the controller managing the Source. 852 + message is a human readable message indicating details about the transition. 853 + This may be an empty string. 854 + maxLength: 32768 819 855 type: string 820 - revision: 856 + observedGeneration: 821 857 description: |- 822 - Revision is a human-readable identifier traceable in the origin source 823 - system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 824 - type: string 825 - size: 826 - description: Size is the number of bytes in the file. 858 + observedGeneration represents the .metadata.generation that the condition was set based upon. 859 + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 860 + with respect to the current state of the instance. 827 861 format: int64 862 + minimum: 0 828 863 type: integer 829 - url: 864 + reason: 830 865 description: |- 831 - URL is the HTTP address of the Artifact as exposed by the controller 832 - managing the Source. It can be used to retrieve the Artifact for 833 - consumption, e.g. by another controller applying the Artifact contents. 866 + reason contains a programmatic identifier indicating the reason for the condition's last transition. 867 + Producers of specific condition types may define expected values and meanings for this field, 868 + and whether the values are considered a guaranteed API. 869 + The value should be a CamelCase string. 870 + This field may not be empty. 871 + maxLength: 1024 872 + minLength: 1 873 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 874 + type: string 875 + status: 876 + description: status of the condition, one of True, False, Unknown. 877 + enum: 878 + - "True" 879 + - "False" 880 + - Unknown 881 + type: string 882 + type: 883 + description: type of condition in CamelCase or in foo.example.com/CamelCase. 884 + maxLength: 316 885 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 834 886 type: string 835 887 required: 836 - - digest 837 - - lastUpdateTime 838 - - path 839 - - revision 840 - - url 888 + - lastTransitionTime 889 + - message 890 + - reason 891 + - status 892 + - type 841 893 type: object 842 - conditions: 843 - description: Conditions holds the conditions for the ExternalArtifact. 844 - items: 845 - description: 846 - Condition contains details for one aspect of the current 847 - state of this API Resource. 848 - properties: 849 - lastTransitionTime: 850 - description: |- 851 - lastTransitionTime is the last time the condition transitioned from one status to another. 852 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 853 - format: date-time 854 - type: string 855 - message: 856 - description: |- 857 - message is a human readable message indicating details about the transition. 858 - This may be an empty string. 859 - maxLength: 32768 860 - type: string 861 - observedGeneration: 862 - description: |- 863 - observedGeneration represents the .metadata.generation that the condition was set based upon. 864 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 865 - with respect to the current state of the instance. 866 - format: int64 867 - minimum: 0 868 - type: integer 869 - reason: 870 - description: |- 871 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 872 - Producers of specific condition types may define expected values and meanings for this field, 873 - and whether the values are considered a guaranteed API. 874 - The value should be a CamelCase string. 875 - This field may not be empty. 876 - maxLength: 1024 877 - minLength: 1 878 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 879 - type: string 880 - status: 881 - description: status of the condition, one of True, False, Unknown. 882 - enum: 883 - - "True" 884 - - "False" 885 - - Unknown 886 - type: string 887 - type: 888 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 889 - maxLength: 316 890 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 891 - type: string 892 - required: 893 - - lastTransitionTime 894 - - message 895 - - reason 896 - - status 897 - - type 898 - type: object 899 - type: array 900 - type: object 901 - type: object 902 - served: true 903 - storage: true 904 - subresources: 905 - status: {} 894 + type: array 895 + type: object 896 + type: object 897 + served: true 898 + storage: true 899 + subresources: 900 + status: {} 906 901 --- 907 902 apiVersion: apiextensions.k8s.io/v1 908 903 kind: CustomResourceDefinition 909 904 metadata: 910 905 annotations: 911 - controller-gen.kubebuilder.io/version: v0.19.0 906 + controller-gen.kubebuilder.io/version: v0.21.0 912 907 labels: 913 908 app.kubernetes.io/component: source-controller 914 909 app.kubernetes.io/instance: flux-system 915 910 app.kubernetes.io/part-of: flux 916 - app.kubernetes.io/version: v2.8.8 911 + app.kubernetes.io/version: v2.9.0 917 912 name: gitrepositories.source.toolkit.fluxcd.io 918 913 spec: 919 914 group: source.toolkit.fluxcd.io 920 915 names: 916 + categories: 917 + - all 918 + - fluxcd 919 + - fluxcd-sources 921 920 kind: GitRepository 922 921 listKind: GitRepositoryList 923 922 plural: gitrepositories 924 923 shortNames: 925 - - gitrepo 924 + - gitrepo 926 925 singular: gitrepository 927 926 scope: Namespaced 928 927 versions: 929 - - additionalPrinterColumns: 930 - - jsonPath: .spec.url 931 - name: URL 932 - type: string 933 - - jsonPath: .metadata.creationTimestamp 934 - name: Age 935 - type: date 936 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 937 - name: Ready 938 - type: string 939 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 940 - name: Status 941 - type: string 942 - name: v1 943 - schema: 944 - openAPIV3Schema: 945 - description: GitRepository is the Schema for the gitrepositories API. 946 - properties: 947 - apiVersion: 948 - description: |- 949 - APIVersion defines the versioned schema of this representation of an object. 950 - Servers should convert recognized schemas to the latest internal value, and 951 - may reject unrecognized values. 952 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 953 - type: string 954 - kind: 955 - description: |- 956 - Kind is a string value representing the REST resource this object represents. 957 - Servers may infer this from the endpoint the client submits requests to. 958 - Cannot be updated. 959 - In CamelCase. 960 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 961 - type: string 962 - metadata: 963 - type: object 964 - spec: 965 - description: |- 966 - GitRepositorySpec specifies the required configuration to produce an 967 - Artifact for a Git repository. 968 - properties: 969 - ignore: 928 + - additionalPrinterColumns: 929 + - jsonPath: .spec.url 930 + name: URL 931 + type: string 932 + - jsonPath: .metadata.creationTimestamp 933 + name: Age 934 + type: date 935 + - jsonPath: .status.conditions[?(@.type=="Ready")].status 936 + name: Ready 937 + type: string 938 + - jsonPath: .status.conditions[?(@.type=="Ready")].message 939 + name: Status 940 + type: string 941 + name: v1 942 + schema: 943 + openAPIV3Schema: 944 + description: GitRepository is the Schema for the gitrepositories API. 945 + properties: 946 + apiVersion: 947 + description: |- 948 + APIVersion defines the versioned schema of this representation of an object. 949 + Servers should convert recognized schemas to the latest internal value, and 950 + may reject unrecognized values. 951 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 952 + type: string 953 + kind: 954 + description: |- 955 + Kind is a string value representing the REST resource this object represents. 956 + Servers may infer this from the endpoint the client submits requests to. 957 + Cannot be updated. 958 + In CamelCase. 959 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 960 + type: string 961 + metadata: 962 + type: object 963 + spec: 964 + description: |- 965 + GitRepositorySpec specifies the required configuration to produce an 966 + Artifact for a Git repository. 967 + properties: 968 + ignore: 969 + description: |- 970 + Ignore overrides the set of excluded patterns in the .sourceignore format 971 + (which is the same as .gitignore). If not provided, a default will be used, 972 + consult the documentation for your version to find out what those are. 973 + type: string 974 + include: 975 + description: |- 976 + Include specifies a list of GitRepository resources which Artifacts 977 + should be included in the Artifact produced for this GitRepository. 978 + items: 970 979 description: |- 971 - Ignore overrides the set of excluded patterns in the .sourceignore format 972 - (which is the same as .gitignore). If not provided, a default will be used, 973 - consult the documentation for your version to find out what those are. 980 + GitRepositoryInclude specifies a local reference to a GitRepository which 981 + Artifact (sub-)contents must be included, and where they should be placed. 982 + properties: 983 + fromPath: 984 + description: |- 985 + FromPath specifies the path to copy contents from, defaults to the root 986 + of the Artifact. 987 + type: string 988 + repository: 989 + description: |- 990 + GitRepositoryRef specifies the GitRepository which Artifact contents 991 + must be included. 992 + properties: 993 + name: 994 + description: Name of the referent. 995 + type: string 996 + required: 997 + - name 998 + type: object 999 + toPath: 1000 + description: |- 1001 + ToPath specifies the path to copy contents to, defaults to the name of 1002 + the GitRepositoryRef. 1003 + type: string 1004 + required: 1005 + - repository 1006 + type: object 1007 + type: array 1008 + interval: 1009 + description: |- 1010 + Interval at which the GitRepository URL is checked for updates. 1011 + This interval is approximate and may be subject to jitter to ensure 1012 + efficient use of resources. 1013 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 1014 + type: string 1015 + provider: 1016 + description: |- 1017 + Provider used for authentication, can be 'aws', 'azure', 'github', 'generic'. 1018 + When not specified, defaults to 'generic'. 1019 + enum: 1020 + - generic 1021 + - aws 1022 + - azure 1023 + - github 1024 + type: string 1025 + proxySecretRef: 1026 + description: |- 1027 + ProxySecretRef specifies the Secret containing the proxy configuration 1028 + to use while communicating with the Git server. 1029 + properties: 1030 + name: 1031 + description: Name of the referent. 1032 + type: string 1033 + required: 1034 + - name 1035 + type: object 1036 + recurseSubmodules: 1037 + description: |- 1038 + RecurseSubmodules enables the initialization of all submodules within 1039 + the GitRepository as cloned from the URL, using their default settings. 1040 + type: boolean 1041 + ref: 1042 + description: |- 1043 + Reference specifies the Git reference to resolve and monitor for 1044 + changes, defaults to the 'master' branch. 1045 + properties: 1046 + branch: 1047 + description: Branch to check out, defaults to 'master' if no other 1048 + field is defined. 1049 + type: string 1050 + commit: 1051 + description: |- 1052 + Commit SHA to check out, takes precedence over all reference fields. 1053 + 1054 + This can be combined with Branch to shallow clone the branch, in which 1055 + the commit is expected to exist. 1056 + type: string 1057 + name: 1058 + description: |- 1059 + Name of the reference to check out; takes precedence over Branch, Tag and SemVer. 1060 + 1061 + It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description 1062 + Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head" 1063 + type: string 1064 + semver: 1065 + description: SemVer tag expression to check out, takes precedence 1066 + over Tag. 1067 + type: string 1068 + tag: 1069 + description: Tag to check out, takes precedence over Branch. 1070 + type: string 1071 + type: object 1072 + secretRef: 1073 + description: |- 1074 + SecretRef specifies the Secret containing authentication credentials for 1075 + the GitRepository. 1076 + For HTTPS repositories the Secret must contain 'username' and 'password' 1077 + fields for basic auth or 'bearerToken' field for token auth. 1078 + For SSH repositories the Secret must contain 'identity' 1079 + and 'known_hosts' fields. 1080 + properties: 1081 + name: 1082 + description: Name of the referent. 1083 + type: string 1084 + required: 1085 + - name 1086 + type: object 1087 + serviceAccountName: 1088 + description: |- 1089 + ServiceAccountName is the name of the Kubernetes ServiceAccount used to 1090 + authenticate to the GitRepository. This field is only supported for 'azure' and 'aws' providers. 1091 + type: string 1092 + sparseCheckout: 1093 + description: |- 1094 + SparseCheckout specifies a list of directories to checkout when cloning 1095 + the repository. If specified, only these directories are included in the 1096 + Artifact produced for this GitRepository. 1097 + items: 974 1098 type: string 975 - include: 976 - description: |- 977 - Include specifies a list of GitRepository resources which Artifacts 978 - should be included in the Artifact produced for this GitRepository. 979 - items: 1099 + type: array 1100 + suspend: 1101 + description: |- 1102 + Suspend tells the controller to suspend the reconciliation of this 1103 + GitRepository. 1104 + type: boolean 1105 + timeout: 1106 + default: 60s 1107 + description: Timeout for Git operations like cloning, defaults to 1108 + 60s. 1109 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 1110 + type: string 1111 + url: 1112 + description: URL specifies the Git repository URL, it can be an HTTP/S 1113 + or SSH address. 1114 + pattern: ^(http|https|ssh)://.*$ 1115 + type: string 1116 + verify: 1117 + description: |- 1118 + Verification specifies the configuration to verify the Git commit 1119 + signature(s). 1120 + properties: 1121 + mode: 1122 + default: HEAD 980 1123 description: |- 981 - GitRepositoryInclude specifies a local reference to a GitRepository which 982 - Artifact (sub-)contents must be included, and where they should be placed. 1124 + Mode specifies which Git object(s) should be verified. 1125 + 1126 + The variants "head" and "HEAD" both imply the same thing, i.e. verify 1127 + the commit that the HEAD of the Git repository points to. The variant 1128 + "head" solely exists to ensure backwards compatibility. 1129 + enum: 1130 + - head 1131 + - HEAD 1132 + - Tag 1133 + - TagAndHEAD 1134 + type: string 1135 + secretRef: 1136 + description: |- 1137 + SecretRef specifies the Secret containing the public keys of trusted Git 1138 + authors. PGP public keys must be stored under keys with the .asc suffix, 1139 + and SSH public keys must be stored under keys with the .sshpub suffix. 983 1140 properties: 984 - fromPath: 985 - description: |- 986 - FromPath specifies the path to copy contents from, defaults to the root 987 - of the Artifact. 988 - type: string 989 - repository: 990 - description: |- 991 - GitRepositoryRef specifies the GitRepository which Artifact contents 992 - must be included. 993 - properties: 994 - name: 995 - description: Name of the referent. 996 - type: string 997 - required: 998 - - name 999 - type: object 1000 - toPath: 1001 - description: |- 1002 - ToPath specifies the path to copy contents to, defaults to the name of 1003 - the GitRepositoryRef. 1141 + name: 1142 + description: Name of the referent. 1004 1143 type: string 1005 1144 required: 1006 - - repository 1145 + - name 1007 1146 type: object 1008 - type: array 1009 - interval: 1010 - description: |- 1011 - Interval at which the GitRepository URL is checked for updates. 1012 - This interval is approximate and may be subject to jitter to ensure 1013 - efficient use of resources. 1014 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 1015 - type: string 1016 - provider: 1017 - description: |- 1018 - Provider used for authentication, can be 'azure', 'github', 'generic'. 1019 - When not specified, defaults to 'generic'. 1020 - enum: 1021 - - generic 1022 - - azure 1023 - - github 1024 - type: string 1025 - proxySecretRef: 1026 - description: |- 1027 - ProxySecretRef specifies the Secret containing the proxy configuration 1028 - to use while communicating with the Git server. 1029 - properties: 1030 - name: 1031 - description: Name of the referent. 1147 + required: 1148 + - secretRef 1149 + type: object 1150 + required: 1151 + - interval 1152 + - url 1153 + type: object 1154 + x-kubernetes-validations: 1155 + - message: serviceAccountName can only be set when provider is 'azure' 1156 + or 'aws' 1157 + rule: '!has(self.serviceAccountName) || (has(self.provider) && (self.provider 1158 + == ''azure'' || self.provider == ''aws''))' 1159 + status: 1160 + default: 1161 + observedGeneration: -1 1162 + description: GitRepositoryStatus records the observed state of a Git repository. 1163 + properties: 1164 + artifact: 1165 + description: Artifact represents the last successful GitRepository 1166 + reconciliation. 1167 + properties: 1168 + digest: 1169 + description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 1170 + pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 1171 + type: string 1172 + lastUpdateTime: 1173 + description: |- 1174 + LastUpdateTime is the timestamp corresponding to the last update of the 1175 + Artifact. 1176 + format: date-time 1177 + type: string 1178 + metadata: 1179 + additionalProperties: 1032 1180 type: string 1033 - required: 1034 - - name 1035 - type: object 1036 - recurseSubmodules: 1037 - description: |- 1038 - RecurseSubmodules enables the initialization of all submodules within 1039 - the GitRepository as cloned from the URL, using their default settings. 1040 - type: boolean 1041 - ref: 1042 - description: |- 1043 - Reference specifies the Git reference to resolve and monitor for 1044 - changes, defaults to the 'master' branch. 1181 + description: Metadata holds upstream information such as OCI annotations. 1182 + type: object 1183 + path: 1184 + description: |- 1185 + Path is the relative file path of the Artifact. It can be used to locate 1186 + the file in the root of the Artifact storage on the local file system of 1187 + the controller managing the Source. 1188 + type: string 1189 + revision: 1190 + description: |- 1191 + Revision is a human-readable identifier traceable in the origin source 1192 + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 1193 + type: string 1194 + size: 1195 + description: Size is the number of bytes in the file. 1196 + format: int64 1197 + type: integer 1198 + url: 1199 + description: |- 1200 + URL is the HTTP address of the Artifact as exposed by the controller 1201 + managing the Source. It can be used to retrieve the Artifact for 1202 + consumption, e.g. by another controller applying the Artifact contents. 1203 + type: string 1204 + required: 1205 + - digest 1206 + - lastUpdateTime 1207 + - path 1208 + - revision 1209 + - url 1210 + type: object 1211 + conditions: 1212 + description: Conditions holds the conditions for the GitRepository. 1213 + items: 1214 + description: Condition contains details for one aspect of the current 1215 + state of this API Resource. 1045 1216 properties: 1046 - branch: 1047 - description: 1048 - Branch to check out, defaults to 'master' if no other 1049 - field is defined. 1050 - type: string 1051 - commit: 1217 + lastTransitionTime: 1052 1218 description: |- 1053 - Commit SHA to check out, takes precedence over all reference fields. 1054 - 1055 - This can be combined with Branch to shallow clone the branch, in which 1056 - the commit is expected to exist. 1219 + lastTransitionTime is the last time the condition transitioned from one status to another. 1220 + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 1221 + format: date-time 1057 1222 type: string 1058 - name: 1223 + message: 1059 1224 description: |- 1060 - Name of the reference to check out; takes precedence over Branch, Tag and SemVer. 1061 - 1062 - It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description 1063 - Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head" 1064 - type: string 1065 - semver: 1066 - description: 1067 - SemVer tag expression to check out, takes precedence 1068 - over Tag. 1069 - type: string 1070 - tag: 1071 - description: Tag to check out, takes precedence over Branch. 1072 - type: string 1073 - type: object 1074 - secretRef: 1075 - description: |- 1076 - SecretRef specifies the Secret containing authentication credentials for 1077 - the GitRepository. 1078 - For HTTPS repositories the Secret must contain 'username' and 'password' 1079 - fields for basic auth or 'bearerToken' field for token auth. 1080 - For SSH repositories the Secret must contain 'identity' 1081 - and 'known_hosts' fields. 1082 - properties: 1083 - name: 1084 - description: Name of the referent. 1225 + message is a human readable message indicating details about the transition. 1226 + This may be an empty string. 1227 + maxLength: 32768 1085 1228 type: string 1086 - required: 1087 - - name 1088 - type: object 1089 - serviceAccountName: 1090 - description: |- 1091 - ServiceAccountName is the name of the Kubernetes ServiceAccount used to 1092 - authenticate to the GitRepository. This field is only supported for 'azure' provider. 1093 - type: string 1094 - sparseCheckout: 1095 - description: |- 1096 - SparseCheckout specifies a list of directories to checkout when cloning 1097 - the repository. If specified, only these directories are included in the 1098 - Artifact produced for this GitRepository. 1099 - items: 1100 - type: string 1101 - type: array 1102 - suspend: 1103 - description: |- 1104 - Suspend tells the controller to suspend the reconciliation of this 1105 - GitRepository. 1106 - type: boolean 1107 - timeout: 1108 - default: 60s 1109 - description: 1110 - Timeout for Git operations like cloning, defaults to 1111 - 60s. 1112 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 1113 - type: string 1114 - url: 1115 - description: 1116 - URL specifies the Git repository URL, it can be an HTTP/S 1117 - or SSH address. 1118 - pattern: ^(http|https|ssh)://.*$ 1119 - type: string 1120 - verify: 1121 - description: |- 1122 - Verification specifies the configuration to verify the Git commit 1123 - signature(s). 1124 - properties: 1125 - mode: 1126 - default: HEAD 1229 + observedGeneration: 1230 + description: |- 1231 + observedGeneration represents the .metadata.generation that the condition was set based upon. 1232 + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 1233 + with respect to the current state of the instance. 1234 + format: int64 1235 + minimum: 0 1236 + type: integer 1237 + reason: 1127 1238 description: |- 1128 - Mode specifies which Git object(s) should be verified. 1129 - 1130 - The variants "head" and "HEAD" both imply the same thing, i.e. verify 1131 - the commit that the HEAD of the Git repository points to. The variant 1132 - "head" solely exists to ensure backwards compatibility. 1239 + reason contains a programmatic identifier indicating the reason for the condition's last transition. 1240 + Producers of specific condition types may define expected values and meanings for this field, 1241 + and whether the values are considered a guaranteed API. 1242 + The value should be a CamelCase string. 1243 + This field may not be empty. 1244 + maxLength: 1024 1245 + minLength: 1 1246 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 1247 + type: string 1248 + status: 1249 + description: status of the condition, one of True, False, Unknown. 1133 1250 enum: 1134 - - head 1135 - - HEAD 1136 - - Tag 1137 - - TagAndHEAD 1251 + - "True" 1252 + - "False" 1253 + - Unknown 1138 1254 type: string 1139 - secretRef: 1140 - description: |- 1141 - SecretRef specifies the Secret containing the public keys of trusted Git 1142 - authors. 1143 - properties: 1144 - name: 1145 - description: Name of the referent. 1146 - type: string 1147 - required: 1148 - - name 1149 - type: object 1255 + type: 1256 + description: type of condition in CamelCase or in foo.example.com/CamelCase. 1257 + maxLength: 316 1258 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 1259 + type: string 1150 1260 required: 1151 - - secretRef 1261 + - lastTransitionTime 1262 + - message 1263 + - reason 1264 + - status 1265 + - type 1152 1266 type: object 1153 - required: 1154 - - interval 1155 - - url 1156 - type: object 1157 - x-kubernetes-validations: 1158 - - message: serviceAccountName can only be set when provider is 'azure' 1159 - rule: 1160 - "!has(self.serviceAccountName) || (has(self.provider) && self.provider 1161 - == 'azure')" 1162 - status: 1163 - default: 1164 - observedGeneration: -1 1165 - description: GitRepositoryStatus records the observed state of a Git repository. 1166 - properties: 1167 - artifact: 1168 - description: 1169 - Artifact represents the last successful GitRepository 1170 - reconciliation. 1267 + type: array 1268 + includedArtifacts: 1269 + description: |- 1270 + IncludedArtifacts contains a list of the last successfully included 1271 + Artifacts as instructed by GitRepositorySpec.Include. 1272 + items: 1273 + description: Artifact represents the output of a Source reconciliation. 1171 1274 properties: 1172 1275 digest: 1173 - description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 1276 + description: Digest is the digest of the file in the form of 1277 + '<algorithm>:<checksum>'. 1174 1278 pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 1175 1279 type: string 1176 1280 lastUpdateTime: ··· 1182 1286 metadata: 1183 1287 additionalProperties: 1184 1288 type: string 1185 - description: Metadata holds upstream information such as OCI annotations. 1289 + description: Metadata holds upstream information such as OCI 1290 + annotations. 1186 1291 type: object 1187 1292 path: 1188 1293 description: |- ··· 1206 1311 consumption, e.g. by another controller applying the Artifact contents. 1207 1312 type: string 1208 1313 required: 1209 - - digest 1210 - - lastUpdateTime 1211 - - path 1212 - - revision 1213 - - url 1314 + - digest 1315 + - lastUpdateTime 1316 + - path 1317 + - revision 1318 + - url 1214 1319 type: object 1215 - conditions: 1216 - description: Conditions holds the conditions for the GitRepository. 1217 - items: 1218 - description: 1219 - Condition contains details for one aspect of the current 1220 - state of this API Resource. 1221 - properties: 1222 - lastTransitionTime: 1223 - description: |- 1224 - lastTransitionTime is the last time the condition transitioned from one status to another. 1225 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 1226 - format: date-time 1227 - type: string 1228 - message: 1229 - description: |- 1230 - message is a human readable message indicating details about the transition. 1231 - This may be an empty string. 1232 - maxLength: 32768 1233 - type: string 1234 - observedGeneration: 1235 - description: |- 1236 - observedGeneration represents the .metadata.generation that the condition was set based upon. 1237 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 1238 - with respect to the current state of the instance. 1239 - format: int64 1240 - minimum: 0 1241 - type: integer 1242 - reason: 1243 - description: |- 1244 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 1245 - Producers of specific condition types may define expected values and meanings for this field, 1246 - and whether the values are considered a guaranteed API. 1247 - The value should be a CamelCase string. 1248 - This field may not be empty. 1249 - maxLength: 1024 1250 - minLength: 1 1251 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 1252 - type: string 1253 - status: 1254 - description: status of the condition, one of True, False, Unknown. 1255 - enum: 1256 - - "True" 1257 - - "False" 1258 - - Unknown 1259 - type: string 1260 - type: 1261 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 1262 - maxLength: 316 1263 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 1264 - type: string 1265 - required: 1266 - - lastTransitionTime 1267 - - message 1268 - - reason 1269 - - status 1270 - - type 1271 - type: object 1272 - type: array 1273 - includedArtifacts: 1320 + type: array 1321 + lastHandledReconcileAt: 1322 + description: |- 1323 + LastHandledReconcileAt holds the value of the most recent 1324 + reconcile request value, so a change of the annotation value 1325 + can be detected. 1326 + type: string 1327 + observedGeneration: 1328 + description: |- 1329 + ObservedGeneration is the last observed generation of the GitRepository 1330 + object. 1331 + format: int64 1332 + type: integer 1333 + observedIgnore: 1334 + description: |- 1335 + ObservedIgnore is the observed exclusion patterns used for constructing 1336 + the source artifact. 1337 + type: string 1338 + observedInclude: 1339 + description: |- 1340 + ObservedInclude is the observed list of GitRepository resources used to 1341 + produce the current Artifact. 1342 + items: 1274 1343 description: |- 1275 - IncludedArtifacts contains a list of the last successfully included 1276 - Artifacts as instructed by GitRepositorySpec.Include. 1277 - items: 1278 - description: Artifact represents the output of a Source reconciliation. 1279 - properties: 1280 - digest: 1281 - description: 1282 - Digest is the digest of the file in the form of 1283 - '<algorithm>:<checksum>'. 1284 - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 1285 - type: string 1286 - lastUpdateTime: 1287 - description: |- 1288 - LastUpdateTime is the timestamp corresponding to the last update of the 1289 - Artifact. 1290 - format: date-time 1291 - type: string 1292 - metadata: 1293 - additionalProperties: 1344 + GitRepositoryInclude specifies a local reference to a GitRepository which 1345 + Artifact (sub-)contents must be included, and where they should be placed. 1346 + properties: 1347 + fromPath: 1348 + description: |- 1349 + FromPath specifies the path to copy contents from, defaults to the root 1350 + of the Artifact. 1351 + type: string 1352 + repository: 1353 + description: |- 1354 + GitRepositoryRef specifies the GitRepository which Artifact contents 1355 + must be included. 1356 + properties: 1357 + name: 1358 + description: Name of the referent. 1294 1359 type: string 1295 - description: 1296 - Metadata holds upstream information such as OCI 1297 - annotations. 1298 - type: object 1299 - path: 1300 - description: |- 1301 - Path is the relative file path of the Artifact. It can be used to locate 1302 - the file in the root of the Artifact storage on the local file system of 1303 - the controller managing the Source. 1304 - type: string 1305 - revision: 1306 - description: |- 1307 - Revision is a human-readable identifier traceable in the origin source 1308 - system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 1309 - type: string 1310 - size: 1311 - description: Size is the number of bytes in the file. 1312 - format: int64 1313 - type: integer 1314 - url: 1315 - description: |- 1316 - URL is the HTTP address of the Artifact as exposed by the controller 1317 - managing the Source. It can be used to retrieve the Artifact for 1318 - consumption, e.g. by another controller applying the Artifact contents. 1319 - type: string 1320 - required: 1321 - - digest 1322 - - lastUpdateTime 1323 - - path 1324 - - revision 1325 - - url 1326 - type: object 1327 - type: array 1328 - lastHandledReconcileAt: 1329 - description: |- 1330 - LastHandledReconcileAt holds the value of the most recent 1331 - reconcile request value, so a change of the annotation value 1332 - can be detected. 1333 - type: string 1334 - observedGeneration: 1335 - description: |- 1336 - ObservedGeneration is the last observed generation of the GitRepository 1337 - object. 1338 - format: int64 1339 - type: integer 1340 - observedIgnore: 1341 - description: |- 1342 - ObservedIgnore is the observed exclusion patterns used for constructing 1343 - the source artifact. 1344 - type: string 1345 - observedInclude: 1346 - description: |- 1347 - ObservedInclude is the observed list of GitRepository resources used to 1348 - produce the current Artifact. 1349 - items: 1350 - description: |- 1351 - GitRepositoryInclude specifies a local reference to a GitRepository which 1352 - Artifact (sub-)contents must be included, and where they should be placed. 1353 - properties: 1354 - fromPath: 1355 - description: |- 1356 - FromPath specifies the path to copy contents from, defaults to the root 1357 - of the Artifact. 1358 - type: string 1359 - repository: 1360 - description: |- 1361 - GitRepositoryRef specifies the GitRepository which Artifact contents 1362 - must be included. 1363 - properties: 1364 - name: 1365 - description: Name of the referent. 1366 - type: string 1367 - required: 1368 - - name 1369 - type: object 1370 - toPath: 1371 - description: |- 1372 - ToPath specifies the path to copy contents to, defaults to the name of 1373 - the GitRepositoryRef. 1374 - type: string 1375 - required: 1376 - - repository 1377 - type: object 1378 - type: array 1379 - observedRecurseSubmodules: 1380 - description: |- 1381 - ObservedRecurseSubmodules is the observed resource submodules 1382 - configuration used to produce the current Artifact. 1383 - type: boolean 1384 - observedSparseCheckout: 1385 - description: |- 1386 - ObservedSparseCheckout is the observed list of directories used to 1387 - produce the current Artifact. 1388 - items: 1389 - type: string 1390 - type: array 1391 - sourceVerificationMode: 1392 - description: |- 1393 - SourceVerificationMode is the last used verification mode indicating 1394 - which Git object(s) have been verified. 1360 + required: 1361 + - name 1362 + type: object 1363 + toPath: 1364 + description: |- 1365 + ToPath specifies the path to copy contents to, defaults to the name of 1366 + the GitRepositoryRef. 1367 + type: string 1368 + required: 1369 + - repository 1370 + type: object 1371 + type: array 1372 + observedRecurseSubmodules: 1373 + description: |- 1374 + ObservedRecurseSubmodules is the observed resource submodules 1375 + configuration used to produce the current Artifact. 1376 + type: boolean 1377 + observedSparseCheckout: 1378 + description: |- 1379 + ObservedSparseCheckout is the observed list of directories used to 1380 + produce the current Artifact. 1381 + items: 1395 1382 type: string 1396 - type: object 1397 - type: object 1398 - served: true 1399 - storage: true 1400 - subresources: 1401 - status: {} 1383 + type: array 1384 + sourceVerificationMode: 1385 + description: |- 1386 + SourceVerificationMode is the last used verification mode indicating 1387 + which Git object(s) have been verified. 1388 + type: string 1389 + type: object 1390 + type: object 1391 + served: true 1392 + storage: true 1393 + subresources: 1394 + status: {} 1402 1395 --- 1403 1396 apiVersion: apiextensions.k8s.io/v1 1404 1397 kind: CustomResourceDefinition 1405 1398 metadata: 1406 1399 annotations: 1407 - controller-gen.kubebuilder.io/version: v0.19.0 1400 + controller-gen.kubebuilder.io/version: v0.21.0 1408 1401 labels: 1409 1402 app.kubernetes.io/component: source-controller 1410 1403 app.kubernetes.io/instance: flux-system 1411 1404 app.kubernetes.io/part-of: flux 1412 - app.kubernetes.io/version: v2.8.8 1405 + app.kubernetes.io/version: v2.9.0 1413 1406 name: helmcharts.source.toolkit.fluxcd.io 1414 1407 spec: 1415 1408 group: source.toolkit.fluxcd.io 1416 1409 names: 1410 + categories: 1411 + - all 1412 + - fluxcd 1413 + - fluxcd-sources 1417 1414 kind: HelmChart 1418 1415 listKind: HelmChartList 1419 1416 plural: helmcharts 1420 1417 shortNames: 1421 - - hc 1418 + - hc 1422 1419 singular: helmchart 1423 1420 scope: Namespaced 1424 1421 versions: 1425 - - additionalPrinterColumns: 1426 - - jsonPath: .spec.chart 1427 - name: Chart 1428 - type: string 1429 - - jsonPath: .spec.version 1430 - name: Version 1431 - type: string 1432 - - jsonPath: .spec.sourceRef.kind 1433 - name: Source Kind 1434 - type: string 1435 - - jsonPath: .spec.sourceRef.name 1436 - name: Source Name 1437 - type: string 1438 - - jsonPath: .metadata.creationTimestamp 1439 - name: Age 1440 - type: date 1441 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 1442 - name: Ready 1443 - type: string 1444 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 1445 - name: Status 1446 - type: string 1447 - name: v1 1448 - schema: 1449 - openAPIV3Schema: 1450 - description: HelmChart is the Schema for the helmcharts API. 1451 - properties: 1452 - apiVersion: 1453 - description: |- 1454 - APIVersion defines the versioned schema of this representation of an object. 1455 - Servers should convert recognized schemas to the latest internal value, and 1456 - may reject unrecognized values. 1457 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 1458 - type: string 1459 - kind: 1460 - description: |- 1461 - Kind is a string value representing the REST resource this object represents. 1462 - Servers may infer this from the endpoint the client submits requests to. 1463 - Cannot be updated. 1464 - In CamelCase. 1465 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1466 - type: string 1467 - metadata: 1468 - type: object 1469 - spec: 1470 - description: HelmChartSpec specifies the desired state of a Helm chart. 1471 - properties: 1472 - chart: 1473 - description: |- 1474 - Chart is the name or path the Helm chart is available at in the 1475 - SourceRef. 1422 + - additionalPrinterColumns: 1423 + - jsonPath: .spec.chart 1424 + name: Chart 1425 + type: string 1426 + - jsonPath: .spec.version 1427 + name: Version 1428 + type: string 1429 + - jsonPath: .spec.sourceRef.kind 1430 + name: Source Kind 1431 + type: string 1432 + - jsonPath: .spec.sourceRef.name 1433 + name: Source Name 1434 + type: string 1435 + - jsonPath: .metadata.creationTimestamp 1436 + name: Age 1437 + type: date 1438 + - jsonPath: .status.conditions[?(@.type=="Ready")].status 1439 + name: Ready 1440 + type: string 1441 + - jsonPath: .status.conditions[?(@.type=="Ready")].message 1442 + name: Status 1443 + type: string 1444 + name: v1 1445 + schema: 1446 + openAPIV3Schema: 1447 + description: HelmChart is the Schema for the helmcharts API. 1448 + properties: 1449 + apiVersion: 1450 + description: |- 1451 + APIVersion defines the versioned schema of this representation of an object. 1452 + Servers should convert recognized schemas to the latest internal value, and 1453 + may reject unrecognized values. 1454 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 1455 + type: string 1456 + kind: 1457 + description: |- 1458 + Kind is a string value representing the REST resource this object represents. 1459 + Servers may infer this from the endpoint the client submits requests to. 1460 + Cannot be updated. 1461 + In CamelCase. 1462 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1463 + type: string 1464 + metadata: 1465 + type: object 1466 + spec: 1467 + description: HelmChartSpec specifies the desired state of a Helm chart. 1468 + properties: 1469 + chart: 1470 + description: |- 1471 + Chart is the name or path the Helm chart is available at in the 1472 + SourceRef. 1473 + type: string 1474 + ignoreMissingValuesFiles: 1475 + description: |- 1476 + IgnoreMissingValuesFiles controls whether to silently ignore missing values 1477 + files rather than failing. 1478 + type: boolean 1479 + interval: 1480 + description: |- 1481 + Interval at which the HelmChart SourceRef is checked for updates. 1482 + This interval is approximate and may be subject to jitter to ensure 1483 + efficient use of resources. 1484 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 1485 + type: string 1486 + reconcileStrategy: 1487 + default: ChartVersion 1488 + description: |- 1489 + ReconcileStrategy determines what enables the creation of a new artifact. 1490 + Valid values are ('ChartVersion', 'Revision'). 1491 + See the documentation of the values for an explanation on their behavior. 1492 + Defaults to ChartVersion when omitted. 1493 + enum: 1494 + - ChartVersion 1495 + - Revision 1496 + type: string 1497 + sourceRef: 1498 + description: SourceRef is the reference to the Source the chart is 1499 + available at. 1500 + properties: 1501 + apiVersion: 1502 + description: APIVersion of the referent. 1503 + type: string 1504 + kind: 1505 + description: |- 1506 + Kind of the referent, valid values are ('HelmRepository', 'GitRepository', 1507 + 'Bucket'). 1508 + enum: 1509 + - HelmRepository 1510 + - GitRepository 1511 + - Bucket 1512 + type: string 1513 + name: 1514 + description: Name of the referent. 1515 + type: string 1516 + required: 1517 + - kind 1518 + - name 1519 + type: object 1520 + suspend: 1521 + description: |- 1522 + Suspend tells the controller to suspend the reconciliation of this 1523 + source. 1524 + type: boolean 1525 + valuesFiles: 1526 + description: |- 1527 + ValuesFiles is an alternative list of values files to use as the chart 1528 + values (values.yaml is not included by default), expected to be a 1529 + relative path in the SourceRef. 1530 + Values files are merged in the order of this list with the last file 1531 + overriding the first. Ignored when omitted. 1532 + items: 1476 1533 type: string 1477 - ignoreMissingValuesFiles: 1478 - description: |- 1479 - IgnoreMissingValuesFiles controls whether to silently ignore missing values 1480 - files rather than failing. 1481 - type: boolean 1482 - interval: 1483 - description: |- 1484 - Interval at which the HelmChart SourceRef is checked for updates. 1485 - This interval is approximate and may be subject to jitter to ensure 1486 - efficient use of resources. 1487 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 1488 - type: string 1489 - reconcileStrategy: 1490 - default: ChartVersion 1491 - description: |- 1492 - ReconcileStrategy determines what enables the creation of a new artifact. 1493 - Valid values are ('ChartVersion', 'Revision'). 1494 - See the documentation of the values for an explanation on their behavior. 1495 - Defaults to ChartVersion when omitted. 1496 - enum: 1497 - - ChartVersion 1498 - - Revision 1499 - type: string 1500 - sourceRef: 1501 - description: 1502 - SourceRef is the reference to the Source the chart is 1503 - available at. 1504 - properties: 1505 - apiVersion: 1506 - description: APIVersion of the referent. 1507 - type: string 1508 - kind: 1534 + type: array 1535 + verify: 1536 + description: |- 1537 + Verify contains the secret name containing the trusted public keys 1538 + used to verify the signature and specifies which provider to use to check 1539 + whether OCI image is authentic. 1540 + This field is only supported when using HelmRepository source with spec.type 'oci'. 1541 + Chart dependencies, which are not bundled in the umbrella chart artifact, are not verified. 1542 + properties: 1543 + matchOIDCIdentity: 1544 + description: |- 1545 + MatchOIDCIdentity specifies the identity matching criteria to use 1546 + while verifying an OCI artifact which was signed using Cosign keyless 1547 + signing. The artifact's identity is deemed to be verified if any of the 1548 + specified matchers match against the identity. 1549 + items: 1509 1550 description: |- 1510 - Kind of the referent, valid values are ('HelmRepository', 'GitRepository', 1511 - 'Bucket'). 1512 - enum: 1513 - - HelmRepository 1514 - - GitRepository 1515 - - Bucket 1516 - type: string 1517 - name: 1518 - description: Name of the referent. 1519 - type: string 1520 - required: 1521 - - kind 1522 - - name 1523 - type: object 1524 - suspend: 1525 - description: |- 1526 - Suspend tells the controller to suspend the reconciliation of this 1527 - source. 1528 - type: boolean 1529 - valuesFiles: 1530 - description: |- 1531 - ValuesFiles is an alternative list of values files to use as the chart 1532 - values (values.yaml is not included by default), expected to be a 1533 - relative path in the SourceRef. 1534 - Values files are merged in the order of this list with the last file 1535 - overriding the first. Ignored when omitted. 1536 - items: 1537 - type: string 1538 - type: array 1539 - verify: 1540 - description: |- 1541 - Verify contains the secret name containing the trusted public keys 1542 - used to verify the signature and specifies which provider to use to check 1543 - whether OCI image is authentic. 1544 - This field is only supported when using HelmRepository source with spec.type 'oci'. 1545 - Chart dependencies, which are not bundled in the umbrella chart artifact, are not verified. 1546 - properties: 1547 - matchOIDCIdentity: 1548 - description: |- 1549 - MatchOIDCIdentity specifies the identity matching criteria to use 1550 - while verifying an OCI artifact which was signed using Cosign keyless 1551 - signing. The artifact's identity is deemed to be verified if any of the 1552 - specified matchers match against the identity. 1553 - items: 1554 - description: |- 1555 - OIDCIdentityMatch specifies options for verifying the certificate identity, 1556 - i.e. the issuer and the subject of the certificate. 1557 - properties: 1558 - issuer: 1559 - description: |- 1560 - Issuer specifies the regex pattern to match against to verify 1561 - the OIDC issuer in the Fulcio certificate. The pattern must be a 1562 - valid Go regular expression. 1563 - type: string 1564 - subject: 1565 - description: |- 1566 - Subject specifies the regex pattern to match against to verify 1567 - the identity subject in the Fulcio certificate. The pattern must 1568 - be a valid Go regular expression. 1569 - type: string 1570 - required: 1571 - - issuer 1572 - - subject 1573 - type: object 1574 - type: array 1575 - provider: 1576 - default: cosign 1577 - description: 1578 - Provider specifies the technology used to sign the 1579 - OCI Artifact. 1580 - enum: 1581 - - cosign 1582 - - notation 1583 - type: string 1584 - secretRef: 1585 - description: |- 1586 - SecretRef specifies the Kubernetes Secret containing the 1587 - trusted public keys. 1551 + OIDCIdentityMatch specifies options for verifying the certificate identity, 1552 + i.e. the issuer and the subject of the certificate. 1588 1553 properties: 1589 - name: 1590 - description: Name of the referent. 1554 + issuer: 1555 + description: |- 1556 + Issuer specifies the regex pattern to match against to verify 1557 + the OIDC issuer in the Fulcio certificate. The pattern must be a 1558 + valid Go regular expression. 1559 + type: string 1560 + subject: 1561 + description: |- 1562 + Subject specifies the regex pattern to match against to verify 1563 + the identity subject in the Fulcio certificate. The pattern must 1564 + be a valid Go regular expression. 1591 1565 type: string 1592 1566 required: 1593 - - name 1567 + - issuer 1568 + - subject 1594 1569 type: object 1595 - required: 1596 - - provider 1597 - type: object 1598 - version: 1599 - default: "*" 1600 - description: |- 1601 - Version is the chart version semver expression, ignored for charts from 1602 - GitRepository and Bucket sources. Defaults to latest when omitted. 1603 - type: string 1604 - required: 1605 - - chart 1606 - - interval 1607 - - sourceRef 1608 - type: object 1609 - x-kubernetes-validations: 1610 - - message: spec.verify is only supported when spec.sourceRef.kind is 'HelmRepository' 1611 - rule: "!has(self.verify) || self.sourceRef.kind == 'HelmRepository'" 1612 - status: 1613 - default: 1614 - observedGeneration: -1 1615 - description: HelmChartStatus records the observed state of the HelmChart. 1616 - properties: 1617 - artifact: 1618 - description: 1619 - Artifact represents the output of the last successful 1620 - reconciliation. 1621 - properties: 1622 - digest: 1623 - description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 1624 - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 1570 + type: array 1571 + provider: 1572 + default: cosign 1573 + description: Provider specifies the technology used to sign the 1574 + OCI Artifact. 1575 + enum: 1576 + - cosign 1577 + - notation 1578 + type: string 1579 + secretRef: 1580 + description: |- 1581 + SecretRef specifies the Kubernetes Secret containing the 1582 + trusted public keys. 1583 + properties: 1584 + name: 1585 + description: Name of the referent. 1586 + type: string 1587 + required: 1588 + - name 1589 + type: object 1590 + required: 1591 + - provider 1592 + type: object 1593 + version: 1594 + default: '*' 1595 + description: |- 1596 + Version is the chart version semver expression, ignored for charts from 1597 + GitRepository and Bucket sources. Defaults to latest when omitted. 1598 + type: string 1599 + required: 1600 + - chart 1601 + - interval 1602 + - sourceRef 1603 + type: object 1604 + x-kubernetes-validations: 1605 + - message: spec.verify is only supported when spec.sourceRef.kind is 'HelmRepository' 1606 + rule: '!has(self.verify) || self.sourceRef.kind == ''HelmRepository''' 1607 + status: 1608 + default: 1609 + observedGeneration: -1 1610 + description: HelmChartStatus records the observed state of the HelmChart. 1611 + properties: 1612 + artifact: 1613 + description: Artifact represents the output of the last successful 1614 + reconciliation. 1615 + properties: 1616 + digest: 1617 + description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 1618 + pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 1619 + type: string 1620 + lastUpdateTime: 1621 + description: |- 1622 + LastUpdateTime is the timestamp corresponding to the last update of the 1623 + Artifact. 1624 + format: date-time 1625 + type: string 1626 + metadata: 1627 + additionalProperties: 1625 1628 type: string 1626 - lastUpdateTime: 1629 + description: Metadata holds upstream information such as OCI annotations. 1630 + type: object 1631 + path: 1632 + description: |- 1633 + Path is the relative file path of the Artifact. It can be used to locate 1634 + the file in the root of the Artifact storage on the local file system of 1635 + the controller managing the Source. 1636 + type: string 1637 + revision: 1638 + description: |- 1639 + Revision is a human-readable identifier traceable in the origin source 1640 + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 1641 + type: string 1642 + size: 1643 + description: Size is the number of bytes in the file. 1644 + format: int64 1645 + type: integer 1646 + url: 1647 + description: |- 1648 + URL is the HTTP address of the Artifact as exposed by the controller 1649 + managing the Source. It can be used to retrieve the Artifact for 1650 + consumption, e.g. by another controller applying the Artifact contents. 1651 + type: string 1652 + required: 1653 + - digest 1654 + - lastUpdateTime 1655 + - path 1656 + - revision 1657 + - url 1658 + type: object 1659 + conditions: 1660 + description: Conditions holds the conditions for the HelmChart. 1661 + items: 1662 + description: Condition contains details for one aspect of the current 1663 + state of this API Resource. 1664 + properties: 1665 + lastTransitionTime: 1627 1666 description: |- 1628 - LastUpdateTime is the timestamp corresponding to the last update of the 1629 - Artifact. 1667 + lastTransitionTime is the last time the condition transitioned from one status to another. 1668 + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 1630 1669 format: date-time 1631 1670 type: string 1632 - metadata: 1633 - additionalProperties: 1634 - type: string 1635 - description: Metadata holds upstream information such as OCI annotations. 1636 - type: object 1637 - path: 1671 + message: 1638 1672 description: |- 1639 - Path is the relative file path of the Artifact. It can be used to locate 1640 - the file in the root of the Artifact storage on the local file system of 1641 - the controller managing the Source. 1673 + message is a human readable message indicating details about the transition. 1674 + This may be an empty string. 1675 + maxLength: 32768 1642 1676 type: string 1643 - revision: 1677 + observedGeneration: 1644 1678 description: |- 1645 - Revision is a human-readable identifier traceable in the origin source 1646 - system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 1647 - type: string 1648 - size: 1649 - description: Size is the number of bytes in the file. 1679 + observedGeneration represents the .metadata.generation that the condition was set based upon. 1680 + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 1681 + with respect to the current state of the instance. 1650 1682 format: int64 1683 + minimum: 0 1651 1684 type: integer 1652 - url: 1685 + reason: 1653 1686 description: |- 1654 - URL is the HTTP address of the Artifact as exposed by the controller 1655 - managing the Source. It can be used to retrieve the Artifact for 1656 - consumption, e.g. by another controller applying the Artifact contents. 1687 + reason contains a programmatic identifier indicating the reason for the condition's last transition. 1688 + Producers of specific condition types may define expected values and meanings for this field, 1689 + and whether the values are considered a guaranteed API. 1690 + The value should be a CamelCase string. 1691 + This field may not be empty. 1692 + maxLength: 1024 1693 + minLength: 1 1694 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 1695 + type: string 1696 + status: 1697 + description: status of the condition, one of True, False, Unknown. 1698 + enum: 1699 + - "True" 1700 + - "False" 1701 + - Unknown 1702 + type: string 1703 + type: 1704 + description: type of condition in CamelCase or in foo.example.com/CamelCase. 1705 + maxLength: 316 1706 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 1657 1707 type: string 1658 1708 required: 1659 - - digest 1660 - - lastUpdateTime 1661 - - path 1662 - - revision 1663 - - url 1709 + - lastTransitionTime 1710 + - message 1711 + - reason 1712 + - status 1713 + - type 1664 1714 type: object 1665 - conditions: 1666 - description: Conditions holds the conditions for the HelmChart. 1667 - items: 1668 - description: 1669 - Condition contains details for one aspect of the current 1670 - state of this API Resource. 1671 - properties: 1672 - lastTransitionTime: 1673 - description: |- 1674 - lastTransitionTime is the last time the condition transitioned from one status to another. 1675 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 1676 - format: date-time 1677 - type: string 1678 - message: 1679 - description: |- 1680 - message is a human readable message indicating details about the transition. 1681 - This may be an empty string. 1682 - maxLength: 32768 1683 - type: string 1684 - observedGeneration: 1685 - description: |- 1686 - observedGeneration represents the .metadata.generation that the condition was set based upon. 1687 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 1688 - with respect to the current state of the instance. 1689 - format: int64 1690 - minimum: 0 1691 - type: integer 1692 - reason: 1693 - description: |- 1694 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 1695 - Producers of specific condition types may define expected values and meanings for this field, 1696 - and whether the values are considered a guaranteed API. 1697 - The value should be a CamelCase string. 1698 - This field may not be empty. 1699 - maxLength: 1024 1700 - minLength: 1 1701 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 1702 - type: string 1703 - status: 1704 - description: status of the condition, one of True, False, Unknown. 1705 - enum: 1706 - - "True" 1707 - - "False" 1708 - - Unknown 1709 - type: string 1710 - type: 1711 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 1712 - maxLength: 316 1713 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 1714 - type: string 1715 - required: 1716 - - lastTransitionTime 1717 - - message 1718 - - reason 1719 - - status 1720 - - type 1721 - type: object 1722 - type: array 1723 - lastHandledReconcileAt: 1724 - description: |- 1725 - LastHandledReconcileAt holds the value of the most recent 1726 - reconcile request value, so a change of the annotation value 1727 - can be detected. 1715 + type: array 1716 + lastHandledReconcileAt: 1717 + description: |- 1718 + LastHandledReconcileAt holds the value of the most recent 1719 + reconcile request value, so a change of the annotation value 1720 + can be detected. 1721 + type: string 1722 + observedChartName: 1723 + description: |- 1724 + ObservedChartName is the last observed chart name as specified by the 1725 + resolved chart reference. 1726 + type: string 1727 + observedGeneration: 1728 + description: |- 1729 + ObservedGeneration is the last observed generation of the HelmChart 1730 + object. 1731 + format: int64 1732 + type: integer 1733 + observedSourceArtifactRevision: 1734 + description: |- 1735 + ObservedSourceArtifactRevision is the last observed Artifact.Revision 1736 + of the HelmChartSpec.SourceRef. 1737 + type: string 1738 + observedValuesFiles: 1739 + description: |- 1740 + ObservedValuesFiles are the observed value files of the last successful 1741 + reconciliation. 1742 + It matches the chart in the last successfully reconciled artifact. 1743 + items: 1728 1744 type: string 1729 - observedChartName: 1730 - description: |- 1731 - ObservedChartName is the last observed chart name as specified by the 1732 - resolved chart reference. 1733 - type: string 1734 - observedGeneration: 1735 - description: |- 1736 - ObservedGeneration is the last observed generation of the HelmChart 1737 - object. 1738 - format: int64 1739 - type: integer 1740 - observedSourceArtifactRevision: 1741 - description: |- 1742 - ObservedSourceArtifactRevision is the last observed Artifact.Revision 1743 - of the HelmChartSpec.SourceRef. 1744 - type: string 1745 - observedValuesFiles: 1746 - description: |- 1747 - ObservedValuesFiles are the observed value files of the last successful 1748 - reconciliation. 1749 - It matches the chart in the last successfully reconciled artifact. 1750 - items: 1751 - type: string 1752 - type: array 1753 - url: 1754 - description: |- 1755 - URL is the dynamic fetch link for the latest Artifact. 1756 - It is provided on a "best effort" basis, and using the precise 1757 - BucketStatus.Artifact data is recommended. 1758 - type: string 1759 - type: object 1760 - type: object 1761 - served: true 1762 - storage: true 1763 - subresources: 1764 - status: {} 1745 + type: array 1746 + url: 1747 + description: |- 1748 + URL is the dynamic fetch link for the latest Artifact. 1749 + It is provided on a "best effort" basis, and using the precise 1750 + BucketStatus.Artifact data is recommended. 1751 + type: string 1752 + type: object 1753 + type: object 1754 + served: true 1755 + storage: true 1756 + subresources: 1757 + status: {} 1765 1758 --- 1766 1759 apiVersion: apiextensions.k8s.io/v1 1767 1760 kind: CustomResourceDefinition 1768 1761 metadata: 1769 1762 annotations: 1770 - controller-gen.kubebuilder.io/version: v0.19.0 1763 + controller-gen.kubebuilder.io/version: v0.21.0 1771 1764 labels: 1772 1765 app.kubernetes.io/component: source-controller 1773 1766 app.kubernetes.io/instance: flux-system 1774 1767 app.kubernetes.io/part-of: flux 1775 - app.kubernetes.io/version: v2.8.8 1768 + app.kubernetes.io/version: v2.9.0 1776 1769 name: helmrepositories.source.toolkit.fluxcd.io 1777 1770 spec: 1778 1771 group: source.toolkit.fluxcd.io 1779 1772 names: 1773 + categories: 1774 + - all 1775 + - fluxcd 1776 + - fluxcd-sources 1780 1777 kind: HelmRepository 1781 1778 listKind: HelmRepositoryList 1782 1779 plural: helmrepositories 1783 1780 shortNames: 1784 - - helmrepo 1781 + - helmrepo 1785 1782 singular: helmrepository 1786 1783 scope: Namespaced 1787 1784 versions: 1788 - - additionalPrinterColumns: 1789 - - jsonPath: .spec.url 1790 - name: URL 1791 - type: string 1792 - - jsonPath: .metadata.creationTimestamp 1793 - name: Age 1794 - type: date 1795 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 1796 - name: Ready 1797 - type: string 1798 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 1799 - name: Status 1800 - type: string 1801 - name: v1 1802 - schema: 1803 - openAPIV3Schema: 1804 - description: HelmRepository is the Schema for the helmrepositories API. 1805 - properties: 1806 - apiVersion: 1807 - description: |- 1808 - APIVersion defines the versioned schema of this representation of an object. 1809 - Servers should convert recognized schemas to the latest internal value, and 1810 - may reject unrecognized values. 1811 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 1812 - type: string 1813 - kind: 1814 - description: |- 1815 - Kind is a string value representing the REST resource this object represents. 1816 - Servers may infer this from the endpoint the client submits requests to. 1817 - Cannot be updated. 1818 - In CamelCase. 1819 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1820 - type: string 1821 - metadata: 1822 - type: object 1823 - spec: 1824 - description: |- 1825 - HelmRepositorySpec specifies the required configuration to produce an 1826 - Artifact for a Helm repository index YAML. 1827 - properties: 1828 - accessFrom: 1829 - description: |- 1830 - AccessFrom specifies an Access Control List for allowing cross-namespace 1831 - references to this object. 1832 - NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092 1833 - properties: 1834 - namespaceSelectors: 1785 + - additionalPrinterColumns: 1786 + - jsonPath: .spec.url 1787 + name: URL 1788 + type: string 1789 + - jsonPath: .metadata.creationTimestamp 1790 + name: Age 1791 + type: date 1792 + - jsonPath: .status.conditions[?(@.type=="Ready")].status 1793 + name: Ready 1794 + type: string 1795 + - jsonPath: .status.conditions[?(@.type=="Ready")].message 1796 + name: Status 1797 + type: string 1798 + name: v1 1799 + schema: 1800 + openAPIV3Schema: 1801 + description: HelmRepository is the Schema for the helmrepositories API. 1802 + properties: 1803 + apiVersion: 1804 + description: |- 1805 + APIVersion defines the versioned schema of this representation of an object. 1806 + Servers should convert recognized schemas to the latest internal value, and 1807 + may reject unrecognized values. 1808 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 1809 + type: string 1810 + kind: 1811 + description: |- 1812 + Kind is a string value representing the REST resource this object represents. 1813 + Servers may infer this from the endpoint the client submits requests to. 1814 + Cannot be updated. 1815 + In CamelCase. 1816 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1817 + type: string 1818 + metadata: 1819 + type: object 1820 + spec: 1821 + description: |- 1822 + HelmRepositorySpec specifies the required configuration to produce an 1823 + Artifact for a Helm repository index YAML. 1824 + properties: 1825 + accessFrom: 1826 + description: |- 1827 + AccessFrom specifies an Access Control List for allowing cross-namespace 1828 + references to this object. 1829 + NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092 1830 + properties: 1831 + namespaceSelectors: 1832 + description: |- 1833 + NamespaceSelectors is the list of namespace selectors to which this ACL applies. 1834 + Items in this list are evaluated using a logical OR operation. 1835 + items: 1835 1836 description: |- 1836 - NamespaceSelectors is the list of namespace selectors to which this ACL applies. 1837 - Items in this list are evaluated using a logical OR operation. 1838 - items: 1839 - description: |- 1840 - NamespaceSelector selects the namespaces to which this ACL applies. 1841 - An empty map of MatchLabels matches all namespaces in a cluster. 1842 - properties: 1843 - matchLabels: 1844 - additionalProperties: 1845 - type: string 1846 - description: |- 1847 - MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 1848 - map is equivalent to an element of matchExpressions, whose key field is "key", the 1849 - operator is "In", and the values array contains only "value". The requirements are ANDed. 1850 - type: object 1851 - type: object 1852 - type: array 1853 - required: 1854 - - namespaceSelectors 1855 - type: object 1856 - certSecretRef: 1857 - description: |- 1858 - CertSecretRef can be given the name of a Secret containing 1859 - either or both of 1837 + NamespaceSelector selects the namespaces to which this ACL applies. 1838 + An empty map of MatchLabels matches all namespaces in a cluster. 1839 + properties: 1840 + matchLabels: 1841 + additionalProperties: 1842 + type: string 1843 + description: |- 1844 + MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 1845 + map is equivalent to an element of matchExpressions, whose key field is "key", the 1846 + operator is "In", and the values array contains only "value". The requirements are ANDed. 1847 + type: object 1848 + type: object 1849 + type: array 1850 + required: 1851 + - namespaceSelectors 1852 + type: object 1853 + certSecretRef: 1854 + description: |- 1855 + CertSecretRef can be given the name of a Secret containing 1856 + either or both of 1860 1857 1861 - - a PEM-encoded client certificate (`tls.crt`) and private 1862 - key (`tls.key`); 1863 - - a PEM-encoded CA certificate (`ca.crt`) 1858 + - a PEM-encoded client certificate (`tls.crt`) and private 1859 + key (`tls.key`); 1860 + - a PEM-encoded CA certificate (`ca.crt`) 1864 1861 1865 - and whichever are supplied, will be used for connecting to the 1866 - registry. The client cert and key are useful if you are 1867 - authenticating with a certificate; the CA cert is useful if 1868 - you are using a self-signed server certificate. The Secret must 1869 - be of type `Opaque` or `kubernetes.io/tls`. 1862 + and whichever are supplied, will be used for connecting to the 1863 + registry. The client cert and key are useful if you are 1864 + authenticating with a certificate; the CA cert is useful if 1865 + you are using a self-signed server certificate. The Secret must 1866 + be of type `Opaque` or `kubernetes.io/tls`. 1870 1867 1871 - It takes precedence over the values specified in the Secret referred 1872 - to by `.spec.secretRef`. 1873 - properties: 1874 - name: 1875 - description: Name of the referent. 1876 - type: string 1877 - required: 1878 - - name 1879 - type: object 1880 - insecure: 1881 - description: |- 1882 - Insecure allows connecting to a non-TLS HTTP container registry. 1883 - This field is only taken into account if the .spec.type field is set to 'oci'. 1884 - type: boolean 1885 - interval: 1886 - description: |- 1887 - Interval at which the HelmRepository URL is checked for updates. 1888 - This interval is approximate and may be subject to jitter to ensure 1889 - efficient use of resources. 1890 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 1891 - type: string 1892 - passCredentials: 1893 - description: |- 1894 - PassCredentials allows the credentials from the SecretRef to be passed 1895 - on to a host that does not match the host as defined in URL. 1896 - This may be required if the host of the advertised chart URLs in the 1897 - index differ from the defined URL. 1898 - Enabling this should be done with caution, as it can potentially result 1899 - in credentials getting stolen in a MITM-attack. 1900 - type: boolean 1901 - provider: 1902 - default: generic 1903 - description: |- 1904 - Provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'. 1905 - This field is optional, and only taken into account if the .spec.type field is set to 'oci'. 1906 - When not specified, defaults to 'generic'. 1907 - enum: 1908 - - generic 1909 - - aws 1910 - - azure 1911 - - gcp 1912 - type: string 1913 - secretRef: 1914 - description: |- 1915 - SecretRef specifies the Secret containing authentication credentials 1916 - for the HelmRepository. 1917 - For HTTP/S basic auth the secret must contain 'username' and 'password' 1918 - fields. 1919 - Support for TLS auth using the 'certFile' and 'keyFile', and/or 'caFile' 1920 - keys is deprecated. Please use `.spec.certSecretRef` instead. 1921 - properties: 1922 - name: 1923 - description: Name of the referent. 1868 + It takes precedence over the values specified in the Secret referred 1869 + to by `.spec.secretRef`. 1870 + properties: 1871 + name: 1872 + description: Name of the referent. 1873 + type: string 1874 + required: 1875 + - name 1876 + type: object 1877 + insecure: 1878 + description: |- 1879 + Insecure allows connecting to a non-TLS HTTP container registry. 1880 + This field is only taken into account if the .spec.type field is set to 'oci'. 1881 + type: boolean 1882 + interval: 1883 + description: |- 1884 + Interval at which the HelmRepository URL is checked for updates. 1885 + This interval is approximate and may be subject to jitter to ensure 1886 + efficient use of resources. 1887 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 1888 + type: string 1889 + passCredentials: 1890 + description: |- 1891 + PassCredentials allows the credentials from the SecretRef to be passed 1892 + on to a host that does not match the host as defined in URL. 1893 + This may be required if the host of the advertised chart URLs in the 1894 + index differ from the defined URL. 1895 + Enabling this should be done with caution, as it can potentially result 1896 + in credentials getting stolen in a MITM-attack. 1897 + type: boolean 1898 + provider: 1899 + default: generic 1900 + description: |- 1901 + Provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'. 1902 + This field is optional, and only taken into account if the .spec.type field is set to 'oci'. 1903 + When not specified, defaults to 'generic'. 1904 + enum: 1905 + - generic 1906 + - aws 1907 + - azure 1908 + - gcp 1909 + type: string 1910 + secretRef: 1911 + description: |- 1912 + SecretRef specifies the Secret containing authentication credentials 1913 + for the HelmRepository. 1914 + For HTTP/S basic auth the secret must contain 'username' and 'password' 1915 + fields. 1916 + Support for TLS auth using the 'certFile' and 'keyFile', and/or 'caFile' 1917 + keys is deprecated. Please use `.spec.certSecretRef` instead. 1918 + properties: 1919 + name: 1920 + description: Name of the referent. 1921 + type: string 1922 + required: 1923 + - name 1924 + type: object 1925 + suspend: 1926 + description: |- 1927 + Suspend tells the controller to suspend the reconciliation of this 1928 + HelmRepository. 1929 + type: boolean 1930 + timeout: 1931 + description: |- 1932 + Timeout is used for the index fetch operation for an HTTPS helm repository, 1933 + and for remote OCI Repository operations like pulling for an OCI helm 1934 + chart by the associated HelmChart. 1935 + Its default value is 60s. 1936 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 1937 + type: string 1938 + type: 1939 + description: |- 1940 + Type of the HelmRepository. 1941 + When this field is set to "oci", the URL field value must be prefixed with "oci://". 1942 + enum: 1943 + - default 1944 + - oci 1945 + type: string 1946 + url: 1947 + description: |- 1948 + URL of the Helm repository, a valid URL contains at least a protocol and 1949 + host. 1950 + pattern: ^(http|https|oci)://.*$ 1951 + type: string 1952 + required: 1953 + - url 1954 + type: object 1955 + status: 1956 + default: 1957 + observedGeneration: -1 1958 + description: HelmRepositoryStatus records the observed state of the HelmRepository. 1959 + properties: 1960 + artifact: 1961 + description: Artifact represents the last successful HelmRepository 1962 + reconciliation. 1963 + properties: 1964 + digest: 1965 + description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 1966 + pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 1967 + type: string 1968 + lastUpdateTime: 1969 + description: |- 1970 + LastUpdateTime is the timestamp corresponding to the last update of the 1971 + Artifact. 1972 + format: date-time 1973 + type: string 1974 + metadata: 1975 + additionalProperties: 1924 1976 type: string 1925 - required: 1926 - - name 1927 - type: object 1928 - suspend: 1929 - description: |- 1930 - Suspend tells the controller to suspend the reconciliation of this 1931 - HelmRepository. 1932 - type: boolean 1933 - timeout: 1934 - description: |- 1935 - Timeout is used for the index fetch operation for an HTTPS helm repository, 1936 - and for remote OCI Repository operations like pulling for an OCI helm 1937 - chart by the associated HelmChart. 1938 - Its default value is 60s. 1939 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 1940 - type: string 1941 - type: 1942 - description: |- 1943 - Type of the HelmRepository. 1944 - When this field is set to "oci", the URL field value must be prefixed with "oci://". 1945 - enum: 1946 - - default 1947 - - oci 1948 - type: string 1949 - url: 1950 - description: |- 1951 - URL of the Helm repository, a valid URL contains at least a protocol and 1952 - host. 1953 - pattern: ^(http|https|oci)://.*$ 1954 - type: string 1955 - required: 1977 + description: Metadata holds upstream information such as OCI annotations. 1978 + type: object 1979 + path: 1980 + description: |- 1981 + Path is the relative file path of the Artifact. It can be used to locate 1982 + the file in the root of the Artifact storage on the local file system of 1983 + the controller managing the Source. 1984 + type: string 1985 + revision: 1986 + description: |- 1987 + Revision is a human-readable identifier traceable in the origin source 1988 + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 1989 + type: string 1990 + size: 1991 + description: Size is the number of bytes in the file. 1992 + format: int64 1993 + type: integer 1994 + url: 1995 + description: |- 1996 + URL is the HTTP address of the Artifact as exposed by the controller 1997 + managing the Source. It can be used to retrieve the Artifact for 1998 + consumption, e.g. by another controller applying the Artifact contents. 1999 + type: string 2000 + required: 2001 + - digest 2002 + - lastUpdateTime 2003 + - path 2004 + - revision 1956 2005 - url 1957 - type: object 1958 - status: 1959 - default: 1960 - observedGeneration: -1 1961 - description: HelmRepositoryStatus records the observed state of the HelmRepository. 1962 - properties: 1963 - artifact: 1964 - description: 1965 - Artifact represents the last successful HelmRepository 1966 - reconciliation. 2006 + type: object 2007 + conditions: 2008 + description: Conditions holds the conditions for the HelmRepository. 2009 + items: 2010 + description: Condition contains details for one aspect of the current 2011 + state of this API Resource. 1967 2012 properties: 1968 - digest: 1969 - description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 1970 - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 1971 - type: string 1972 - lastUpdateTime: 2013 + lastTransitionTime: 1973 2014 description: |- 1974 - LastUpdateTime is the timestamp corresponding to the last update of the 1975 - Artifact. 2015 + lastTransitionTime is the last time the condition transitioned from one status to another. 2016 + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 1976 2017 format: date-time 1977 2018 type: string 1978 - metadata: 1979 - additionalProperties: 1980 - type: string 1981 - description: Metadata holds upstream information such as OCI annotations. 1982 - type: object 1983 - path: 2019 + message: 1984 2020 description: |- 1985 - Path is the relative file path of the Artifact. It can be used to locate 1986 - the file in the root of the Artifact storage on the local file system of 1987 - the controller managing the Source. 2021 + message is a human readable message indicating details about the transition. 2022 + This may be an empty string. 2023 + maxLength: 32768 1988 2024 type: string 1989 - revision: 2025 + observedGeneration: 1990 2026 description: |- 1991 - Revision is a human-readable identifier traceable in the origin source 1992 - system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 1993 - type: string 1994 - size: 1995 - description: Size is the number of bytes in the file. 2027 + observedGeneration represents the .metadata.generation that the condition was set based upon. 2028 + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 2029 + with respect to the current state of the instance. 1996 2030 format: int64 2031 + minimum: 0 1997 2032 type: integer 1998 - url: 2033 + reason: 1999 2034 description: |- 2000 - URL is the HTTP address of the Artifact as exposed by the controller 2001 - managing the Source. It can be used to retrieve the Artifact for 2002 - consumption, e.g. by another controller applying the Artifact contents. 2035 + reason contains a programmatic identifier indicating the reason for the condition's last transition. 2036 + Producers of specific condition types may define expected values and meanings for this field, 2037 + and whether the values are considered a guaranteed API. 2038 + The value should be a CamelCase string. 2039 + This field may not be empty. 2040 + maxLength: 1024 2041 + minLength: 1 2042 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 2043 + type: string 2044 + status: 2045 + description: status of the condition, one of True, False, Unknown. 2046 + enum: 2047 + - "True" 2048 + - "False" 2049 + - Unknown 2050 + type: string 2051 + type: 2052 + description: type of condition in CamelCase or in foo.example.com/CamelCase. 2053 + maxLength: 316 2054 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 2003 2055 type: string 2004 2056 required: 2005 - - digest 2006 - - lastUpdateTime 2007 - - path 2008 - - revision 2009 - - url 2057 + - lastTransitionTime 2058 + - message 2059 + - reason 2060 + - status 2061 + - type 2010 2062 type: object 2011 - conditions: 2012 - description: Conditions holds the conditions for the HelmRepository. 2013 - items: 2014 - description: 2015 - Condition contains details for one aspect of the current 2016 - state of this API Resource. 2017 - properties: 2018 - lastTransitionTime: 2019 - description: |- 2020 - lastTransitionTime is the last time the condition transitioned from one status to another. 2021 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 2022 - format: date-time 2023 - type: string 2024 - message: 2025 - description: |- 2026 - message is a human readable message indicating details about the transition. 2027 - This may be an empty string. 2028 - maxLength: 32768 2029 - type: string 2030 - observedGeneration: 2031 - description: |- 2032 - observedGeneration represents the .metadata.generation that the condition was set based upon. 2033 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 2034 - with respect to the current state of the instance. 2035 - format: int64 2036 - minimum: 0 2037 - type: integer 2038 - reason: 2039 - description: |- 2040 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 2041 - Producers of specific condition types may define expected values and meanings for this field, 2042 - and whether the values are considered a guaranteed API. 2043 - The value should be a CamelCase string. 2044 - This field may not be empty. 2045 - maxLength: 1024 2046 - minLength: 1 2047 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 2048 - type: string 2049 - status: 2050 - description: status of the condition, one of True, False, Unknown. 2051 - enum: 2052 - - "True" 2053 - - "False" 2054 - - Unknown 2055 - type: string 2056 - type: 2057 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 2058 - maxLength: 316 2059 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 2060 - type: string 2061 - required: 2062 - - lastTransitionTime 2063 - - message 2064 - - reason 2065 - - status 2066 - - type 2067 - type: object 2068 - type: array 2069 - lastHandledReconcileAt: 2070 - description: |- 2071 - LastHandledReconcileAt holds the value of the most recent 2072 - reconcile request value, so a change of the annotation value 2073 - can be detected. 2074 - type: string 2075 - observedGeneration: 2076 - description: |- 2077 - ObservedGeneration is the last observed generation of the HelmRepository 2078 - object. 2079 - format: int64 2080 - type: integer 2081 - url: 2082 - description: |- 2083 - URL is the dynamic fetch link for the latest Artifact. 2084 - It is provided on a "best effort" basis, and using the precise 2085 - HelmRepositoryStatus.Artifact data is recommended. 2086 - type: string 2087 - type: object 2088 - type: object 2089 - served: true 2090 - storage: true 2091 - subresources: 2092 - status: {} 2063 + type: array 2064 + lastHandledReconcileAt: 2065 + description: |- 2066 + LastHandledReconcileAt holds the value of the most recent 2067 + reconcile request value, so a change of the annotation value 2068 + can be detected. 2069 + type: string 2070 + observedGeneration: 2071 + description: |- 2072 + ObservedGeneration is the last observed generation of the HelmRepository 2073 + object. 2074 + format: int64 2075 + type: integer 2076 + url: 2077 + description: |- 2078 + URL is the dynamic fetch link for the latest Artifact. 2079 + It is provided on a "best effort" basis, and using the precise 2080 + HelmRepositoryStatus.Artifact data is recommended. 2081 + type: string 2082 + type: object 2083 + type: object 2084 + served: true 2085 + storage: true 2086 + subresources: 2087 + status: {} 2093 2088 --- 2094 2089 apiVersion: apiextensions.k8s.io/v1 2095 2090 kind: CustomResourceDefinition 2096 2091 metadata: 2097 2092 annotations: 2098 - controller-gen.kubebuilder.io/version: v0.19.0 2093 + controller-gen.kubebuilder.io/version: v0.21.0 2099 2094 labels: 2100 2095 app.kubernetes.io/component: source-controller 2101 2096 app.kubernetes.io/instance: flux-system 2102 2097 app.kubernetes.io/part-of: flux 2103 - app.kubernetes.io/version: v2.8.8 2098 + app.kubernetes.io/version: v2.9.0 2104 2099 name: ocirepositories.source.toolkit.fluxcd.io 2105 2100 spec: 2106 2101 group: source.toolkit.fluxcd.io 2107 2102 names: 2103 + categories: 2104 + - all 2105 + - fluxcd 2106 + - fluxcd-sources 2108 2107 kind: OCIRepository 2109 2108 listKind: OCIRepositoryList 2110 2109 plural: ocirepositories 2111 2110 shortNames: 2112 - - ocirepo 2111 + - ocirepo 2113 2112 singular: ocirepository 2114 2113 scope: Namespaced 2115 2114 versions: 2116 - - additionalPrinterColumns: 2117 - - jsonPath: .spec.url 2118 - name: URL 2119 - type: string 2120 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 2121 - name: Ready 2122 - type: string 2123 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 2124 - name: Status 2125 - type: string 2126 - - jsonPath: .metadata.creationTimestamp 2127 - name: Age 2128 - type: date 2129 - name: v1 2130 - schema: 2131 - openAPIV3Schema: 2132 - description: OCIRepository is the Schema for the ocirepositories API 2133 - properties: 2134 - apiVersion: 2135 - description: |- 2136 - APIVersion defines the versioned schema of this representation of an object. 2137 - Servers should convert recognized schemas to the latest internal value, and 2138 - may reject unrecognized values. 2139 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 2140 - type: string 2141 - kind: 2142 - description: |- 2143 - Kind is a string value representing the REST resource this object represents. 2144 - Servers may infer this from the endpoint the client submits requests to. 2145 - Cannot be updated. 2146 - In CamelCase. 2147 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 2148 - type: string 2149 - metadata: 2150 - type: object 2151 - spec: 2152 - description: OCIRepositorySpec defines the desired state of OCIRepository 2153 - properties: 2154 - certSecretRef: 2155 - description: |- 2156 - CertSecretRef can be given the name of a Secret containing 2157 - either or both of 2115 + - additionalPrinterColumns: 2116 + - jsonPath: .spec.url 2117 + name: URL 2118 + type: string 2119 + - jsonPath: .status.conditions[?(@.type=="Ready")].status 2120 + name: Ready 2121 + type: string 2122 + - jsonPath: .status.conditions[?(@.type=="Ready")].message 2123 + name: Status 2124 + type: string 2125 + - jsonPath: .metadata.creationTimestamp 2126 + name: Age 2127 + type: date 2128 + name: v1 2129 + schema: 2130 + openAPIV3Schema: 2131 + description: OCIRepository is the Schema for the ocirepositories API 2132 + properties: 2133 + apiVersion: 2134 + description: |- 2135 + APIVersion defines the versioned schema of this representation of an object. 2136 + Servers should convert recognized schemas to the latest internal value, and 2137 + may reject unrecognized values. 2138 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 2139 + type: string 2140 + kind: 2141 + description: |- 2142 + Kind is a string value representing the REST resource this object represents. 2143 + Servers may infer this from the endpoint the client submits requests to. 2144 + Cannot be updated. 2145 + In CamelCase. 2146 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 2147 + type: string 2148 + metadata: 2149 + type: object 2150 + spec: 2151 + description: OCIRepositorySpec defines the desired state of OCIRepository 2152 + properties: 2153 + certSecretRef: 2154 + description: |- 2155 + CertSecretRef can be given the name of a Secret containing 2156 + either or both of 2158 2157 2159 - - a PEM-encoded client certificate (`tls.crt`) and private 2160 - key (`tls.key`); 2161 - - a PEM-encoded CA certificate (`ca.crt`) 2158 + - a PEM-encoded client certificate (`tls.crt`) and private 2159 + key (`tls.key`); 2160 + - a PEM-encoded CA certificate (`ca.crt`) 2162 2161 2163 - and whichever are supplied, will be used for connecting to the 2164 - registry. The client cert and key are useful if you are 2165 - authenticating with a certificate; the CA cert is useful if 2166 - you are using a self-signed server certificate. The Secret must 2167 - be of type `Opaque` or `kubernetes.io/tls`. 2168 - properties: 2169 - name: 2170 - description: Name of the referent. 2171 - type: string 2172 - required: 2173 - - name 2174 - type: object 2175 - ignore: 2176 - description: |- 2177 - Ignore overrides the set of excluded patterns in the .sourceignore format 2178 - (which is the same as .gitignore). If not provided, a default will be used, 2179 - consult the documentation for your version to find out what those are. 2180 - type: string 2181 - insecure: 2182 - description: 2183 - Insecure allows connecting to a non-TLS HTTP container 2184 - registry. 2185 - type: boolean 2186 - interval: 2187 - description: |- 2188 - Interval at which the OCIRepository URL is checked for updates. 2189 - This interval is approximate and may be subject to jitter to ensure 2190 - efficient use of resources. 2191 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 2192 - type: string 2193 - layerSelector: 2194 - description: |- 2195 - LayerSelector specifies which layer should be extracted from the OCI artifact. 2196 - When not specified, the first layer found in the artifact is selected. 2197 - properties: 2198 - mediaType: 2162 + and whichever are supplied, will be used for connecting to the 2163 + registry. The client cert and key are useful if you are 2164 + authenticating with a certificate; the CA cert is useful if 2165 + you are using a self-signed server certificate. The Secret must 2166 + be of type `Opaque` or `kubernetes.io/tls`. 2167 + properties: 2168 + name: 2169 + description: Name of the referent. 2170 + type: string 2171 + required: 2172 + - name 2173 + type: object 2174 + ignore: 2175 + description: |- 2176 + Ignore overrides the set of excluded patterns in the .sourceignore format 2177 + (which is the same as .gitignore). If not provided, a default will be used, 2178 + consult the documentation for your version to find out what those are. 2179 + type: string 2180 + insecure: 2181 + description: Insecure allows connecting to a non-TLS HTTP container 2182 + registry. 2183 + type: boolean 2184 + interval: 2185 + description: |- 2186 + Interval at which the OCIRepository URL is checked for updates. 2187 + This interval is approximate and may be subject to jitter to ensure 2188 + efficient use of resources. 2189 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 2190 + type: string 2191 + layerSelector: 2192 + description: |- 2193 + LayerSelector specifies which layer should be extracted from the OCI artifact. 2194 + When not specified, the first layer found in the artifact is selected. 2195 + properties: 2196 + mediaType: 2197 + description: |- 2198 + MediaType specifies the OCI media type of the layer 2199 + which should be extracted from the OCI Artifact. The 2200 + first layer matching this type is selected. 2201 + type: string 2202 + operation: 2203 + description: |- 2204 + Operation specifies how the selected layer should be processed. 2205 + By default, the layer compressed content is extracted to storage. 2206 + When the operation is set to 'copy', the layer compressed content 2207 + is persisted to storage as it is. 2208 + enum: 2209 + - extract 2210 + - copy 2211 + type: string 2212 + type: object 2213 + provider: 2214 + default: generic 2215 + description: |- 2216 + The provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'. 2217 + When not specified, defaults to 'generic'. 2218 + enum: 2219 + - generic 2220 + - aws 2221 + - azure 2222 + - gcp 2223 + type: string 2224 + proxySecretRef: 2225 + description: |- 2226 + ProxySecretRef specifies the Secret containing the proxy configuration 2227 + to use while communicating with the container registry. 2228 + properties: 2229 + name: 2230 + description: Name of the referent. 2231 + type: string 2232 + required: 2233 + - name 2234 + type: object 2235 + ref: 2236 + description: |- 2237 + The OCI reference to pull and monitor for changes, 2238 + defaults to the latest tag. 2239 + properties: 2240 + digest: 2241 + description: |- 2242 + Digest is the image digest to pull, takes precedence over SemVer. 2243 + The value should be in the format 'sha256:<HASH>'. 2244 + type: string 2245 + semver: 2246 + description: |- 2247 + SemVer is the range of tags to pull selecting the latest within 2248 + the range, takes precedence over Tag. 2249 + type: string 2250 + semverFilter: 2251 + description: SemverFilter is a regex pattern to filter the tags 2252 + within the SemVer range. 2253 + type: string 2254 + tag: 2255 + description: Tag is the image tag to pull, defaults to latest. 2256 + type: string 2257 + type: object 2258 + secretRef: 2259 + description: |- 2260 + SecretRef contains the secret name containing the registry login 2261 + credentials to resolve image metadata. 2262 + The secret must be of type kubernetes.io/dockerconfigjson. 2263 + properties: 2264 + name: 2265 + description: Name of the referent. 2266 + type: string 2267 + required: 2268 + - name 2269 + type: object 2270 + serviceAccountName: 2271 + description: |- 2272 + ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate 2273 + the image pull if the service account has attached pull secrets. For more information: 2274 + https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account 2275 + type: string 2276 + suspend: 2277 + description: This flag tells the controller to suspend the reconciliation 2278 + of this source. 2279 + type: boolean 2280 + timeout: 2281 + default: 60s 2282 + description: The timeout for remote OCI Repository operations like 2283 + pulling, defaults to 60s. 2284 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 2285 + type: string 2286 + url: 2287 + description: |- 2288 + URL is a reference to an OCI artifact repository hosted 2289 + on a remote container registry. 2290 + pattern: ^oci://.*$ 2291 + type: string 2292 + verify: 2293 + description: |- 2294 + Verify contains the secret name containing the trusted public keys 2295 + used to verify the signature and specifies which provider to use to check 2296 + whether OCI image is authentic. 2297 + properties: 2298 + matchOIDCIdentity: 2299 + description: |- 2300 + MatchOIDCIdentity specifies the identity matching criteria to use 2301 + while verifying an OCI artifact which was signed using Cosign keyless 2302 + signing. The artifact's identity is deemed to be verified if any of the 2303 + specified matchers match against the identity. 2304 + items: 2199 2305 description: |- 2200 - MediaType specifies the OCI media type of the layer 2201 - which should be extracted from the OCI Artifact. The 2202 - first layer matching this type is selected. 2203 - type: string 2204 - operation: 2205 - description: |- 2206 - Operation specifies how the selected layer should be processed. 2207 - By default, the layer compressed content is extracted to storage. 2208 - When the operation is set to 'copy', the layer compressed content 2209 - is persisted to storage as it is. 2210 - enum: 2211 - - extract 2212 - - copy 2213 - type: string 2214 - type: object 2215 - provider: 2216 - default: generic 2217 - description: |- 2218 - The provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'. 2219 - When not specified, defaults to 'generic'. 2220 - enum: 2221 - - generic 2222 - - aws 2223 - - azure 2224 - - gcp 2225 - type: string 2226 - proxySecretRef: 2227 - description: |- 2228 - ProxySecretRef specifies the Secret containing the proxy configuration 2229 - to use while communicating with the container registry. 2230 - properties: 2231 - name: 2232 - description: Name of the referent. 2233 - type: string 2234 - required: 2235 - - name 2236 - type: object 2237 - ref: 2238 - description: |- 2239 - The OCI reference to pull and monitor for changes, 2240 - defaults to the latest tag. 2241 - properties: 2242 - digest: 2243 - description: |- 2244 - Digest is the image digest to pull, takes precedence over SemVer. 2245 - The value should be in the format 'sha256:<HASH>'. 2246 - type: string 2247 - semver: 2248 - description: |- 2249 - SemVer is the range of tags to pull selecting the latest within 2250 - the range, takes precedence over Tag. 2251 - type: string 2252 - semverFilter: 2253 - description: 2254 - SemverFilter is a regex pattern to filter the tags 2255 - within the SemVer range. 2256 - type: string 2257 - tag: 2258 - description: Tag is the image tag to pull, defaults to latest. 2259 - type: string 2260 - type: object 2261 - secretRef: 2262 - description: |- 2263 - SecretRef contains the secret name containing the registry login 2264 - credentials to resolve image metadata. 2265 - The secret must be of type kubernetes.io/dockerconfigjson. 2266 - properties: 2267 - name: 2268 - description: Name of the referent. 2269 - type: string 2270 - required: 2271 - - name 2272 - type: object 2273 - serviceAccountName: 2274 - description: |- 2275 - ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate 2276 - the image pull if the service account has attached pull secrets. For more information: 2277 - https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account 2278 - type: string 2279 - suspend: 2280 - description: 2281 - This flag tells the controller to suspend the reconciliation 2282 - of this source. 2283 - type: boolean 2284 - timeout: 2285 - default: 60s 2286 - description: 2287 - The timeout for remote OCI Repository operations like 2288 - pulling, defaults to 60s. 2289 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 2290 - type: string 2291 - url: 2292 - description: |- 2293 - URL is a reference to an OCI artifact repository hosted 2294 - on a remote container registry. 2295 - pattern: ^oci://.*$ 2296 - type: string 2297 - verify: 2298 - description: |- 2299 - Verify contains the secret name containing the trusted public keys 2300 - used to verify the signature and specifies which provider to use to check 2301 - whether OCI image is authentic. 2302 - properties: 2303 - matchOIDCIdentity: 2304 - description: |- 2305 - MatchOIDCIdentity specifies the identity matching criteria to use 2306 - while verifying an OCI artifact which was signed using Cosign keyless 2307 - signing. The artifact's identity is deemed to be verified if any of the 2308 - specified matchers match against the identity. 2309 - items: 2310 - description: |- 2311 - OIDCIdentityMatch specifies options for verifying the certificate identity, 2312 - i.e. the issuer and the subject of the certificate. 2313 - properties: 2314 - issuer: 2315 - description: |- 2316 - Issuer specifies the regex pattern to match against to verify 2317 - the OIDC issuer in the Fulcio certificate. The pattern must be a 2318 - valid Go regular expression. 2319 - type: string 2320 - subject: 2321 - description: |- 2322 - Subject specifies the regex pattern to match against to verify 2323 - the identity subject in the Fulcio certificate. The pattern must 2324 - be a valid Go regular expression. 2325 - type: string 2326 - required: 2327 - - issuer 2328 - - subject 2329 - type: object 2330 - type: array 2331 - provider: 2332 - default: cosign 2333 - description: 2334 - Provider specifies the technology used to sign the 2335 - OCI Artifact. 2336 - enum: 2337 - - cosign 2338 - - notation 2339 - type: string 2340 - secretRef: 2341 - description: |- 2342 - SecretRef specifies the Kubernetes Secret containing the 2343 - trusted public keys. 2306 + OIDCIdentityMatch specifies options for verifying the certificate identity, 2307 + i.e. the issuer and the subject of the certificate. 2344 2308 properties: 2345 - name: 2346 - description: Name of the referent. 2309 + issuer: 2310 + description: |- 2311 + Issuer specifies the regex pattern to match against to verify 2312 + the OIDC issuer in the Fulcio certificate. The pattern must be a 2313 + valid Go regular expression. 2314 + type: string 2315 + subject: 2316 + description: |- 2317 + Subject specifies the regex pattern to match against to verify 2318 + the identity subject in the Fulcio certificate. The pattern must 2319 + be a valid Go regular expression. 2347 2320 type: string 2348 2321 required: 2349 - - name 2322 + - issuer 2323 + - subject 2350 2324 type: object 2351 - required: 2352 - - provider 2353 - type: object 2354 - required: 2355 - - interval 2325 + type: array 2326 + provider: 2327 + default: cosign 2328 + description: Provider specifies the technology used to sign the 2329 + OCI Artifact. 2330 + enum: 2331 + - cosign 2332 + - notation 2333 + type: string 2334 + secretRef: 2335 + description: |- 2336 + SecretRef specifies the Kubernetes Secret containing the 2337 + trusted public keys. 2338 + properties: 2339 + name: 2340 + description: Name of the referent. 2341 + type: string 2342 + required: 2343 + - name 2344 + type: object 2345 + trustedRootSecretRef: 2346 + description: |- 2347 + TrustedRootSecretRef specifies the Kubernetes Secret containing a 2348 + Sigstore trusted_root.json file. This enables verification against 2349 + self-hosted Sigstore infrastructure (custom Fulcio CA, self-hosted 2350 + Rekor instance). The Secret must contain a key named "trusted_root.json". 2351 + properties: 2352 + name: 2353 + description: Name of the referent. 2354 + type: string 2355 + required: 2356 + - name 2357 + type: object 2358 + required: 2359 + - provider 2360 + type: object 2361 + required: 2362 + - interval 2363 + - url 2364 + type: object 2365 + status: 2366 + default: 2367 + observedGeneration: -1 2368 + description: OCIRepositoryStatus defines the observed state of OCIRepository 2369 + properties: 2370 + artifact: 2371 + description: Artifact represents the output of the last successful 2372 + OCI Repository sync. 2373 + properties: 2374 + digest: 2375 + description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 2376 + pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 2377 + type: string 2378 + lastUpdateTime: 2379 + description: |- 2380 + LastUpdateTime is the timestamp corresponding to the last update of the 2381 + Artifact. 2382 + format: date-time 2383 + type: string 2384 + metadata: 2385 + additionalProperties: 2386 + type: string 2387 + description: Metadata holds upstream information such as OCI annotations. 2388 + type: object 2389 + path: 2390 + description: |- 2391 + Path is the relative file path of the Artifact. It can be used to locate 2392 + the file in the root of the Artifact storage on the local file system of 2393 + the controller managing the Source. 2394 + type: string 2395 + revision: 2396 + description: |- 2397 + Revision is a human-readable identifier traceable in the origin source 2398 + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 2399 + type: string 2400 + size: 2401 + description: Size is the number of bytes in the file. 2402 + format: int64 2403 + type: integer 2404 + url: 2405 + description: |- 2406 + URL is the HTTP address of the Artifact as exposed by the controller 2407 + managing the Source. It can be used to retrieve the Artifact for 2408 + consumption, e.g. by another controller applying the Artifact contents. 2409 + type: string 2410 + required: 2411 + - digest 2412 + - lastUpdateTime 2413 + - path 2414 + - revision 2356 2415 - url 2357 - type: object 2358 - status: 2359 - default: 2360 - observedGeneration: -1 2361 - description: OCIRepositoryStatus defines the observed state of OCIRepository 2362 - properties: 2363 - artifact: 2364 - description: 2365 - Artifact represents the output of the last successful 2366 - OCI Repository sync. 2416 + type: object 2417 + conditions: 2418 + description: Conditions holds the conditions for the OCIRepository. 2419 + items: 2420 + description: Condition contains details for one aspect of the current 2421 + state of this API Resource. 2367 2422 properties: 2368 - digest: 2369 - description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'. 2370 - pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ 2371 - type: string 2372 - lastUpdateTime: 2423 + lastTransitionTime: 2373 2424 description: |- 2374 - LastUpdateTime is the timestamp corresponding to the last update of the 2375 - Artifact. 2425 + lastTransitionTime is the last time the condition transitioned from one status to another. 2426 + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 2376 2427 format: date-time 2377 2428 type: string 2378 - metadata: 2379 - additionalProperties: 2380 - type: string 2381 - description: Metadata holds upstream information such as OCI annotations. 2382 - type: object 2383 - path: 2429 + message: 2384 2430 description: |- 2385 - Path is the relative file path of the Artifact. It can be used to locate 2386 - the file in the root of the Artifact storage on the local file system of 2387 - the controller managing the Source. 2431 + message is a human readable message indicating details about the transition. 2432 + This may be an empty string. 2433 + maxLength: 32768 2388 2434 type: string 2389 - revision: 2435 + observedGeneration: 2390 2436 description: |- 2391 - Revision is a human-readable identifier traceable in the origin source 2392 - system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. 2393 - type: string 2394 - size: 2395 - description: Size is the number of bytes in the file. 2437 + observedGeneration represents the .metadata.generation that the condition was set based upon. 2438 + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 2439 + with respect to the current state of the instance. 2396 2440 format: int64 2441 + minimum: 0 2397 2442 type: integer 2398 - url: 2443 + reason: 2399 2444 description: |- 2400 - URL is the HTTP address of the Artifact as exposed by the controller 2401 - managing the Source. It can be used to retrieve the Artifact for 2402 - consumption, e.g. by another controller applying the Artifact contents. 2445 + reason contains a programmatic identifier indicating the reason for the condition's last transition. 2446 + Producers of specific condition types may define expected values and meanings for this field, 2447 + and whether the values are considered a guaranteed API. 2448 + The value should be a CamelCase string. 2449 + This field may not be empty. 2450 + maxLength: 1024 2451 + minLength: 1 2452 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 2403 2453 type: string 2404 - required: 2405 - - digest 2406 - - lastUpdateTime 2407 - - path 2408 - - revision 2409 - - url 2410 - type: object 2411 - conditions: 2412 - description: Conditions holds the conditions for the OCIRepository. 2413 - items: 2414 - description: 2415 - Condition contains details for one aspect of the current 2416 - state of this API Resource. 2417 - properties: 2418 - lastTransitionTime: 2419 - description: |- 2420 - lastTransitionTime is the last time the condition transitioned from one status to another. 2421 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 2422 - format: date-time 2423 - type: string 2424 - message: 2425 - description: |- 2426 - message is a human readable message indicating details about the transition. 2427 - This may be an empty string. 2428 - maxLength: 32768 2429 - type: string 2430 - observedGeneration: 2431 - description: |- 2432 - observedGeneration represents the .metadata.generation that the condition was set based upon. 2433 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 2434 - with respect to the current state of the instance. 2435 - format: int64 2436 - minimum: 0 2437 - type: integer 2438 - reason: 2439 - description: |- 2440 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 2441 - Producers of specific condition types may define expected values and meanings for this field, 2442 - and whether the values are considered a guaranteed API. 2443 - The value should be a CamelCase string. 2444 - This field may not be empty. 2445 - maxLength: 1024 2446 - minLength: 1 2447 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 2448 - type: string 2449 - status: 2450 - description: status of the condition, one of True, False, Unknown. 2451 - enum: 2452 - - "True" 2453 - - "False" 2454 - - Unknown 2455 - type: string 2456 - type: 2457 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 2458 - maxLength: 316 2459 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 2460 - type: string 2461 - required: 2462 - - lastTransitionTime 2463 - - message 2464 - - reason 2465 - - status 2466 - - type 2467 - type: object 2468 - type: array 2469 - lastHandledReconcileAt: 2470 - description: |- 2471 - LastHandledReconcileAt holds the value of the most recent 2472 - reconcile request value, so a change of the annotation value 2473 - can be detected. 2474 - type: string 2475 - observedGeneration: 2476 - description: ObservedGeneration is the last observed generation. 2477 - format: int64 2478 - type: integer 2479 - observedIgnore: 2480 - description: |- 2481 - ObservedIgnore is the observed exclusion patterns used for constructing 2482 - the source artifact. 2483 - type: string 2484 - observedLayerSelector: 2485 - description: |- 2486 - ObservedLayerSelector is the observed layer selector used for constructing 2487 - the source artifact. 2488 - properties: 2489 - mediaType: 2490 - description: |- 2491 - MediaType specifies the OCI media type of the layer 2492 - which should be extracted from the OCI Artifact. The 2493 - first layer matching this type is selected. 2454 + status: 2455 + description: status of the condition, one of True, False, Unknown. 2456 + enum: 2457 + - "True" 2458 + - "False" 2459 + - Unknown 2494 2460 type: string 2495 - operation: 2496 - description: |- 2497 - Operation specifies how the selected layer should be processed. 2498 - By default, the layer compressed content is extracted to storage. 2499 - When the operation is set to 'copy', the layer compressed content 2500 - is persisted to storage as it is. 2501 - enum: 2502 - - extract 2503 - - copy 2461 + type: 2462 + description: type of condition in CamelCase or in foo.example.com/CamelCase. 2463 + maxLength: 316 2464 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 2504 2465 type: string 2466 + required: 2467 + - lastTransitionTime 2468 + - message 2469 + - reason 2470 + - status 2471 + - type 2505 2472 type: object 2506 - url: 2507 - description: 2508 - URL is the download link for the artifact output of the 2509 - last OCI Repository sync. 2510 - type: string 2511 - type: object 2512 - type: object 2513 - served: true 2514 - storage: true 2515 - subresources: 2516 - status: {} 2473 + type: array 2474 + lastHandledReconcileAt: 2475 + description: |- 2476 + LastHandledReconcileAt holds the value of the most recent 2477 + reconcile request value, so a change of the annotation value 2478 + can be detected. 2479 + type: string 2480 + observedGeneration: 2481 + description: ObservedGeneration is the last observed generation. 2482 + format: int64 2483 + type: integer 2484 + observedIgnore: 2485 + description: |- 2486 + ObservedIgnore is the observed exclusion patterns used for constructing 2487 + the source artifact. 2488 + type: string 2489 + observedLayerSelector: 2490 + description: |- 2491 + ObservedLayerSelector is the observed layer selector used for constructing 2492 + the source artifact. 2493 + properties: 2494 + mediaType: 2495 + description: |- 2496 + MediaType specifies the OCI media type of the layer 2497 + which should be extracted from the OCI Artifact. The 2498 + first layer matching this type is selected. 2499 + type: string 2500 + operation: 2501 + description: |- 2502 + Operation specifies how the selected layer should be processed. 2503 + By default, the layer compressed content is extracted to storage. 2504 + When the operation is set to 'copy', the layer compressed content 2505 + is persisted to storage as it is. 2506 + enum: 2507 + - extract 2508 + - copy 2509 + type: string 2510 + type: object 2511 + url: 2512 + description: URL is the download link for the artifact output of the 2513 + last OCI Repository sync. 2514 + type: string 2515 + type: object 2516 + type: object 2517 + served: true 2518 + storage: true 2519 + subresources: 2520 + status: {} 2517 2521 --- 2518 2522 apiVersion: v1 2519 2523 kind: ServiceAccount ··· 2522 2526 app.kubernetes.io/component: source-controller 2523 2527 app.kubernetes.io/instance: flux-system 2524 2528 app.kubernetes.io/part-of: flux 2525 - app.kubernetes.io/version: v2.8.8 2529 + app.kubernetes.io/version: v2.9.0 2526 2530 name: source-controller 2527 2531 namespace: flux-system 2528 2532 --- ··· 2533 2537 app.kubernetes.io/component: source-controller 2534 2538 app.kubernetes.io/instance: flux-system 2535 2539 app.kubernetes.io/part-of: flux 2536 - app.kubernetes.io/version: v2.8.8 2540 + app.kubernetes.io/version: v2.9.0 2537 2541 control-plane: controller 2538 2542 name: source-controller 2539 2543 namespace: flux-system 2540 2544 spec: 2541 2545 ports: 2542 - - name: http 2543 - port: 80 2544 - protocol: TCP 2545 - targetPort: http 2546 + - name: http 2547 + port: 80 2548 + protocol: TCP 2549 + targetPort: http 2546 2550 selector: 2547 2551 app: source-controller 2548 2552 type: ClusterIP ··· 2554 2558 app.kubernetes.io/component: source-controller 2555 2559 app.kubernetes.io/instance: flux-system 2556 2560 app.kubernetes.io/part-of: flux 2557 - app.kubernetes.io/version: v2.8.8 2561 + app.kubernetes.io/version: v2.9.0 2558 2562 control-plane: controller 2559 2563 name: source-controller 2560 2564 namespace: flux-system ··· 2575 2579 app.kubernetes.io/component: source-controller 2576 2580 app.kubernetes.io/instance: flux-system 2577 2581 app.kubernetes.io/part-of: flux 2578 - app.kubernetes.io/version: v2.8.8 2582 + app.kubernetes.io/version: v2.9.0 2579 2583 spec: 2580 2584 containers: 2581 - - args: 2582 - - --events-addr=http://notification-controller.$(RUNTIME_NAMESPACE).svc.cluster.local./ 2583 - - --watch-all-namespaces=true 2584 - - --log-level=info 2585 - - --log-encoding=json 2586 - - --enable-leader-election 2587 - - --storage-path=/data 2588 - - --storage-adv-addr=source-controller.$(RUNTIME_NAMESPACE).svc.cluster.local. 2589 - env: 2590 - - name: RUNTIME_NAMESPACE 2591 - valueFrom: 2592 - fieldRef: 2593 - fieldPath: metadata.namespace 2594 - - name: TUF_ROOT 2595 - value: /tmp/.sigstore 2596 - - name: GOMEMLIMIT 2597 - valueFrom: 2598 - resourceFieldRef: 2599 - containerName: manager 2600 - resource: limits.memory 2601 - image: ghcr.io/fluxcd/source-controller:v1.8.5 2602 - imagePullPolicy: IfNotPresent 2603 - livenessProbe: 2604 - httpGet: 2605 - path: /healthz 2606 - port: healthz 2607 - name: manager 2608 - ports: 2609 - - containerPort: 9090 2610 - name: http 2611 - protocol: TCP 2612 - - containerPort: 8080 2613 - name: http-prom 2614 - protocol: TCP 2615 - - containerPort: 9440 2616 - name: healthz 2617 - protocol: TCP 2618 - readinessProbe: 2619 - httpGet: 2620 - path: / 2621 - port: http 2622 - resources: 2623 - limits: 2624 - cpu: 1000m 2625 - memory: 1Gi 2626 - requests: 2627 - cpu: 50m 2628 - memory: 64Mi 2629 - securityContext: 2630 - allowPrivilegeEscalation: false 2631 - capabilities: 2632 - drop: 2633 - - ALL 2634 - readOnlyRootFilesystem: true 2635 - runAsNonRoot: true 2636 - seccompProfile: 2637 - type: RuntimeDefault 2638 - volumeMounts: 2639 - - mountPath: /data 2640 - name: data 2641 - - mountPath: /tmp 2642 - name: tmp 2585 + - args: 2586 + - --events-addr=http://notification-controller.$(RUNTIME_NAMESPACE).svc.cluster.local./ 2587 + - --watch-all-namespaces=true 2588 + - --log-level=info 2589 + - --log-encoding=json 2590 + - --enable-leader-election 2591 + - --storage-path=/data 2592 + - --storage-adv-addr=source-controller.$(RUNTIME_NAMESPACE).svc.cluster.local. 2593 + env: 2594 + - name: RUNTIME_NAMESPACE 2595 + valueFrom: 2596 + fieldRef: 2597 + fieldPath: metadata.namespace 2598 + - name: TUF_ROOT 2599 + value: /tmp/.sigstore 2600 + - name: GOMEMLIMIT 2601 + valueFrom: 2602 + resourceFieldRef: 2603 + containerName: manager 2604 + resource: limits.memory 2605 + image: ghcr.io/fluxcd/source-controller:v1.9.1 2606 + imagePullPolicy: IfNotPresent 2607 + livenessProbe: 2608 + httpGet: 2609 + path: /healthz 2610 + port: healthz 2611 + name: manager 2612 + ports: 2613 + - containerPort: 9090 2614 + name: http 2615 + protocol: TCP 2616 + - containerPort: 8080 2617 + name: http-prom 2618 + protocol: TCP 2619 + - containerPort: 9440 2620 + name: healthz 2621 + protocol: TCP 2622 + readinessProbe: 2623 + httpGet: 2624 + path: / 2625 + port: http 2626 + resources: 2627 + limits: 2628 + cpu: 1000m 2629 + memory: 1Gi 2630 + requests: 2631 + cpu: 50m 2632 + memory: 64Mi 2633 + securityContext: 2634 + allowPrivilegeEscalation: false 2635 + capabilities: 2636 + drop: 2637 + - ALL 2638 + readOnlyRootFilesystem: true 2639 + runAsNonRoot: true 2640 + seccompProfile: 2641 + type: RuntimeDefault 2642 + volumeMounts: 2643 + - mountPath: /data 2644 + name: data 2645 + - mountPath: /tmp 2646 + name: tmp 2643 2647 nodeSelector: 2644 2648 kubernetes.io/os: linux 2645 2649 priorityClassName: system-cluster-critical ··· 2648 2652 serviceAccountName: source-controller 2649 2653 terminationGracePeriodSeconds: 10 2650 2654 volumes: 2651 - - emptyDir: {} 2652 - name: data 2653 - - emptyDir: {} 2654 - name: tmp 2655 + - emptyDir: {} 2656 + name: data 2657 + - emptyDir: {} 2658 + name: tmp 2655 2659 --- 2656 2660 apiVersion: apiextensions.k8s.io/v1 2657 2661 kind: CustomResourceDefinition 2658 2662 metadata: 2659 2663 annotations: 2660 - controller-gen.kubebuilder.io/version: v0.19.0 2664 + controller-gen.kubebuilder.io/version: v0.21.0 2661 2665 labels: 2662 2666 app.kubernetes.io/component: kustomize-controller 2663 2667 app.kubernetes.io/instance: flux-system 2664 2668 app.kubernetes.io/part-of: flux 2665 - app.kubernetes.io/version: v2.8.8 2669 + app.kubernetes.io/version: v2.9.0 2666 2670 name: kustomizations.kustomize.toolkit.fluxcd.io 2667 2671 spec: 2668 2672 group: kustomize.toolkit.fluxcd.io 2669 2673 names: 2674 + categories: 2675 + - all 2676 + - fluxcd 2677 + - fluxcd-appliers 2670 2678 kind: Kustomization 2671 2679 listKind: KustomizationList 2672 2680 plural: kustomizations 2673 2681 shortNames: 2674 - - ks 2682 + - ks 2675 2683 singular: kustomization 2676 2684 scope: Namespaced 2677 2685 versions: 2678 - - additionalPrinterColumns: 2679 - - jsonPath: .metadata.creationTimestamp 2680 - name: Age 2681 - type: date 2682 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 2683 - name: Ready 2684 - type: string 2685 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 2686 - name: Status 2687 - type: string 2688 - name: v1 2689 - schema: 2690 - openAPIV3Schema: 2691 - description: Kustomization is the Schema for the kustomizations API. 2692 - properties: 2693 - apiVersion: 2694 - description: |- 2695 - APIVersion defines the versioned schema of this representation of an object. 2696 - Servers should convert recognized schemas to the latest internal value, and 2697 - may reject unrecognized values. 2698 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 2699 - type: string 2700 - kind: 2701 - description: |- 2702 - Kind is a string value representing the REST resource this object represents. 2703 - Servers may infer this from the endpoint the client submits requests to. 2704 - Cannot be updated. 2705 - In CamelCase. 2706 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 2707 - type: string 2708 - metadata: 2709 - type: object 2710 - spec: 2711 - description: |- 2712 - KustomizationSpec defines the configuration to calculate the desired state 2713 - from a Source using Kustomize. 2714 - properties: 2715 - commonMetadata: 2686 + - additionalPrinterColumns: 2687 + - jsonPath: .metadata.creationTimestamp 2688 + name: Age 2689 + type: date 2690 + - jsonPath: .status.conditions[?(@.type=="Ready")].status 2691 + name: Ready 2692 + type: string 2693 + - jsonPath: .status.conditions[?(@.type=="Ready")].message 2694 + name: Status 2695 + type: string 2696 + name: v1 2697 + schema: 2698 + openAPIV3Schema: 2699 + description: Kustomization is the Schema for the kustomizations API. 2700 + properties: 2701 + apiVersion: 2702 + description: |- 2703 + APIVersion defines the versioned schema of this representation of an object. 2704 + Servers should convert recognized schemas to the latest internal value, and 2705 + may reject unrecognized values. 2706 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 2707 + type: string 2708 + kind: 2709 + description: |- 2710 + Kind is a string value representing the REST resource this object represents. 2711 + Servers may infer this from the endpoint the client submits requests to. 2712 + Cannot be updated. 2713 + In CamelCase. 2714 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 2715 + type: string 2716 + metadata: 2717 + type: object 2718 + spec: 2719 + description: |- 2720 + KustomizationSpec defines the configuration to calculate the desired state 2721 + from a Source using Kustomize. 2722 + properties: 2723 + buildMetadata: 2724 + description: |- 2725 + BuildMetadata specifies which kustomize build metadata should be added 2726 + to the built resources. The allowed values are 'originAnnotations' to 2727 + annotate resources with their source origin, and 'transformerAnnotations' 2728 + to annotate resources with the transformers that produced them. 2729 + items: 2730 + description: BuildMetadataOption defines the supported buildMetadata 2731 + options. 2732 + enum: 2733 + - originAnnotations 2734 + - transformerAnnotations 2735 + type: string 2736 + type: array 2737 + commonMetadata: 2738 + description: |- 2739 + CommonMetadata specifies the common labels and annotations that are 2740 + applied to all resources. Any existing label or annotation will be 2741 + overridden if its key matches a common one. 2742 + properties: 2743 + annotations: 2744 + additionalProperties: 2745 + type: string 2746 + description: Annotations to be added to the object's metadata. 2747 + type: object 2748 + labels: 2749 + additionalProperties: 2750 + type: string 2751 + description: Labels to be added to the object's metadata. 2752 + type: object 2753 + type: object 2754 + components: 2755 + description: Components specifies relative paths to kustomize Components. 2756 + items: 2757 + type: string 2758 + type: array 2759 + decryption: 2760 + description: Decrypt Kubernetes secrets before applying them on the 2761 + cluster. 2762 + properties: 2763 + provider: 2764 + description: Provider is the name of the decryption engine. 2765 + enum: 2766 + - sops 2767 + type: string 2768 + secretRef: 2769 + description: |- 2770 + The secret name containing the private OpenPGP keys used for decryption. 2771 + A static credential for a cloud provider defined inside the Secret 2772 + takes priority to secret-less authentication with the ServiceAccountName 2773 + field. 2774 + properties: 2775 + name: 2776 + description: Name of the referent. 2777 + type: string 2778 + required: 2779 + - name 2780 + type: object 2781 + serviceAccountName: 2782 + description: |- 2783 + ServiceAccountName is the name of the service account used to 2784 + authenticate with KMS services from cloud providers. If a 2785 + static credential for a given cloud provider is defined 2786 + inside the Secret referenced by SecretRef, that static 2787 + credential takes priority. 2788 + type: string 2789 + required: 2790 + - provider 2791 + type: object 2792 + deletionPolicy: 2793 + description: |- 2794 + DeletionPolicy can be used to control garbage collection when this 2795 + Kustomization is deleted. Valid values are ('MirrorPrune', 'Delete', 2796 + 'WaitForTermination', 'Orphan'). 'MirrorPrune' mirrors the Prune field 2797 + (orphan if false, delete if true). Defaults to 'MirrorPrune'. 2798 + enum: 2799 + - MirrorPrune 2800 + - Delete 2801 + - WaitForTermination 2802 + - Orphan 2803 + type: string 2804 + dependsOn: 2805 + description: |- 2806 + DependsOn may contain a DependencyReference slice 2807 + with references to Kustomization resources that must be ready before this 2808 + Kustomization can be reconciled. 2809 + items: 2716 2810 description: |- 2717 - CommonMetadata specifies the common labels and annotations that are 2718 - applied to all resources. Any existing label or annotation will be 2719 - overridden if its key matches a common one. 2811 + DependencyReference contains enough information to locate the referenced Kubernetes resource object 2812 + and optional CEL expression to assess its readiness. 2720 2813 properties: 2721 - annotations: 2722 - additionalProperties: 2723 - type: string 2724 - description: Annotations to be added to the object's metadata. 2725 - type: object 2726 - labels: 2727 - additionalProperties: 2728 - type: string 2729 - description: Labels to be added to the object's metadata. 2730 - type: object 2814 + name: 2815 + description: Name of the referent. 2816 + type: string 2817 + namespace: 2818 + description: |- 2819 + Namespace of the referent, defaults to the namespace of the resource 2820 + object that contains the reference. 2821 + type: string 2822 + readyExpr: 2823 + description: |- 2824 + ReadyExpr is a CEL expression that can be used to assess the readiness 2825 + of a dependency. When specified, the built-in readiness check 2826 + is replaced by the logic defined in the CEL expression. 2827 + To make the CEL expression additive to the built-in readiness check, 2828 + the feature gate `AdditiveCELDependencyCheck` must be set to `true`. 2829 + type: string 2830 + required: 2831 + - name 2731 2832 type: object 2732 - components: 2733 - description: Components specifies relative paths to kustomize Components. 2734 - items: 2735 - type: string 2736 - type: array 2737 - decryption: 2738 - description: 2739 - Decrypt Kubernetes secrets before applying them on the 2740 - cluster. 2833 + type: array 2834 + force: 2835 + default: false 2836 + description: |- 2837 + Force instructs the controller to recreate resources 2838 + when patching fails due to an immutable field change. 2839 + type: boolean 2840 + healthCheckExprs: 2841 + description: |- 2842 + HealthCheckExprs is a list of healthcheck expressions for evaluating the 2843 + health of custom resources using Common Expression Language (CEL). 2844 + The expressions are evaluated only when Wait or HealthChecks are specified. 2845 + items: 2846 + description: CustomHealthCheck defines the health check for custom 2847 + resources. 2741 2848 properties: 2742 - provider: 2743 - description: Provider is the name of the decryption engine. 2744 - enum: 2745 - - sops 2849 + apiVersion: 2850 + description: APIVersion of the custom resource under evaluation. 2746 2851 type: string 2747 - secretRef: 2852 + current: 2853 + description: |- 2854 + Current is the CEL expression that determines if the status 2855 + of the custom resource has reached the desired state. 2856 + type: string 2857 + failed: 2858 + description: |- 2859 + Failed is the CEL expression that determines if the status 2860 + of the custom resource has failed to reach the desired state. 2861 + type: string 2862 + inProgress: 2748 2863 description: |- 2749 - The secret name containing the private OpenPGP keys used for decryption. 2750 - A static credential for a cloud provider defined inside the Secret 2751 - takes priority to secret-less authentication with the ServiceAccountName 2752 - field. 2864 + InProgress is the CEL expression that determines if the status 2865 + of the custom resource has not yet reached the desired state. 2866 + type: string 2867 + kind: 2868 + description: Kind of the custom resource under evaluation. 2869 + type: string 2870 + required: 2871 + - apiVersion 2872 + - current 2873 + type: object 2874 + type: array 2875 + healthChecks: 2876 + description: A list of resources to be included in the health assessment. 2877 + items: 2878 + description: |- 2879 + NamespacedObjectKindReference contains enough information to locate the typed referenced Kubernetes resource object 2880 + in any namespace. 2881 + properties: 2882 + apiVersion: 2883 + description: API version of the referent, if not specified the 2884 + Kubernetes preferred version will be used. 2885 + type: string 2886 + kind: 2887 + description: Kind of the referent. 2888 + type: string 2889 + name: 2890 + description: Name of the referent. 2891 + type: string 2892 + namespace: 2893 + description: Namespace of the referent, when not specified it 2894 + acts as LocalObjectReference. 2895 + type: string 2896 + required: 2897 + - kind 2898 + - name 2899 + type: object 2900 + type: array 2901 + ignore: 2902 + description: |- 2903 + Ignore is a list of rules for specifying which changes to ignore 2904 + during drift detection. These rules are applied to the resources managed 2905 + by the Kustomization and are used to exclude specific JSON pointer paths 2906 + from the drift detection and apply process. 2907 + items: 2908 + description: |- 2909 + IgnoreRule defines a rule to selectively disregard specific changes during 2910 + the drift detection process. 2911 + properties: 2912 + paths: 2913 + description: |- 2914 + Paths is a list of JSON Pointer (RFC 6901) paths to be excluded from 2915 + consideration in a Kubernetes object. 2916 + items: 2917 + type: string 2918 + type: array 2919 + target: 2920 + description: |- 2921 + Target is a selector for specifying Kubernetes objects to which this 2922 + rule applies. 2923 + If Target is not set, the Paths will be ignored for all Kubernetes 2924 + objects within the manifest of the Kustomization. 2753 2925 properties: 2926 + annotationSelector: 2927 + description: |- 2928 + AnnotationSelector is a string that follows the label selection expression 2929 + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 2930 + It matches with the resource annotations. 2931 + type: string 2932 + group: 2933 + description: |- 2934 + Group is the API group to select resources from. 2935 + Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources. 2936 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 2937 + type: string 2938 + kind: 2939 + description: |- 2940 + Kind of the API Group to select resources from. 2941 + Together with Group and Version it is capable of unambiguously 2942 + identifying and/or selecting resources. 2943 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 2944 + type: string 2945 + labelSelector: 2946 + description: |- 2947 + LabelSelector is a string that follows the label selection expression 2948 + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 2949 + It matches with the resource labels. 2950 + type: string 2754 2951 name: 2755 - description: Name of the referent. 2952 + description: Name to match resources with. 2756 2953 type: string 2757 - required: 2758 - - name 2954 + namespace: 2955 + description: Namespace to select resources from. 2956 + type: string 2957 + version: 2958 + description: |- 2959 + Version of the API Group to select resources from. 2960 + Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources. 2961 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 2962 + type: string 2759 2963 type: object 2760 - serviceAccountName: 2964 + required: 2965 + - paths 2966 + type: object 2967 + type: array 2968 + ignoreMissingComponents: 2969 + description: |- 2970 + IgnoreMissingComponents instructs the controller to ignore Components paths 2971 + not found in source by removing them from the generated kustomization.yaml 2972 + before running kustomize build. 2973 + type: boolean 2974 + images: 2975 + description: |- 2976 + Images is a list of (image name, new name, new tag or digest) 2977 + for changing image names, tags or digests. This can also be achieved with a 2978 + patch, but this operator is simpler to specify. 2979 + items: 2980 + description: Image contains an image name, a new name, a new tag 2981 + or digest, which will replace the original name and tag. 2982 + properties: 2983 + digest: 2761 2984 description: |- 2762 - ServiceAccountName is the name of the service account used to 2763 - authenticate with KMS services from cloud providers. If a 2764 - static credential for a given cloud provider is defined 2765 - inside the Secret referenced by SecretRef, that static 2766 - credential takes priority. 2985 + Digest is the value used to replace the original image tag. 2986 + If digest is present NewTag value is ignored. 2987 + type: string 2988 + name: 2989 + description: Name is a tag-less image name. 2990 + type: string 2991 + newName: 2992 + description: NewName is the value used to replace the original 2993 + name. 2994 + type: string 2995 + newTag: 2996 + description: NewTag is the value used to replace the original 2997 + tag. 2767 2998 type: string 2768 2999 required: 2769 - - provider 3000 + - name 2770 3001 type: object 2771 - deletionPolicy: 2772 - description: |- 2773 - DeletionPolicy can be used to control garbage collection when this 2774 - Kustomization is deleted. Valid values are ('MirrorPrune', 'Delete', 2775 - 'WaitForTermination', 'Orphan'). 'MirrorPrune' mirrors the Prune field 2776 - (orphan if false, delete if true). Defaults to 'MirrorPrune'. 2777 - enum: 2778 - - MirrorPrune 2779 - - Delete 2780 - - WaitForTermination 2781 - - Orphan 2782 - type: string 2783 - dependsOn: 2784 - description: |- 2785 - DependsOn may contain a DependencyReference slice 2786 - with references to Kustomization resources that must be ready before this 2787 - Kustomization can be reconciled. 2788 - items: 2789 - description: 2790 - DependencyReference defines a Kustomization dependency 2791 - on another Kustomization resource. 2792 - properties: 2793 - name: 2794 - description: Name of the referent. 2795 - type: string 2796 - namespace: 2797 - description: |- 2798 - Namespace of the referent, defaults to the namespace of the Kustomization 2799 - resource object that contains the reference. 2800 - type: string 2801 - readyExpr: 2802 - description: |- 2803 - ReadyExpr is a CEL expression that can be used to assess the readiness 2804 - of a dependency. When specified, the built-in readiness check 2805 - is replaced by the logic defined in the CEL expression. 2806 - To make the CEL expression additive to the built-in readiness check, 2807 - the feature gate `AdditiveCELDependencyCheck` must be set to `true`. 2808 - type: string 2809 - required: 2810 - - name 2811 - type: object 2812 - type: array 2813 - force: 2814 - default: false 2815 - description: |- 2816 - Force instructs the controller to recreate resources 2817 - when patching fails due to an immutable field change. 2818 - type: boolean 2819 - healthCheckExprs: 2820 - description: |- 2821 - HealthCheckExprs is a list of healthcheck expressions for evaluating the 2822 - health of custom resources using Common Expression Language (CEL). 2823 - The expressions are evaluated only when Wait or HealthChecks are specified. 2824 - items: 2825 - description: 2826 - CustomHealthCheck defines the health check for custom 2827 - resources. 2828 - properties: 2829 - apiVersion: 2830 - description: APIVersion of the custom resource under evaluation. 2831 - type: string 2832 - current: 2833 - description: |- 2834 - Current is the CEL expression that determines if the status 2835 - of the custom resource has reached the desired state. 2836 - type: string 2837 - failed: 2838 - description: |- 2839 - Failed is the CEL expression that determines if the status 2840 - of the custom resource has failed to reach the desired state. 2841 - type: string 2842 - inProgress: 2843 - description: |- 2844 - InProgress is the CEL expression that determines if the status 2845 - of the custom resource has not yet reached the desired state. 2846 - type: string 2847 - kind: 2848 - description: Kind of the custom resource under evaluation. 2849 - type: string 2850 - required: 2851 - - apiVersion 2852 - - current 2853 - - kind 2854 - type: object 2855 - type: array 2856 - healthChecks: 2857 - description: A list of resources to be included in the health assessment. 2858 - items: 3002 + type: array 3003 + interval: 3004 + description: |- 3005 + The interval at which to reconcile the Kustomization. 3006 + This interval is approximate and may be subject to jitter to ensure 3007 + efficient use of resources. 3008 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 3009 + type: string 3010 + kubeConfig: 3011 + description: |- 3012 + The KubeConfig for reconciling the Kustomization on a remote cluster. 3013 + When used in combination with KustomizationSpec.ServiceAccountName, 3014 + forces the controller to act on behalf of that Service Account at the 3015 + target cluster. 3016 + If the --default-service-account flag is set, its value will be used as 3017 + a controller level fallback for when KustomizationSpec.ServiceAccountName 3018 + is empty. 3019 + properties: 3020 + configMapRef: 2859 3021 description: |- 2860 - NamespacedObjectKindReference contains enough information to locate the typed referenced Kubernetes resource object 2861 - in any namespace. 3022 + ConfigMapRef holds an optional name of a ConfigMap that contains 3023 + the following keys: 3024 + 3025 + - `provider`: the provider to use. One of `aws`, `azure`, `gcp`, or 3026 + `generic`. Required. 3027 + - `cluster`: the fully qualified resource name of the Kubernetes 3028 + cluster in the cloud provider API. Not used by the `generic` 3029 + provider. Required when one of `address` or `ca.crt` is not set. 3030 + - `address`: the address of the Kubernetes API server. Required 3031 + for `generic`. For the other providers, if not specified, the 3032 + first address in the cluster resource will be used, and if 3033 + specified, it must match one of the addresses in the cluster 3034 + resource. 3035 + If audiences is not set, will be used as the audience for the 3036 + `generic` provider. 3037 + - `ca.crt`: the optional PEM-encoded CA certificate for the 3038 + Kubernetes API server. If not set, the controller will use the 3039 + CA certificate from the cluster resource. 3040 + - `audiences`: the optional audiences as a list of 3041 + line-break-separated strings for the Kubernetes ServiceAccount 3042 + token. Defaults to the `address` for the `generic` provider, or 3043 + to specific values for the other providers depending on the 3044 + provider. 3045 + - `serviceAccountName`: the optional name of the Kubernetes 3046 + ServiceAccount in the same namespace that should be used 3047 + for authentication. If not specified, the controller 3048 + ServiceAccount will be used. 3049 + 3050 + Mutually exclusive with SecretRef. 2862 3051 properties: 2863 - apiVersion: 2864 - description: 2865 - API version of the referent, if not specified the 2866 - Kubernetes preferred version will be used. 2867 - type: string 2868 - kind: 2869 - description: Kind of the referent. 2870 - type: string 2871 3052 name: 2872 3053 description: Name of the referent. 2873 - type: string 2874 - namespace: 2875 - description: 2876 - Namespace of the referent, when not specified it 2877 - acts as LocalObjectReference. 2878 3054 type: string 2879 3055 required: 2880 - - kind 2881 - - name 3056 + - name 2882 3057 type: object 2883 - type: array 2884 - ignoreMissingComponents: 2885 - description: |- 2886 - IgnoreMissingComponents instructs the controller to ignore Components paths 2887 - not found in source by removing them from the generated kustomization.yaml 2888 - before running kustomize build. 2889 - type: boolean 2890 - images: 2891 - description: |- 2892 - Images is a list of (image name, new name, new tag or digest) 2893 - for changing image names, tags or digests. This can also be achieved with a 2894 - patch, but this operator is simpler to specify. 2895 - items: 2896 - description: 2897 - Image contains an image name, a new name, a new tag 2898 - or digest, which will replace the original name and tag. 3058 + secretRef: 3059 + description: |- 3060 + SecretRef holds an optional name of a secret that contains a key with 3061 + the kubeconfig file as the value. If no key is set, the key will default 3062 + to 'value'. Mutually exclusive with ConfigMapRef. 3063 + It is recommended that the kubeconfig is self-contained, and the secret 3064 + is regularly updated if credentials such as a cloud-access-token expire. 3065 + Cloud specific `cmd-path` auth helpers will not function without adding 3066 + binaries and credentials to the Pod that is responsible for reconciling 3067 + Kubernetes resources. Supported only for the generic provider. 2899 3068 properties: 2900 - digest: 2901 - description: |- 2902 - Digest is the value used to replace the original image tag. 2903 - If digest is present NewTag value is ignored. 3069 + key: 3070 + description: Key in the Secret, when not specified an implementation-specific 3071 + default key is used. 2904 3072 type: string 2905 3073 name: 2906 - description: Name is a tag-less image name. 2907 - type: string 2908 - newName: 2909 - description: 2910 - NewName is the value used to replace the original 2911 - name. 2912 - type: string 2913 - newTag: 2914 - description: 2915 - NewTag is the value used to replace the original 2916 - tag. 3074 + description: Name of the Secret. 2917 3075 type: string 2918 3076 required: 2919 - - name 3077 + - name 2920 3078 type: object 2921 - type: array 2922 - interval: 2923 - description: |- 2924 - The interval at which to reconcile the Kustomization. 2925 - This interval is approximate and may be subject to jitter to ensure 2926 - efficient use of resources. 2927 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 2928 - type: string 2929 - kubeConfig: 3079 + type: object 3080 + x-kubernetes-validations: 3081 + - message: exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef 3082 + must be specified 3083 + rule: has(self.configMapRef) || has(self.secretRef) 3084 + - message: exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef 3085 + must be specified 3086 + rule: '!has(self.configMapRef) || !has(self.secretRef)' 3087 + namePrefix: 3088 + description: NamePrefix will prefix the names of all managed resources. 3089 + maxLength: 200 3090 + minLength: 1 3091 + type: string 3092 + nameSuffix: 3093 + description: NameSuffix will suffix the names of all managed resources. 3094 + maxLength: 200 3095 + minLength: 1 3096 + type: string 3097 + patches: 3098 + description: |- 3099 + Strategic merge and JSON patches, defined as inline YAML objects, 3100 + capable of targeting objects based on kind, label and annotation selectors. 3101 + items: 2930 3102 description: |- 2931 - The KubeConfig for reconciling the Kustomization on a remote cluster. 2932 - When used in combination with KustomizationSpec.ServiceAccountName, 2933 - forces the controller to act on behalf of that Service Account at the 2934 - target cluster. 2935 - If the --default-service-account flag is set, its value will be used as 2936 - a controller level fallback for when KustomizationSpec.ServiceAccountName 2937 - is empty. 3103 + Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should 3104 + be applied to. 2938 3105 properties: 2939 - configMapRef: 3106 + patch: 2940 3107 description: |- 2941 - ConfigMapRef holds an optional name of a ConfigMap that contains 2942 - the following keys: 2943 - 2944 - - `provider`: the provider to use. One of `aws`, `azure`, `gcp`, or 2945 - `generic`. Required. 2946 - - `cluster`: the fully qualified resource name of the Kubernetes 2947 - cluster in the cloud provider API. Not used by the `generic` 2948 - provider. Required when one of `address` or `ca.crt` is not set. 2949 - - `address`: the address of the Kubernetes API server. Required 2950 - for `generic`. For the other providers, if not specified, the 2951 - first address in the cluster resource will be used, and if 2952 - specified, it must match one of the addresses in the cluster 2953 - resource. 2954 - If audiences is not set, will be used as the audience for the 2955 - `generic` provider. 2956 - - `ca.crt`: the optional PEM-encoded CA certificate for the 2957 - Kubernetes API server. If not set, the controller will use the 2958 - CA certificate from the cluster resource. 2959 - - `audiences`: the optional audiences as a list of 2960 - line-break-separated strings for the Kubernetes ServiceAccount 2961 - token. Defaults to the `address` for the `generic` provider, or 2962 - to specific values for the other providers depending on the 2963 - provider. 2964 - - `serviceAccountName`: the optional name of the Kubernetes 2965 - ServiceAccount in the same namespace that should be used 2966 - for authentication. If not specified, the controller 2967 - ServiceAccount will be used. 2968 - 2969 - Mutually exclusive with SecretRef. 3108 + Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with 3109 + an array of operation objects. 3110 + type: string 3111 + target: 3112 + description: Target points to the resources that the patch document 3113 + should be applied to. 2970 3114 properties: 3115 + annotationSelector: 3116 + description: |- 3117 + AnnotationSelector is a string that follows the label selection expression 3118 + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 3119 + It matches with the resource annotations. 3120 + type: string 3121 + group: 3122 + description: |- 3123 + Group is the API group to select resources from. 3124 + Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources. 3125 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 3126 + type: string 3127 + kind: 3128 + description: |- 3129 + Kind of the API Group to select resources from. 3130 + Together with Group and Version it is capable of unambiguously 3131 + identifying and/or selecting resources. 3132 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 3133 + type: string 3134 + labelSelector: 3135 + description: |- 3136 + LabelSelector is a string that follows the label selection expression 3137 + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 3138 + It matches with the resource labels. 3139 + type: string 2971 3140 name: 2972 - description: Name of the referent. 3141 + description: Name to match resources with. 3142 + type: string 3143 + namespace: 3144 + description: Namespace to select resources from. 3145 + type: string 3146 + version: 3147 + description: |- 3148 + Version of the API Group to select resources from. 3149 + Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources. 3150 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 2973 3151 type: string 2974 - required: 2975 - - name 2976 3152 type: object 2977 - secretRef: 3153 + required: 3154 + - patch 3155 + type: object 3156 + type: array 3157 + path: 3158 + description: |- 3159 + Path to the directory containing the kustomization.yaml file, or the 3160 + set of plain YAMLs a kustomization.yaml should be generated for. 3161 + Defaults to 'None', which translates to the root path of the SourceRef. 3162 + type: string 3163 + postBuild: 3164 + description: |- 3165 + PostBuild describes which actions to perform on the YAML manifest 3166 + generated by building the kustomize overlay. 3167 + properties: 3168 + substitute: 3169 + additionalProperties: 3170 + type: string 3171 + description: |- 3172 + Substitute holds a map of key/value pairs. 3173 + The variables defined in your YAML manifests that match any of the keys 3174 + defined in the map will be substituted with the set value. 3175 + Includes support for bash string replacement functions 3176 + e.g. ${var:=default}, ${var:position} and ${var/substring/replacement}. 3177 + type: object 3178 + substituteFrom: 3179 + description: |- 3180 + SubstituteFrom holds references to ConfigMaps and Secrets containing 3181 + the variables and their values to be substituted in the YAML manifests. 3182 + The ConfigMap and the Secret data keys represent the var names, and they 3183 + must match the vars declared in the manifests for the substitution to 3184 + happen. 3185 + items: 2978 3186 description: |- 2979 - SecretRef holds an optional name of a secret that contains a key with 2980 - the kubeconfig file as the value. If no key is set, the key will default 2981 - to 'value'. Mutually exclusive with ConfigMapRef. 2982 - It is recommended that the kubeconfig is self-contained, and the secret 2983 - is regularly updated if credentials such as a cloud-access-token expire. 2984 - Cloud specific `cmd-path` auth helpers will not function without adding 2985 - binaries and credentials to the Pod that is responsible for reconciling 2986 - Kubernetes resources. Supported only for the generic provider. 3187 + SubstituteReference contains a reference to a resource containing 3188 + the variables name and value. 2987 3189 properties: 2988 - key: 2989 - description: 2990 - Key in the Secret, when not specified an implementation-specific 2991 - default key is used. 3190 + kind: 3191 + description: Kind of the values referent, valid values are 3192 + ('Secret', 'ConfigMap'). 3193 + enum: 3194 + - Secret 3195 + - ConfigMap 2992 3196 type: string 2993 3197 name: 2994 - description: Name of the Secret. 3198 + description: |- 3199 + Name of the values referent. Should reside in the same namespace as the 3200 + referring resource. 3201 + maxLength: 253 3202 + minLength: 1 2995 3203 type: string 3204 + optional: 3205 + default: false 3206 + description: |- 3207 + Optional indicates whether the referenced resource must exist, or whether to 3208 + tolerate its absence. If true and the referenced resource is absent, proceed 3209 + as if the resource was present but empty, without any variables defined. 3210 + type: boolean 2996 3211 required: 2997 - - name 3212 + - kind 3213 + - name 2998 3214 type: object 2999 - type: object 3000 - x-kubernetes-validations: 3001 - - message: 3002 - exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef 3003 - must be specified 3004 - rule: has(self.configMapRef) || has(self.secretRef) 3005 - - message: 3006 - exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef 3007 - must be specified 3008 - rule: "!has(self.configMapRef) || !has(self.secretRef)" 3009 - namePrefix: 3010 - description: NamePrefix will prefix the names of all managed resources. 3011 - maxLength: 200 3012 - minLength: 1 3013 - type: string 3014 - nameSuffix: 3015 - description: NameSuffix will suffix the names of all managed resources. 3016 - maxLength: 200 3017 - minLength: 1 3018 - type: string 3019 - patches: 3020 - description: |- 3021 - Strategic merge and JSON patches, defined as inline YAML objects, 3022 - capable of targeting objects based on kind, label and annotation selectors. 3023 - items: 3215 + type: array 3216 + substituteStrategy: 3217 + description: |- 3218 + SubstituteStrategy defines the strategy for substituting variables in the YAML manifests. 3219 + Valid values are: 3220 + 3221 + - WithVariables (the default): require at least one variable to be defined, 3222 + either through the inline map or through the resolved references to ConfigMaps 3223 + and Secrets. 3224 + - Always: perform the substitution even if no variables are defined. 3225 + enum: 3226 + - WithVariables 3227 + - Always 3228 + type: string 3229 + type: object 3230 + prune: 3231 + description: Prune enables garbage collection. 3232 + type: boolean 3233 + retryInterval: 3234 + description: |- 3235 + The interval at which to retry a previously failed reconciliation. 3236 + When not specified, the controller uses the KustomizationSpec.Interval 3237 + value to retry failures. 3238 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 3239 + type: string 3240 + serviceAccountName: 3241 + description: |- 3242 + The name of the Kubernetes service account to impersonate 3243 + when reconciling this Kustomization. 3244 + type: string 3245 + sourceRef: 3246 + description: Reference of the source where the kustomization file 3247 + is. 3248 + properties: 3249 + apiVersion: 3250 + description: API version of the referent. 3251 + type: string 3252 + kind: 3253 + description: Kind of the referent. 3254 + enum: 3255 + - OCIRepository 3256 + - GitRepository 3257 + - Bucket 3258 + - ExternalArtifact 3259 + type: string 3260 + name: 3261 + description: Name of the referent. 3262 + type: string 3263 + namespace: 3024 3264 description: |- 3025 - Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should 3026 - be applied to. 3027 - properties: 3028 - patch: 3029 - description: |- 3030 - Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with 3031 - an array of operation objects. 3032 - type: string 3033 - target: 3034 - description: 3035 - Target points to the resources that the patch document 3036 - should be applied to. 3037 - properties: 3038 - annotationSelector: 3039 - description: |- 3040 - AnnotationSelector is a string that follows the label selection expression 3041 - https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 3042 - It matches with the resource annotations. 3043 - type: string 3044 - group: 3045 - description: |- 3046 - Group is the API group to select resources from. 3047 - Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources. 3048 - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 3049 - type: string 3050 - kind: 3051 - description: |- 3052 - Kind of the API Group to select resources from. 3053 - Together with Group and Version it is capable of unambiguously 3054 - identifying and/or selecting resources. 3055 - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 3056 - type: string 3057 - labelSelector: 3058 - description: |- 3059 - LabelSelector is a string that follows the label selection expression 3060 - https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 3061 - It matches with the resource labels. 3062 - type: string 3063 - name: 3064 - description: Name to match resources with. 3065 - type: string 3066 - namespace: 3067 - description: Namespace to select resources from. 3068 - type: string 3069 - version: 3070 - description: |- 3071 - Version of the API Group to select resources from. 3072 - Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources. 3073 - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 3074 - type: string 3075 - type: object 3076 - required: 3077 - - patch 3078 - type: object 3079 - type: array 3080 - path: 3081 - description: |- 3082 - Path to the directory containing the kustomization.yaml file, or the 3083 - set of plain YAMLs a kustomization.yaml should be generated for. 3084 - Defaults to 'None', which translates to the root path of the SourceRef. 3085 - type: string 3086 - postBuild: 3087 - description: |- 3088 - PostBuild describes which actions to perform on the YAML manifest 3089 - generated by building the kustomize overlay. 3265 + Namespace of the referent, defaults to the namespace of the Kubernetes 3266 + resource object that contains the reference. 3267 + type: string 3268 + required: 3269 + - kind 3270 + - name 3271 + type: object 3272 + suspend: 3273 + description: |- 3274 + This flag tells the controller to suspend subsequent kustomize executions, 3275 + it does not apply to already started executions. Defaults to false. 3276 + type: boolean 3277 + targetNamespace: 3278 + description: |- 3279 + TargetNamespace sets or overrides the namespace in the 3280 + kustomization.yaml file. 3281 + maxLength: 63 3282 + minLength: 1 3283 + type: string 3284 + timeout: 3285 + description: |- 3286 + Timeout for validation, apply and health checking operations. 3287 + Defaults to 'Interval' duration. 3288 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 3289 + type: string 3290 + wait: 3291 + description: |- 3292 + Wait instructs the controller to check the health of all the reconciled 3293 + resources. When enabled, the HealthChecks are ignored. Defaults to false. 3294 + type: boolean 3295 + required: 3296 + - interval 3297 + - prune 3298 + - sourceRef 3299 + type: object 3300 + status: 3301 + default: 3302 + observedGeneration: -1 3303 + description: KustomizationStatus defines the observed state of a kustomization. 3304 + properties: 3305 + conditions: 3306 + items: 3307 + description: Condition contains details for one aspect of the current 3308 + state of this API Resource. 3090 3309 properties: 3091 - substitute: 3092 - additionalProperties: 3093 - type: string 3310 + lastTransitionTime: 3094 3311 description: |- 3095 - Substitute holds a map of key/value pairs. 3096 - The variables defined in your YAML manifests that match any of the keys 3097 - defined in the map will be substituted with the set value. 3098 - Includes support for bash string replacement functions 3099 - e.g. ${var:=default}, ${var:position} and ${var/substring/replacement}. 3100 - type: object 3101 - substituteFrom: 3312 + lastTransitionTime is the last time the condition transitioned from one status to another. 3313 + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 3314 + format: date-time 3315 + type: string 3316 + message: 3102 3317 description: |- 3103 - SubstituteFrom holds references to ConfigMaps and Secrets containing 3104 - the variables and their values to be substituted in the YAML manifests. 3105 - The ConfigMap and the Secret data keys represent the var names, and they 3106 - must match the vars declared in the manifests for the substitution to 3107 - happen. 3108 - items: 3109 - description: |- 3110 - SubstituteReference contains a reference to a resource containing 3111 - the variables name and value. 3112 - properties: 3113 - kind: 3114 - description: 3115 - Kind of the values referent, valid values are 3116 - ('Secret', 'ConfigMap'). 3117 - enum: 3118 - - Secret 3119 - - ConfigMap 3120 - type: string 3121 - name: 3122 - description: |- 3123 - Name of the values referent. Should reside in the same namespace as the 3124 - referring resource. 3125 - maxLength: 253 3126 - minLength: 1 3127 - type: string 3128 - optional: 3129 - default: false 3130 - description: |- 3131 - Optional indicates whether the referenced resource must exist, or whether to 3132 - tolerate its absence. If true and the referenced resource is absent, proceed 3133 - as if the resource was present but empty, without any variables defined. 3134 - type: boolean 3135 - required: 3136 - - kind 3137 - - name 3138 - type: object 3139 - type: array 3318 + message is a human readable message indicating details about the transition. 3319 + This may be an empty string. 3320 + maxLength: 32768 3321 + type: string 3322 + observedGeneration: 3323 + description: |- 3324 + observedGeneration represents the .metadata.generation that the condition was set based upon. 3325 + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 3326 + with respect to the current state of the instance. 3327 + format: int64 3328 + minimum: 0 3329 + type: integer 3330 + reason: 3331 + description: |- 3332 + reason contains a programmatic identifier indicating the reason for the condition's last transition. 3333 + Producers of specific condition types may define expected values and meanings for this field, 3334 + and whether the values are considered a guaranteed API. 3335 + The value should be a CamelCase string. 3336 + This field may not be empty. 3337 + maxLength: 1024 3338 + minLength: 1 3339 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 3340 + type: string 3341 + status: 3342 + description: status of the condition, one of True, False, Unknown. 3343 + enum: 3344 + - "True" 3345 + - "False" 3346 + - Unknown 3347 + type: string 3348 + type: 3349 + description: type of condition in CamelCase or in foo.example.com/CamelCase. 3350 + maxLength: 316 3351 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 3352 + type: string 3353 + required: 3354 + - lastTransitionTime 3355 + - message 3356 + - reason 3357 + - status 3358 + - type 3140 3359 type: object 3141 - prune: 3142 - description: Prune enables garbage collection. 3143 - type: boolean 3144 - retryInterval: 3360 + type: array 3361 + history: 3362 + description: |- 3363 + History contains a set of snapshots of the last reconciliation attempts 3364 + tracking the revision, the state and the duration of each attempt. 3365 + items: 3145 3366 description: |- 3146 - The interval at which to retry a previously failed reconciliation. 3147 - When not specified, the controller uses the KustomizationSpec.Interval 3148 - value to retry failures. 3149 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 3150 - type: string 3151 - serviceAccountName: 3152 - description: |- 3153 - The name of the Kubernetes service account to impersonate 3154 - when reconciling this Kustomization. 3155 - type: string 3156 - sourceRef: 3157 - description: 3158 - Reference of the source where the kustomization file 3159 - is. 3367 + Snapshot represents a point-in-time record of a group of resources reconciliation, 3368 + including timing information, status, and a unique digest identifier. 3160 3369 properties: 3161 - apiVersion: 3162 - description: API version of the referent. 3370 + digest: 3371 + description: Digest is the checksum in the format `<algo>:<hex>` 3372 + of the resources in this snapshot. 3163 3373 type: string 3164 - kind: 3165 - description: Kind of the referent. 3166 - enum: 3167 - - OCIRepository 3168 - - GitRepository 3169 - - Bucket 3170 - - ExternalArtifact 3374 + firstReconciled: 3375 + description: FirstReconciled is the time when this revision 3376 + was first reconciled to the cluster. 3377 + format: date-time 3171 3378 type: string 3172 - name: 3173 - description: Name of the referent. 3379 + lastReconciled: 3380 + description: LastReconciled is the time when this revision was 3381 + last reconciled to the cluster. 3382 + format: date-time 3174 3383 type: string 3175 - namespace: 3176 - description: |- 3177 - Namespace of the referent, defaults to the namespace of the Kubernetes 3178 - resource object that contains the reference. 3384 + lastReconciledDuration: 3385 + description: LastReconciledDuration is time it took to reconcile 3386 + the resources in this revision. 3179 3387 type: string 3180 - required: 3181 - - kind 3182 - - name 3183 - type: object 3184 - suspend: 3185 - description: |- 3186 - This flag tells the controller to suspend subsequent kustomize executions, 3187 - it does not apply to already started executions. Defaults to false. 3188 - type: boolean 3189 - targetNamespace: 3190 - description: |- 3191 - TargetNamespace sets or overrides the namespace in the 3192 - kustomization.yaml file. 3193 - maxLength: 63 3194 - minLength: 1 3195 - type: string 3196 - timeout: 3197 - description: |- 3198 - Timeout for validation, apply and health checking operations. 3199 - Defaults to 'Interval' duration. 3200 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 3201 - type: string 3202 - wait: 3203 - description: |- 3204 - Wait instructs the controller to check the health of all the reconciled 3205 - resources. When enabled, the HealthChecks are ignored. Defaults to false. 3206 - type: boolean 3207 - required: 3208 - - interval 3209 - - prune 3210 - - sourceRef 3211 - type: object 3212 - status: 3213 - default: 3214 - observedGeneration: -1 3215 - description: KustomizationStatus defines the observed state of a kustomization. 3216 - properties: 3217 - conditions: 3218 - items: 3219 - description: 3220 - Condition contains details for one aspect of the current 3221 - state of this API Resource. 3222 - properties: 3223 - lastTransitionTime: 3224 - description: |- 3225 - lastTransitionTime is the last time the condition transitioned from one status to another. 3226 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 3227 - format: date-time 3228 - type: string 3229 - message: 3230 - description: |- 3231 - message is a human readable message indicating details about the transition. 3232 - This may be an empty string. 3233 - maxLength: 32768 3234 - type: string 3235 - observedGeneration: 3236 - description: |- 3237 - observedGeneration represents the .metadata.generation that the condition was set based upon. 3238 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 3239 - with respect to the current state of the instance. 3240 - format: int64 3241 - minimum: 0 3242 - type: integer 3243 - reason: 3244 - description: |- 3245 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 3246 - Producers of specific condition types may define expected values and meanings for this field, 3247 - and whether the values are considered a guaranteed API. 3248 - The value should be a CamelCase string. 3249 - This field may not be empty. 3250 - maxLength: 1024 3251 - minLength: 1 3252 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 3253 - type: string 3254 - status: 3255 - description: status of the condition, one of True, False, Unknown. 3256 - enum: 3257 - - "True" 3258 - - "False" 3259 - - Unknown 3388 + lastReconciledStatus: 3389 + description: LastReconciledStatus is the status of the last 3390 + reconciliation. 3391 + type: string 3392 + metadata: 3393 + additionalProperties: 3260 3394 type: string 3261 - type: 3262 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 3263 - maxLength: 316 3264 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 3265 - type: string 3266 - required: 3267 - - lastTransitionTime 3268 - - message 3269 - - reason 3270 - - status 3271 - - type 3272 - type: object 3273 - type: array 3274 - history: 3275 - description: |- 3276 - History contains a set of snapshots of the last reconciliation attempts 3277 - tracking the revision, the state and the duration of each attempt. 3278 - items: 3279 - description: |- 3280 - Snapshot represents a point-in-time record of a group of resources reconciliation, 3281 - including timing information, status, and a unique digest identifier. 3282 - properties: 3283 - digest: 3284 - description: 3285 - Digest is the checksum in the format `<algo>:<hex>` 3286 - of the resources in this snapshot. 3287 - type: string 3288 - firstReconciled: 3289 - description: 3290 - FirstReconciled is the time when this revision 3291 - was first reconciled to the cluster. 3292 - format: date-time 3293 - type: string 3294 - lastReconciled: 3295 - description: 3296 - LastReconciled is the time when this revision was 3297 - last reconciled to the cluster. 3298 - format: date-time 3299 - type: string 3300 - lastReconciledDuration: 3301 - description: 3302 - LastReconciledDuration is time it took to reconcile 3303 - the resources in this revision. 3304 - type: string 3305 - lastReconciledStatus: 3306 - description: 3307 - LastReconciledStatus is the status of the last 3308 - reconciliation. 3309 - type: string 3310 - metadata: 3311 - additionalProperties: 3312 - type: string 3313 - description: 3314 - Metadata contains additional information about 3315 - the snapshot. 3316 - type: object 3317 - totalReconciliations: 3318 - description: 3319 - TotalReconciliations is the total number of reconciliations 3320 - that have occurred for this snapshot. 3321 - format: int64 3322 - type: integer 3323 - required: 3324 - - digest 3325 - - firstReconciled 3326 - - lastReconciled 3327 - - lastReconciledDuration 3328 - - lastReconciledStatus 3329 - - totalReconciliations 3330 - type: object 3331 - type: array 3332 - inventory: 3333 - description: |- 3334 - Inventory contains the list of Kubernetes resource object references that 3335 - have been successfully applied. 3336 - properties: 3337 - entries: 3338 - description: Entries of Kubernetes resource object references. 3339 - items: 3340 - description: 3341 - ResourceRef contains the information necessary 3342 - to locate a resource within a cluster. 3343 - properties: 3344 - id: 3345 - description: |- 3346 - ID is the string representation of the Kubernetes resource object's metadata, 3347 - in the format '<namespace>_<name>_<group>_<kind>'. 3348 - type: string 3349 - v: 3350 - description: 3351 - Version is the API version of the Kubernetes 3352 - resource object's kind. 3353 - type: string 3354 - required: 3355 - - id 3356 - - v 3357 - type: object 3358 - type: array 3395 + description: Metadata contains additional information about 3396 + the snapshot. 3397 + type: object 3398 + totalReconciliations: 3399 + description: TotalReconciliations is the total number of reconciliations 3400 + that have occurred for this snapshot. 3401 + format: int64 3402 + type: integer 3359 3403 required: 3360 - - entries 3404 + - digest 3405 + - firstReconciled 3406 + - lastReconciled 3407 + - lastReconciledDuration 3408 + - lastReconciledStatus 3409 + - totalReconciliations 3361 3410 type: object 3362 - lastAppliedOriginRevision: 3363 - description: |- 3364 - The last successfully applied origin revision. 3365 - Equals the origin revision of the applied Artifact from the referenced Source. 3366 - Usually present on the Metadata of the applied Artifact and depends on the 3367 - Source type, e.g. for OCI it's the value associated with the key 3368 - "org.opencontainers.image.revision". 3369 - type: string 3370 - lastAppliedRevision: 3371 - description: |- 3372 - The last successfully applied revision. 3373 - Equals the Revision of the applied Artifact from the referenced Source. 3374 - type: string 3375 - lastAttemptedRevision: 3376 - description: 3377 - LastAttemptedRevision is the revision of the last reconciliation 3378 - attempt. 3379 - type: string 3380 - lastHandledReconcileAt: 3381 - description: |- 3382 - LastHandledReconcileAt holds the value of the most recent 3383 - reconcile request value, so a change of the annotation value 3384 - can be detected. 3385 - type: string 3386 - observedGeneration: 3387 - description: ObservedGeneration is the last reconciled generation. 3388 - format: int64 3389 - type: integer 3390 - type: object 3391 - type: object 3392 - served: true 3393 - storage: true 3394 - subresources: 3395 - status: {} 3411 + type: array 3412 + inventory: 3413 + description: |- 3414 + Inventory contains the list of Kubernetes resource object references that 3415 + have been successfully applied. 3416 + properties: 3417 + entries: 3418 + description: Entries of Kubernetes resource object references. 3419 + items: 3420 + description: ResourceRef contains the information necessary 3421 + to locate a resource within a cluster. 3422 + properties: 3423 + id: 3424 + description: |- 3425 + ID is the string representation of the Kubernetes resource object's metadata, 3426 + in the format '<namespace>_<name>_<group>_<kind>'. 3427 + type: string 3428 + v: 3429 + description: Version is the API version of the Kubernetes 3430 + resource object's kind. 3431 + type: string 3432 + required: 3433 + - id 3434 + - v 3435 + type: object 3436 + type: array 3437 + required: 3438 + - entries 3439 + type: object 3440 + lastAppliedOriginRevision: 3441 + description: |- 3442 + The last successfully applied origin revision. 3443 + Equals the origin revision of the applied Artifact from the referenced Source. 3444 + Usually present on the Metadata of the applied Artifact and depends on the 3445 + Source type, e.g. for OCI it's the value associated with the key 3446 + "org.opencontainers.image.revision". 3447 + type: string 3448 + lastAppliedRevision: 3449 + description: |- 3450 + The last successfully applied revision. 3451 + Equals the Revision of the applied Artifact from the referenced Source. 3452 + type: string 3453 + lastAttemptedRevision: 3454 + description: LastAttemptedRevision is the revision of the last reconciliation 3455 + attempt. 3456 + type: string 3457 + lastHandledReconcileAt: 3458 + description: |- 3459 + LastHandledReconcileAt holds the value of the most recent 3460 + reconcile request value, so a change of the annotation value 3461 + can be detected. 3462 + type: string 3463 + observedGeneration: 3464 + description: ObservedGeneration is the last reconciled generation. 3465 + format: int64 3466 + type: integer 3467 + type: object 3468 + type: object 3469 + served: true 3470 + storage: true 3471 + subresources: 3472 + status: {} 3396 3473 --- 3397 3474 apiVersion: v1 3398 3475 kind: ServiceAccount ··· 3401 3478 app.kubernetes.io/component: kustomize-controller 3402 3479 app.kubernetes.io/instance: flux-system 3403 3480 app.kubernetes.io/part-of: flux 3404 - app.kubernetes.io/version: v2.8.8 3481 + app.kubernetes.io/version: v2.9.0 3405 3482 name: kustomize-controller 3406 3483 namespace: flux-system 3407 3484 --- ··· 3412 3489 app.kubernetes.io/component: kustomize-controller 3413 3490 app.kubernetes.io/instance: flux-system 3414 3491 app.kubernetes.io/part-of: flux 3415 - app.kubernetes.io/version: v2.8.8 3492 + app.kubernetes.io/version: v2.9.0 3416 3493 control-plane: controller 3417 3494 name: kustomize-controller 3418 3495 namespace: flux-system ··· 3431 3508 app.kubernetes.io/component: kustomize-controller 3432 3509 app.kubernetes.io/instance: flux-system 3433 3510 app.kubernetes.io/part-of: flux 3434 - app.kubernetes.io/version: v2.8.8 3511 + app.kubernetes.io/version: v2.9.0 3435 3512 spec: 3436 3513 containers: 3437 - - args: 3438 - - --events-addr=http://notification-controller.$(RUNTIME_NAMESPACE).svc.cluster.local./ 3439 - - --watch-all-namespaces=true 3440 - - --log-level=info 3441 - - --log-encoding=json 3442 - - --enable-leader-election 3443 - env: 3444 - - name: RUNTIME_NAMESPACE 3445 - valueFrom: 3446 - fieldRef: 3447 - fieldPath: metadata.namespace 3448 - - name: GOMEMLIMIT 3449 - valueFrom: 3450 - resourceFieldRef: 3451 - containerName: manager 3452 - resource: limits.memory 3453 - image: ghcr.io/fluxcd/kustomize-controller:v1.8.5 3454 - imagePullPolicy: IfNotPresent 3455 - livenessProbe: 3456 - httpGet: 3457 - path: /healthz 3458 - port: healthz 3459 - name: manager 3460 - ports: 3461 - - containerPort: 8080 3462 - name: http-prom 3463 - protocol: TCP 3464 - - containerPort: 9440 3465 - name: healthz 3466 - protocol: TCP 3467 - readinessProbe: 3468 - httpGet: 3469 - path: /readyz 3470 - port: healthz 3471 - resources: 3472 - limits: 3473 - cpu: 1000m 3474 - memory: 1Gi 3475 - requests: 3476 - cpu: 100m 3477 - memory: 64Mi 3478 - securityContext: 3479 - allowPrivilegeEscalation: false 3480 - capabilities: 3481 - drop: 3482 - - ALL 3483 - readOnlyRootFilesystem: true 3484 - runAsNonRoot: true 3485 - seccompProfile: 3486 - type: RuntimeDefault 3487 - volumeMounts: 3488 - - mountPath: /tmp 3489 - name: temp 3514 + - args: 3515 + - --events-addr=http://notification-controller.$(RUNTIME_NAMESPACE).svc.cluster.local./ 3516 + - --watch-all-namespaces=true 3517 + - --log-level=info 3518 + - --log-encoding=json 3519 + - --enable-leader-election 3520 + env: 3521 + - name: RUNTIME_NAMESPACE 3522 + valueFrom: 3523 + fieldRef: 3524 + fieldPath: metadata.namespace 3525 + - name: GOMEMLIMIT 3526 + valueFrom: 3527 + resourceFieldRef: 3528 + containerName: manager 3529 + resource: limits.memory 3530 + image: ghcr.io/fluxcd/kustomize-controller:v1.9.1 3531 + imagePullPolicy: IfNotPresent 3532 + livenessProbe: 3533 + httpGet: 3534 + path: /healthz 3535 + port: healthz 3536 + name: manager 3537 + ports: 3538 + - containerPort: 8080 3539 + name: http-prom 3540 + protocol: TCP 3541 + - containerPort: 9440 3542 + name: healthz 3543 + protocol: TCP 3544 + readinessProbe: 3545 + httpGet: 3546 + path: /readyz 3547 + port: healthz 3548 + resources: 3549 + limits: 3550 + cpu: 1000m 3551 + memory: 1Gi 3552 + requests: 3553 + cpu: 100m 3554 + memory: 64Mi 3555 + securityContext: 3556 + allowPrivilegeEscalation: false 3557 + capabilities: 3558 + drop: 3559 + - ALL 3560 + readOnlyRootFilesystem: true 3561 + runAsNonRoot: true 3562 + seccompProfile: 3563 + type: RuntimeDefault 3564 + volumeMounts: 3565 + - mountPath: /tmp 3566 + name: temp 3490 3567 nodeSelector: 3491 3568 kubernetes.io/os: linux 3492 3569 priorityClassName: system-cluster-critical ··· 3495 3572 serviceAccountName: kustomize-controller 3496 3573 terminationGracePeriodSeconds: 60 3497 3574 volumes: 3498 - - emptyDir: {} 3499 - name: temp 3575 + - emptyDir: {} 3576 + name: temp 3500 3577 --- 3501 3578 apiVersion: apiextensions.k8s.io/v1 3502 3579 kind: CustomResourceDefinition 3503 3580 metadata: 3504 3581 annotations: 3505 - controller-gen.kubebuilder.io/version: v0.19.0 3582 + controller-gen.kubebuilder.io/version: v0.21.0 3506 3583 labels: 3507 3584 app.kubernetes.io/component: helm-controller 3508 3585 app.kubernetes.io/instance: flux-system 3509 3586 app.kubernetes.io/part-of: flux 3510 - app.kubernetes.io/version: v2.8.8 3587 + app.kubernetes.io/version: v2.9.0 3511 3588 name: helmreleases.helm.toolkit.fluxcd.io 3512 3589 spec: 3513 3590 group: helm.toolkit.fluxcd.io 3514 3591 names: 3592 + categories: 3593 + - all 3594 + - fluxcd 3595 + - fluxcd-appliers 3515 3596 kind: HelmRelease 3516 3597 listKind: HelmReleaseList 3517 3598 plural: helmreleases 3518 3599 shortNames: 3519 - - hr 3600 + - hr 3520 3601 singular: helmrelease 3521 3602 scope: Namespaced 3522 3603 versions: 3523 - - additionalPrinterColumns: 3524 - - jsonPath: .metadata.creationTimestamp 3525 - name: Age 3526 - type: date 3527 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 3528 - name: Ready 3529 - type: string 3530 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 3531 - name: Status 3532 - type: string 3533 - name: v2 3534 - schema: 3535 - openAPIV3Schema: 3536 - description: HelmRelease is the Schema for the helmreleases API 3537 - properties: 3538 - apiVersion: 3539 - description: |- 3540 - APIVersion defines the versioned schema of this representation of an object. 3541 - Servers should convert recognized schemas to the latest internal value, and 3542 - may reject unrecognized values. 3543 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 3544 - type: string 3545 - kind: 3546 - description: |- 3547 - Kind is a string value representing the REST resource this object represents. 3548 - Servers may infer this from the endpoint the client submits requests to. 3549 - Cannot be updated. 3550 - In CamelCase. 3551 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 3552 - type: string 3553 - metadata: 3554 - type: object 3555 - spec: 3556 - description: HelmReleaseSpec defines the desired state of a Helm release. 3557 - properties: 3558 - chart: 3604 + - additionalPrinterColumns: 3605 + - jsonPath: .metadata.creationTimestamp 3606 + name: Age 3607 + type: date 3608 + - jsonPath: .status.conditions[?(@.type=="Ready")].status 3609 + name: Ready 3610 + type: string 3611 + - jsonPath: .status.conditions[?(@.type=="Ready")].message 3612 + name: Status 3613 + type: string 3614 + name: v2 3615 + schema: 3616 + openAPIV3Schema: 3617 + description: HelmRelease is the Schema for the helmreleases API 3618 + properties: 3619 + apiVersion: 3620 + description: |- 3621 + APIVersion defines the versioned schema of this representation of an object. 3622 + Servers should convert recognized schemas to the latest internal value, and 3623 + may reject unrecognized values. 3624 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 3625 + type: string 3626 + kind: 3627 + description: |- 3628 + Kind is a string value representing the REST resource this object represents. 3629 + Servers may infer this from the endpoint the client submits requests to. 3630 + Cannot be updated. 3631 + In CamelCase. 3632 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 3633 + type: string 3634 + metadata: 3635 + type: object 3636 + spec: 3637 + description: HelmReleaseSpec defines the desired state of a Helm release. 3638 + properties: 3639 + chart: 3640 + description: |- 3641 + Chart defines the template of the v1.HelmChart that should be created 3642 + for this HelmRelease. 3643 + properties: 3644 + metadata: 3645 + description: ObjectMeta holds the template for metadata like labels 3646 + and annotations. 3647 + properties: 3648 + annotations: 3649 + additionalProperties: 3650 + type: string 3651 + description: |- 3652 + Annotations is an unstructured key value map stored with a resource that may be 3653 + set by external tools to store and retrieve arbitrary metadata. They are not 3654 + queryable and should be preserved when modifying objects. 3655 + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ 3656 + type: object 3657 + labels: 3658 + additionalProperties: 3659 + type: string 3660 + description: |- 3661 + Map of string keys and values that can be used to organize and categorize 3662 + (scope and select) objects. 3663 + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 3664 + type: object 3665 + type: object 3666 + spec: 3667 + description: Spec holds the template for the v1.HelmChartSpec 3668 + for this HelmRelease. 3669 + properties: 3670 + chart: 3671 + description: The name or path the Helm chart is available 3672 + at in the SourceRef. 3673 + maxLength: 2048 3674 + minLength: 1 3675 + type: string 3676 + ignoreMissingValuesFiles: 3677 + description: IgnoreMissingValuesFiles controls whether to 3678 + silently ignore missing values files rather than failing. 3679 + type: boolean 3680 + interval: 3681 + description: |- 3682 + Interval at which to check the v1.Source for updates. Defaults to 3683 + 'HelmReleaseSpec.Interval'. 3684 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 3685 + type: string 3686 + reconcileStrategy: 3687 + default: ChartVersion 3688 + description: |- 3689 + Determines what enables the creation of a new artifact. Valid values are 3690 + ('ChartVersion', 'Revision'). 3691 + See the documentation of the values for an explanation on their behavior. 3692 + Defaults to ChartVersion when omitted. 3693 + enum: 3694 + - ChartVersion 3695 + - Revision 3696 + type: string 3697 + sourceRef: 3698 + description: The name and namespace of the v1.Source the chart 3699 + is available at. 3700 + properties: 3701 + apiVersion: 3702 + description: APIVersion of the referent. 3703 + type: string 3704 + kind: 3705 + description: Kind of the referent. 3706 + enum: 3707 + - HelmRepository 3708 + - GitRepository 3709 + - Bucket 3710 + type: string 3711 + name: 3712 + description: Name of the referent. 3713 + maxLength: 253 3714 + minLength: 1 3715 + type: string 3716 + namespace: 3717 + description: Namespace of the referent. 3718 + maxLength: 63 3719 + minLength: 1 3720 + type: string 3721 + required: 3722 + - kind 3723 + - name 3724 + type: object 3725 + valuesFiles: 3726 + description: |- 3727 + Alternative list of values files to use as the chart values (values.yaml 3728 + is not included by default), expected to be a relative path in the SourceRef. 3729 + Values files are merged in the order of this list with the last file overriding 3730 + the first. Ignored when omitted. 3731 + items: 3732 + type: string 3733 + type: array 3734 + verify: 3735 + description: |- 3736 + Verify contains the secret name containing the trusted public keys 3737 + used to verify the signature and specifies which provider to use to check 3738 + whether OCI image is authentic. 3739 + This field is only supported for OCI sources. 3740 + Chart dependencies, which are not bundled in the umbrella chart artifact, 3741 + are not verified. 3742 + properties: 3743 + provider: 3744 + default: cosign 3745 + description: Provider specifies the technology used to 3746 + sign the OCI Helm chart. 3747 + enum: 3748 + - cosign 3749 + - notation 3750 + type: string 3751 + secretRef: 3752 + description: |- 3753 + SecretRef specifies the Kubernetes Secret containing the 3754 + trusted public keys. 3755 + properties: 3756 + name: 3757 + description: Name of the referent. 3758 + type: string 3759 + required: 3760 + - name 3761 + type: object 3762 + required: 3763 + - provider 3764 + type: object 3765 + version: 3766 + default: '*' 3767 + description: |- 3768 + Version semver expression, ignored for charts from v1.GitRepository and 3769 + v1beta2.Bucket sources. Defaults to latest when omitted. 3770 + type: string 3771 + required: 3772 + - chart 3773 + - sourceRef 3774 + type: object 3775 + required: 3776 + - spec 3777 + type: object 3778 + chartRef: 3779 + description: |- 3780 + ChartRef holds a reference to a source controller resource containing the 3781 + Helm chart artifact. 3782 + properties: 3783 + apiVersion: 3784 + description: APIVersion of the referent. 3785 + type: string 3786 + kind: 3787 + description: Kind of the referent. 3788 + enum: 3789 + - OCIRepository 3790 + - HelmChart 3791 + - ExternalArtifact 3792 + type: string 3793 + name: 3794 + description: Name of the referent. 3795 + maxLength: 253 3796 + minLength: 1 3797 + type: string 3798 + namespace: 3799 + description: |- 3800 + Namespace of the referent, defaults to the namespace of the Kubernetes 3801 + resource object that contains the reference. 3802 + maxLength: 63 3803 + minLength: 1 3804 + type: string 3805 + required: 3806 + - kind 3807 + - name 3808 + type: object 3809 + commonMetadata: 3810 + description: |- 3811 + CommonMetadata specifies the common labels and annotations that are 3812 + applied to all resources. Any existing label or annotation will be 3813 + overridden if its key matches a common one. 3814 + properties: 3815 + annotations: 3816 + additionalProperties: 3817 + type: string 3818 + description: Annotations to be added to the object's metadata. 3819 + type: object 3820 + labels: 3821 + additionalProperties: 3822 + type: string 3823 + description: Labels to be added to the object's metadata. 3824 + type: object 3825 + type: object 3826 + dependsOn: 3827 + description: |- 3828 + DependsOn may contain a DependencyReference slice with 3829 + references to HelmRelease resources that must be ready before this HelmRelease 3830 + can be reconciled. 3831 + items: 3559 3832 description: |- 3560 - Chart defines the template of the v1.HelmChart that should be created 3561 - for this HelmRelease. 3833 + DependencyReference contains enough information to locate the referenced Kubernetes resource object 3834 + and optional CEL expression to assess its readiness. 3562 3835 properties: 3563 - metadata: 3564 - description: 3565 - ObjectMeta holds the template for metadata like labels 3566 - and annotations. 3836 + name: 3837 + description: Name of the referent. 3838 + type: string 3839 + namespace: 3840 + description: |- 3841 + Namespace of the referent, defaults to the namespace of the resource 3842 + object that contains the reference. 3843 + type: string 3844 + readyExpr: 3845 + description: |- 3846 + ReadyExpr is a CEL expression that can be used to assess the readiness 3847 + of a dependency. When specified, the built-in readiness check 3848 + is replaced by the logic defined in the CEL expression. 3849 + To make the CEL expression additive to the built-in readiness check, 3850 + the feature gate `AdditiveCELDependencyCheck` must be set to `true`. 3851 + type: string 3852 + required: 3853 + - name 3854 + type: object 3855 + type: array 3856 + driftDetection: 3857 + description: |- 3858 + DriftDetection holds the configuration for detecting and handling 3859 + differences between the manifest in the Helm storage and the resources 3860 + currently existing in the cluster. 3861 + properties: 3862 + ignore: 3863 + description: |- 3864 + Ignore contains a list of rules for specifying which changes to ignore 3865 + during diffing. 3866 + items: 3867 + description: |- 3868 + IgnoreRule defines a rule to selectively disregard specific changes during 3869 + the drift detection process. 3567 3870 properties: 3568 - annotations: 3569 - additionalProperties: 3570 - type: string 3871 + paths: 3571 3872 description: |- 3572 - Annotations is an unstructured key value map stored with a resource that may be 3573 - set by external tools to store and retrieve arbitrary metadata. They are not 3574 - queryable and should be preserved when modifying objects. 3575 - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ 3576 - type: object 3577 - labels: 3578 - additionalProperties: 3873 + Paths is a list of JSON Pointer (RFC 6901) paths to be excluded from 3874 + consideration in a Kubernetes object. 3875 + items: 3579 3876 type: string 3580 - description: |- 3581 - Map of string keys and values that can be used to organize and categorize 3582 - (scope and select) objects. 3583 - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 3584 - type: object 3585 - type: object 3586 - spec: 3587 - description: 3588 - Spec holds the template for the v1.HelmChartSpec 3589 - for this HelmRelease. 3590 - properties: 3591 - chart: 3592 - description: 3593 - The name or path the Helm chart is available 3594 - at in the SourceRef. 3595 - maxLength: 2048 3596 - minLength: 1 3597 - type: string 3598 - ignoreMissingValuesFiles: 3599 - description: 3600 - IgnoreMissingValuesFiles controls whether to 3601 - silently ignore missing values files rather than failing. 3602 - type: boolean 3603 - interval: 3877 + type: array 3878 + target: 3604 3879 description: |- 3605 - Interval at which to check the v1.Source for updates. Defaults to 3606 - 'HelmReleaseSpec.Interval'. 3607 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 3608 - type: string 3609 - reconcileStrategy: 3610 - default: ChartVersion 3611 - description: |- 3612 - Determines what enables the creation of a new artifact. Valid values are 3613 - ('ChartVersion', 'Revision'). 3614 - See the documentation of the values for an explanation on their behavior. 3615 - Defaults to ChartVersion when omitted. 3616 - enum: 3617 - - ChartVersion 3618 - - Revision 3619 - type: string 3620 - sourceRef: 3621 - description: 3622 - The name and namespace of the v1.Source the chart 3623 - is available at. 3880 + Target is a selector for specifying Kubernetes objects to which this 3881 + rule applies. 3882 + If Target is not set, the Paths will be ignored for all Kubernetes 3883 + objects within the manifest of the Helm release. 3624 3884 properties: 3625 - apiVersion: 3626 - description: APIVersion of the referent. 3885 + annotationSelector: 3886 + description: |- 3887 + AnnotationSelector is a string that follows the label selection expression 3888 + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 3889 + It matches with the resource annotations. 3890 + type: string 3891 + group: 3892 + description: |- 3893 + Group is the API group to select resources from. 3894 + Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources. 3895 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 3627 3896 type: string 3628 3897 kind: 3629 - description: Kind of the referent. 3630 - enum: 3631 - - HelmRepository 3632 - - GitRepository 3633 - - Bucket 3898 + description: |- 3899 + Kind of the API Group to select resources from. 3900 + Together with Group and Version it is capable of unambiguously 3901 + identifying and/or selecting resources. 3902 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 3903 + type: string 3904 + labelSelector: 3905 + description: |- 3906 + LabelSelector is a string that follows the label selection expression 3907 + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 3908 + It matches with the resource labels. 3634 3909 type: string 3635 3910 name: 3636 - description: Name of the referent. 3637 - maxLength: 253 3638 - minLength: 1 3911 + description: Name to match resources with. 3639 3912 type: string 3640 3913 namespace: 3641 - description: Namespace of the referent. 3642 - maxLength: 63 3643 - minLength: 1 3914 + description: Namespace to select resources from. 3644 3915 type: string 3645 - required: 3646 - - kind 3647 - - name 3648 - type: object 3649 - valuesFiles: 3650 - description: |- 3651 - Alternative list of values files to use as the chart values (values.yaml 3652 - is not included by default), expected to be a relative path in the SourceRef. 3653 - Values files are merged in the order of this list with the last file overriding 3654 - the first. Ignored when omitted. 3655 - items: 3656 - type: string 3657 - type: array 3658 - verify: 3659 - description: |- 3660 - Verify contains the secret name containing the trusted public keys 3661 - used to verify the signature and specifies which provider to use to check 3662 - whether OCI image is authentic. 3663 - This field is only supported for OCI sources. 3664 - Chart dependencies, which are not bundled in the umbrella chart artifact, 3665 - are not verified. 3666 - properties: 3667 - provider: 3668 - default: cosign 3669 - description: 3670 - Provider specifies the technology used to 3671 - sign the OCI Helm chart. 3672 - enum: 3673 - - cosign 3674 - - notation 3916 + version: 3917 + description: |- 3918 + Version of the API Group to select resources from. 3919 + Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources. 3920 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 3675 3921 type: string 3676 - secretRef: 3677 - description: |- 3678 - SecretRef specifies the Kubernetes Secret containing the 3679 - trusted public keys. 3680 - properties: 3681 - name: 3682 - description: Name of the referent. 3683 - type: string 3684 - required: 3685 - - name 3686 - type: object 3687 - required: 3688 - - provider 3689 3922 type: object 3690 - version: 3691 - default: "*" 3692 - description: |- 3693 - Version semver expression, ignored for charts from v1.GitRepository and 3694 - v1beta2.Bucket sources. Defaults to latest when omitted. 3695 - type: string 3696 3923 required: 3697 - - chart 3698 - - sourceRef 3924 + - paths 3699 3925 type: object 3700 - required: 3701 - - spec 3702 - type: object 3703 - chartRef: 3704 - description: |- 3705 - ChartRef holds a reference to a source controller resource containing the 3706 - Helm chart artifact. 3926 + type: array 3927 + mode: 3928 + description: |- 3929 + Mode defines how differences should be handled between the Helm manifest 3930 + and the manifest currently applied to the cluster. 3931 + If not explicitly set, it defaults to DiffModeDisabled. 3932 + enum: 3933 + - enabled 3934 + - warn 3935 + - disabled 3936 + type: string 3937 + type: object 3938 + healthCheckExprs: 3939 + description: |- 3940 + HealthCheckExprs is a list of healthcheck expressions for evaluating the 3941 + health of custom resources using Common Expression Language (CEL). 3942 + The expressions are evaluated only when the specific Helm action 3943 + taking place has wait enabled, i.e. DisableWait is false, and the 3944 + 'poller' WaitStrategy is used. 3945 + items: 3946 + description: CustomHealthCheck defines the health check for custom 3947 + resources. 3707 3948 properties: 3708 3949 apiVersion: 3709 - description: APIVersion of the referent. 3950 + description: APIVersion of the custom resource under evaluation. 3710 3951 type: string 3711 - kind: 3712 - description: Kind of the referent. 3713 - enum: 3714 - - OCIRepository 3715 - - HelmChart 3716 - - ExternalArtifact 3952 + current: 3953 + description: |- 3954 + Current is the CEL expression that determines if the status 3955 + of the custom resource has reached the desired state. 3717 3956 type: string 3718 - name: 3719 - description: Name of the referent. 3720 - maxLength: 253 3721 - minLength: 1 3957 + failed: 3958 + description: |- 3959 + Failed is the CEL expression that determines if the status 3960 + of the custom resource has failed to reach the desired state. 3722 3961 type: string 3723 - namespace: 3962 + inProgress: 3724 3963 description: |- 3725 - Namespace of the referent, defaults to the namespace of the Kubernetes 3726 - resource object that contains the reference. 3727 - maxLength: 63 3728 - minLength: 1 3964 + InProgress is the CEL expression that determines if the status 3965 + of the custom resource has not yet reached the desired state. 3966 + type: string 3967 + kind: 3968 + description: Kind of the custom resource under evaluation. 3729 3969 type: string 3730 3970 required: 3731 - - kind 3732 - - name 3971 + - apiVersion 3972 + - current 3733 3973 type: object 3734 - commonMetadata: 3735 - description: |- 3736 - CommonMetadata specifies the common labels and annotations that are 3737 - applied to all resources. Any existing label or annotation will be 3738 - overridden if its key matches a common one. 3739 - properties: 3740 - annotations: 3741 - additionalProperties: 3974 + type: array 3975 + install: 3976 + description: Install holds the configuration for Helm install actions 3977 + for this HelmRelease. 3978 + properties: 3979 + crds: 3980 + description: |- 3981 + CRDs upgrade CRDs from the Helm Chart's crds directory according 3982 + to the CRD upgrade policy provided here. Valid values are `Skip`, 3983 + `Create` or `CreateReplace`. Default is `Create` and if omitted 3984 + CRDs are installed but not updated. 3985 + 3986 + Skip: do neither install nor replace (update) any CRDs. 3987 + 3988 + Create: new CRDs are created, existing CRDs are neither updated nor deleted. 3989 + 3990 + CreateReplace: new CRDs are created, existing CRDs are updated (replaced) 3991 + but not deleted. 3992 + 3993 + By default, CRDs are applied (installed) during Helm install action. 3994 + With this option users can opt in to CRD replace existing CRDs on Helm 3995 + install actions, which is not (yet) natively supported by Helm. 3996 + https://helm.sh/docs/chart_best_practices/custom_resource_definitions. 3997 + enum: 3998 + - Skip 3999 + - Create 4000 + - CreateReplace 4001 + type: string 4002 + createNamespace: 4003 + description: |- 4004 + CreateNamespace tells the Helm install action to create the 4005 + HelmReleaseSpec.TargetNamespace if it does not exist yet. 4006 + On uninstall, the namespace will not be garbage collected. 4007 + type: boolean 4008 + disableHooks: 4009 + description: DisableHooks prevents hooks from running during the 4010 + Helm install action. 4011 + type: boolean 4012 + disableOpenAPIValidation: 4013 + description: |- 4014 + DisableOpenAPIValidation prevents the Helm install action from validating 4015 + rendered templates against the Kubernetes OpenAPI Schema. 4016 + type: boolean 4017 + disableSchemaValidation: 4018 + description: |- 4019 + DisableSchemaValidation prevents the Helm install action from validating 4020 + the values against the JSON Schema. 4021 + type: boolean 4022 + disableTakeOwnership: 4023 + description: |- 4024 + DisableTakeOwnership disables taking ownership of existing resources 4025 + during the Helm install action. Defaults to false. 4026 + type: boolean 4027 + disableWait: 4028 + description: |- 4029 + DisableWait disables the waiting for resources to be ready after a Helm 4030 + install has been performed. 4031 + type: boolean 4032 + disableWaitForJobs: 4033 + description: |- 4034 + DisableWaitForJobs disables waiting for jobs to complete after a Helm 4035 + install has been performed. 4036 + type: boolean 4037 + remediation: 4038 + description: |- 4039 + Remediation holds the remediation configuration for when the Helm install 4040 + action for the HelmRelease fails. The default is to not perform any action. 4041 + properties: 4042 + ignoreTestFailures: 4043 + description: |- 4044 + IgnoreTestFailures tells the controller to skip remediation when the Helm 4045 + tests are run after an install action but fail. Defaults to 4046 + 'Test.IgnoreFailures'. 4047 + type: boolean 4048 + remediateLastFailure: 4049 + description: |- 4050 + RemediateLastFailure tells the controller to remediate the last failure, when 4051 + no retries remain. Defaults to 'false'. 4052 + type: boolean 4053 + retries: 4054 + description: |- 4055 + Retries is the number of retries that should be attempted on failures before 4056 + bailing. Remediation, using an uninstall, is performed between each attempt. 4057 + Defaults to '0', a negative integer equals to unlimited retries. 4058 + type: integer 4059 + type: object 4060 + replace: 4061 + description: |- 4062 + Replace tells the Helm install action to re-use the 'ReleaseName', but only 4063 + if that name is a deleted release which remains in the history. 4064 + type: boolean 4065 + serverSideApply: 4066 + description: |- 4067 + ServerSideApply enables server-side apply for resources during install. 4068 + Defaults to true (or false when UseHelm3Defaults feature gate is enabled). 4069 + type: boolean 4070 + skipCRDs: 4071 + description: |- 4072 + SkipCRDs tells the Helm install action to not install any CRDs. By default, 4073 + CRDs are installed if not already present. 4074 + 4075 + Deprecated use CRD policy (`crds`) attribute with value `Skip` instead. 4076 + type: boolean 4077 + strategy: 4078 + description: |- 4079 + Strategy defines the install strategy to use for this HelmRelease. 4080 + Defaults to 'RemediateOnFailure', or 'RetryOnFailure' when the 4081 + DefaultToRetryOnFailure feature gate is enabled. 4082 + properties: 4083 + name: 4084 + description: Name of the install strategy. 4085 + enum: 4086 + - RemediateOnFailure 4087 + - RetryOnFailure 3742 4088 type: string 3743 - description: Annotations to be added to the object's metadata. 3744 - type: object 3745 - labels: 3746 - additionalProperties: 4089 + retryInterval: 4090 + description: |- 4091 + RetryInterval is the interval at which to retry a failed install. 4092 + Can be used only when Name is set to RetryOnFailure. 4093 + Defaults to '5m'. 4094 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 3747 4095 type: string 3748 - description: Labels to be added to the object's metadata. 3749 - type: object 3750 - type: object 3751 - dependsOn: 3752 - description: |- 3753 - DependsOn may contain a DependencyReference slice with 3754 - references to HelmRelease resources that must be ready before this HelmRelease 3755 - can be reconciled. 3756 - items: 3757 - description: 3758 - DependencyReference defines a HelmRelease dependency 3759 - on another HelmRelease resource. 4096 + required: 4097 + - name 4098 + type: object 4099 + x-kubernetes-validations: 4100 + - message: .retryInterval cannot be set when .name is 'RemediateOnFailure' 4101 + rule: '!has(self.retryInterval) || self.name != ''RemediateOnFailure''' 4102 + timeout: 4103 + description: |- 4104 + Timeout is the time to wait for any individual Kubernetes operation (like 4105 + Jobs for hooks) during the performance of a Helm install action. Defaults to 4106 + 'HelmReleaseSpec.Timeout'. 4107 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4108 + type: string 4109 + type: object 4110 + interval: 4111 + description: Interval at which to reconcile the Helm release. 4112 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4113 + type: string 4114 + kubeConfig: 4115 + description: |- 4116 + KubeConfig for reconciling the HelmRelease on a remote cluster. 4117 + When used in combination with HelmReleaseSpec.ServiceAccountName, 4118 + forces the controller to act on behalf of that Service Account at the 4119 + target cluster. 4120 + If the --default-service-account flag is set, its value will be used as 4121 + a controller level fallback for when HelmReleaseSpec.ServiceAccountName 4122 + is empty. 4123 + properties: 4124 + configMapRef: 4125 + description: |- 4126 + ConfigMapRef holds an optional name of a ConfigMap that contains 4127 + the following keys: 4128 + 4129 + - `provider`: the provider to use. One of `aws`, `azure`, `gcp`, or 4130 + `generic`. Required. 4131 + - `cluster`: the fully qualified resource name of the Kubernetes 4132 + cluster in the cloud provider API. Not used by the `generic` 4133 + provider. Required when one of `address` or `ca.crt` is not set. 4134 + - `address`: the address of the Kubernetes API server. Required 4135 + for `generic`. For the other providers, if not specified, the 4136 + first address in the cluster resource will be used, and if 4137 + specified, it must match one of the addresses in the cluster 4138 + resource. 4139 + If audiences is not set, will be used as the audience for the 4140 + `generic` provider. 4141 + - `ca.crt`: the optional PEM-encoded CA certificate for the 4142 + Kubernetes API server. If not set, the controller will use the 4143 + CA certificate from the cluster resource. 4144 + - `audiences`: the optional audiences as a list of 4145 + line-break-separated strings for the Kubernetes ServiceAccount 4146 + token. Defaults to the `address` for the `generic` provider, or 4147 + to specific values for the other providers depending on the 4148 + provider. 4149 + - `serviceAccountName`: the optional name of the Kubernetes 4150 + ServiceAccount in the same namespace that should be used 4151 + for authentication. If not specified, the controller 4152 + ServiceAccount will be used. 4153 + 4154 + Mutually exclusive with SecretRef. 3760 4155 properties: 3761 4156 name: 3762 4157 description: Name of the referent. 3763 4158 type: string 3764 - namespace: 3765 - description: |- 3766 - Namespace of the referent, defaults to the namespace of the HelmRelease 3767 - resource object that contains the reference. 4159 + required: 4160 + - name 4161 + type: object 4162 + secretRef: 4163 + description: |- 4164 + SecretRef holds an optional name of a secret that contains a key with 4165 + the kubeconfig file as the value. If no key is set, the key will default 4166 + to 'value'. Mutually exclusive with ConfigMapRef. 4167 + It is recommended that the kubeconfig is self-contained, and the secret 4168 + is regularly updated if credentials such as a cloud-access-token expire. 4169 + Cloud specific `cmd-path` auth helpers will not function without adding 4170 + binaries and credentials to the Pod that is responsible for reconciling 4171 + Kubernetes resources. Supported only for the generic provider. 4172 + properties: 4173 + key: 4174 + description: Key in the Secret, when not specified an implementation-specific 4175 + default key is used. 3768 4176 type: string 3769 - readyExpr: 3770 - description: |- 3771 - ReadyExpr is a CEL expression that can be used to assess the readiness 3772 - of a dependency. When specified, the built-in readiness check 3773 - is replaced by the logic defined in the CEL expression. 3774 - To make the CEL expression additive to the built-in readiness check, 3775 - the feature gate `AdditiveCELDependencyCheck` must be set to `true`. 4177 + name: 4178 + description: Name of the Secret. 3776 4179 type: string 3777 4180 required: 3778 - - name 4181 + - name 3779 4182 type: object 3780 - type: array 3781 - driftDetection: 3782 - description: |- 3783 - DriftDetection holds the configuration for detecting and handling 3784 - differences between the manifest in the Helm storage and the resources 3785 - currently existing in the cluster. 4183 + type: object 4184 + x-kubernetes-validations: 4185 + - message: exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef 4186 + must be specified 4187 + rule: has(self.configMapRef) || has(self.secretRef) 4188 + - message: exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef 4189 + must be specified 4190 + rule: '!has(self.configMapRef) || !has(self.secretRef)' 4191 + maxHistory: 4192 + description: |- 4193 + MaxHistory is the number of revisions saved by Helm for this HelmRelease. 4194 + Use '0' for an unlimited number of revisions; defaults to '5'. 4195 + type: integer 4196 + persistentClient: 4197 + description: |- 4198 + PersistentClient tells the controller to use a persistent Kubernetes 4199 + client for this release. When enabled, the client will be reused for the 4200 + duration of the reconciliation, instead of being created and destroyed 4201 + for each (step of a) Helm action. 4202 + 4203 + This can improve performance, but may cause issues with some Helm charts 4204 + that for example do create Custom Resource Definitions during installation 4205 + outside Helm's CRD lifecycle hooks, which are then not observed to be 4206 + available by e.g. post-install hooks. 4207 + 4208 + If not set, it defaults to true. 4209 + type: boolean 4210 + postRenderStrategy: 4211 + description: |- 4212 + PostRenderStrategy defines the strategy for sending hooks to post-renderers. 4213 + Valid values are 'nohooks' (hooks not sent to post-renderers, Helm 3 behavior), 4214 + 'combined' (hooks and templates sent together, Helm 4 default), and 'separate' 4215 + (hooks and templates sent in separate streams, Helm 4.2 opt-in). 4216 + Defaults to 'combined', or 'nohooks' when the UseHelm3Defaults feature gate is enabled. 4217 + enum: 4218 + - nohooks 4219 + - combined 4220 + - separate 4221 + type: string 4222 + postRenderers: 4223 + description: |- 4224 + PostRenderers holds an array of Helm PostRenderers, which will be applied in order 4225 + of their definition. 4226 + items: 4227 + description: PostRenderer contains a Helm PostRenderer specification. 3786 4228 properties: 3787 - ignore: 3788 - description: |- 3789 - Ignore contains a list of rules for specifying which changes to ignore 3790 - during diffing. 3791 - items: 3792 - description: |- 3793 - IgnoreRule defines a rule to selectively disregard specific changes during 3794 - the drift detection process. 3795 - properties: 3796 - paths: 3797 - description: |- 3798 - Paths is a list of JSON Pointer (RFC 6901) paths to be excluded from 3799 - consideration in a Kubernetes object. 3800 - items: 3801 - type: string 3802 - type: array 3803 - target: 3804 - description: |- 3805 - Target is a selector for specifying Kubernetes objects to which this 3806 - rule applies. 3807 - If Target is not set, the Paths will be ignored for all Kubernetes 3808 - objects within the manifest of the Helm release. 4229 + kustomize: 4230 + description: Kustomization to apply as PostRenderer. 4231 + properties: 4232 + images: 4233 + description: |- 4234 + Images is a list of (image name, new name, new tag or digest) 4235 + for changing image names, tags or digests. This can also be achieved with a 4236 + patch, but this operator is simpler to specify. 4237 + items: 4238 + description: Image contains an image name, a new name, 4239 + a new tag or digest, which will replace the original 4240 + name and tag. 3809 4241 properties: 3810 - annotationSelector: 4242 + digest: 3811 4243 description: |- 3812 - AnnotationSelector is a string that follows the label selection expression 3813 - https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 3814 - It matches with the resource annotations. 4244 + Digest is the value used to replace the original image tag. 4245 + If digest is present NewTag value is ignored. 3815 4246 type: string 3816 - group: 3817 - description: |- 3818 - Group is the API group to select resources from. 3819 - Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources. 3820 - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 4247 + name: 4248 + description: Name is a tag-less image name. 3821 4249 type: string 3822 - kind: 3823 - description: |- 3824 - Kind of the API Group to select resources from. 3825 - Together with Group and Version it is capable of unambiguously 3826 - identifying and/or selecting resources. 3827 - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 4250 + newName: 4251 + description: NewName is the value used to replace 4252 + the original name. 3828 4253 type: string 3829 - labelSelector: 3830 - description: |- 3831 - LabelSelector is a string that follows the label selection expression 3832 - https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 3833 - It matches with the resource labels. 4254 + newTag: 4255 + description: NewTag is the value used to replace the 4256 + original tag. 3834 4257 type: string 3835 - name: 3836 - description: Name to match resources with. 3837 - type: string 3838 - namespace: 3839 - description: Namespace to select resources from. 3840 - type: string 3841 - version: 4258 + required: 4259 + - name 4260 + type: object 4261 + type: array 4262 + patches: 4263 + description: |- 4264 + Strategic merge and JSON patches, defined as inline YAML objects, 4265 + capable of targeting objects based on kind, label and annotation selectors. 4266 + items: 4267 + description: |- 4268 + Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should 4269 + be applied to. 4270 + properties: 4271 + patch: 3842 4272 description: |- 3843 - Version of the API Group to select resources from. 3844 - Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources. 3845 - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 4273 + Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with 4274 + an array of operation objects. 3846 4275 type: string 4276 + target: 4277 + description: Target points to the resources that the 4278 + patch document should be applied to. 4279 + properties: 4280 + annotationSelector: 4281 + description: |- 4282 + AnnotationSelector is a string that follows the label selection expression 4283 + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 4284 + It matches with the resource annotations. 4285 + type: string 4286 + group: 4287 + description: |- 4288 + Group is the API group to select resources from. 4289 + Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources. 4290 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 4291 + type: string 4292 + kind: 4293 + description: |- 4294 + Kind of the API Group to select resources from. 4295 + Together with Group and Version it is capable of unambiguously 4296 + identifying and/or selecting resources. 4297 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 4298 + type: string 4299 + labelSelector: 4300 + description: |- 4301 + LabelSelector is a string that follows the label selection expression 4302 + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 4303 + It matches with the resource labels. 4304 + type: string 4305 + name: 4306 + description: Name to match resources with. 4307 + type: string 4308 + namespace: 4309 + description: Namespace to select resources from. 4310 + type: string 4311 + version: 4312 + description: |- 4313 + Version of the API Group to select resources from. 4314 + Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources. 4315 + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 4316 + type: string 4317 + type: object 4318 + required: 4319 + - patch 3847 4320 type: object 3848 - required: 3849 - - paths 3850 - type: object 3851 - type: array 3852 - mode: 3853 - description: |- 3854 - Mode defines how differences should be handled between the Helm manifest 3855 - and the manifest currently applied to the cluster. 3856 - If not explicitly set, it defaults to DiffModeDisabled. 3857 - enum: 3858 - - enabled 3859 - - warn 3860 - - disabled 3861 - type: string 4321 + type: array 4322 + type: object 3862 4323 type: object 3863 - healthCheckExprs: 3864 - description: |- 3865 - HealthCheckExprs is a list of healthcheck expressions for evaluating the 3866 - health of custom resources using Common Expression Language (CEL). 3867 - The expressions are evaluated only when the specific Helm action 3868 - taking place has wait enabled, i.e. DisableWait is false, and the 3869 - 'poller' WaitStrategy is used. 3870 - items: 3871 - description: 3872 - CustomHealthCheck defines the health check for custom 3873 - resources. 3874 - properties: 3875 - apiVersion: 3876 - description: APIVersion of the custom resource under evaluation. 3877 - type: string 3878 - current: 3879 - description: |- 3880 - Current is the CEL expression that determines if the status 3881 - of the custom resource has reached the desired state. 3882 - type: string 3883 - failed: 3884 - description: |- 3885 - Failed is the CEL expression that determines if the status 3886 - of the custom resource has failed to reach the desired state. 3887 - type: string 3888 - inProgress: 3889 - description: |- 3890 - InProgress is the CEL expression that determines if the status 3891 - of the custom resource has not yet reached the desired state. 3892 - type: string 3893 - kind: 3894 - description: Kind of the custom resource under evaluation. 3895 - type: string 3896 - required: 3897 - - apiVersion 3898 - - current 3899 - - kind 3900 - type: object 3901 - type: array 3902 - install: 3903 - description: 3904 - Install holds the configuration for Helm install actions 3905 - for this HelmRelease. 3906 - properties: 3907 - crds: 3908 - description: |- 3909 - CRDs upgrade CRDs from the Helm Chart's crds directory according 3910 - to the CRD upgrade policy provided here. Valid values are `Skip`, 3911 - `Create` or `CreateReplace`. Default is `Create` and if omitted 3912 - CRDs are installed but not updated. 4324 + type: array 4325 + releaseName: 4326 + description: |- 4327 + ReleaseName used for the Helm release. Defaults to a composition of 4328 + '[TargetNamespace-]Name'. 4329 + maxLength: 53 4330 + minLength: 1 4331 + type: string 4332 + rollback: 4333 + description: Rollback holds the configuration for Helm rollback actions 4334 + for this HelmRelease. 4335 + properties: 4336 + cleanupOnFail: 4337 + description: |- 4338 + CleanupOnFail allows deletion of new resources created during the Helm 4339 + rollback action when it fails. 4340 + type: boolean 4341 + disableHooks: 4342 + description: DisableHooks prevents hooks from running during the 4343 + Helm rollback action. 4344 + type: boolean 4345 + disableWait: 4346 + description: |- 4347 + DisableWait disables the waiting for resources to be ready after a Helm 4348 + rollback has been performed. 4349 + type: boolean 4350 + disableWaitForJobs: 4351 + description: |- 4352 + DisableWaitForJobs disables waiting for jobs to complete after a Helm 4353 + rollback has been performed. 4354 + type: boolean 4355 + force: 4356 + description: |- 4357 + Force forces resource updates through a replacement strategy 4358 + that avoids 3-way merge conflicts on client-side apply. 4359 + This field is ignored for server-side apply (which always 4360 + forces conflicts with other field managers). 4361 + type: boolean 4362 + recreate: 4363 + description: |- 4364 + Recreate performs pod restarts for any managed workloads. 3913 4365 3914 - Skip: do neither install nor replace (update) any CRDs. 3915 - 3916 - Create: new CRDs are created, existing CRDs are neither updated nor deleted. 3917 - 3918 - CreateReplace: new CRDs are created, existing CRDs are updated (replaced) 3919 - but not deleted. 3920 - 3921 - By default, CRDs are applied (installed) during Helm install action. 3922 - With this option users can opt in to CRD replace existing CRDs on Helm 3923 - install actions, which is not (yet) natively supported by Helm. 3924 - https://helm.sh/docs/chart_best_practices/custom_resource_definitions. 3925 - enum: 3926 - - Skip 3927 - - Create 3928 - - CreateReplace 3929 - type: string 3930 - createNamespace: 3931 - description: |- 3932 - CreateNamespace tells the Helm install action to create the 3933 - HelmReleaseSpec.TargetNamespace if it does not exist yet. 3934 - On uninstall, the namespace will not be garbage collected. 3935 - type: boolean 3936 - disableHooks: 3937 - description: 3938 - DisableHooks prevents hooks from running during the 3939 - Helm install action. 3940 - type: boolean 3941 - disableOpenAPIValidation: 3942 - description: |- 3943 - DisableOpenAPIValidation prevents the Helm install action from validating 3944 - rendered templates against the Kubernetes OpenAPI Schema. 3945 - type: boolean 3946 - disableSchemaValidation: 3947 - description: |- 3948 - DisableSchemaValidation prevents the Helm install action from validating 3949 - the values against the JSON Schema. 3950 - type: boolean 3951 - disableTakeOwnership: 3952 - description: |- 3953 - DisableTakeOwnership disables taking ownership of existing resources 3954 - during the Helm install action. Defaults to false. 3955 - type: boolean 3956 - disableWait: 3957 - description: |- 3958 - DisableWait disables the waiting for resources to be ready after a Helm 3959 - install has been performed. 3960 - type: boolean 3961 - disableWaitForJobs: 3962 - description: |- 3963 - DisableWaitForJobs disables waiting for jobs to complete after a Helm 3964 - install has been performed. 3965 - type: boolean 3966 - remediation: 3967 - description: |- 3968 - Remediation holds the remediation configuration for when the Helm install 3969 - action for the HelmRelease fails. The default is to not perform any action. 4366 + Deprecated: This behavior was deprecated in Helm 3: 4367 + - Deprecation: https://github.com/helm/helm/pull/6463 4368 + - Removal: https://github.com/helm/helm/pull/31023 4369 + After helm-controller was upgraded to the Helm 4 SDK, 4370 + this field is no longer functional and will print a 4371 + warning if set to true. It will also be removed in a 4372 + future release. 4373 + type: boolean 4374 + serverSideApply: 4375 + description: |- 4376 + ServerSideApply enables server-side apply for resources during rollback. 4377 + Can be "enabled", "disabled", or "auto". 4378 + When "auto", server-side apply usage will be based on the release's previous usage. 4379 + Defaults to "auto". 4380 + enum: 4381 + - enabled 4382 + - disabled 4383 + - auto 4384 + type: string 4385 + timeout: 4386 + description: |- 4387 + Timeout is the time to wait for any individual Kubernetes operation (like 4388 + Jobs for hooks) during the performance of a Helm rollback action. Defaults to 4389 + 'HelmReleaseSpec.Timeout'. 4390 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4391 + type: string 4392 + type: object 4393 + serviceAccountName: 4394 + description: |- 4395 + The name of the Kubernetes service account to impersonate 4396 + when reconciling this HelmRelease. 4397 + maxLength: 253 4398 + minLength: 1 4399 + type: string 4400 + storageNamespace: 4401 + description: |- 4402 + StorageNamespace used for the Helm storage. 4403 + Defaults to the namespace of the HelmRelease. 4404 + maxLength: 63 4405 + minLength: 1 4406 + type: string 4407 + suspend: 4408 + description: |- 4409 + Suspend tells the controller to suspend reconciliation for this HelmRelease, 4410 + it does not apply to already started reconciliations. Defaults to false. 4411 + type: boolean 4412 + targetNamespace: 4413 + description: |- 4414 + TargetNamespace to target when performing operations for the HelmRelease. 4415 + Defaults to the namespace of the HelmRelease. 4416 + maxLength: 63 4417 + minLength: 1 4418 + type: string 4419 + test: 4420 + description: Test holds the configuration for Helm test actions for 4421 + this HelmRelease. 4422 + properties: 4423 + enable: 4424 + description: |- 4425 + Enable enables Helm test actions for this HelmRelease after an Helm install 4426 + or upgrade action has been performed. 4427 + type: boolean 4428 + filters: 4429 + description: Filters is a list of tests to run or exclude from 4430 + running. 4431 + items: 4432 + description: Filter holds the configuration for individual Helm 4433 + test filters. 3970 4434 properties: 3971 - ignoreTestFailures: 3972 - description: |- 3973 - IgnoreTestFailures tells the controller to skip remediation when the Helm 3974 - tests are run after an install action but fail. Defaults to 3975 - 'Test.IgnoreFailures'. 4435 + exclude: 4436 + description: Exclude specifies whether the named test should 4437 + be excluded. 3976 4438 type: boolean 3977 - remediateLastFailure: 3978 - description: |- 3979 - RemediateLastFailure tells the controller to remediate the last failure, when 3980 - no retries remain. Defaults to 'false'. 3981 - type: boolean 3982 - retries: 3983 - description: |- 3984 - Retries is the number of retries that should be attempted on failures before 3985 - bailing. Remediation, using an uninstall, is performed between each attempt. 3986 - Defaults to '0', a negative integer equals to unlimited retries. 3987 - type: integer 3988 - type: object 3989 - replace: 3990 - description: |- 3991 - Replace tells the Helm install action to re-use the 'ReleaseName', but only 3992 - if that name is a deleted release which remains in the history. 3993 - type: boolean 3994 - serverSideApply: 3995 - description: |- 3996 - ServerSideApply enables server-side apply for resources during install. 3997 - Defaults to true (or false when UseHelm3Defaults feature gate is enabled). 3998 - type: boolean 3999 - skipCRDs: 4000 - description: |- 4001 - SkipCRDs tells the Helm install action to not install any CRDs. By default, 4002 - CRDs are installed if not already present. 4003 - 4004 - Deprecated use CRD policy (`crds`) attribute with value `Skip` instead. 4005 - type: boolean 4006 - strategy: 4007 - description: |- 4008 - Strategy defines the install strategy to use for this HelmRelease. 4009 - Defaults to 'RemediateOnFailure', or 'RetryOnFailure' when the 4010 - DefaultToRetryOnFailure feature gate is enabled. 4011 - properties: 4012 4439 name: 4013 - description: Name of the install strategy. 4014 - enum: 4015 - - RemediateOnFailure 4016 - - RetryOnFailure 4017 - type: string 4018 - retryInterval: 4019 - description: |- 4020 - RetryInterval is the interval at which to retry a failed install. 4021 - Can be used only when Name is set to RetryOnFailure. 4022 - Defaults to '5m'. 4023 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4440 + description: Name is the name of the test. 4441 + maxLength: 253 4442 + minLength: 1 4024 4443 type: string 4025 4444 required: 4026 - - name 4445 + - name 4027 4446 type: object 4028 - x-kubernetes-validations: 4029 - - message: .retryInterval cannot be set when .name is 'RemediateOnFailure' 4030 - rule: "!has(self.retryInterval) || self.name != 'RemediateOnFailure'" 4031 - timeout: 4032 - description: |- 4033 - Timeout is the time to wait for any individual Kubernetes operation (like 4034 - Jobs for hooks) during the performance of a Helm install action. Defaults to 4035 - 'HelmReleaseSpec.Timeout'. 4036 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4037 - type: string 4038 - type: object 4039 - interval: 4040 - description: Interval at which to reconcile the Helm release. 4041 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4042 - type: string 4043 - kubeConfig: 4044 - description: |- 4045 - KubeConfig for reconciling the HelmRelease on a remote cluster. 4046 - When used in combination with HelmReleaseSpec.ServiceAccountName, 4047 - forces the controller to act on behalf of that Service Account at the 4048 - target cluster. 4049 - If the --default-service-account flag is set, its value will be used as 4050 - a controller level fallback for when HelmReleaseSpec.ServiceAccountName 4051 - is empty. 4052 - properties: 4053 - configMapRef: 4054 - description: |- 4055 - ConfigMapRef holds an optional name of a ConfigMap that contains 4056 - the following keys: 4447 + type: array 4448 + ignoreFailures: 4449 + description: |- 4450 + IgnoreFailures tells the controller to skip remediation when the Helm tests 4451 + are run but fail. Can be overwritten for tests run after install or upgrade 4452 + actions in 'Install.IgnoreTestFailures' and 'Upgrade.IgnoreTestFailures'. 4453 + type: boolean 4454 + timeout: 4455 + description: |- 4456 + Timeout is the time to wait for any individual Kubernetes operation during 4457 + the performance of a Helm test action. Defaults to 'HelmReleaseSpec.Timeout'. 4458 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4459 + type: string 4460 + type: object 4461 + timeout: 4462 + description: |- 4463 + Timeout is the time to wait for any individual Kubernetes operation (like Jobs 4464 + for hooks) during the performance of a Helm action. Defaults to '5m0s'. 4465 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4466 + type: string 4467 + uninstall: 4468 + description: Uninstall holds the configuration for Helm uninstall 4469 + actions for this HelmRelease. 4470 + properties: 4471 + deletionPropagation: 4472 + default: background 4473 + description: |- 4474 + DeletionPropagation specifies the deletion propagation policy when 4475 + a Helm uninstall is performed. 4476 + enum: 4477 + - background 4478 + - foreground 4479 + - orphan 4480 + type: string 4481 + disableHooks: 4482 + description: DisableHooks prevents hooks from running during the 4483 + Helm rollback action. 4484 + type: boolean 4485 + disableWait: 4486 + description: |- 4487 + DisableWait disables waiting for all the resources to be deleted after 4488 + a Helm uninstall is performed. 4489 + type: boolean 4490 + keepHistory: 4491 + description: |- 4492 + KeepHistory tells Helm to remove all associated resources and mark the 4493 + release as deleted, but retain the release history. 4494 + type: boolean 4495 + timeout: 4496 + description: |- 4497 + Timeout is the time to wait for any individual Kubernetes operation (like 4498 + Jobs for hooks) during the performance of a Helm uninstall action. Defaults 4499 + to 'HelmReleaseSpec.Timeout'. 4500 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4501 + type: string 4502 + type: object 4503 + upgrade: 4504 + description: Upgrade holds the configuration for Helm upgrade actions 4505 + for this HelmRelease. 4506 + properties: 4507 + chartNameChangeStrategy: 4508 + description: |- 4509 + ChartNameChangeStrategy defines the strategy to use when a Helm chart name changes. 4510 + Valid values are 'Reinstall' or 'InPlaceUpdate'. Defaults to 'Reinstall' if omitted. 4511 + 4512 + Reinstall: Reinstall the Helm release, uninstalling the existing Helm release. 4513 + 4514 + InPlaceUpdate: Update the Helm release in place. 4515 + enum: 4516 + - InPlaceUpdate 4517 + - Reinstall 4518 + type: string 4519 + cleanupOnFail: 4520 + description: |- 4521 + CleanupOnFail allows deletion of new resources created during the Helm 4522 + upgrade action when it fails. 4523 + type: boolean 4524 + crds: 4525 + description: |- 4526 + CRDs upgrade CRDs from the Helm Chart's crds directory according 4527 + to the CRD upgrade policy provided here. Valid values are `Skip`, 4528 + `Create` or `CreateReplace`. Default is `Skip` and if omitted 4529 + CRDs are neither installed nor upgraded. 4057 4530 4058 - - `provider`: the provider to use. One of `aws`, `azure`, `gcp`, or 4059 - `generic`. Required. 4060 - - `cluster`: the fully qualified resource name of the Kubernetes 4061 - cluster in the cloud provider API. Not used by the `generic` 4062 - provider. Required when one of `address` or `ca.crt` is not set. 4063 - - `address`: the address of the Kubernetes API server. Required 4064 - for `generic`. For the other providers, if not specified, the 4065 - first address in the cluster resource will be used, and if 4066 - specified, it must match one of the addresses in the cluster 4067 - resource. 4068 - If audiences is not set, will be used as the audience for the 4069 - `generic` provider. 4070 - - `ca.crt`: the optional PEM-encoded CA certificate for the 4071 - Kubernetes API server. If not set, the controller will use the 4072 - CA certificate from the cluster resource. 4073 - - `audiences`: the optional audiences as a list of 4074 - line-break-separated strings for the Kubernetes ServiceAccount 4075 - token. Defaults to the `address` for the `generic` provider, or 4076 - to specific values for the other providers depending on the 4077 - provider. 4078 - - `serviceAccountName`: the optional name of the Kubernetes 4079 - ServiceAccount in the same namespace that should be used 4080 - for authentication. If not specified, the controller 4081 - ServiceAccount will be used. 4531 + Skip: do neither install nor replace (update) any CRDs. 4082 4532 4083 - Mutually exclusive with SecretRef. 4084 - properties: 4085 - name: 4086 - description: Name of the referent. 4087 - type: string 4088 - required: 4089 - - name 4090 - type: object 4091 - secretRef: 4092 - description: |- 4093 - SecretRef holds an optional name of a secret that contains a key with 4094 - the kubeconfig file as the value. If no key is set, the key will default 4095 - to 'value'. Mutually exclusive with ConfigMapRef. 4096 - It is recommended that the kubeconfig is self-contained, and the secret 4097 - is regularly updated if credentials such as a cloud-access-token expire. 4098 - Cloud specific `cmd-path` auth helpers will not function without adding 4099 - binaries and credentials to the Pod that is responsible for reconciling 4100 - Kubernetes resources. Supported only for the generic provider. 4101 - properties: 4102 - key: 4103 - description: 4104 - Key in the Secret, when not specified an implementation-specific 4105 - default key is used. 4106 - type: string 4107 - name: 4108 - description: Name of the Secret. 4109 - type: string 4110 - required: 4111 - - name 4112 - type: object 4113 - type: object 4114 - x-kubernetes-validations: 4115 - - message: 4116 - exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef 4117 - must be specified 4118 - rule: has(self.configMapRef) || has(self.secretRef) 4119 - - message: 4120 - exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef 4121 - must be specified 4122 - rule: "!has(self.configMapRef) || !has(self.secretRef)" 4123 - maxHistory: 4124 - description: |- 4125 - MaxHistory is the number of revisions saved by Helm for this HelmRelease. 4126 - Use '0' for an unlimited number of revisions; defaults to '5'. 4127 - type: integer 4128 - persistentClient: 4129 - description: |- 4130 - PersistentClient tells the controller to use a persistent Kubernetes 4131 - client for this release. When enabled, the client will be reused for the 4132 - duration of the reconciliation, instead of being created and destroyed 4133 - for each (step of a) Helm action. 4533 + Create: new CRDs are created, existing CRDs are neither updated nor deleted. 4134 4534 4135 - This can improve performance, but may cause issues with some Helm charts 4136 - that for example do create Custom Resource Definitions during installation 4137 - outside Helm's CRD lifecycle hooks, which are then not observed to be 4138 - available by e.g. post-install hooks. 4535 + CreateReplace: new CRDs are created, existing CRDs are updated (replaced) 4536 + but not deleted. 4139 4537 4140 - If not set, it defaults to true. 4141 - type: boolean 4142 - postRenderers: 4143 - description: |- 4144 - PostRenderers holds an array of Helm PostRenderers, which will be applied in order 4145 - of their definition. 4146 - items: 4147 - description: PostRenderer contains a Helm PostRenderer specification. 4538 + By default, CRDs are not applied during Helm upgrade action. With this 4539 + option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm. 4540 + https://helm.sh/docs/chart_best_practices/custom_resource_definitions. 4541 + enum: 4542 + - Skip 4543 + - Create 4544 + - CreateReplace 4545 + type: string 4546 + disableHooks: 4547 + description: DisableHooks prevents hooks from running during the 4548 + Helm upgrade action. 4549 + type: boolean 4550 + disableOpenAPIValidation: 4551 + description: |- 4552 + DisableOpenAPIValidation prevents the Helm upgrade action from validating 4553 + rendered templates against the Kubernetes OpenAPI Schema. 4554 + type: boolean 4555 + disableSchemaValidation: 4556 + description: |- 4557 + DisableSchemaValidation prevents the Helm upgrade action from validating 4558 + the values against the JSON Schema. 4559 + type: boolean 4560 + disableTakeOwnership: 4561 + description: |- 4562 + DisableTakeOwnership disables taking ownership of existing resources 4563 + during the Helm upgrade action. Defaults to false. 4564 + type: boolean 4565 + disableWait: 4566 + description: |- 4567 + DisableWait disables the waiting for resources to be ready after a Helm 4568 + upgrade has been performed. 4569 + type: boolean 4570 + disableWaitForJobs: 4571 + description: |- 4572 + DisableWaitForJobs disables waiting for jobs to complete after a Helm 4573 + upgrade has been performed. 4574 + type: boolean 4575 + force: 4576 + description: |- 4577 + Force forces resource updates through a replacement strategy 4578 + that avoids 3-way merge conflicts on client-side apply. 4579 + This field is ignored for server-side apply (which always 4580 + forces conflicts with other field managers). 4581 + type: boolean 4582 + preserveValues: 4583 + description: |- 4584 + PreserveValues will make Helm reuse the last release's values and merge in 4585 + overrides from 'Values'. Setting this flag makes the HelmRelease 4586 + non-declarative. 4587 + type: boolean 4588 + remediation: 4589 + description: |- 4590 + Remediation holds the remediation configuration for when the Helm upgrade 4591 + action for the HelmRelease fails. The default is to not perform any action. 4148 4592 properties: 4149 - kustomize: 4150 - description: Kustomization to apply as PostRenderer. 4151 - properties: 4152 - images: 4153 - description: |- 4154 - Images is a list of (image name, new name, new tag or digest) 4155 - for changing image names, tags or digests. This can also be achieved with a 4156 - patch, but this operator is simpler to specify. 4157 - items: 4158 - description: 4159 - Image contains an image name, a new name, 4160 - a new tag or digest, which will replace the original 4161 - name and tag. 4162 - properties: 4163 - digest: 4164 - description: |- 4165 - Digest is the value used to replace the original image tag. 4166 - If digest is present NewTag value is ignored. 4167 - type: string 4168 - name: 4169 - description: Name is a tag-less image name. 4170 - type: string 4171 - newName: 4172 - description: 4173 - NewName is the value used to replace 4174 - the original name. 4175 - type: string 4176 - newTag: 4177 - description: 4178 - NewTag is the value used to replace the 4179 - original tag. 4180 - type: string 4181 - required: 4182 - - name 4183 - type: object 4184 - type: array 4185 - patches: 4186 - description: |- 4187 - Strategic merge and JSON patches, defined as inline YAML objects, 4188 - capable of targeting objects based on kind, label and annotation selectors. 4189 - items: 4190 - description: |- 4191 - Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should 4192 - be applied to. 4193 - properties: 4194 - patch: 4195 - description: |- 4196 - Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with 4197 - an array of operation objects. 4198 - type: string 4199 - target: 4200 - description: 4201 - Target points to the resources that the 4202 - patch document should be applied to. 4203 - properties: 4204 - annotationSelector: 4205 - description: |- 4206 - AnnotationSelector is a string that follows the label selection expression 4207 - https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 4208 - It matches with the resource annotations. 4209 - type: string 4210 - group: 4211 - description: |- 4212 - Group is the API group to select resources from. 4213 - Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources. 4214 - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 4215 - type: string 4216 - kind: 4217 - description: |- 4218 - Kind of the API Group to select resources from. 4219 - Together with Group and Version it is capable of unambiguously 4220 - identifying and/or selecting resources. 4221 - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 4222 - type: string 4223 - labelSelector: 4224 - description: |- 4225 - LabelSelector is a string that follows the label selection expression 4226 - https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 4227 - It matches with the resource labels. 4228 - type: string 4229 - name: 4230 - description: Name to match resources with. 4231 - type: string 4232 - namespace: 4233 - description: Namespace to select resources from. 4234 - type: string 4235 - version: 4236 - description: |- 4237 - Version of the API Group to select resources from. 4238 - Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources. 4239 - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 4240 - type: string 4241 - type: object 4242 - required: 4243 - - patch 4244 - type: object 4245 - type: array 4246 - type: object 4593 + ignoreTestFailures: 4594 + description: |- 4595 + IgnoreTestFailures tells the controller to skip remediation when the Helm 4596 + tests are run after an upgrade action but fail. 4597 + Defaults to 'Test.IgnoreFailures'. 4598 + type: boolean 4599 + remediateLastFailure: 4600 + description: |- 4601 + RemediateLastFailure tells the controller to remediate the last failure, when 4602 + no retries remain. Defaults to 'false' unless 'Retries' is greater than 0. 4603 + type: boolean 4604 + retries: 4605 + description: |- 4606 + Retries is the number of retries that should be attempted on failures before 4607 + bailing. Remediation, using 'Strategy', is performed between each attempt. 4608 + Defaults to '0', a negative integer equals to unlimited retries. 4609 + type: integer 4610 + strategy: 4611 + description: Strategy to use for failure remediation. Defaults 4612 + to 'rollback'. 4613 + enum: 4614 + - rollback 4615 + - uninstall 4616 + type: string 4617 + type: object 4618 + serverSideApply: 4619 + description: |- 4620 + ServerSideApply enables server-side apply for resources during upgrade. 4621 + Can be "enabled", "disabled", or "auto". 4622 + When "auto", server-side apply usage will be based on the release's previous usage. 4623 + Defaults to "auto". 4624 + enum: 4625 + - enabled 4626 + - disabled 4627 + - auto 4628 + type: string 4629 + strategy: 4630 + description: |- 4631 + Strategy defines the upgrade strategy to use for this HelmRelease. 4632 + Defaults to 'RemediateOnFailure', or 'RetryOnFailure' when the 4633 + DefaultToRetryOnFailure feature gate is enabled. 4634 + properties: 4635 + name: 4636 + description: Name of the upgrade strategy. 4637 + enum: 4638 + - RemediateOnFailure 4639 + - RetryOnFailure 4640 + type: string 4641 + retryInterval: 4642 + description: |- 4643 + RetryInterval is the interval at which to retry a failed upgrade. 4644 + Can be used only when Name is set to RetryOnFailure. 4645 + Defaults to '5m'. 4646 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4647 + type: string 4648 + required: 4649 + - name 4247 4650 type: object 4248 - type: array 4249 - releaseName: 4651 + x-kubernetes-validations: 4652 + - message: .retryInterval can only be set when .name is 'RetryOnFailure' 4653 + rule: '!has(self.retryInterval) || self.name == ''RetryOnFailure''' 4654 + timeout: 4655 + description: |- 4656 + Timeout is the time to wait for any individual Kubernetes operation (like 4657 + Jobs for hooks) during the performance of a Helm upgrade action. Defaults to 4658 + 'HelmReleaseSpec.Timeout'. 4659 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4660 + type: string 4661 + type: object 4662 + values: 4663 + description: Values holds the values for this Helm release. 4664 + x-kubernetes-preserve-unknown-fields: true 4665 + valuesFrom: 4666 + description: |- 4667 + ValuesFrom holds references to resources containing Helm values for this HelmRelease, 4668 + and information about how they should be merged. 4669 + items: 4250 4670 description: |- 4251 - ReleaseName used for the Helm release. Defaults to a composition of 4252 - '[TargetNamespace-]Name'. 4253 - maxLength: 53 4254 - minLength: 1 4255 - type: string 4256 - rollback: 4257 - description: 4258 - Rollback holds the configuration for Helm rollback actions 4259 - for this HelmRelease. 4671 + ValuesReference contains a reference to a resource containing Helm values, 4672 + and optionally the key they can be found at. 4260 4673 properties: 4261 - cleanupOnFail: 4674 + kind: 4675 + description: Kind of the values referent, valid values are ('Secret', 4676 + 'ConfigMap'). 4677 + enum: 4678 + - Secret 4679 + - ConfigMap 4680 + type: string 4681 + literal: 4262 4682 description: |- 4263 - CleanupOnFail allows deletion of new resources created during the Helm 4264 - rollback action when it fails. 4683 + Literal marks this ValuesReference as a literal value. When set in 4684 + combination with TargetPath, the referenced value is merged at the target 4685 + path without interpreting Helm's `--set` syntax (commas, brackets, dots, 4686 + equal signs, etc.), mirroring the behavior of `helm --set-literal`. This 4687 + is the only safe way to inject arbitrary file content (config files, JSON 4688 + blobs, multi-line strings containing special characters) through 4689 + `valuesFrom`. Has no effect when TargetPath is empty: in that mode the 4690 + referenced value is always YAML-merged at the root. 4265 4691 type: boolean 4266 - disableHooks: 4267 - description: 4268 - DisableHooks prevents hooks from running during the 4269 - Helm rollback action. 4270 - type: boolean 4271 - disableWait: 4692 + name: 4272 4693 description: |- 4273 - DisableWait disables the waiting for resources to be ready after a Helm 4274 - rollback has been performed. 4275 - type: boolean 4276 - disableWaitForJobs: 4694 + Name of the values referent. Should reside in the same namespace as the 4695 + referring resource. 4696 + maxLength: 253 4697 + minLength: 1 4698 + type: string 4699 + optional: 4277 4700 description: |- 4278 - DisableWaitForJobs disables waiting for jobs to complete after a Helm 4279 - rollback has been performed. 4701 + Optional marks this ValuesReference as optional. When set, a not found error 4702 + for the values reference is ignored, but any ValuesKey, TargetPath or 4703 + transient error will still result in a reconciliation failure. 4280 4704 type: boolean 4281 - force: 4282 - description: |- 4283 - Force forces resource updates through a replacement strategy 4284 - that avoids 3-way merge conflicts on client-side apply. 4285 - This field is ignored for server-side apply (which always 4286 - forces conflicts with other field managers). 4287 - type: boolean 4288 - recreate: 4289 - description: |- 4290 - Recreate performs pod restarts for any managed workloads. 4291 - 4292 - Deprecated: This behavior was deprecated in Helm 3: 4293 - - Deprecation: https://github.com/helm/helm/pull/6463 4294 - - Removal: https://github.com/helm/helm/pull/31023 4295 - After helm-controller was upgraded to the Helm 4 SDK, 4296 - this field is no longer functional and will print a 4297 - warning if set to true. It will also be removed in a 4298 - future release. 4299 - type: boolean 4300 - serverSideApply: 4705 + targetPath: 4301 4706 description: |- 4302 - ServerSideApply enables server-side apply for resources during rollback. 4303 - Can be "enabled", "disabled", or "auto". 4304 - When "auto", server-side apply usage will be based on the release's previous usage. 4305 - Defaults to "auto". 4306 - enum: 4307 - - enabled 4308 - - disabled 4309 - - auto 4707 + TargetPath is the YAML dot notation path the value should be merged at. When 4708 + set, the ValuesKey is expected to be a single flat value. Defaults to 'None', 4709 + which results in the values getting merged at the root. 4710 + maxLength: 250 4711 + pattern: ^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$ 4310 4712 type: string 4311 - timeout: 4713 + valuesKey: 4312 4714 description: |- 4313 - Timeout is the time to wait for any individual Kubernetes operation (like 4314 - Jobs for hooks) during the performance of a Helm rollback action. Defaults to 4315 - 'HelmReleaseSpec.Timeout'. 4316 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4715 + ValuesKey is the data key where the values.yaml or a specific value can be 4716 + found at. Defaults to 'values.yaml'. 4717 + maxLength: 253 4718 + pattern: ^[\-._a-zA-Z0-9]+$ 4317 4719 type: string 4720 + required: 4721 + - kind 4722 + - name 4318 4723 type: object 4319 - serviceAccountName: 4320 - description: |- 4321 - The name of the Kubernetes service account to impersonate 4322 - when reconciling this HelmRelease. 4323 - maxLength: 253 4324 - minLength: 1 4325 - type: string 4326 - storageNamespace: 4327 - description: |- 4328 - StorageNamespace used for the Helm storage. 4329 - Defaults to the namespace of the HelmRelease. 4330 - maxLength: 63 4331 - minLength: 1 4332 - type: string 4333 - suspend: 4334 - description: |- 4335 - Suspend tells the controller to suspend reconciliation for this HelmRelease, 4336 - it does not apply to already started reconciliations. Defaults to false. 4337 - type: boolean 4338 - targetNamespace: 4339 - description: |- 4340 - TargetNamespace to target when performing operations for the HelmRelease. 4341 - Defaults to the namespace of the HelmRelease. 4342 - maxLength: 63 4343 - minLength: 1 4344 - type: string 4345 - test: 4346 - description: 4347 - Test holds the configuration for Helm test actions for 4348 - this HelmRelease. 4724 + type: array 4725 + waitStrategy: 4726 + description: |- 4727 + WaitStrategy defines Helm's wait strategy for waiting for applied 4728 + resources to become ready. 4729 + properties: 4730 + name: 4731 + description: |- 4732 + Name is Helm's wait strategy for waiting for applied resources to 4733 + become ready. One of 'poller' or 'legacy'. The 'poller' strategy uses 4734 + kstatus to poll resource statuses, while the 'legacy' strategy uses 4735 + Helm v3's waiting logic. 4736 + Defaults to 'poller', or to 'legacy' when UseHelm3Defaults feature 4737 + gate is enabled. 4738 + enum: 4739 + - poller 4740 + - legacy 4741 + type: string 4742 + required: 4743 + - name 4744 + type: object 4745 + required: 4746 + - interval 4747 + type: object 4748 + x-kubernetes-validations: 4749 + - message: either chart or chartRef must be set 4750 + rule: (has(self.chart) && !has(self.chartRef)) || (!has(self.chart) 4751 + && has(self.chartRef)) 4752 + status: 4753 + default: 4754 + observedGeneration: -1 4755 + description: HelmReleaseStatus defines the observed state of a HelmRelease. 4756 + properties: 4757 + conditions: 4758 + description: Conditions holds the conditions for the HelmRelease. 4759 + items: 4760 + description: Condition contains details for one aspect of the current 4761 + state of this API Resource. 4349 4762 properties: 4350 - enable: 4763 + lastTransitionTime: 4351 4764 description: |- 4352 - Enable enables Helm test actions for this HelmRelease after an Helm install 4353 - or upgrade action has been performed. 4354 - type: boolean 4355 - filters: 4356 - description: 4357 - Filters is a list of tests to run or exclude from 4358 - running. 4359 - items: 4360 - description: 4361 - Filter holds the configuration for individual Helm 4362 - test filters. 4363 - properties: 4364 - exclude: 4365 - description: 4366 - Exclude specifies whether the named test should 4367 - be excluded. 4368 - type: boolean 4369 - name: 4370 - description: Name is the name of the test. 4371 - maxLength: 253 4372 - minLength: 1 4373 - type: string 4374 - required: 4375 - - name 4376 - type: object 4377 - type: array 4378 - ignoreFailures: 4765 + lastTransitionTime is the last time the condition transitioned from one status to another. 4766 + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 4767 + format: date-time 4768 + type: string 4769 + message: 4770 + description: |- 4771 + message is a human readable message indicating details about the transition. 4772 + This may be an empty string. 4773 + maxLength: 32768 4774 + type: string 4775 + observedGeneration: 4379 4776 description: |- 4380 - IgnoreFailures tells the controller to skip remediation when the Helm tests 4381 - are run but fail. Can be overwritten for tests run after install or upgrade 4382 - actions in 'Install.IgnoreTestFailures' and 'Upgrade.IgnoreTestFailures'. 4383 - type: boolean 4384 - timeout: 4777 + observedGeneration represents the .metadata.generation that the condition was set based upon. 4778 + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 4779 + with respect to the current state of the instance. 4780 + format: int64 4781 + minimum: 0 4782 + type: integer 4783 + reason: 4385 4784 description: |- 4386 - Timeout is the time to wait for any individual Kubernetes operation during 4387 - the performance of a Helm test action. Defaults to 'HelmReleaseSpec.Timeout'. 4388 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4785 + reason contains a programmatic identifier indicating the reason for the condition's last transition. 4786 + Producers of specific condition types may define expected values and meanings for this field, 4787 + and whether the values are considered a guaranteed API. 4788 + The value should be a CamelCase string. 4789 + This field may not be empty. 4790 + maxLength: 1024 4791 + minLength: 1 4792 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 4793 + type: string 4794 + status: 4795 + description: status of the condition, one of True, False, Unknown. 4796 + enum: 4797 + - "True" 4798 + - "False" 4799 + - Unknown 4389 4800 type: string 4801 + type: 4802 + description: type of condition in CamelCase or in foo.example.com/CamelCase. 4803 + maxLength: 316 4804 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 4805 + type: string 4806 + required: 4807 + - lastTransitionTime 4808 + - message 4809 + - reason 4810 + - status 4811 + - type 4390 4812 type: object 4391 - timeout: 4813 + type: array 4814 + failures: 4815 + description: |- 4816 + Failures is the reconciliation failure count against the latest desired 4817 + state. It is reset after a successful reconciliation. 4818 + format: int64 4819 + type: integer 4820 + helmChart: 4821 + description: |- 4822 + HelmChart is the namespaced name of the HelmChart resource created by 4823 + the controller for the HelmRelease. 4824 + type: string 4825 + history: 4826 + description: |- 4827 + History holds the history of Helm releases performed for this HelmRelease 4828 + up to the last successfully completed release. 4829 + items: 4392 4830 description: |- 4393 - Timeout is the time to wait for any individual Kubernetes operation (like Jobs 4394 - for hooks) during the performance of a Helm action. Defaults to '5m0s'. 4395 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4396 - type: string 4397 - uninstall: 4398 - description: 4399 - Uninstall holds the configuration for Helm uninstall 4400 - actions for this HelmRelease. 4831 + Snapshot captures a point-in-time copy of the status information for a Helm release, 4832 + as managed by the controller. 4401 4833 properties: 4402 - deletionPropagation: 4403 - default: background 4404 - description: |- 4405 - DeletionPropagation specifies the deletion propagation policy when 4406 - a Helm uninstall is performed. 4407 - enum: 4408 - - background 4409 - - foreground 4410 - - orphan 4834 + action: 4835 + description: Action is the action that resulted in this snapshot 4836 + being created. 4411 4837 type: string 4412 - disableHooks: 4413 - description: 4414 - DisableHooks prevents hooks from running during the 4415 - Helm rollback action. 4416 - type: boolean 4417 - disableWait: 4418 - description: |- 4419 - DisableWait disables waiting for all the resources to be deleted after 4420 - a Helm uninstall is performed. 4421 - type: boolean 4422 - keepHistory: 4423 - description: |- 4424 - KeepHistory tells Helm to remove all associated resources and mark the 4425 - release as deleted, but retain the release history. 4426 - type: boolean 4427 - timeout: 4838 + apiVersion: 4428 4839 description: |- 4429 - Timeout is the time to wait for any individual Kubernetes operation (like 4430 - Jobs for hooks) during the performance of a Helm uninstall action. Defaults 4431 - to 'HelmReleaseSpec.Timeout'. 4432 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4840 + APIVersion is the API version of the Snapshot. 4841 + When the calculation method of the Digest field is changed, this 4842 + field will be used to distinguish between the old and new methods. 4843 + type: string 4844 + appVersion: 4845 + description: AppVersion is the chart app version of the release 4846 + object in storage. 4433 4847 type: string 4434 - type: object 4435 - upgrade: 4436 - description: 4437 - Upgrade holds the configuration for Helm upgrade actions 4438 - for this HelmRelease. 4439 - properties: 4440 - cleanupOnFail: 4848 + chartName: 4849 + description: ChartName is the chart name of the release object 4850 + in storage. 4851 + type: string 4852 + chartVersion: 4441 4853 description: |- 4442 - CleanupOnFail allows deletion of new resources created during the Helm 4443 - upgrade action when it fails. 4444 - type: boolean 4445 - crds: 4854 + ChartVersion is the chart version of the release object in 4855 + storage. 4856 + type: string 4857 + configDigest: 4446 4858 description: |- 4447 - CRDs upgrade CRDs from the Helm Chart's crds directory according 4448 - to the CRD upgrade policy provided here. Valid values are `Skip`, 4449 - `Create` or `CreateReplace`. Default is `Skip` and if omitted 4450 - CRDs are neither installed nor upgraded. 4451 - 4452 - Skip: do neither install nor replace (update) any CRDs. 4453 - 4454 - Create: new CRDs are created, existing CRDs are neither updated nor deleted. 4455 - 4456 - CreateReplace: new CRDs are created, existing CRDs are updated (replaced) 4457 - but not deleted. 4458 - 4459 - By default, CRDs are not applied during Helm upgrade action. With this 4460 - option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm. 4461 - https://helm.sh/docs/chart_best_practices/custom_resource_definitions. 4462 - enum: 4463 - - Skip 4464 - - Create 4465 - - CreateReplace 4859 + ConfigDigest is the checksum of the config (better known as 4860 + "values") of the release object in storage. 4861 + It has the format of `<algo>:<checksum>`. 4466 4862 type: string 4467 - disableHooks: 4468 - description: 4469 - DisableHooks prevents hooks from running during the 4470 - Helm upgrade action. 4471 - type: boolean 4472 - disableOpenAPIValidation: 4473 - description: |- 4474 - DisableOpenAPIValidation prevents the Helm upgrade action from validating 4475 - rendered templates against the Kubernetes OpenAPI Schema. 4476 - type: boolean 4477 - disableSchemaValidation: 4478 - description: |- 4479 - DisableSchemaValidation prevents the Helm upgrade action from validating 4480 - the values against the JSON Schema. 4481 - type: boolean 4482 - disableTakeOwnership: 4483 - description: |- 4484 - DisableTakeOwnership disables taking ownership of existing resources 4485 - during the Helm upgrade action. Defaults to false. 4486 - type: boolean 4487 - disableWait: 4488 - description: |- 4489 - DisableWait disables the waiting for resources to be ready after a Helm 4490 - upgrade has been performed. 4491 - type: boolean 4492 - disableWaitForJobs: 4493 - description: |- 4494 - DisableWaitForJobs disables waiting for jobs to complete after a Helm 4495 - upgrade has been performed. 4496 - type: boolean 4497 - force: 4498 - description: |- 4499 - Force forces resource updates through a replacement strategy 4500 - that avoids 3-way merge conflicts on client-side apply. 4501 - This field is ignored for server-side apply (which always 4502 - forces conflicts with other field managers). 4503 - type: boolean 4504 - preserveValues: 4505 - description: |- 4506 - PreserveValues will make Helm reuse the last release's values and merge in 4507 - overrides from 'Values'. Setting this flag makes the HelmRelease 4508 - non-declarative. 4509 - type: boolean 4510 - remediation: 4511 - description: |- 4512 - Remediation holds the remediation configuration for when the Helm upgrade 4513 - action for the HelmRelease fails. The default is to not perform any action. 4514 - properties: 4515 - ignoreTestFailures: 4516 - description: |- 4517 - IgnoreTestFailures tells the controller to skip remediation when the Helm 4518 - tests are run after an upgrade action but fail. 4519 - Defaults to 'Test.IgnoreFailures'. 4520 - type: boolean 4521 - remediateLastFailure: 4522 - description: |- 4523 - RemediateLastFailure tells the controller to remediate the last failure, when 4524 - no retries remain. Defaults to 'false' unless 'Retries' is greater than 0. 4525 - type: boolean 4526 - retries: 4527 - description: |- 4528 - Retries is the number of retries that should be attempted on failures before 4529 - bailing. Remediation, using 'Strategy', is performed between each attempt. 4530 - Defaults to '0', a negative integer equals to unlimited retries. 4531 - type: integer 4532 - strategy: 4533 - description: 4534 - Strategy to use for failure remediation. Defaults 4535 - to 'rollback'. 4536 - enum: 4537 - - rollback 4538 - - uninstall 4539 - type: string 4540 - type: object 4541 - serverSideApply: 4542 - description: |- 4543 - ServerSideApply enables server-side apply for resources during upgrade. 4544 - Can be "enabled", "disabled", or "auto". 4545 - When "auto", server-side apply usage will be based on the release's previous usage. 4546 - Defaults to "auto". 4547 - enum: 4548 - - enabled 4549 - - disabled 4550 - - auto 4863 + deleted: 4864 + description: Deleted is when the release was deleted. 4865 + format: date-time 4551 4866 type: string 4552 - strategy: 4553 - description: |- 4554 - Strategy defines the upgrade strategy to use for this HelmRelease. 4555 - Defaults to 'RemediateOnFailure', or 'RetryOnFailure' when the 4556 - DefaultToRetryOnFailure feature gate is enabled. 4557 - properties: 4558 - name: 4559 - description: Name of the upgrade strategy. 4560 - enum: 4561 - - RemediateOnFailure 4562 - - RetryOnFailure 4563 - type: string 4564 - retryInterval: 4565 - description: |- 4566 - RetryInterval is the interval at which to retry a failed upgrade. 4567 - Can be used only when Name is set to RetryOnFailure. 4568 - Defaults to '5m'. 4569 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4570 - type: string 4571 - required: 4572 - - name 4573 - type: object 4574 - x-kubernetes-validations: 4575 - - message: .retryInterval can only be set when .name is 'RetryOnFailure' 4576 - rule: "!has(self.retryInterval) || self.name == 'RetryOnFailure'" 4577 - timeout: 4867 + digest: 4578 4868 description: |- 4579 - Timeout is the time to wait for any individual Kubernetes operation (like 4580 - Jobs for hooks) during the performance of a Helm upgrade action. Defaults to 4581 - 'HelmReleaseSpec.Timeout'. 4582 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 4869 + Digest is the checksum of the release object in storage. 4870 + It has the format of `<algo>:<checksum>`. 4583 4871 type: string 4584 - type: object 4585 - values: 4586 - description: Values holds the values for this Helm release. 4587 - x-kubernetes-preserve-unknown-fields: true 4588 - valuesFrom: 4589 - description: |- 4590 - ValuesFrom holds references to resources containing Helm values for this HelmRelease, 4591 - and information about how they should be merged. 4592 - items: 4593 - description: |- 4594 - ValuesReference contains a reference to a resource containing Helm values, 4595 - and optionally the key they can be found at. 4596 - properties: 4597 - kind: 4598 - description: 4599 - Kind of the values referent, valid values are ('Secret', 4600 - 'ConfigMap'). 4601 - enum: 4602 - - Secret 4603 - - ConfigMap 4604 - type: string 4605 - name: 4606 - description: |- 4607 - Name of the values referent. Should reside in the same namespace as the 4608 - referring resource. 4609 - maxLength: 253 4610 - minLength: 1 4611 - type: string 4612 - optional: 4613 - description: |- 4614 - Optional marks this ValuesReference as optional. When set, a not found error 4615 - for the values reference is ignored, but any ValuesKey, TargetPath or 4616 - transient error will still result in a reconciliation failure. 4617 - type: boolean 4618 - targetPath: 4619 - description: |- 4620 - TargetPath is the YAML dot notation path the value should be merged at. When 4621 - set, the ValuesKey is expected to be a single flat value. Defaults to 'None', 4622 - which results in the values getting merged at the root. 4623 - maxLength: 250 4624 - pattern: ^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$ 4625 - type: string 4626 - valuesKey: 4627 - description: |- 4628 - ValuesKey is the data key where the values.yaml or a specific value can be 4629 - found at. Defaults to 'values.yaml'. 4630 - maxLength: 253 4631 - pattern: ^[\-._a-zA-Z0-9]+$ 4632 - type: string 4633 - required: 4634 - - kind 4635 - - name 4636 - type: object 4637 - type: array 4638 - waitStrategy: 4639 - description: |- 4640 - WaitStrategy defines Helm's wait strategy for waiting for applied 4641 - resources to become ready. 4642 - properties: 4872 + firstDeployed: 4873 + description: FirstDeployed is when the release was first deployed. 4874 + format: date-time 4875 + type: string 4876 + lastDeployed: 4877 + description: LastDeployed is when the release was last deployed. 4878 + format: date-time 4879 + type: string 4643 4880 name: 4644 - description: |- 4645 - Name is Helm's wait strategy for waiting for applied resources to 4646 - become ready. One of 'poller' or 'legacy'. The 'poller' strategy uses 4647 - kstatus to poll resource statuses, while the 'legacy' strategy uses 4648 - Helm v3's waiting logic. 4649 - Defaults to 'poller', or to 'legacy' when UseHelm3Defaults feature 4650 - gate is enabled. 4651 - enum: 4652 - - poller 4653 - - legacy 4881 + description: Name is the name of the release. 4654 4882 type: string 4655 - required: 4656 - - name 4657 - type: object 4658 - required: 4659 - - interval 4660 - type: object 4661 - x-kubernetes-validations: 4662 - - message: either chart or chartRef must be set 4663 - rule: 4664 - (has(self.chart) && !has(self.chartRef)) || (!has(self.chart) 4665 - && has(self.chartRef)) 4666 - status: 4667 - default: 4668 - observedGeneration: -1 4669 - description: HelmReleaseStatus defines the observed state of a HelmRelease. 4670 - properties: 4671 - conditions: 4672 - description: Conditions holds the conditions for the HelmRelease. 4673 - items: 4674 - description: 4675 - Condition contains details for one aspect of the current 4676 - state of this API Resource. 4677 - properties: 4678 - lastTransitionTime: 4679 - description: |- 4680 - lastTransitionTime is the last time the condition transitioned from one status to another. 4681 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 4682 - format: date-time 4683 - type: string 4684 - message: 4685 - description: |- 4686 - message is a human readable message indicating details about the transition. 4687 - This may be an empty string. 4688 - maxLength: 32768 4689 - type: string 4690 - observedGeneration: 4691 - description: |- 4692 - observedGeneration represents the .metadata.generation that the condition was set based upon. 4693 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 4694 - with respect to the current state of the instance. 4695 - format: int64 4696 - minimum: 0 4697 - type: integer 4698 - reason: 4699 - description: |- 4700 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 4701 - Producers of specific condition types may define expected values and meanings for this field, 4702 - and whether the values are considered a guaranteed API. 4703 - The value should be a CamelCase string. 4704 - This field may not be empty. 4705 - maxLength: 1024 4706 - minLength: 1 4707 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 4708 - type: string 4709 - status: 4710 - description: status of the condition, one of True, False, Unknown. 4711 - enum: 4712 - - "True" 4713 - - "False" 4714 - - Unknown 4715 - type: string 4716 - type: 4717 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 4718 - maxLength: 316 4719 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 4720 - type: string 4721 - required: 4722 - - lastTransitionTime 4723 - - message 4724 - - reason 4725 - - status 4726 - - type 4727 - type: object 4728 - type: array 4729 - failures: 4730 - description: |- 4731 - Failures is the reconciliation failure count against the latest desired 4732 - state. It is reset after a successful reconciliation. 4733 - format: int64 4734 - type: integer 4735 - helmChart: 4736 - description: |- 4737 - HelmChart is the namespaced name of the HelmChart resource created by 4738 - the controller for the HelmRelease. 4739 - type: string 4740 - history: 4741 - description: |- 4742 - History holds the history of Helm releases performed for this HelmRelease 4743 - up to the last successfully completed release. 4744 - items: 4745 - description: |- 4746 - Snapshot captures a point-in-time copy of the status information for a Helm release, 4747 - as managed by the controller. 4748 - properties: 4749 - action: 4750 - description: 4751 - Action is the action that resulted in this snapshot 4752 - being created. 4753 - type: string 4754 - apiVersion: 4755 - description: |- 4756 - APIVersion is the API version of the Snapshot. 4757 - When the calculation method of the Digest field is changed, this 4758 - field will be used to distinguish between the old and new methods. 4759 - type: string 4760 - appVersion: 4761 - description: 4762 - AppVersion is the chart app version of the release 4763 - object in storage. 4764 - type: string 4765 - chartName: 4766 - description: 4767 - ChartName is the chart name of the release object 4768 - in storage. 4769 - type: string 4770 - chartVersion: 4771 - description: |- 4772 - ChartVersion is the chart version of the release object in 4773 - storage. 4774 - type: string 4775 - configDigest: 4776 - description: |- 4777 - ConfigDigest is the checksum of the config (better known as 4778 - "values") of the release object in storage. 4779 - It has the format of `<algo>:<checksum>`. 4780 - type: string 4781 - deleted: 4782 - description: Deleted is when the release was deleted. 4783 - format: date-time 4784 - type: string 4785 - digest: 4883 + namespace: 4884 + description: Namespace is the namespace the release is deployed 4885 + to. 4886 + type: string 4887 + ociDigest: 4888 + description: OCIDigest is the digest of the OCI artifact associated 4889 + with the release. 4890 + type: string 4891 + status: 4892 + description: Status is the current state of the release. 4893 + type: string 4894 + testHooks: 4895 + additionalProperties: 4786 4896 description: |- 4787 - Digest is the checksum of the release object in storage. 4788 - It has the format of `<algo>:<checksum>`. 4789 - type: string 4790 - firstDeployed: 4791 - description: FirstDeployed is when the release was first deployed. 4792 - format: date-time 4793 - type: string 4794 - lastDeployed: 4795 - description: LastDeployed is when the release was last deployed. 4796 - format: date-time 4797 - type: string 4798 - name: 4799 - description: Name is the name of the release. 4800 - type: string 4801 - namespace: 4802 - description: 4803 - Namespace is the namespace the release is deployed 4804 - to. 4805 - type: string 4806 - ociDigest: 4807 - description: 4808 - OCIDigest is the digest of the OCI artifact associated 4809 - with the release. 4810 - type: string 4811 - status: 4812 - description: Status is the current state of the release. 4813 - type: string 4814 - testHooks: 4815 - additionalProperties: 4816 - description: |- 4817 - TestHookStatus holds the status information for a test hook as observed 4818 - to be run by the controller. 4819 - properties: 4820 - lastCompleted: 4821 - description: 4822 - LastCompleted is the time the test hook last 4823 - completed. 4824 - format: date-time 4825 - type: string 4826 - lastStarted: 4827 - description: 4828 - LastStarted is the time the test hook was 4829 - last started. 4830 - format: date-time 4831 - type: string 4832 - phase: 4833 - description: Phase the test hook was observed to be in. 4834 - type: string 4835 - type: object 4836 - description: |- 4837 - TestHooks is the list of test hooks for the release as observed to be 4838 - run by the controller. 4839 - type: object 4840 - version: 4841 - description: 4842 - Version is the version of the release object in 4843 - storage. 4844 - type: integer 4845 - required: 4846 - - chartName 4847 - - chartVersion 4848 - - configDigest 4849 - - digest 4850 - - firstDeployed 4851 - - lastDeployed 4852 - - name 4853 - - namespace 4854 - - status 4855 - - version 4856 - type: object 4857 - type: array 4858 - installFailures: 4859 - description: |- 4860 - InstallFailures is the install failure count against the latest desired 4861 - state. It is reset after a successful reconciliation. 4862 - format: int64 4863 - type: integer 4864 - inventory: 4865 - description: |- 4866 - Inventory contains the list of Kubernetes resource object references 4867 - that have been applied for this release. 4868 - properties: 4869 - entries: 4870 - description: Entries of Kubernetes resource object references. 4871 - items: 4872 - description: 4873 - ResourceRef contains the information necessary 4874 - to locate a resource within a cluster. 4897 + TestHookStatus holds the status information for a test hook as observed 4898 + to be run by the controller. 4875 4899 properties: 4876 - id: 4877 - description: |- 4878 - ID is the string representation of the Kubernetes resource object's metadata, 4879 - in the format '<namespace>_<name>_<group>_<kind>'. 4900 + lastCompleted: 4901 + description: LastCompleted is the time the test hook last 4902 + completed. 4903 + format: date-time 4880 4904 type: string 4881 - v: 4882 - description: 4883 - Version is the API version of the Kubernetes 4884 - resource object's kind. 4905 + lastStarted: 4906 + description: LastStarted is the time the test hook was 4907 + last started. 4908 + format: date-time 4885 4909 type: string 4886 - required: 4887 - - id 4888 - - v 4910 + phase: 4911 + description: Phase the test hook was observed to be in. 4912 + type: string 4889 4913 type: object 4890 - type: array 4914 + description: |- 4915 + TestHooks is the list of test hooks for the release as observed to be 4916 + run by the controller. 4917 + type: object 4918 + version: 4919 + description: Version is the version of the release object in 4920 + storage. 4921 + type: integer 4891 4922 required: 4892 - - entries 4923 + - chartName 4924 + - chartVersion 4925 + - configDigest 4926 + - digest 4927 + - firstDeployed 4928 + - lastDeployed 4929 + - name 4930 + - namespace 4931 + - status 4932 + - version 4893 4933 type: object 4894 - lastAttemptedConfigDigest: 4895 - description: |- 4896 - LastAttemptedConfigDigest is the digest for the config (better known as 4897 - "values") of the last reconciliation attempt. 4898 - type: string 4899 - lastAttemptedGeneration: 4900 - description: |- 4901 - LastAttemptedGeneration is the last generation the controller attempted 4902 - to reconcile. 4903 - format: int64 4904 - type: integer 4905 - lastAttemptedReleaseAction: 4906 - description: |- 4907 - LastAttemptedReleaseAction is the last release action performed for this 4908 - HelmRelease. It is used to determine the active retry or remediation 4909 - strategy. 4910 - enum: 4911 - - install 4912 - - upgrade 4913 - type: string 4914 - lastAttemptedReleaseActionDuration: 4915 - description: |- 4916 - LastAttemptedReleaseActionDuration is the duration of the last 4917 - release action performed for this HelmRelease. 4918 - type: string 4919 - lastAttemptedRevision: 4920 - description: |- 4921 - LastAttemptedRevision is the Source revision of the last reconciliation 4922 - attempt. For OCIRepository sources, the 12 first characters of the digest are 4923 - appended to the chart version e.g. "1.2.3+1234567890ab". 4924 - type: string 4925 - lastAttemptedRevisionDigest: 4926 - description: |- 4927 - LastAttemptedRevisionDigest is the digest of the last reconciliation attempt. 4928 - This is only set for OCIRepository sources. 4929 - type: string 4930 - lastAttemptedValuesChecksum: 4931 - description: |- 4932 - LastAttemptedValuesChecksum is the SHA1 checksum for the values of the last 4933 - reconciliation attempt. 4934 + type: array 4935 + installFailures: 4936 + description: |- 4937 + InstallFailures is the install failure count against the latest desired 4938 + state. It is reset after a successful reconciliation. 4939 + format: int64 4940 + type: integer 4941 + inventory: 4942 + description: |- 4943 + Inventory contains the list of Kubernetes resource object references 4944 + that have been applied for this release. 4945 + properties: 4946 + entries: 4947 + description: Entries of Kubernetes resource object references. 4948 + items: 4949 + description: ResourceRef contains the information necessary 4950 + to locate a resource within a cluster. 4951 + properties: 4952 + id: 4953 + description: |- 4954 + ID is the string representation of the Kubernetes resource object's metadata, 4955 + in the format '<namespace>_<name>_<group>_<kind>'. 4956 + type: string 4957 + v: 4958 + description: Version is the API version of the Kubernetes 4959 + resource object's kind. 4960 + type: string 4961 + required: 4962 + - id 4963 + - v 4964 + type: object 4965 + type: array 4966 + required: 4967 + - entries 4968 + type: object 4969 + lastAttemptedConfigDigest: 4970 + description: |- 4971 + LastAttemptedConfigDigest is the digest for the config (better known as 4972 + "values") of the last reconciliation attempt. 4973 + type: string 4974 + lastAttemptedGeneration: 4975 + description: |- 4976 + LastAttemptedGeneration is the last generation the controller attempted 4977 + to reconcile. 4978 + format: int64 4979 + type: integer 4980 + lastAttemptedReleaseAction: 4981 + description: |- 4982 + LastAttemptedReleaseAction is the last release action performed for this 4983 + HelmRelease. It is used to determine the active retry or remediation 4984 + strategy. 4985 + enum: 4986 + - install 4987 + - upgrade 4988 + type: string 4989 + lastAttemptedReleaseActionDuration: 4990 + description: |- 4991 + LastAttemptedReleaseActionDuration is the duration of the last 4992 + release action performed for this HelmRelease. 4993 + type: string 4994 + lastAttemptedRevision: 4995 + description: |- 4996 + LastAttemptedRevision is the Source revision of the last reconciliation 4997 + attempt. For OCIRepository sources, the 12 first characters of the digest are 4998 + appended to the chart version e.g. "1.2.3+1234567890ab". 4999 + type: string 5000 + lastAttemptedRevisionDigest: 5001 + description: |- 5002 + LastAttemptedRevisionDigest is the digest of the last reconciliation attempt. 5003 + This is only set for OCIRepository sources. 5004 + type: string 5005 + lastAttemptedValuesChecksum: 5006 + description: |- 5007 + LastAttemptedValuesChecksum is the SHA1 checksum for the values of the last 5008 + reconciliation attempt. 4934 5009 4935 - Deprecated: Use LastAttemptedConfigDigest instead. 4936 - type: string 4937 - lastHandledForceAt: 4938 - description: |- 4939 - LastHandledForceAt holds the value of the most recent 4940 - force request value, so a change of the annotation value 4941 - can be detected. 4942 - type: string 4943 - lastHandledReconcileAt: 4944 - description: |- 4945 - LastHandledReconcileAt holds the value of the most recent 4946 - reconcile request value, so a change of the annotation value 4947 - can be detected. 4948 - type: string 4949 - lastHandledResetAt: 4950 - description: |- 4951 - LastHandledResetAt holds the value of the most recent reset request 4952 - value, so a change of the annotation value can be detected. 4953 - type: string 4954 - lastReleaseRevision: 4955 - description: |- 4956 - LastReleaseRevision is the revision of the last successful Helm release. 5010 + Deprecated: Use LastAttemptedConfigDigest instead. 5011 + type: string 5012 + lastHandledForceAt: 5013 + description: |- 5014 + LastHandledForceAt holds the value of the most recent 5015 + force request value, so a change of the annotation value 5016 + can be detected. 5017 + type: string 5018 + lastHandledReconcileAt: 5019 + description: |- 5020 + LastHandledReconcileAt holds the value of the most recent 5021 + reconcile request value, so a change of the annotation value 5022 + can be detected. 5023 + type: string 5024 + lastHandledResetAt: 5025 + description: |- 5026 + LastHandledResetAt holds the value of the most recent reset request 5027 + value, so a change of the annotation value can be detected. 5028 + type: string 5029 + lastReleaseRevision: 5030 + description: |- 5031 + LastReleaseRevision is the revision of the last successful Helm release. 4957 5032 4958 - Deprecated: Use History instead. 4959 - type: integer 4960 - observedCommonMetadataDigest: 4961 - description: |- 4962 - ObservedCommonMetadataDigest is the digest for the common metadata of 4963 - the last successful reconciliation attempt. 4964 - type: string 4965 - observedGeneration: 4966 - description: ObservedGeneration is the last observed generation. 4967 - format: int64 4968 - type: integer 4969 - observedPostRenderersDigest: 4970 - description: |- 4971 - ObservedPostRenderersDigest is the digest for the post-renderers of 4972 - the last successful reconciliation attempt. 4973 - type: string 4974 - storageNamespace: 4975 - description: |- 4976 - StorageNamespace is the namespace of the Helm release storage for the 4977 - current release. 4978 - maxLength: 63 4979 - minLength: 1 4980 - type: string 4981 - upgradeFailures: 4982 - description: |- 4983 - UpgradeFailures is the upgrade failure count against the latest desired 4984 - state. It is reset after a successful reconciliation. 4985 - format: int64 4986 - type: integer 4987 - type: object 4988 - type: object 4989 - served: true 4990 - storage: true 4991 - subresources: 4992 - status: {} 5033 + Deprecated: Use History instead. 5034 + type: integer 5035 + observedCommonMetadataDigest: 5036 + description: |- 5037 + ObservedCommonMetadataDigest is the digest for the common metadata of 5038 + the last successful reconciliation attempt. 5039 + type: string 5040 + observedGeneration: 5041 + description: ObservedGeneration is the last observed generation. 5042 + format: int64 5043 + type: integer 5044 + observedPostRenderersDigest: 5045 + description: |- 5046 + ObservedPostRenderersDigest is the digest for the post-renderers of 5047 + the last successful reconciliation attempt. 5048 + type: string 5049 + storageNamespace: 5050 + description: |- 5051 + StorageNamespace is the namespace of the Helm release storage for the 5052 + current release. 5053 + maxLength: 63 5054 + minLength: 1 5055 + type: string 5056 + upgradeFailures: 5057 + description: |- 5058 + UpgradeFailures is the upgrade failure count against the latest desired 5059 + state. It is reset after a successful reconciliation. 5060 + format: int64 5061 + type: integer 5062 + type: object 5063 + type: object 5064 + served: true 5065 + storage: true 5066 + subresources: 5067 + status: {} 4993 5068 --- 4994 5069 apiVersion: v1 4995 5070 kind: ServiceAccount ··· 4998 5073 app.kubernetes.io/component: helm-controller 4999 5074 app.kubernetes.io/instance: flux-system 5000 5075 app.kubernetes.io/part-of: flux 5001 - app.kubernetes.io/version: v2.8.8 5076 + app.kubernetes.io/version: v2.9.0 5002 5077 name: helm-controller 5003 5078 namespace: flux-system 5004 5079 --- ··· 5009 5084 app.kubernetes.io/component: helm-controller 5010 5085 app.kubernetes.io/instance: flux-system 5011 5086 app.kubernetes.io/part-of: flux 5012 - app.kubernetes.io/version: v2.8.8 5087 + app.kubernetes.io/version: v2.9.0 5013 5088 control-plane: controller 5014 5089 name: helm-controller 5015 5090 namespace: flux-system ··· 5028 5103 app.kubernetes.io/component: helm-controller 5029 5104 app.kubernetes.io/instance: flux-system 5030 5105 app.kubernetes.io/part-of: flux 5031 - app.kubernetes.io/version: v2.8.8 5106 + app.kubernetes.io/version: v2.9.0 5032 5107 spec: 5033 5108 containers: 5034 - - args: 5035 - - --events-addr=http://notification-controller.$(RUNTIME_NAMESPACE).svc.cluster.local./ 5036 - - --watch-all-namespaces=true 5037 - - --log-level=info 5038 - - --log-encoding=json 5039 - - --enable-leader-election 5040 - env: 5041 - - name: RUNTIME_NAMESPACE 5042 - valueFrom: 5043 - fieldRef: 5044 - fieldPath: metadata.namespace 5045 - - name: GOMEMLIMIT 5046 - valueFrom: 5047 - resourceFieldRef: 5048 - containerName: manager 5049 - resource: limits.memory 5050 - image: ghcr.io/fluxcd/helm-controller:v1.5.5 5051 - imagePullPolicy: IfNotPresent 5052 - livenessProbe: 5053 - httpGet: 5054 - path: /healthz 5055 - port: healthz 5056 - name: manager 5057 - ports: 5058 - - containerPort: 8080 5059 - name: http-prom 5060 - protocol: TCP 5061 - - containerPort: 9440 5062 - name: healthz 5063 - protocol: TCP 5064 - readinessProbe: 5065 - httpGet: 5066 - path: /readyz 5067 - port: healthz 5068 - resources: 5069 - limits: 5070 - cpu: 1000m 5071 - memory: 1Gi 5072 - requests: 5073 - cpu: 100m 5074 - memory: 64Mi 5075 - securityContext: 5076 - allowPrivilegeEscalation: false 5077 - capabilities: 5078 - drop: 5079 - - ALL 5080 - readOnlyRootFilesystem: true 5081 - runAsNonRoot: true 5082 - seccompProfile: 5083 - type: RuntimeDefault 5084 - volumeMounts: 5085 - - mountPath: /tmp 5086 - name: temp 5109 + - args: 5110 + - --events-addr=http://notification-controller.$(RUNTIME_NAMESPACE).svc.cluster.local./ 5111 + - --watch-all-namespaces=true 5112 + - --log-level=info 5113 + - --log-encoding=json 5114 + - --enable-leader-election 5115 + env: 5116 + - name: RUNTIME_NAMESPACE 5117 + valueFrom: 5118 + fieldRef: 5119 + fieldPath: metadata.namespace 5120 + - name: GOMEMLIMIT 5121 + valueFrom: 5122 + resourceFieldRef: 5123 + containerName: manager 5124 + resource: limits.memory 5125 + image: ghcr.io/fluxcd/helm-controller:v1.6.1 5126 + imagePullPolicy: IfNotPresent 5127 + livenessProbe: 5128 + httpGet: 5129 + path: /healthz 5130 + port: healthz 5131 + name: manager 5132 + ports: 5133 + - containerPort: 8080 5134 + name: http-prom 5135 + protocol: TCP 5136 + - containerPort: 9440 5137 + name: healthz 5138 + protocol: TCP 5139 + readinessProbe: 5140 + httpGet: 5141 + path: /readyz 5142 + port: healthz 5143 + resources: 5144 + limits: 5145 + cpu: 1000m 5146 + memory: 1Gi 5147 + requests: 5148 + cpu: 100m 5149 + memory: 64Mi 5150 + securityContext: 5151 + allowPrivilegeEscalation: false 5152 + capabilities: 5153 + drop: 5154 + - ALL 5155 + readOnlyRootFilesystem: true 5156 + runAsNonRoot: true 5157 + seccompProfile: 5158 + type: RuntimeDefault 5159 + volumeMounts: 5160 + - mountPath: /tmp 5161 + name: temp 5087 5162 nodeSelector: 5088 5163 kubernetes.io/os: linux 5089 5164 priorityClassName: system-cluster-critical ··· 5092 5167 serviceAccountName: helm-controller 5093 5168 terminationGracePeriodSeconds: 600 5094 5169 volumes: 5095 - - emptyDir: {} 5096 - name: temp 5170 + - emptyDir: {} 5171 + name: temp 5097 5172 --- 5098 5173 apiVersion: apiextensions.k8s.io/v1 5099 5174 kind: CustomResourceDefinition 5100 5175 metadata: 5101 5176 annotations: 5102 - controller-gen.kubebuilder.io/version: v0.19.0 5177 + controller-gen.kubebuilder.io/version: v0.21.0 5103 5178 labels: 5104 5179 app.kubernetes.io/component: notification-controller 5105 5180 app.kubernetes.io/instance: flux-system 5106 5181 app.kubernetes.io/part-of: flux 5107 - app.kubernetes.io/version: v2.8.8 5182 + app.kubernetes.io/version: v2.9.0 5108 5183 name: alerts.notification.toolkit.fluxcd.io 5109 5184 spec: 5110 5185 group: notification.toolkit.fluxcd.io 5111 5186 names: 5187 + categories: 5188 + - all 5189 + - fluxcd 5190 + - fluxcd-notifications 5112 5191 kind: Alert 5113 5192 listKind: AlertList 5114 5193 plural: alerts 5115 5194 singular: alert 5116 5195 scope: Namespaced 5117 5196 versions: 5118 - - additionalPrinterColumns: 5119 - - jsonPath: .metadata.creationTimestamp 5120 - name: Age 5121 - type: date 5122 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 5123 - name: Ready 5124 - type: string 5125 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 5126 - name: Status 5127 - type: string 5128 - deprecated: true 5129 - deprecationWarning: v1beta2 Alert is deprecated, upgrade to v1beta3 5130 - name: v1beta2 5131 - schema: 5132 - openAPIV3Schema: 5133 - description: Alert is the Schema for the alerts API 5134 - properties: 5135 - apiVersion: 5136 - description: |- 5137 - APIVersion defines the versioned schema of this representation of an object. 5138 - Servers should convert recognized schemas to the latest internal value, and 5139 - may reject unrecognized values. 5140 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 5141 - type: string 5142 - kind: 5143 - description: |- 5144 - Kind is a string value representing the REST resource this object represents. 5145 - Servers may infer this from the endpoint the client submits requests to. 5146 - Cannot be updated. 5147 - In CamelCase. 5148 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5149 - type: string 5150 - metadata: 5151 - type: object 5152 - spec: 5153 - description: 5154 - AlertSpec defines an alerting rule for events involving a 5155 - list of objects. 5156 - properties: 5157 - eventMetadata: 5158 - additionalProperties: 5159 - type: string 5160 - description: |- 5161 - EventMetadata is an optional field for adding metadata to events dispatched by the 5162 - controller. This can be used for enhancing the context of the event. If a field 5163 - would override one already present on the original event as generated by the emitter, 5164 - then the override doesn't happen, i.e. the original value is preserved, and an info 5165 - log is printed. 5166 - type: object 5167 - eventSeverity: 5168 - default: info 5169 - description: |- 5170 - EventSeverity specifies how to filter events based on severity. 5171 - If set to 'info' no events will be filtered. 5172 - enum: 5173 - - info 5174 - - error 5197 + - additionalPrinterColumns: 5198 + - jsonPath: .metadata.creationTimestamp 5199 + name: Age 5200 + type: date 5201 + name: v1beta3 5202 + schema: 5203 + openAPIV3Schema: 5204 + description: Alert is the Schema for the alerts API 5205 + properties: 5206 + apiVersion: 5207 + description: |- 5208 + APIVersion defines the versioned schema of this representation of an object. 5209 + Servers should convert recognized schemas to the latest internal value, and 5210 + may reject unrecognized values. 5211 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 5212 + type: string 5213 + kind: 5214 + description: |- 5215 + Kind is a string value representing the REST resource this object represents. 5216 + Servers may infer this from the endpoint the client submits requests to. 5217 + Cannot be updated. 5218 + In CamelCase. 5219 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5220 + type: string 5221 + metadata: 5222 + type: object 5223 + spec: 5224 + description: AlertSpec defines an alerting rule for events involving a 5225 + list of objects. 5226 + properties: 5227 + eventMetadata: 5228 + additionalProperties: 5175 5229 type: string 5176 - eventSources: 5177 - description: |- 5178 - EventSources specifies how to filter events based 5179 - on the involved object kind, name and namespace. 5180 - items: 5181 - description: |- 5182 - CrossNamespaceObjectReference contains enough information to let you locate the 5183 - typed referenced object at cluster level 5184 - properties: 5185 - apiVersion: 5186 - description: API version of the referent 5187 - type: string 5188 - kind: 5189 - description: Kind of the referent 5190 - enum: 5191 - - Bucket 5192 - - GitRepository 5193 - - Kustomization 5194 - - HelmRelease 5195 - - HelmChart 5196 - - HelmRepository 5197 - - ImageRepository 5198 - - ImagePolicy 5199 - - ImageUpdateAutomation 5200 - - OCIRepository 5201 - - ArtifactGenerator 5202 - - ExternalArtifact 5203 - type: string 5204 - matchLabels: 5205 - additionalProperties: 5206 - type: string 5207 - description: |- 5208 - MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 5209 - map is equivalent to an element of matchExpressions, whose key field is "key", the 5210 - operator is "In", and the values array contains only "value". The requirements are ANDed. 5211 - MatchLabels requires the name to be set to `*`. 5212 - type: object 5213 - name: 5214 - description: |- 5215 - Name of the referent 5216 - If multiple resources are targeted `*` may be set. 5217 - maxLength: 253 5218 - minLength: 1 5219 - type: string 5220 - namespace: 5221 - description: Namespace of the referent 5222 - maxLength: 253 5223 - minLength: 1 5224 - type: string 5225 - required: 5226 - - kind 5227 - - name 5228 - type: object 5229 - type: array 5230 - exclusionList: 5231 - description: |- 5232 - ExclusionList specifies a list of Golang regular expressions 5233 - to be used for excluding messages. 5234 - items: 5235 - type: string 5236 - type: array 5237 - inclusionList: 5230 + description: |- 5231 + EventMetadata is an optional field for adding metadata to events dispatched by the 5232 + controller. This can be used for enhancing the context of the event. If a field 5233 + would override one already present on the original event as generated by the emitter, 5234 + then the override doesn't happen, i.e. the original value is preserved, and an info 5235 + log is printed. 5236 + type: object 5237 + eventSeverity: 5238 + default: info 5239 + description: |- 5240 + EventSeverity specifies how to filter events based on severity. 5241 + If set to 'info' no events will be filtered. 5242 + enum: 5243 + - info 5244 + - error 5245 + type: string 5246 + eventSources: 5247 + description: |- 5248 + EventSources specifies how to filter events based 5249 + on the involved object kind, name and namespace. 5250 + items: 5238 5251 description: |- 5239 - InclusionList specifies a list of Golang regular expressions 5240 - to be used for including messages. 5241 - items: 5242 - type: string 5243 - type: array 5244 - providerRef: 5245 - description: 5246 - ProviderRef specifies which Provider this Alert should 5247 - use. 5252 + CrossNamespaceObjectReference contains enough information to let you locate the 5253 + typed referenced object at cluster level 5248 5254 properties: 5255 + apiVersion: 5256 + description: API version of the referent 5257 + type: string 5258 + kind: 5259 + description: Kind of the referent 5260 + enum: 5261 + - Bucket 5262 + - GitRepository 5263 + - Kustomization 5264 + - HelmRelease 5265 + - HelmChart 5266 + - HelmRepository 5267 + - ImageRepository 5268 + - ImagePolicy 5269 + - ImageUpdateAutomation 5270 + - OCIRepository 5271 + - ArtifactGenerator 5272 + - ExternalArtifact 5273 + type: string 5274 + matchLabels: 5275 + additionalProperties: 5276 + type: string 5277 + description: |- 5278 + MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 5279 + map is equivalent to an element of matchExpressions, whose key field is "key", the 5280 + operator is "In", and the values array contains only "value". The requirements are ANDed. 5281 + MatchLabels requires the name to be set to `*`. 5282 + type: object 5249 5283 name: 5250 - description: Name of the referent. 5284 + description: |- 5285 + Name of the referent 5286 + If multiple resources are targeted `*` may be set. 5287 + maxLength: 253 5288 + minLength: 1 5289 + type: string 5290 + namespace: 5291 + description: Namespace of the referent 5292 + maxLength: 253 5293 + minLength: 1 5251 5294 type: string 5252 5295 required: 5253 - - name 5296 + - kind 5297 + - name 5254 5298 type: object 5255 - summary: 5256 - description: 5257 - Summary holds a short description of the impact and affected 5258 - cluster. 5259 - maxLength: 255 5299 + type: array 5300 + exclusionList: 5301 + description: |- 5302 + ExclusionList specifies a list of Golang regular expressions 5303 + to be used for excluding messages. 5304 + items: 5260 5305 type: string 5261 - suspend: 5262 - description: |- 5263 - Suspend tells the controller to suspend subsequent 5264 - events handling for this Alert. 5265 - type: boolean 5266 - required: 5267 - - eventSources 5268 - - providerRef 5269 - type: object 5270 - status: 5271 - default: 5272 - observedGeneration: -1 5273 - description: AlertStatus defines the observed state of the Alert. 5274 - properties: 5275 - conditions: 5276 - description: Conditions holds the conditions for the Alert. 5277 - items: 5278 - description: 5279 - Condition contains details for one aspect of the current 5280 - state of this API Resource. 5281 - properties: 5282 - lastTransitionTime: 5283 - description: |- 5284 - lastTransitionTime is the last time the condition transitioned from one status to another. 5285 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 5286 - format: date-time 5287 - type: string 5288 - message: 5289 - description: |- 5290 - message is a human readable message indicating details about the transition. 5291 - This may be an empty string. 5292 - maxLength: 32768 5293 - type: string 5294 - observedGeneration: 5295 - description: |- 5296 - observedGeneration represents the .metadata.generation that the condition was set based upon. 5297 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 5298 - with respect to the current state of the instance. 5299 - format: int64 5300 - minimum: 0 5301 - type: integer 5302 - reason: 5303 - description: |- 5304 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 5305 - Producers of specific condition types may define expected values and meanings for this field, 5306 - and whether the values are considered a guaranteed API. 5307 - The value should be a CamelCase string. 5308 - This field may not be empty. 5309 - maxLength: 1024 5310 - minLength: 1 5311 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 5312 - type: string 5313 - status: 5314 - description: status of the condition, one of True, False, Unknown. 5315 - enum: 5316 - - "True" 5317 - - "False" 5318 - - Unknown 5319 - type: string 5320 - type: 5321 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 5322 - maxLength: 316 5323 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 5324 - type: string 5325 - required: 5326 - - lastTransitionTime 5327 - - message 5328 - - reason 5329 - - status 5330 - - type 5331 - type: object 5332 - type: array 5333 - lastHandledReconcileAt: 5334 - description: |- 5335 - LastHandledReconcileAt holds the value of the most recent 5336 - reconcile request value, so a change of the annotation value 5337 - can be detected. 5306 + type: array 5307 + inclusionList: 5308 + description: |- 5309 + InclusionList specifies a list of Golang regular expressions 5310 + to be used for including messages. 5311 + items: 5338 5312 type: string 5339 - observedGeneration: 5340 - description: ObservedGeneration is the last observed generation. 5341 - format: int64 5342 - type: integer 5343 - type: object 5344 - type: object 5345 - served: true 5346 - storage: false 5347 - subresources: 5348 - status: {} 5349 - - additionalPrinterColumns: 5350 - - jsonPath: .metadata.creationTimestamp 5351 - name: Age 5352 - type: date 5353 - name: v1beta3 5354 - schema: 5355 - openAPIV3Schema: 5356 - description: Alert is the Schema for the alerts API 5357 - properties: 5358 - apiVersion: 5359 - description: |- 5360 - APIVersion defines the versioned schema of this representation of an object. 5361 - Servers should convert recognized schemas to the latest internal value, and 5362 - may reject unrecognized values. 5363 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 5364 - type: string 5365 - kind: 5366 - description: |- 5367 - Kind is a string value representing the REST resource this object represents. 5368 - Servers may infer this from the endpoint the client submits requests to. 5369 - Cannot be updated. 5370 - In CamelCase. 5371 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5372 - type: string 5373 - metadata: 5374 - type: object 5375 - spec: 5376 - description: 5377 - AlertSpec defines an alerting rule for events involving a 5378 - list of objects. 5379 - properties: 5380 - eventMetadata: 5381 - additionalProperties: 5313 + type: array 5314 + providerRef: 5315 + description: ProviderRef specifies which Provider this Alert should 5316 + use. 5317 + properties: 5318 + name: 5319 + description: Name of the referent. 5382 5320 type: string 5383 - description: |- 5384 - EventMetadata is an optional field for adding metadata to events dispatched by the 5385 - controller. This can be used for enhancing the context of the event. If a field 5386 - would override one already present on the original event as generated by the emitter, 5387 - then the override doesn't happen, i.e. the original value is preserved, and an info 5388 - log is printed. 5389 - type: object 5390 - eventSeverity: 5391 - default: info 5392 - description: |- 5393 - EventSeverity specifies how to filter events based on severity. 5394 - If set to 'info' no events will be filtered. 5395 - enum: 5396 - - info 5397 - - error 5398 - type: string 5399 - eventSources: 5400 - description: |- 5401 - EventSources specifies how to filter events based 5402 - on the involved object kind, name and namespace. 5403 - items: 5404 - description: |- 5405 - CrossNamespaceObjectReference contains enough information to let you locate the 5406 - typed referenced object at cluster level 5407 - properties: 5408 - apiVersion: 5409 - description: API version of the referent 5410 - type: string 5411 - kind: 5412 - description: Kind of the referent 5413 - enum: 5414 - - Bucket 5415 - - GitRepository 5416 - - Kustomization 5417 - - HelmRelease 5418 - - HelmChart 5419 - - HelmRepository 5420 - - ImageRepository 5421 - - ImagePolicy 5422 - - ImageUpdateAutomation 5423 - - OCIRepository 5424 - - ArtifactGenerator 5425 - - ExternalArtifact 5426 - type: string 5427 - matchLabels: 5428 - additionalProperties: 5429 - type: string 5430 - description: |- 5431 - MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 5432 - map is equivalent to an element of matchExpressions, whose key field is "key", the 5433 - operator is "In", and the values array contains only "value". The requirements are ANDed. 5434 - MatchLabels requires the name to be set to `*`. 5435 - type: object 5436 - name: 5437 - description: |- 5438 - Name of the referent 5439 - If multiple resources are targeted `*` may be set. 5440 - maxLength: 253 5441 - minLength: 1 5442 - type: string 5443 - namespace: 5444 - description: Namespace of the referent 5445 - maxLength: 253 5446 - minLength: 1 5447 - type: string 5448 - required: 5449 - - kind 5450 - - name 5451 - type: object 5452 - type: array 5453 - exclusionList: 5454 - description: |- 5455 - ExclusionList specifies a list of Golang regular expressions 5456 - to be used for excluding messages. 5457 - items: 5458 - type: string 5459 - type: array 5460 - inclusionList: 5461 - description: |- 5462 - InclusionList specifies a list of Golang regular expressions 5463 - to be used for including messages. 5464 - items: 5465 - type: string 5466 - type: array 5467 - providerRef: 5468 - description: 5469 - ProviderRef specifies which Provider this Alert should 5470 - use. 5471 - properties: 5472 - name: 5473 - description: Name of the referent. 5474 - type: string 5475 - required: 5476 - - name 5477 - type: object 5478 - summary: 5479 - description: |- 5480 - Summary holds a short description of the impact and affected cluster. 5481 - Deprecated: Use EventMetadata instead. 5482 - maxLength: 255 5483 - type: string 5484 - suspend: 5485 - description: |- 5486 - Suspend tells the controller to suspend subsequent 5487 - events handling for this Alert. 5488 - type: boolean 5489 - required: 5490 - - eventSources 5491 - - providerRef 5492 - type: object 5493 - type: object 5494 - served: true 5495 - storage: true 5496 - subresources: {} 5321 + required: 5322 + - name 5323 + type: object 5324 + summary: 5325 + description: |- 5326 + Summary holds a short description of the impact and affected cluster. 5327 + Deprecated: Use EventMetadata instead. 5328 + maxLength: 255 5329 + type: string 5330 + suspend: 5331 + description: |- 5332 + Suspend tells the controller to suspend subsequent 5333 + events handling for this Alert. 5334 + type: boolean 5335 + required: 5336 + - eventSources 5337 + - providerRef 5338 + type: object 5339 + type: object 5340 + served: true 5341 + storage: true 5342 + subresources: {} 5497 5343 --- 5498 5344 apiVersion: apiextensions.k8s.io/v1 5499 5345 kind: CustomResourceDefinition 5500 5346 metadata: 5501 5347 annotations: 5502 - controller-gen.kubebuilder.io/version: v0.19.0 5348 + controller-gen.kubebuilder.io/version: v0.21.0 5503 5349 labels: 5504 5350 app.kubernetes.io/component: notification-controller 5505 5351 app.kubernetes.io/instance: flux-system 5506 5352 app.kubernetes.io/part-of: flux 5507 - app.kubernetes.io/version: v2.8.8 5353 + app.kubernetes.io/version: v2.9.0 5508 5354 name: providers.notification.toolkit.fluxcd.io 5509 5355 spec: 5510 5356 group: notification.toolkit.fluxcd.io 5511 5357 names: 5358 + categories: 5359 + - all 5360 + - fluxcd 5361 + - fluxcd-notifications 5512 5362 kind: Provider 5513 5363 listKind: ProviderList 5514 5364 plural: providers 5515 5365 singular: provider 5516 5366 scope: Namespaced 5517 5367 versions: 5518 - - additionalPrinterColumns: 5519 - - jsonPath: .metadata.creationTimestamp 5520 - name: Age 5521 - type: date 5522 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 5523 - name: Ready 5524 - type: string 5525 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 5526 - name: Status 5527 - type: string 5528 - deprecated: true 5529 - deprecationWarning: v1beta2 Provider is deprecated, upgrade to v1beta3 5530 - name: v1beta2 5531 - schema: 5532 - openAPIV3Schema: 5533 - description: Provider is the Schema for the providers API. 5534 - properties: 5535 - apiVersion: 5536 - description: |- 5537 - APIVersion defines the versioned schema of this representation of an object. 5538 - Servers should convert recognized schemas to the latest internal value, and 5539 - may reject unrecognized values. 5540 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 5541 - type: string 5542 - kind: 5543 - description: |- 5544 - Kind is a string value representing the REST resource this object represents. 5545 - Servers may infer this from the endpoint the client submits requests to. 5546 - Cannot be updated. 5547 - In CamelCase. 5548 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5549 - type: string 5550 - metadata: 5551 - type: object 5552 - spec: 5553 - description: ProviderSpec defines the desired state of the Provider. 5554 - properties: 5555 - address: 5556 - description: |- 5557 - Address specifies the endpoint, in a generic sense, to where alerts are sent. 5558 - What kind of endpoint depends on the specific Provider type being used. 5559 - For the generic Provider, for example, this is an HTTP/S address. 5560 - For other Provider types this could be a project ID or a namespace. 5561 - maxLength: 2048 5562 - type: string 5563 - certSecretRef: 5564 - description: |- 5565 - CertSecretRef specifies the Secret containing 5566 - a PEM-encoded CA certificate (in the `ca.crt` key). 5368 + - additionalPrinterColumns: 5369 + - jsonPath: .metadata.creationTimestamp 5370 + name: Age 5371 + type: date 5372 + name: v1beta3 5373 + schema: 5374 + openAPIV3Schema: 5375 + description: Provider is the Schema for the providers API 5376 + properties: 5377 + apiVersion: 5378 + description: |- 5379 + APIVersion defines the versioned schema of this representation of an object. 5380 + Servers should convert recognized schemas to the latest internal value, and 5381 + may reject unrecognized values. 5382 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 5383 + type: string 5384 + kind: 5385 + description: |- 5386 + Kind is a string value representing the REST resource this object represents. 5387 + Servers may infer this from the endpoint the client submits requests to. 5388 + Cannot be updated. 5389 + In CamelCase. 5390 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5391 + type: string 5392 + metadata: 5393 + type: object 5394 + spec: 5395 + description: ProviderSpec defines the desired state of the Provider. 5396 + properties: 5397 + address: 5398 + description: |- 5399 + Address specifies the endpoint, in a generic sense, to where alerts are sent. 5400 + What kind of endpoint depends on the specific Provider type being used. 5401 + For the generic Provider, for example, this is an HTTP/S address. 5402 + For other Provider types this could be a project ID or a namespace. 5403 + maxLength: 2048 5404 + type: string 5405 + certSecretRef: 5406 + description: |- 5407 + CertSecretRef specifies the Secret containing TLS certificates 5408 + for secure communication. 5567 5409 5568 - Note: Support for the `caFile` key has 5569 - been deprecated. 5570 - properties: 5571 - name: 5572 - description: Name of the referent. 5573 - type: string 5574 - required: 5575 - - name 5576 - type: object 5577 - channel: 5578 - description: 5579 - Channel specifies the destination channel where events 5580 - should be posted. 5581 - maxLength: 2048 5582 - type: string 5583 - interval: 5584 - description: 5585 - Interval at which to reconcile the Provider with its 5586 - Secret references. 5587 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 5588 - type: string 5589 - proxy: 5590 - description: Proxy the HTTP/S address of the proxy server. 5591 - maxLength: 2048 5592 - pattern: ^(http|https)://.*$ 5593 - type: string 5594 - secretRef: 5595 - description: |- 5596 - SecretRef specifies the Secret containing the authentication 5597 - credentials for this Provider. 5598 - properties: 5599 - name: 5600 - description: Name of the referent. 5601 - type: string 5602 - required: 5603 - - name 5604 - type: object 5605 - suspend: 5606 - description: |- 5607 - Suspend tells the controller to suspend subsequent 5608 - events handling for this Provider. 5609 - type: boolean 5610 - timeout: 5611 - description: Timeout for sending alerts to the Provider. 5612 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 5613 - type: string 5614 - type: 5615 - description: Type specifies which Provider implementation to use. 5616 - enum: 5617 - - slack 5618 - - discord 5619 - - msteams 5620 - - rocket 5621 - - generic 5622 - - generic-hmac 5623 - - github 5624 - - gitlab 5625 - - gitea 5626 - - bitbucketserver 5627 - - bitbucket 5628 - - azuredevops 5629 - - googlechat 5630 - - googlepubsub 5631 - - webex 5632 - - sentry 5633 - - azureeventhub 5634 - - telegram 5635 - - lark 5636 - - matrix 5637 - - opsgenie 5638 - - alertmanager 5639 - - grafana 5640 - - githubdispatch 5641 - - pagerduty 5642 - - datadog 5643 - type: string 5644 - username: 5645 - description: Username specifies the name under which events are posted. 5646 - maxLength: 2048 5647 - type: string 5648 - required: 5649 - - type 5650 - type: object 5651 - status: 5652 - default: 5653 - observedGeneration: -1 5654 - description: ProviderStatus defines the observed state of the Provider. 5655 - properties: 5656 - conditions: 5657 - description: Conditions holds the conditions for the Provider. 5658 - items: 5659 - description: 5660 - Condition contains details for one aspect of the current 5661 - state of this API Resource. 5662 - properties: 5663 - lastTransitionTime: 5664 - description: |- 5665 - lastTransitionTime is the last time the condition transitioned from one status to another. 5666 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 5667 - format: date-time 5668 - type: string 5669 - message: 5670 - description: |- 5671 - message is a human readable message indicating details about the transition. 5672 - This may be an empty string. 5673 - maxLength: 32768 5674 - type: string 5675 - observedGeneration: 5676 - description: |- 5677 - observedGeneration represents the .metadata.generation that the condition was set based upon. 5678 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 5679 - with respect to the current state of the instance. 5680 - format: int64 5681 - minimum: 0 5682 - type: integer 5683 - reason: 5684 - description: |- 5685 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 5686 - Producers of specific condition types may define expected values and meanings for this field, 5687 - and whether the values are considered a guaranteed API. 5688 - The value should be a CamelCase string. 5689 - This field may not be empty. 5690 - maxLength: 1024 5691 - minLength: 1 5692 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 5693 - type: string 5694 - status: 5695 - description: status of the condition, one of True, False, Unknown. 5696 - enum: 5697 - - "True" 5698 - - "False" 5699 - - Unknown 5700 - type: string 5701 - type: 5702 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 5703 - maxLength: 316 5704 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 5705 - type: string 5706 - required: 5707 - - lastTransitionTime 5708 - - message 5709 - - reason 5710 - - status 5711 - - type 5712 - type: object 5713 - type: array 5714 - lastHandledReconcileAt: 5715 - description: |- 5716 - LastHandledReconcileAt holds the value of the most recent 5717 - reconcile request value, so a change of the annotation value 5718 - can be detected. 5719 - type: string 5720 - observedGeneration: 5721 - description: ObservedGeneration is the last reconciled generation. 5722 - format: int64 5723 - type: integer 5724 - type: object 5725 - type: object 5726 - served: true 5727 - storage: false 5728 - subresources: 5729 - status: {} 5730 - - additionalPrinterColumns: 5731 - - jsonPath: .metadata.creationTimestamp 5732 - name: Age 5733 - type: date 5734 - name: v1beta3 5735 - schema: 5736 - openAPIV3Schema: 5737 - description: Provider is the Schema for the providers API 5738 - properties: 5739 - apiVersion: 5740 - description: |- 5741 - APIVersion defines the versioned schema of this representation of an object. 5742 - Servers should convert recognized schemas to the latest internal value, and 5743 - may reject unrecognized values. 5744 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 5745 - type: string 5746 - kind: 5747 - description: |- 5748 - Kind is a string value representing the REST resource this object represents. 5749 - Servers may infer this from the endpoint the client submits requests to. 5750 - Cannot be updated. 5751 - In CamelCase. 5752 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5753 - type: string 5754 - metadata: 5755 - type: object 5756 - spec: 5757 - description: ProviderSpec defines the desired state of the Provider. 5758 - properties: 5759 - address: 5760 - description: |- 5761 - Address specifies the endpoint, in a generic sense, to where alerts are sent. 5762 - What kind of endpoint depends on the specific Provider type being used. 5763 - For the generic Provider, for example, this is an HTTP/S address. 5764 - For other Provider types this could be a project ID or a namespace. 5765 - maxLength: 2048 5766 - type: string 5767 - certSecretRef: 5768 - description: |- 5769 - CertSecretRef specifies the Secret containing TLS certificates 5770 - for secure communication. 5410 + Supported configurations: 5411 + - CA-only: Server authentication (provide ca.crt only) 5412 + - mTLS: Mutual authentication (provide ca.crt + tls.crt + tls.key) 5413 + - Client-only: Client authentication with system CA (provide tls.crt + tls.key only) 5771 5414 5772 - Supported configurations: 5773 - - CA-only: Server authentication (provide ca.crt only) 5774 - - mTLS: Mutual authentication (provide ca.crt + tls.crt + tls.key) 5775 - - Client-only: Client authentication with system CA (provide tls.crt + tls.key only) 5415 + Legacy keys "caFile", "certFile", "keyFile" are supported but deprecated. Use "ca.crt", "tls.crt", "tls.key" instead. 5416 + properties: 5417 + name: 5418 + description: Name of the referent. 5419 + type: string 5420 + required: 5421 + - name 5422 + type: object 5423 + channel: 5424 + description: Channel specifies the destination channel where events 5425 + should be posted. 5426 + maxLength: 2048 5427 + type: string 5428 + commitStatusExpr: 5429 + description: |- 5430 + CommitStatusExpr is a CEL expression that evaluates to a string value 5431 + that can be used to generate a custom commit status message for use 5432 + with eligible Provider types (github, gitlab, gitea, bitbucketserver, 5433 + bitbucket, azuredevops). Supported variables are: event, provider, 5434 + and alert. 5435 + type: string 5436 + interval: 5437 + description: |- 5438 + Interval at which to reconcile the Provider with its Secret references. 5439 + Deprecated and not used in v1beta3. 5440 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 5441 + type: string 5442 + proxy: 5443 + description: |- 5444 + Proxy the HTTP/S address of the proxy server. 5445 + Deprecated: Use ProxySecretRef instead. Will be removed in v1. 5446 + maxLength: 2048 5447 + pattern: ^(http|https)://.*$ 5448 + type: string 5449 + proxySecretRef: 5450 + description: |- 5451 + ProxySecretRef specifies the Secret containing the proxy configuration 5452 + for this Provider. The Secret should contain an 'address' key with the 5453 + HTTP/S address of the proxy server. Optional 'username' and 'password' 5454 + keys can be provided for proxy authentication. 5455 + properties: 5456 + name: 5457 + description: Name of the referent. 5458 + type: string 5459 + required: 5460 + - name 5461 + type: object 5462 + secretRef: 5463 + description: |- 5464 + SecretRef specifies the Secret containing the authentication 5465 + credentials for this Provider. 5466 + properties: 5467 + name: 5468 + description: Name of the referent. 5469 + type: string 5470 + required: 5471 + - name 5472 + type: object 5473 + serviceAccountName: 5474 + description: |- 5475 + ServiceAccountName is the name of the Kubernetes ServiceAccount used to 5476 + authenticate with cloud provider services through workload identity. 5477 + This enables multi-tenant authentication without storing static credentials. 5776 5478 5777 - Legacy keys "caFile", "certFile", "keyFile" are supported but deprecated. Use "ca.crt", "tls.crt", "tls.key" instead. 5778 - properties: 5779 - name: 5780 - description: Name of the referent. 5781 - type: string 5782 - required: 5783 - - name 5784 - type: object 5785 - channel: 5786 - description: 5787 - Channel specifies the destination channel where events 5788 - should be posted. 5789 - maxLength: 2048 5790 - type: string 5791 - commitStatusExpr: 5792 - description: |- 5793 - CommitStatusExpr is a CEL expression that evaluates to a string value 5794 - that can be used to generate a custom commit status message for use 5795 - with eligible Provider types (github, gitlab, gitea, bitbucketserver, 5796 - bitbucket, azuredevops). Supported variables are: event, provider, 5797 - and alert. 5798 - type: string 5799 - interval: 5800 - description: |- 5801 - Interval at which to reconcile the Provider with its Secret references. 5802 - Deprecated and not used in v1beta3. 5803 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 5804 - type: string 5805 - proxy: 5806 - description: |- 5807 - Proxy the HTTP/S address of the proxy server. 5808 - Deprecated: Use ProxySecretRef instead. Will be removed in v1. 5809 - maxLength: 2048 5810 - pattern: ^(http|https)://.*$ 5811 - type: string 5812 - proxySecretRef: 5813 - description: |- 5814 - ProxySecretRef specifies the Secret containing the proxy configuration 5815 - for this Provider. The Secret should contain an 'address' key with the 5816 - HTTP/S address of the proxy server. Optional 'username' and 'password' 5817 - keys can be provided for proxy authentication. 5818 - properties: 5819 - name: 5820 - description: Name of the referent. 5821 - type: string 5822 - required: 5823 - - name 5824 - type: object 5825 - secretRef: 5826 - description: |- 5827 - SecretRef specifies the Secret containing the authentication 5828 - credentials for this Provider. 5829 - properties: 5830 - name: 5831 - description: Name of the referent. 5832 - type: string 5833 - required: 5834 - - name 5835 - type: object 5836 - serviceAccountName: 5837 - description: |- 5838 - ServiceAccountName is the name of the Kubernetes ServiceAccount used to 5839 - authenticate with cloud provider services through workload identity. 5840 - This enables multi-tenant authentication without storing static credentials. 5479 + Supported provider types: azureeventhub, azuredevops, googlepubsub 5841 5480 5842 - Supported provider types: azureeventhub, azuredevops, googlepubsub 5481 + When specified, the controller will: 5482 + 1. Create an OIDC token for the specified ServiceAccount 5483 + 2. Exchange it for cloud provider credentials via STS 5484 + 3. Use the obtained credentials for API authentication 5843 5485 5844 - When specified, the controller will: 5845 - 1. Create an OIDC token for the specified ServiceAccount 5846 - 2. Exchange it for cloud provider credentials via STS 5847 - 3. Use the obtained credentials for API authentication 5486 + When unspecified, controller-level authentication is used (single-tenant). 5848 5487 5849 - When unspecified, controller-level authentication is used (single-tenant). 5850 - 5851 - An error is thrown if static credentials are also defined in SecretRef. 5852 - This field requires the ObjectLevelWorkloadIdentity feature gate to be enabled. 5853 - type: string 5854 - suspend: 5855 - description: |- 5856 - Suspend tells the controller to suspend subsequent 5857 - events handling for this Provider. 5858 - type: boolean 5859 - timeout: 5860 - description: Timeout for sending alerts to the Provider. 5861 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 5862 - type: string 5863 - type: 5864 - description: Type specifies which Provider implementation to use. 5865 - enum: 5866 - - slack 5867 - - discord 5868 - - msteams 5869 - - rocket 5870 - - generic 5871 - - generic-hmac 5872 - - github 5873 - - gitlab 5874 - - gitea 5875 - - giteapullrequestcomment 5876 - - bitbucketserver 5877 - - bitbucket 5878 - - azuredevops 5879 - - googlechat 5880 - - googlepubsub 5881 - - webex 5882 - - sentry 5883 - - azureeventhub 5884 - - telegram 5885 - - lark 5886 - - matrix 5887 - - opsgenie 5888 - - alertmanager 5889 - - grafana 5890 - - githubdispatch 5891 - - githubpullrequestcomment 5892 - - gitlabmergerequestcomment 5893 - - pagerduty 5894 - - datadog 5895 - - nats 5896 - - zulip 5897 - - otel 5898 - type: string 5899 - username: 5900 - description: Username specifies the name under which events are posted. 5901 - maxLength: 2048 5902 - type: string 5903 - required: 5904 - - type 5905 - type: object 5906 - x-kubernetes-validations: 5907 - - message: 5908 - spec.commitStatusExpr is only supported for the 'github', 'gitlab', 5909 - 'gitea', 'bitbucketserver', 'bitbucket', 'azuredevops' provider types 5910 - rule: 5911 - self.type == 'github' || self.type == 'gitlab' || self.type == 5912 - 'gitea' || self.type == 'bitbucketserver' || self.type == 'bitbucket' 5913 - || self.type == 'azuredevops' || !has(self.commitStatusExpr) 5914 - type: object 5915 - served: true 5916 - storage: true 5917 - subresources: {} 5488 + An error is thrown if static credentials are also defined in SecretRef. 5489 + This field requires the ObjectLevelWorkloadIdentity feature gate to be enabled. 5490 + type: string 5491 + suspend: 5492 + description: |- 5493 + Suspend tells the controller to suspend subsequent 5494 + events handling for this Provider. 5495 + type: boolean 5496 + timeout: 5497 + description: Timeout for sending alerts to the Provider. 5498 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ 5499 + type: string 5500 + type: 5501 + description: Type specifies which Provider implementation to use. 5502 + enum: 5503 + - slack 5504 + - discord 5505 + - msteams 5506 + - rocket 5507 + - generic 5508 + - generic-hmac 5509 + - github 5510 + - gitlab 5511 + - gitea 5512 + - giteapullrequestcomment 5513 + - bitbucketserver 5514 + - bitbucket 5515 + - azuredevops 5516 + - googlechat 5517 + - googlepubsub 5518 + - webex 5519 + - sentry 5520 + - azureeventhub 5521 + - telegram 5522 + - lark 5523 + - matrix 5524 + - opsgenie 5525 + - alertmanager 5526 + - grafana 5527 + - githubdispatch 5528 + - githubpullrequestcomment 5529 + - gitlabmergerequestcomment 5530 + - pagerduty 5531 + - datadog 5532 + - nats 5533 + - zulip 5534 + - otel 5535 + type: string 5536 + username: 5537 + description: Username specifies the name under which events are posted. 5538 + maxLength: 2048 5539 + type: string 5540 + required: 5541 + - type 5542 + type: object 5543 + x-kubernetes-validations: 5544 + - message: spec.commitStatusExpr is only supported for the 'github', 'gitlab', 5545 + 'gitea', 'bitbucketserver', 'bitbucket', 'azuredevops' provider types 5546 + rule: self.type == 'github' || self.type == 'gitlab' || self.type == 5547 + 'gitea' || self.type == 'bitbucketserver' || self.type == 'bitbucket' 5548 + || self.type == 'azuredevops' || !has(self.commitStatusExpr) 5549 + type: object 5550 + served: true 5551 + storage: true 5552 + subresources: {} 5918 5553 --- 5919 5554 apiVersion: apiextensions.k8s.io/v1 5920 5555 kind: CustomResourceDefinition 5921 5556 metadata: 5922 5557 annotations: 5923 - controller-gen.kubebuilder.io/version: v0.19.0 5558 + controller-gen.kubebuilder.io/version: v0.21.0 5924 5559 labels: 5925 5560 app.kubernetes.io/component: notification-controller 5926 5561 app.kubernetes.io/instance: flux-system 5927 5562 app.kubernetes.io/part-of: flux 5928 - app.kubernetes.io/version: v2.8.8 5563 + app.kubernetes.io/version: v2.9.0 5929 5564 name: receivers.notification.toolkit.fluxcd.io 5930 5565 spec: 5931 5566 group: notification.toolkit.fluxcd.io 5932 5567 names: 5568 + categories: 5569 + - all 5570 + - fluxcd 5571 + - fluxcd-notifications 5933 5572 kind: Receiver 5934 5573 listKind: ReceiverList 5935 5574 plural: receivers 5936 5575 singular: receiver 5937 5576 scope: Namespaced 5938 5577 versions: 5939 - - additionalPrinterColumns: 5940 - - jsonPath: .metadata.creationTimestamp 5941 - name: Age 5942 - type: date 5943 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 5944 - name: Ready 5945 - type: string 5946 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 5947 - name: Status 5948 - type: string 5949 - name: v1 5950 - schema: 5951 - openAPIV3Schema: 5952 - description: Receiver is the Schema for the receivers API. 5953 - properties: 5954 - apiVersion: 5955 - description: |- 5956 - APIVersion defines the versioned schema of this representation of an object. 5957 - Servers should convert recognized schemas to the latest internal value, and 5958 - may reject unrecognized values. 5959 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 5960 - type: string 5961 - kind: 5962 - description: |- 5963 - Kind is a string value representing the REST resource this object represents. 5964 - Servers may infer this from the endpoint the client submits requests to. 5965 - Cannot be updated. 5966 - In CamelCase. 5967 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5968 - type: string 5969 - metadata: 5970 - type: object 5971 - spec: 5972 - description: ReceiverSpec defines the desired state of the Receiver. 5973 - properties: 5974 - events: 5975 - description: |- 5976 - Events specifies the list of event types to handle, 5977 - e.g. 'push' for GitHub or 'Push Hook' for GitLab. 5978 - items: 5979 - type: string 5980 - type: array 5981 - interval: 5982 - default: 10m 5983 - description: 5984 - Interval at which to reconcile the Receiver with its 5985 - Secret references. 5986 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 5578 + - additionalPrinterColumns: 5579 + - jsonPath: .metadata.creationTimestamp 5580 + name: Age 5581 + type: date 5582 + - jsonPath: .status.conditions[?(@.type=="Ready")].status 5583 + name: Ready 5584 + type: string 5585 + - jsonPath: .status.conditions[?(@.type=="Ready")].message 5586 + name: Status 5587 + type: string 5588 + name: v1 5589 + schema: 5590 + openAPIV3Schema: 5591 + description: Receiver is the Schema for the receivers API. 5592 + properties: 5593 + apiVersion: 5594 + description: |- 5595 + APIVersion defines the versioned schema of this representation of an object. 5596 + Servers should convert recognized schemas to the latest internal value, and 5597 + may reject unrecognized values. 5598 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 5599 + type: string 5600 + kind: 5601 + description: |- 5602 + Kind is a string value representing the REST resource this object represents. 5603 + Servers may infer this from the endpoint the client submits requests to. 5604 + Cannot be updated. 5605 + In CamelCase. 5606 + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5607 + type: string 5608 + metadata: 5609 + type: object 5610 + spec: 5611 + description: ReceiverSpec defines the desired state of the Receiver. 5612 + properties: 5613 + events: 5614 + description: |- 5615 + Events specifies the list of event types to handle, 5616 + e.g. 'push' for GitHub or 'Push Hook' for GitLab. 5617 + items: 5987 5618 type: string 5988 - resourceFilter: 5619 + type: array 5620 + interval: 5621 + default: 10m 5622 + description: Interval at which to reconcile the Receiver with its 5623 + Secret references. 5624 + pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 5625 + type: string 5626 + oidcProviders: 5627 + description: |- 5628 + OIDCProviders specifies the OIDC providers used to authenticate incoming 5629 + requests when Type is 'generic-oidc'. The provider whose IssuerURL matches 5630 + the token's 'iss' claim is used to verify the token signature, expiration 5631 + and audience, and to evaluate the configured CEL validations against the 5632 + token claims. 5633 + items: 5989 5634 description: |- 5990 - ResourceFilter is a CEL expression expected to return a boolean that is 5991 - evaluated for each resource referenced in the Resources field when a 5992 - webhook is received. If the expression returns false then the controller 5993 - will not request a reconciliation for the resource. 5994 - When the expression is specified the controller will parse it and mark 5995 - the object as terminally failed if the expression is invalid or does not 5996 - return a boolean. 5997 - type: string 5998 - resources: 5999 - description: A list of resources to be notified about changes. 6000 - items: 6001 - description: |- 6002 - CrossNamespaceObjectReference contains enough information to let you locate the 6003 - typed referenced object at cluster level 6004 - properties: 6005 - apiVersion: 6006 - description: API version of the referent 6007 - type: string 6008 - kind: 6009 - description: Kind of the referent 6010 - enum: 6011 - - Bucket 6012 - - GitRepository 6013 - - Kustomization 6014 - - HelmRelease 6015 - - HelmChart 6016 - - HelmRepository 6017 - - ImageRepository 6018 - - ImagePolicy 6019 - - ImageUpdateAutomation 6020 - - OCIRepository 6021 - - ArtifactGenerator 6022 - - ExternalArtifact 6023 - type: string 6024 - matchLabels: 6025 - additionalProperties: 6026 - type: string 5635 + OIDCProvider configures an OIDC issuer used to authenticate requests for a 5636 + 'generic-oidc' Receiver. 5637 + properties: 5638 + audience: 5639 + description: |- 5640 + Audience is the expected audience ('aud' claim) for tokens issued by 5641 + this provider. Defaults to 'notification-controller'. 5642 + type: string 5643 + issuerURL: 5644 + description: |- 5645 + IssuerURL is the OIDC issuer URL used for provider discovery. It must 5646 + match the 'iss' claim of tokens issued by this provider. 5647 + pattern: ^https?:// 5648 + type: string 5649 + validations: 5650 + description: |- 5651 + Validations is the list of CEL boolean expressions evaluated against the 5652 + token claims and the variables. The request is accepted only if all of 5653 + them evaluate to true; the message of each failing expression is returned 5654 + to the caller. 5655 + 5656 + At least one validation is required. A valid signature alone does not 5657 + authorize a request: public issuers issue tokens to any caller on the 5658 + platform, so the validations must constrain the caller's identity claims 5659 + (e.g. 'repository_owner' for GitHub Actions). 5660 + items: 6027 5661 description: |- 6028 - MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 6029 - map is equivalent to an element of matchExpressions, whose key field is "key", the 6030 - operator is "In", and the values array contains only "value". The requirements are ANDed. 6031 - MatchLabels requires the name to be set to `*`. 5662 + OIDCValidation is a CEL boolean expression evaluated against the OIDC token 5663 + claims and variables of a 'generic-oidc' Receiver. 5664 + properties: 5665 + expression: 5666 + description: Expression is the CEL boolean expression 5667 + to evaluate. 5668 + type: string 5669 + message: 5670 + description: Message is returned to the caller when the 5671 + expression evaluates to false. 5672 + type: string 5673 + required: 5674 + - expression 5675 + - message 6032 5676 type: object 6033 - name: 5677 + minItems: 1 5678 + type: array 5679 + variables: 5680 + description: |- 5681 + Variables is an optional list of named CEL expressions, evaluated in order 5682 + and exposed as 'vars.<name>'. Each expression can read the token claims 5683 + via 'claims' and any variable defined before it. Use it to share 5684 + sub-expressions across validations. 5685 + items: 6034 5686 description: |- 6035 - Name of the referent 6036 - If multiple resources are targeted `*` may be set. 6037 - maxLength: 253 6038 - minLength: 1 6039 - type: string 6040 - namespace: 6041 - description: Namespace of the referent 6042 - maxLength: 253 6043 - minLength: 1 6044 - type: string 6045 - required: 6046 - - kind 6047 - - name 6048 - type: object 6049 - type: array 6050 - secretRef: 5687 + OIDCVariable is a named CEL expression evaluated against the OIDC token 5688 + claims of a 'generic-oidc' Receiver. 5689 + properties: 5690 + expression: 5691 + description: Expression is the CEL expression that defines 5692 + the variable value. 5693 + type: string 5694 + name: 5695 + description: Name is the variable name; it must be a valid 5696 + CEL identifier. 5697 + type: string 5698 + required: 5699 + - expression 5700 + - name 5701 + type: object 5702 + type: array 5703 + required: 5704 + - issuerURL 5705 + - validations 5706 + type: object 5707 + type: array 5708 + x-kubernetes-list-map-keys: 5709 + - issuerURL 5710 + x-kubernetes-list-type: map 5711 + resourceFilter: 5712 + description: |- 5713 + ResourceFilter is a CEL expression expected to return a boolean that is 5714 + evaluated for each resource referenced in the Resources field when a 5715 + webhook is received. If the expression returns false then the controller 5716 + will not request a reconciliation for the resource. 5717 + The expression can read the resource metadata via 'res' and the webhook 5718 + request body via 'req'. For generic-oidc receivers, the verified OIDC 5719 + token claims are also available via 'claims'. 5720 + When the expression is specified the controller will parse it and mark 5721 + the object as terminally failed if the expression is invalid or does not 5722 + return a boolean. 5723 + type: string 5724 + resources: 5725 + description: A list of resources to be notified about changes. 5726 + items: 6051 5727 description: |- 6052 - SecretRef specifies the Secret containing the token used 6053 - to validate the payload authenticity. The Secret must contain a 'token' 6054 - key. For GCR receivers, the Secret must also contain an 'email' key 6055 - with the IAM service account email configured on the Pub/Sub push 6056 - subscription, and an 'audience' key with the expected OIDC token audience. 5728 + ReceiverResource references a resource to be notified about changes, with an 5729 + optional per-resource CEL filter. 6057 5730 properties: 5731 + apiVersion: 5732 + description: API version of the referent 5733 + type: string 5734 + filter: 5735 + description: |- 5736 + Filter is a CEL expression expected to return a boolean that is evaluated 5737 + for each resource matched by this reference when a webhook is received, 5738 + in addition to the top-level resourceFilter. A reconciliation is requested 5739 + only when both expressions (when set) return true. 5740 + The expression can read the resource metadata via 'res' and the webhook 5741 + request body via 'req'. For generic-oidc receivers, the verified OIDC 5742 + token claims are also available via 'claims'. 5743 + When the expression is specified the controller will parse it and mark 5744 + the object as terminally failed if the expression is invalid or does not 5745 + return a boolean. 5746 + type: string 5747 + kind: 5748 + description: Kind of the referent 5749 + enum: 5750 + - Bucket 5751 + - GitRepository 5752 + - Kustomization 5753 + - HelmRelease 5754 + - HelmChart 5755 + - HelmRepository 5756 + - ImageRepository 5757 + - ImagePolicy 5758 + - ImageUpdateAutomation 5759 + - OCIRepository 5760 + - ArtifactGenerator 5761 + - ExternalArtifact 5762 + type: string 5763 + matchLabels: 5764 + additionalProperties: 5765 + type: string 5766 + description: |- 5767 + MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 5768 + map is equivalent to an element of matchExpressions, whose key field is "key", the 5769 + operator is "In", and the values array contains only "value". The requirements are ANDed. 5770 + MatchLabels requires the name to be set to `*`. 5771 + type: object 6058 5772 name: 6059 - description: Name of the referent. 5773 + description: |- 5774 + Name of the referent 5775 + If multiple resources are targeted `*` may be set. 5776 + maxLength: 253 5777 + minLength: 1 5778 + type: string 5779 + namespace: 5780 + description: Namespace of the referent 5781 + maxLength: 253 5782 + minLength: 1 6060 5783 type: string 6061 5784 required: 6062 - - name 5785 + - kind 5786 + - name 6063 5787 type: object 6064 - suspend: 6065 - description: |- 6066 - Suspend tells the controller to suspend subsequent 6067 - events handling for this receiver. 6068 - type: boolean 6069 - type: 6070 - description: |- 6071 - Type of webhook sender, used to determine 6072 - the validation procedure and payload deserialization. 6073 - enum: 6074 - - generic 6075 - - generic-hmac 6076 - - github 6077 - - gitlab 6078 - - bitbucket 6079 - - harbor 6080 - - dockerhub 6081 - - quay 6082 - - gcr 6083 - - nexus 6084 - - acr 6085 - - cdevents 6086 - type: string 6087 - required: 6088 - - resources 6089 - - secretRef 6090 - - type 6091 - type: object 6092 - status: 6093 - default: 6094 - observedGeneration: -1 6095 - description: ReceiverStatus defines the observed state of the Receiver. 6096 - properties: 6097 - conditions: 6098 - description: Conditions holds the conditions for the Receiver. 6099 - items: 6100 - description: 6101 - Condition contains details for one aspect of the current 6102 - state of this API Resource. 6103 - properties: 6104 - lastTransitionTime: 6105 - description: |- 6106 - lastTransitionTime is the last time the condition transitioned from one status to another. 6107 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 6108 - format: date-time 6109 - type: string 6110 - message: 6111 - description: |- 6112 - message is a human readable message indicating details about the transition. 6113 - This may be an empty string. 6114 - maxLength: 32768 6115 - type: string 6116 - observedGeneration: 6117 - description: |- 6118 - observedGeneration represents the .metadata.generation that the condition was set based upon. 6119 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 6120 - with respect to the current state of the instance. 6121 - format: int64 6122 - minimum: 0 6123 - type: integer 6124 - reason: 6125 - description: |- 6126 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 6127 - Producers of specific condition types may define expected values and meanings for this field, 6128 - and whether the values are considered a guaranteed API. 6129 - The value should be a CamelCase string. 6130 - This field may not be empty. 6131 - maxLength: 1024 6132 - minLength: 1 6133 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 6134 - type: string 6135 - status: 6136 - description: status of the condition, one of True, False, Unknown. 6137 - enum: 6138 - - "True" 6139 - - "False" 6140 - - Unknown 6141 - type: string 6142 - type: 6143 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 6144 - maxLength: 316 6145 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 6146 - type: string 6147 - required: 6148 - - lastTransitionTime 6149 - - message 6150 - - reason 6151 - - status 6152 - - type 6153 - type: object 6154 - type: array 6155 - lastHandledReconcileAt: 6156 - description: |- 6157 - LastHandledReconcileAt holds the value of the most recent 6158 - reconcile request value, so a change of the annotation value 6159 - can be detected. 6160 - type: string 6161 - observedGeneration: 6162 - description: 6163 - ObservedGeneration is the last observed generation of 6164 - the Receiver object. 6165 - format: int64 6166 - type: integer 6167 - webhookPath: 6168 - description: |- 6169 - WebhookPath is the generated incoming webhook address in the format 6170 - of '/hook/sha256sum(token+name+namespace)'. 6171 - type: string 6172 - type: object 6173 - type: object 6174 - served: true 6175 - storage: true 6176 - subresources: 6177 - status: {} 6178 - - additionalPrinterColumns: 6179 - - jsonPath: .metadata.creationTimestamp 6180 - name: Age 6181 - type: date 6182 - - jsonPath: .status.conditions[?(@.type=="Ready")].status 6183 - name: Ready 6184 - type: string 6185 - - jsonPath: .status.conditions[?(@.type=="Ready")].message 6186 - name: Status 6187 - type: string 6188 - deprecated: true 6189 - deprecationWarning: v1beta2 Receiver is deprecated, upgrade to v1 6190 - name: v1beta2 6191 - schema: 6192 - openAPIV3Schema: 6193 - description: Receiver is the Schema for the receivers API. 6194 - properties: 6195 - apiVersion: 6196 - description: |- 6197 - APIVersion defines the versioned schema of this representation of an object. 6198 - Servers should convert recognized schemas to the latest internal value, and 6199 - may reject unrecognized values. 6200 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 6201 - type: string 6202 - kind: 6203 - description: |- 6204 - Kind is a string value representing the REST resource this object represents. 6205 - Servers may infer this from the endpoint the client submits requests to. 6206 - Cannot be updated. 6207 - In CamelCase. 6208 - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 6209 - type: string 6210 - metadata: 6211 - type: object 6212 - spec: 6213 - description: ReceiverSpec defines the desired state of the Receiver. 6214 - properties: 6215 - events: 6216 - description: |- 6217 - Events specifies the list of event types to handle, 6218 - e.g. 'push' for GitHub or 'Push Hook' for GitLab. 6219 - items: 5788 + type: array 5789 + secretRef: 5790 + description: |- 5791 + SecretRef specifies the Secret containing the token used 5792 + to validate the payload authenticity. The Secret must contain a 'token' 5793 + key. For GCR receivers, the Secret must also contain an 'email' key 5794 + with the IAM service account email configured on the Pub/Sub push 5795 + subscription, and an 'audience' key with the expected OIDC token audience. 5796 + 5797 + Required for all receiver types except 'generic-oidc', which authenticates 5798 + requests using the OIDC token instead and must not set this field. 5799 + properties: 5800 + name: 5801 + description: Name of the referent. 6220 5802 type: string 6221 - type: array 6222 - interval: 6223 - description: 6224 - Interval at which to reconcile the Receiver with its 6225 - Secret references. 6226 - pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ 6227 - type: string 6228 - resources: 6229 - description: A list of resources to be notified about changes. 6230 - items: 6231 - description: |- 6232 - CrossNamespaceObjectReference contains enough information to let you locate the 6233 - typed referenced object at cluster level 6234 - properties: 6235 - apiVersion: 6236 - description: API version of the referent 6237 - type: string 6238 - kind: 6239 - description: Kind of the referent 6240 - enum: 6241 - - Bucket 6242 - - GitRepository 6243 - - Kustomization 6244 - - HelmRelease 6245 - - HelmChart 6246 - - HelmRepository 6247 - - ImageRepository 6248 - - ImagePolicy 6249 - - ImageUpdateAutomation 6250 - - OCIRepository 6251 - - ArtifactGenerator 6252 - - ExternalArtifact 6253 - type: string 6254 - matchLabels: 6255 - additionalProperties: 6256 - type: string 6257 - description: |- 6258 - MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 6259 - map is equivalent to an element of matchExpressions, whose key field is "key", the 6260 - operator is "In", and the values array contains only "value". The requirements are ANDed. 6261 - MatchLabels requires the name to be set to `*`. 6262 - type: object 6263 - name: 6264 - description: |- 6265 - Name of the referent 6266 - If multiple resources are targeted `*` may be set. 6267 - maxLength: 253 6268 - minLength: 1 6269 - type: string 6270 - namespace: 6271 - description: Namespace of the referent 6272 - maxLength: 253 6273 - minLength: 1 6274 - type: string 6275 - required: 6276 - - kind 6277 - - name 6278 - type: object 6279 - type: array 6280 - secretRef: 6281 - description: |- 6282 - SecretRef specifies the Secret containing the token used 6283 - to validate the payload authenticity. 5803 + required: 5804 + - name 5805 + type: object 5806 + suspend: 5807 + description: |- 5808 + Suspend tells the controller to suspend subsequent 5809 + events handling for this receiver. 5810 + type: boolean 5811 + type: 5812 + description: |- 5813 + Type of webhook sender, used to determine 5814 + the validation procedure and payload deserialization. 5815 + enum: 5816 + - generic 5817 + - generic-hmac 5818 + - generic-oidc 5819 + - github 5820 + - gitlab 5821 + - bitbucket 5822 + - harbor 5823 + - dockerhub 5824 + - quay 5825 + - gcr 5826 + - nexus 5827 + - acr 5828 + - cdevents 5829 + type: string 5830 + required: 5831 + - resources 5832 + - type 5833 + type: object 5834 + x-kubernetes-validations: 5835 + - message: generic-oidc receivers must define at least one oidcProvider 5836 + rule: self.type != 'generic-oidc' || (has(self.oidcProviders) && size(self.oidcProviders) 5837 + > 0) 5838 + - message: oidcProviders can only be set when type is generic-oidc 5839 + rule: self.type == 'generic-oidc' || !has(self.oidcProviders) || size(self.oidcProviders) 5840 + == 0 5841 + - message: secretRef cannot be set when type is generic-oidc 5842 + rule: self.type != 'generic-oidc' || !has(self.secretRef) 5843 + - message: secretRef is required when type is not generic-oidc 5844 + rule: self.type == 'generic-oidc' || has(self.secretRef) 5845 + status: 5846 + default: 5847 + observedGeneration: -1 5848 + description: ReceiverStatus defines the observed state of the Receiver. 5849 + properties: 5850 + conditions: 5851 + description: Conditions holds the conditions for the Receiver. 5852 + items: 5853 + description: Condition contains details for one aspect of the current 5854 + state of this API Resource. 6284 5855 properties: 6285 - name: 6286 - description: Name of the referent. 5856 + lastTransitionTime: 5857 + description: |- 5858 + lastTransitionTime is the last time the condition transitioned from one status to another. 5859 + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 5860 + format: date-time 5861 + type: string 5862 + message: 5863 + description: |- 5864 + message is a human readable message indicating details about the transition. 5865 + This may be an empty string. 5866 + maxLength: 32768 5867 + type: string 5868 + observedGeneration: 5869 + description: |- 5870 + observedGeneration represents the .metadata.generation that the condition was set based upon. 5871 + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 5872 + with respect to the current state of the instance. 5873 + format: int64 5874 + minimum: 0 5875 + type: integer 5876 + reason: 5877 + description: |- 5878 + reason contains a programmatic identifier indicating the reason for the condition's last transition. 5879 + Producers of specific condition types may define expected values and meanings for this field, 5880 + and whether the values are considered a guaranteed API. 5881 + The value should be a CamelCase string. 5882 + This field may not be empty. 5883 + maxLength: 1024 5884 + minLength: 1 5885 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 5886 + type: string 5887 + status: 5888 + description: status of the condition, one of True, False, Unknown. 5889 + enum: 5890 + - "True" 5891 + - "False" 5892 + - Unknown 5893 + type: string 5894 + type: 5895 + description: type of condition in CamelCase or in foo.example.com/CamelCase. 5896 + maxLength: 316 5897 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 6287 5898 type: string 6288 5899 required: 6289 - - name 5900 + - lastTransitionTime 5901 + - message 5902 + - reason 5903 + - status 5904 + - type 6290 5905 type: object 6291 - suspend: 6292 - description: |- 6293 - Suspend tells the controller to suspend subsequent 6294 - events handling for this receiver. 6295 - type: boolean 6296 - type: 6297 - description: |- 6298 - Type of webhook sender, used to determine 6299 - the validation procedure and payload deserialization. 6300 - enum: 6301 - - generic 6302 - - generic-hmac 6303 - - github 6304 - - gitlab 6305 - - bitbucket 6306 - - harbor 6307 - - dockerhub 6308 - - quay 6309 - - gcr 6310 - - nexus 6311 - - acr 6312 - type: string 6313 - required: 6314 - - resources 6315 - - secretRef 6316 - - type 6317 - type: object 6318 - status: 6319 - default: 6320 - observedGeneration: -1 6321 - description: ReceiverStatus defines the observed state of the Receiver. 6322 - properties: 6323 - conditions: 6324 - description: Conditions holds the conditions for the Receiver. 6325 - items: 6326 - description: 6327 - Condition contains details for one aspect of the current 6328 - state of this API Resource. 6329 - properties: 6330 - lastTransitionTime: 6331 - description: |- 6332 - lastTransitionTime is the last time the condition transitioned from one status to another. 6333 - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 6334 - format: date-time 6335 - type: string 6336 - message: 6337 - description: |- 6338 - message is a human readable message indicating details about the transition. 6339 - This may be an empty string. 6340 - maxLength: 32768 6341 - type: string 6342 - observedGeneration: 6343 - description: |- 6344 - observedGeneration represents the .metadata.generation that the condition was set based upon. 6345 - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 6346 - with respect to the current state of the instance. 6347 - format: int64 6348 - minimum: 0 6349 - type: integer 6350 - reason: 6351 - description: |- 6352 - reason contains a programmatic identifier indicating the reason for the condition's last transition. 6353 - Producers of specific condition types may define expected values and meanings for this field, 6354 - and whether the values are considered a guaranteed API. 6355 - The value should be a CamelCase string. 6356 - This field may not be empty. 6357 - maxLength: 1024 6358 - minLength: 1 6359 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 6360 - type: string 6361 - status: 6362 - description: status of the condition, one of True, False, Unknown. 6363 - enum: 6364 - - "True" 6365 - - "False" 6366 - - Unknown 6367 - type: string 6368 - type: 6369 - description: type of condition in CamelCase or in foo.example.com/CamelCase. 6370 - maxLength: 316 6371 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 6372 - type: string 6373 - required: 6374 - - lastTransitionTime 6375 - - message 6376 - - reason 6377 - - status 6378 - - type 6379 - type: object 6380 - type: array 6381 - lastHandledReconcileAt: 6382 - description: |- 6383 - LastHandledReconcileAt holds the value of the most recent 6384 - reconcile request value, so a change of the annotation value 6385 - can be detected. 6386 - type: string 6387 - observedGeneration: 6388 - description: 6389 - ObservedGeneration is the last observed generation of 6390 - the Receiver object. 6391 - format: int64 6392 - type: integer 6393 - url: 6394 - description: |- 6395 - URL is the generated incoming webhook address in the format 6396 - of '/hook/sha256sum(token+name+namespace)'. 6397 - Deprecated: Replaced by WebhookPath. 6398 - type: string 6399 - webhookPath: 6400 - description: |- 6401 - WebhookPath is the generated incoming webhook address in the format 6402 - of '/hook/sha256sum(token+name+namespace)'. 6403 - type: string 6404 - type: object 6405 - type: object 6406 - served: true 6407 - storage: false 6408 - subresources: 6409 - status: {} 5906 + type: array 5907 + lastHandledReconcileAt: 5908 + description: |- 5909 + LastHandledReconcileAt holds the value of the most recent 5910 + reconcile request value, so a change of the annotation value 5911 + can be detected. 5912 + type: string 5913 + observedGeneration: 5914 + description: ObservedGeneration is the last observed generation of 5915 + the Receiver object. 5916 + format: int64 5917 + type: integer 5918 + webhookPath: 5919 + description: |- 5920 + WebhookPath is the generated incoming webhook address in the format 5921 + of '/hook/sha256sum(token+name+namespace)'. 5922 + type: string 5923 + type: object 5924 + type: object 5925 + served: true 5926 + storage: true 5927 + subresources: 5928 + status: {} 6410 5929 --- 6411 5930 apiVersion: v1 6412 5931 kind: ServiceAccount ··· 6415 5934 app.kubernetes.io/component: notification-controller 6416 5935 app.kubernetes.io/instance: flux-system 6417 5936 app.kubernetes.io/part-of: flux 6418 - app.kubernetes.io/version: v2.8.8 5937 + app.kubernetes.io/version: v2.9.0 6419 5938 name: notification-controller 6420 5939 namespace: flux-system 6421 5940 --- ··· 6426 5945 app.kubernetes.io/component: notification-controller 6427 5946 app.kubernetes.io/instance: flux-system 6428 5947 app.kubernetes.io/part-of: flux 6429 - app.kubernetes.io/version: v2.8.8 5948 + app.kubernetes.io/version: v2.9.0 6430 5949 control-plane: controller 6431 5950 name: notification-controller 6432 5951 namespace: flux-system 6433 5952 spec: 6434 5953 ports: 6435 - - name: http 6436 - port: 80 6437 - protocol: TCP 6438 - targetPort: http 5954 + - name: http 5955 + port: 80 5956 + protocol: TCP 5957 + targetPort: http 6439 5958 selector: 6440 5959 app: notification-controller 6441 5960 type: ClusterIP ··· 6447 5966 app.kubernetes.io/component: notification-controller 6448 5967 app.kubernetes.io/instance: flux-system 6449 5968 app.kubernetes.io/part-of: flux 6450 - app.kubernetes.io/version: v2.8.8 5969 + app.kubernetes.io/version: v2.9.0 6451 5970 control-plane: controller 6452 5971 name: webhook-receiver 6453 5972 namespace: flux-system 6454 5973 spec: 6455 5974 ports: 6456 - - name: http 6457 - port: 80 6458 - protocol: TCP 6459 - targetPort: http-webhook 5975 + - name: http 5976 + port: 80 5977 + protocol: TCP 5978 + targetPort: http-webhook 6460 5979 selector: 6461 5980 app: notification-controller 6462 5981 type: ClusterIP ··· 6468 5987 app.kubernetes.io/component: notification-controller 6469 5988 app.kubernetes.io/instance: flux-system 6470 5989 app.kubernetes.io/part-of: flux 6471 - app.kubernetes.io/version: v2.8.8 5990 + app.kubernetes.io/version: v2.9.0 6472 5991 control-plane: controller 6473 5992 name: notification-controller 6474 5993 namespace: flux-system ··· 6487 6006 app.kubernetes.io/component: notification-controller 6488 6007 app.kubernetes.io/instance: flux-system 6489 6008 app.kubernetes.io/part-of: flux 6490 - app.kubernetes.io/version: v2.8.8 6009 + app.kubernetes.io/version: v2.9.0 6491 6010 spec: 6492 6011 containers: 6493 - - args: 6494 - - --watch-all-namespaces=true 6495 - - --log-level=info 6496 - - --log-encoding=json 6497 - - --enable-leader-election 6498 - env: 6499 - - name: RUNTIME_NAMESPACE 6500 - valueFrom: 6501 - fieldRef: 6502 - fieldPath: metadata.namespace 6503 - - name: GOMEMLIMIT 6504 - valueFrom: 6505 - resourceFieldRef: 6506 - containerName: manager 6507 - resource: limits.memory 6508 - image: ghcr.io/fluxcd/notification-controller:v1.8.4 6509 - imagePullPolicy: IfNotPresent 6510 - livenessProbe: 6511 - httpGet: 6512 - path: /healthz 6513 - port: healthz 6514 - name: manager 6515 - ports: 6516 - - containerPort: 9090 6517 - name: http 6518 - protocol: TCP 6519 - - containerPort: 9292 6520 - name: http-webhook 6521 - protocol: TCP 6522 - - containerPort: 8080 6523 - name: http-prom 6524 - protocol: TCP 6525 - - containerPort: 9440 6526 - name: healthz 6527 - protocol: TCP 6528 - readinessProbe: 6529 - httpGet: 6530 - path: /readyz 6531 - port: healthz 6532 - resources: 6533 - limits: 6534 - cpu: 1000m 6535 - memory: 1Gi 6536 - requests: 6537 - cpu: 100m 6538 - memory: 64Mi 6539 - securityContext: 6540 - allowPrivilegeEscalation: false 6541 - capabilities: 6542 - drop: 6543 - - ALL 6544 - readOnlyRootFilesystem: true 6545 - runAsNonRoot: true 6546 - seccompProfile: 6547 - type: RuntimeDefault 6548 - volumeMounts: 6549 - - mountPath: /tmp 6550 - name: temp 6012 + - args: 6013 + - --watch-all-namespaces=true 6014 + - --log-level=info 6015 + - --log-encoding=json 6016 + - --enable-leader-election 6017 + env: 6018 + - name: RUNTIME_NAMESPACE 6019 + valueFrom: 6020 + fieldRef: 6021 + fieldPath: metadata.namespace 6022 + - name: GOMEMLIMIT 6023 + valueFrom: 6024 + resourceFieldRef: 6025 + containerName: manager 6026 + resource: limits.memory 6027 + image: ghcr.io/fluxcd/notification-controller:v1.9.1 6028 + imagePullPolicy: IfNotPresent 6029 + livenessProbe: 6030 + httpGet: 6031 + path: /healthz 6032 + port: healthz 6033 + name: manager 6034 + ports: 6035 + - containerPort: 9090 6036 + name: http 6037 + protocol: TCP 6038 + - containerPort: 9292 6039 + name: http-webhook 6040 + protocol: TCP 6041 + - containerPort: 8080 6042 + name: http-prom 6043 + protocol: TCP 6044 + - containerPort: 9440 6045 + name: healthz 6046 + protocol: TCP 6047 + readinessProbe: 6048 + httpGet: 6049 + path: /readyz 6050 + port: healthz 6051 + resources: 6052 + limits: 6053 + cpu: 1000m 6054 + memory: 1Gi 6055 + requests: 6056 + cpu: 100m 6057 + memory: 64Mi 6058 + securityContext: 6059 + allowPrivilegeEscalation: false 6060 + capabilities: 6061 + drop: 6062 + - ALL 6063 + readOnlyRootFilesystem: true 6064 + runAsNonRoot: true 6065 + seccompProfile: 6066 + type: RuntimeDefault 6067 + volumeMounts: 6068 + - mountPath: /tmp 6069 + name: temp 6551 6070 nodeSelector: 6552 6071 kubernetes.io/os: linux 6553 6072 securityContext: ··· 6555 6074 serviceAccountName: notification-controller 6556 6075 terminationGracePeriodSeconds: 10 6557 6076 volumes: 6558 - - emptyDir: {} 6559 - name: temp 6077 + - emptyDir: {} 6078 + name: temp