diff --git a/crd-catalog/3scale/3scale-operator/apps.3scale.net/v1alpha1/apimanagers.yaml b/crd-catalog/3scale/3scale-operator/apps.3scale.net/v1alpha1/apimanagers.yaml index c2c3b247b..81e371232 100644 --- a/crd-catalog/3scale/3scale-operator/apps.3scale.net/v1alpha1/apimanagers.yaml +++ b/crd-catalog/3scale/3scale-operator/apps.3scale.net/v1alpha1/apimanagers.yaml @@ -560,6 +560,9 @@ spec: - "version" type: "object" type: "array" + hpa: + description: "Hpa specifies an array of defined HPA values" + type: "boolean" httpProxy: description: "HTTPProxy specifies a HTTP(S) Proxy to be used for connecting to HTTP services. Authentication is not supported. Format is ://:" type: "string" @@ -2535,6 +2538,9 @@ spec: additionalProperties: type: "string" type: "object" + hpa: + description: "Hpa specifies an array of defined HPA values" + type: "boolean" labels: additionalProperties: type: "string" @@ -3710,6 +3716,9 @@ spec: additionalProperties: type: "string" type: "object" + hpa: + description: "Hpa specifies an array of defined HPA values" + type: "boolean" labels: additionalProperties: type: "string" @@ -3857,8 +3866,6 @@ spec: type: "object" x-kubernetes-map-type: "atomic" type: "array" - imageStreamTagImportInsecure: - type: "boolean" monitoring: properties: enablePrometheusRules: @@ -10537,7 +10544,7 @@ spec: type: "object" type: "array" deployments: - description: "APIManager Deployment Configs" + description: "APIManager Deployments" properties: ready: description: "Deployments are ready to serve requests" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmagents.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmagents.yaml index 96b878964..1cc09815c 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmagents.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmagents.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmagents.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -29,13 +29,13 @@ spec: name: "v1beta1" schema: openAPIV3Schema: - description: "VMAgent - is a tiny but brave agent, which helps you collect metrics from various sources and stores them in VictoriaMetrics or any other Prometheus-compatible storage system that supports the remote_write protocol." + description: "VMAgent - is a tiny but brave agent, which helps you collect metrics from various sources and stores them in VictoriaMetrics\nor any other Prometheus-compatible storage system that supports the remote_write protocol." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -46,7 +46,7 @@ spec: description: "ParsingError contents error with context if operator was failed to parse json object from kubernetes api server" type: "string" aPIServerConfig: - description: "APIServerConfig allows specifying a host and auth methods to access apiserver. If left empty, VMAgent is assumed to run inside of the cluster and will discover API servers automatically and use the pod's CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/." + description: "APIServerConfig allows specifying a host and auth methods to access apiserver.\nIf left empty, VMAgent is assumed to run inside of the cluster\nand will discover API servers automatically and use the pod's CA certificate\nand bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/." properties: authorization: description: "Authorization configures generic authorization params" @@ -58,7 +58,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -78,13 +78,13 @@ spec: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -97,13 +97,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -120,7 +120,7 @@ spec: description: "File to read bearer token for accessing apiserver." type: "string" host: - description: "Host of apiserver. A valid string consisting of a hostname or IP followed by an optional port number" + description: "Host of apiserver.\nA valid string consisting of a hostname or IP followed by an optional port number" type: "string" tlsConfig: description: "TLSConfig Config to use for accessing apiserver." @@ -135,7 +135,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -151,7 +151,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -174,7 +174,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -190,7 +190,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -216,7 +216,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -233,13 +233,13 @@ spec: - "host" type: "object" additionalScrapeConfigs: - description: "AdditionalScrapeConfigs As scrape configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility to break upgrades of VMAgent. It is advised to review VMAgent release notes to ensure that no incompatible scrape configs are going to break VMAgent after the upgrade." + description: "AdditionalScrapeConfigs As scrape configs are appended, the user is responsible to make sure it\nis valid. Note that using this feature may expose the possibility to\nbreak upgrades of VMAgent. It is advised to review VMAgent release\nnotes to ensure that no incompatible scrape configs are going to break\nVMAgent after the upgrade." properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -253,7 +253,7 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true arbitraryFSAccessThroughSMs: - description: "ArbitraryFSAccessThroughSMs configures whether configuration based on a service scrape can access arbitrary files on the file system of the VMAgent container e.g. bearer token files." + description: "ArbitraryFSAccessThroughSMs configures whether configuration\nbased on a service scrape can access arbitrary files on the file system\nof the VMAgent container e.g. bearer token files." properties: deny: type: "boolean" @@ -264,28 +264,28 @@ spec: description: "PersistentVolumeClaim is a user's request for and claim to a persistent volume" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: - description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + description: "Standard object's metadata.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" type: "object" x-kubernetes-preserve-unknown-fields: true spec: - description: "spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -299,10 +299,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -310,14 +310,31 @@ spec: name: description: "Name is the name of resource being referenced" type: "string" + namespace: + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + type: "string" required: - "kind" - "name" type: "object" - x-kubernetes-map-type: "atomic" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -325,7 +342,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -334,7 +351,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -343,16 +360,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -364,25 +381,25 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." type: "string" type: "object" status: - description: "status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "status represents the current information/status of a persistent volume claim.\nRead-only.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the actual access modes the volume backing the PVC has.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" @@ -393,7 +410,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may\nbe larger than the actual capacity when a volume expansion operation is requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "object" capacity: additionalProperties: @@ -405,9 +422,9 @@ spec: description: "capacity represents the actual resources of the underlying volume." type: "object" conditions: - description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'." + description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being\nresized then the Condition will be set to 'ResizeStarted'." items: - description: "PersistentVolumeClaimCondition contails details about state of pvc" + description: "PersistentVolumeClaimCondition contains details about state of pvc" properties: lastProbeTime: description: "lastProbeTime is the time we probed the condition." @@ -421,7 +438,7 @@ spec: description: "message is the human-readable message indicating details about last transition." type: "string" reason: - description: "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized." + description: "reason is a unique, this should be a short, machine understandable string that gives the reason\nfor condition's last transition. If it reports \"ResizeStarted\" that means the underlying\npersistent volume is being resized." type: "string" status: type: "string" @@ -437,18 +454,18 @@ spec: description: "phase represents the current phase of PersistentVolumeClaim." type: "string" resizeStatus: - description: "resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "resizeStatus stores status of resize operation.\nResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty\nstring by resize controller or kubelet.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "string" type: "object" type: "object" type: "array" configMaps: - description: "ConfigMaps is a list of ConfigMaps in the same namespace as the vmagent object, which shall be mounted into the vmagent Pods. will be mounted at path /etc/vm/configs" + description: "ConfigMaps is a list of ConfigMaps in the same namespace as the vmagent\nobject, which shall be mounted into the vmagent Pods.\nwill be mounted at path /etc/vm/configs" items: type: "string" type: "array" containers: - description: "Containers property allows to inject additions sidecars or to patch existing containers. It can be useful for proxies, backup, etc." + description: "Containers property allows to inject additions sidecars or to patch existing containers.\nIt can be useful for proxies, backup, etc." items: description: "A single application container that you want to run within a pod." required: @@ -457,17 +474,17 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" dnsConfig: - description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy." + description: "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy." items: x-kubernetes-preserve-unknown-fields: true properties: nameservers: - description: "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed." + description: "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed." items: type: "string" type: "array" options: - description: "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy." + description: "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy." items: description: "PodDNSConfigOption defines DNS resolver options of a pod." properties: @@ -479,7 +496,7 @@ spec: type: "object" type: "array" searches: - description: "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed." + description: "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed." items: type: "string" type: "array" @@ -488,17 +505,17 @@ spec: description: "DNSPolicy set DNS policy for the pod" type: "string" enforcedNamespaceLabel: - description: "EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric that is user created. The label value will always be the namespace of the object that is being created." + description: "EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert\nand metric that is user created. The label value will always be the namespace of the object that is\nbeing created." type: "string" externalLabels: additionalProperties: type: "string" - description: "ExternalLabels The labels to add to any time series scraped by vmagent. it doesn't affect metrics ingested directly by push API's" + description: "ExternalLabels The labels to add to any time series scraped by vmagent.\nit doesn't affect metrics ingested directly by push API's" type: "object" extraArgs: additionalProperties: type: "string" - description: "ExtraArgs that will be passed to VMAgent pod for example remoteWrite.tmpDataPath: /tmp it would be converted to flag --remoteWrite.tmpDataPath=/tmp" + description: "ExtraArgs that will be passed to VMAgent pod\nfor example remoteWrite.tmpDataPath: /tmp\nit would be converted to flag --remoteWrite.tmpDataPath=/tmp" type: "object" extraEnvs: description: "ExtraEnvs that will be added to VMAgent pod" @@ -509,7 +526,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" required: - "name" @@ -520,9 +537,9 @@ spec: description: "HostNetwork controls whether the pod may use the node network namespace" type: "boolean" host_aliases: - description: "HostAliases provides mapping between ip and hostnames, that would be propagated to pod, cannot be used with HostNetwork." + description: "HostAliases provides mapping between ip and hostnames,\nthat would be propagated to pod,\ncannot be used with HostNetwork." items: - description: "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file." + description: "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's hosts file." properties: hostnames: description: "Hostnames for the above IP address." @@ -535,10 +552,10 @@ spec: type: "object" type: "array" ignoreNamespaceSelectors: - description: "IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from the podscrape and vmservicescrape configs, and they will only discover endpoints within their current namespace. Defaults to false." + description: "IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from\nthe podscrape and vmservicescrape configs, and they will only discover endpoints\nwithin their current namespace. Defaults to false." type: "boolean" image: - description: "Image - docker image settings for VMAgent if no specified operator uses default config version" + description: "Image - docker image settings for VMAgent\nif no specified operator uses default config version" properties: pullPolicy: description: "PullPolicy describes how to pull docker image" @@ -551,18 +568,21 @@ spec: type: "string" type: "object" imagePullSecrets: - description: "ImagePullSecrets An optional list of references to secrets in the same namespace to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" + description: "ImagePullSecrets An optional list of references to secrets in the same namespace\nto use for pulling images from registries\nsee https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" items: - description: "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace." + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" type: "array" + ingestOnlyMode: + description: "IngestOnlyMode switches vmagent into unmanaged mode\nit disables any config generation for scraping\nCurrently it prevents vmagent from managing tls and auth options for remote write" + type: "boolean" initContainers: - description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the vmagent configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ Using initContainers for any use case other then secret fetching is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice." + description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.\nfetch secrets for injection into the vmagent configuration from external sources. Any\nerrors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/\nUsing initContainers for any use case other then secret fetching is entirely outside the scope\nof what the maintainers will support and by doing so, you accept that this behaviour may break\nat any time without notice." items: description: "A single application container that you want to run within a pod." required: @@ -573,7 +593,7 @@ spec: inlineRelabelConfig: description: "InlineRelabelConfig - defines GlobalRelabelConfig for vmagent, can be defined directly at CRD." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -597,31 +617,31 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" inlineScrapeConfig: - description: "InlineScrapeConfig As scrape configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility to break upgrades of VMAgent. It is advised to review VMAgent release notes to ensure that no incompatible scrape configs are going to break VMAgent after the upgrade. it should be defined as single yaml file. inlineScrapeConfig: | - job_name: \"prometheus\" static_configs: - targets: [\"localhost:9090\"]" + description: "InlineScrapeConfig As scrape configs are appended, the user is responsible to make sure it\nis valid. Note that using this feature may expose the possibility to\nbreak upgrades of VMAgent. It is advised to review VMAgent release\nnotes to ensure that no incompatible scrape configs are going to break\nVMAgent after the upgrade.\nit should be defined as single yaml file.\ninlineScrapeConfig: |\n - job_name: \"prometheus\"\n static_configs:\n - targets: [\"localhost:9090\"]" type: "string" insertPorts: description: "InsertPorts - additional listen ports for data ingestion." @@ -640,10 +660,10 @@ spec: type: "string" type: "object" license: - description: "License allows to configure license key to be used for enterprise features. Using license key is supported starting from VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html" + description: "License allows to configure license key to be used for enterprise features.\nUsing license key is supported starting from VictoriaMetrics v1.94.0.\nSee: https://docs.victoriametrics.com/enterprise.html" properties: key: - description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" + description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise.\nDocumentation - https://docs.victoriametrics.com/enterprise.html\nfor more information, visit https://victoriametrics.com/products/enterprise/ .\nTo request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" type: "string" keyRef: description: "KeyRef is reference to secret with license key for enterprise features." @@ -652,7 +672,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -673,7 +693,7 @@ spec: - "json" type: "string" logLevel: - description: "LogLevel for VMAgent to be configured with. INFO, WARN, ERROR, FATAL, PANIC" + description: "LogLevel for VMAgent to be configured with.\nINFO, WARN, ERROR, FATAL, PANIC" enum: - "INFO" - "WARN" @@ -682,31 +702,31 @@ spec: - "PANIC" type: "string" maxScrapeInterval: - description: "MaxScrapeInterval allows limiting maximum scrape interval for VMServiceScrape, VMPodScrape and other scrapes If interval is higher than defined limit, `maxScrapeInterval` will be used." + description: "MaxScrapeInterval allows limiting maximum scrape interval for VMServiceScrape, VMPodScrape and other scrapes\nIf interval is higher than defined limit, `maxScrapeInterval` will be used." type: "string" minReadySeconds: - description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod if previous in healthy state" + description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod\nif previous in healthy state" format: "int32" type: "integer" minScrapeInterval: - description: "MinScrapeInterval allows limiting minimal scrape interval for VMServiceScrape, VMPodScrape and other scrapes If interval is lower than defined limit, `minScrapeInterval` will be used." + description: "MinScrapeInterval allows limiting minimal scrape interval for VMServiceScrape, VMPodScrape and other scrapes\nIf interval is lower than defined limit, `minScrapeInterval` will be used." type: "string" nodeScrapeNamespaceSelector: - description: "NodeScrapeNamespaceSelector defines Namespaces to be selected for VMNodeScrape discovery. Works in combination with Selector. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "NodeScrapeNamespaceSelector defines Namespaces to be selected for VMNodeScrape discovery.\nWorks in combination with Selector.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -718,14 +738,14 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" nodeScrapeRelabelTemplate: - description: "NodeScrapeRelabelTemplate defines relabel config, that will be added to each VMNodeScrape. it's useful for adding specific labels to all targets" + description: "NodeScrapeRelabelTemplate defines relabel config, that will be added to each VMNodeScrape.\nit's useful for adding specific labels to all targets" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -749,45 +769,45 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" nodeScrapeSelector: - description: "NodeScrapeSelector defines VMNodeScrape to be selected for scraping. Works in combination with NamespaceSelector. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "NodeScrapeSelector defines VMNodeScrape to be selected for scraping.\nWorks in combination with NamespaceSelector.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -799,7 +819,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -809,7 +829,7 @@ spec: description: "NodeSelector Define which Nodes the Pods are scheduled on." type: "object" overrideHonorLabels: - description: "OverrideHonorLabels if set to true overrides all user configured honor_labels. If HonorLabels is set in ServiceScrape or PodScrape to true, this overrides honor_labels to false." + description: "OverrideHonorLabels if set to true overrides all user configured honor_labels.\nIf HonorLabels is set in ServiceScrape or PodScrape to true, this overrides honor_labels to false." type: "boolean" overrideHonorTimestamps: description: "OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs." @@ -821,18 +841,18 @@ spec: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"." + description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\"." x-kubernetes-int-or-string: true minAvailable: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"." + description: "An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod. So for example you can prevent all voluntary\nevictions by specifying \"100%\"." x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: "string" - description: "replaces default labels selector generated by operator it's useful when you need to create custom budget" + description: "replaces default labels selector generated by operator\nit's useful when you need to create custom budget" type: "object" type: "object" podMetadata: @@ -841,33 +861,33 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" podScrapeNamespaceSelector: - description: "PodScrapeNamespaceSelector defines Namespaces to be selected for VMPodScrape discovery. Works in combination with Selector. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "PodScrapeNamespaceSelector defines Namespaces to be selected for VMPodScrape discovery.\nWorks in combination with Selector.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -879,14 +899,14 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" podScrapeRelabelTemplate: - description: "PodScrapeRelabelTemplate defines relabel config, that will be added to each VMPodScrape. it's useful for adding specific labels to all targets" + description: "PodScrapeRelabelTemplate defines relabel config, that will be added to each VMPodScrape.\nit's useful for adding specific labels to all targets" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -910,45 +930,45 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" podScrapeSelector: - description: "PodScrapeSelector defines PodScrapes to be selected for target discovery. Works in combination with NamespaceSelector. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "PodScrapeSelector defines PodScrapes to be selected for target discovery.\nWorks in combination with NamespaceSelector.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -960,12 +980,12 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" podSecurityPolicyName: - description: "PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used." + description: "PodSecurityPolicyName - defines name for podSecurityPolicy\nin case of empty value, prefixedName will be used." type: "string" port: description: "Port listen address" @@ -974,21 +994,21 @@ spec: description: "PriorityClassName assigned to the Pods" type: "string" probeNamespaceSelector: - description: "ProbeNamespaceSelector defines Namespaces to be selected for VMProbe discovery. Works in combination with Selector. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "ProbeNamespaceSelector defines Namespaces to be selected for VMProbe discovery.\nWorks in combination with Selector.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1000,14 +1020,14 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" probeScrapeRelabelTemplate: - description: "ProbeScrapeRelabelTemplate defines relabel config, that will be added to each VMProbeScrape. it's useful for adding specific labels to all targets" + description: "ProbeScrapeRelabelTemplate defines relabel config, that will be added to each VMProbeScrape.\nit's useful for adding specific labels to all targets" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -1031,45 +1051,45 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" probeSelector: - description: "ProbeSelector defines VMProbe to be selected for target probing. Works in combination with NamespaceSelector. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "ProbeSelector defines VMProbe to be selected for target probing.\nWorks in combination with NamespaceSelector.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1081,7 +1101,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -1102,13 +1122,13 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true relabelConfig: - description: "RelabelConfig ConfigMap with global relabel config -remoteWrite.relabelConfig This relabeling is applied to all the collected metrics before sending them to remote storage." + description: "RelabelConfig ConfigMap with global relabel config -remoteWrite.relabelConfig\nThis relabeling is applied to all the collected metrics before sending them to remote storage." properties: key: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1118,7 +1138,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" remoteWrite: - description: "RemoteWrite list of victoria metrics /some other remote write system for vm it must looks like: http://victoria-metrics-single:8429/api/v1/write or for cluster different url https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/app/vmagent#splitting-data-streams-among-multiple-systems" + description: "RemoteWrite list of victoria metrics /some other remote write system\nfor vm it must looks like: http://victoria-metrics-single:8429/api/v1/write\nor for cluster different url\nhttps://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/app/vmagent#splitting-data-streams-among-multiple-systems" items: description: "VMAgentRemoteWriteSpec defines the remote storage configuration for VmAgent" properties: @@ -1126,13 +1146,13 @@ spec: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1145,13 +1165,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1168,7 +1188,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1178,14 +1198,14 @@ spec: type: "object" x-kubernetes-map-type: "atomic" headers: - description: "Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName: headerValue vmagent supports since 1.79.0 version" + description: "Headers allow configuring custom http headers\nMust be in form of semicolon separated header with value\ne.g.\nheaderName: headerValue\nvmagent supports since 1.79.0 version" items: type: "string" type: "array" inlineUrlRelabelConfig: description: "InlineUrlRelabelConfig defines relabeling config for remoteWriteURL, it can be defined at crd spec." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -1209,26 +1229,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -1245,7 +1265,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1261,7 +1281,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1278,7 +1298,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1330,14 +1350,17 @@ spec: description: "StreamAggrRule defines the rule in stream aggregation config" properties: by: - description: "By is an optional list of labels for grouping input series. \n See also Without. \n If neither By nor Without are set, then the Outputs are calculated individually per each input time series." + description: "By is an optional list of labels for grouping input series.\n\n\nSee also Without.\n\n\nIf neither By nor Without are set, then the Outputs are calculated\nindividually per each input time series." items: type: "string" type: "array" + flush_on_shutdown: + description: "FlushOnShutdown defines whether to flush the aggregation state on process termination\nor config reload. Is `false` by default.\nIt is not recommended changing this setting, unless unfinished aggregations states\nare preferred to missing data points." + type: "boolean" input_relabel_configs: - description: "InputRelabelConfigs is an optional relabeling rules, which are applied on the input before aggregation." + description: "InputRelabelConfigs is an optional relabeling rules, which are applied on the input\nbefore aggregation." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -1361,26 +1384,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -1388,12 +1411,12 @@ spec: description: "Interval is the interval between aggregations." type: "string" match: - description: "Match is a label selector (or list of label selectors) for filtering time series for the given selector. \n If the match isn't set, then all the input time series are processed." + description: "Match is a label selector (or list of label selectors) for filtering time series for the given selector.\n\n\nIf the match isn't set, then all the input time series are processed." x-kubernetes-preserve-unknown-fields: true output_relabel_configs: - description: "OutputRelabelConfigs is an optional relabeling rules, which are applied on the aggregated output before being sent to remote storage." + description: "OutputRelabelConfigs is an optional relabeling rules, which are applied\non the aggregated output before being sent to remote storage." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -1417,31 +1440,31 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" outputs: - description: "Outputs is a list of output aggregate functions to produce. \n The following names are allowed: \n - total - aggregates input counters - increase - counts the increase over input counters - count_series - counts the input series - count_samples - counts the input samples - sum_samples - sums the input samples - last - the last biggest sample value - min - the minimum sample value - max - the maximum sample value - avg - the average value across all the samples - stddev - standard deviation across all the samples - stdvar - standard variance across all the samples - histogram_bucket - creates VictoriaMetrics histogram for input samples - quantiles(phi1, ..., phiN) - quantiles' estimation for phi in the range [0..1] \n The output time series will have the following names: \n input_name:aggr__" + description: "Outputs is a list of output aggregate functions to produce.\n\n\nThe following names are allowed:\n\n\n- total - aggregates input counters\n- increase - counts the increase over input counters\n- count_series - counts the input series\n- count_samples - counts the input samples\n- sum_samples - sums the input samples\n- last - the last biggest sample value\n- min - the minimum sample value\n- max - the maximum sample value\n- avg - the average value across all the samples\n- stddev - standard deviation across all the samples\n- stdvar - standard variance across all the samples\n- histogram_bucket - creates VictoriaMetrics histogram for input samples\n- quantiles(phi1, ..., phiN) - quantiles' estimation for phi in the range [0..1]\n\n\nThe output time series will have the following names:\n\n\n input_name:aggr__" items: type: "string" type: "array" @@ -1449,7 +1472,7 @@ spec: description: "StalenessInterval defines an interval after which the series state will be reset if no samples have been sent during it." type: "string" without: - description: "Without is an optional list of labels, which must be excluded when grouping input series. \n See also By. \n If neither By nor Without are set, then the Outputs are calculated individually per each input time series." + description: "Without is an optional list of labels, which must be excluded when grouping input series.\n\n\nSee also By.\n\n\nIf neither By nor Without are set, then the Outputs are calculated\nindividually per each input time series." items: type: "string" type: "array" @@ -1474,7 +1497,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1490,7 +1513,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1513,7 +1536,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1529,7 +1552,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1555,7 +1578,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1578,7 +1601,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1622,16 +1645,31 @@ spec: description: "Path to directory where temporary data for remote write component is stored (default vmagent-remotewrite-data)" type: "string" useMultiTenantMode: - description: "Configures vmagent in multi-tenant mode with direct cluster support docs https://docs.victoriametrics.com/vmagent.html#multitenancy it's global setting and affects all remote storage configurations" + description: "Configures vmagent in multi-tenant mode with direct cluster support\ndocs https://docs.victoriametrics.com/vmagent.html#multitenancy\nit's global setting and affects all remote storage configurations" type: "boolean" type: "object" replicaCount: - description: "ReplicaCount is the expected size of the VMAgent cluster. The controller will eventually make the size of the running cluster equal to the expected size. NOTE enable VMSingle deduplication for replica usage" + description: "ReplicaCount is the expected size of the VMAgent cluster. The controller will\neventually make the size of the running cluster equal to the expected\nsize.\nNOTE enable VMSingle deduplication for replica usage" format: "int32" type: "integer" resources: - description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ if not specified - default setting will be used" + description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/\nif not specified - default setting will be used" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -1639,7 +1677,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -1648,11 +1686,11 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" revisionHistoryLimitCount: - description: "The number of old ReplicaSets to retain to allow rollback in deployment or maximum number of revisions that will be maintained in the StatefulSet's revision history. Defaults to 10." + description: "The number of old ReplicaSets to retain to allow rollback in deployment or\nmaximum number of revisions that will be maintained in the StatefulSet's revision history.\nDefaults to 10." format: "int32" type: "integer" rollingUpdate: @@ -1662,17 +1700,17 @@ spec: anyOf: - type: "integer" - type: "string" - description: "The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods." + description: "The maximum number of pods that can be scheduled above the desired number of\npods.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nThis can not be 0 if MaxUnavailable is 0.\nAbsolute number is calculated from percentage by rounding up.\nDefaults to 25%.\nExample: when this is set to 30%, the new ReplicaSet can be scaled up immediately when\nthe rolling update starts, such that the total number of old and new pods do not exceed\n130% of desired pods. Once old pods have been killed,\nnew ReplicaSet can be scaled up further, ensuring that total number of pods running\nat any time during the update is at most 130% of desired pods." x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: "integer" - type: "string" - description: "The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods." + description: "The maximum number of pods that can be unavailable during the update.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nAbsolute number is calculated from percentage by rounding down.\nThis can not be 0 if MaxSurge is 0.\nDefaults to 25%.\nExample: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods\nimmediately when the rolling update starts. Once new pods are ready, old ReplicaSet\ncan be scaled down further, followed by scaling up the new ReplicaSet, ensuring\nthat the total number of pods available at all times during the update is at\nleast 70% of desired pods." x-kubernetes-int-or-string: true type: "object" runtimeClassName: - description: "RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/" + description: "RuntimeClassName - defines runtime class for kubernetes pod.\nhttps://kubernetes.io/docs/concepts/containers/runtime-class/" type: "string" schedulerName: description: "SchedulerName - defines kubernetes scheduler name" @@ -1686,36 +1724,36 @@ spec: pattern: "[0-9]+(ms|s|m|h)" type: "string" secrets: - description: "Secrets is a list of Secrets in the same namespace as the vmagent object, which shall be mounted into the vmagent Pods. will be mounted at path /etc/vm/secrets" + description: "Secrets is a list of Secrets in the same namespace as the vmagent\nobject, which shall be mounted into the vmagent Pods.\nwill be mounted at path /etc/vm/secrets" items: type: "string" type: "array" securityContext: - description: "SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext." + description: "SecurityContext holds pod-level security attributes and common container settings.\nThis defaults to the default PodSecurityContext." type: "object" x-kubernetes-preserve-unknown-fields: true selectAllByDefault: - description: "SelectAllByDefault changes default behavior for empty CRD selectors, such ServiceScrapeSelector. with selectAllByDefault: true and empty serviceScrapeSelector and ServiceScrapeNamespaceSelector Operator selects all exist serviceScrapes with selectAllByDefault: false - selects nothing" + description: "SelectAllByDefault changes default behavior for empty CRD selectors, such ServiceScrapeSelector.\nwith selectAllByDefault: true and empty serviceScrapeSelector and ServiceScrapeNamespaceSelector\nOperator selects all exist serviceScrapes\nwith selectAllByDefault: false - selects nothing" type: "boolean" serviceAccountName: - description: "ServiceAccountName is the name of the ServiceAccount to use to run the VMAgent Pods." + description: "ServiceAccountName is the name of the ServiceAccount to use to run the\nVMAgent Pods." type: "string" serviceScrapeNamespaceSelector: - description: "ServiceScrapeNamespaceSelector Namespaces to be selected for VMServiceScrape discovery. Works in combination with Selector. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "ServiceScrapeNamespaceSelector Namespaces to be selected for VMServiceScrape discovery.\nWorks in combination with Selector.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1727,14 +1765,14 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" serviceScrapeRelabelTemplate: - description: "ServiceScrapeRelabelTemplate defines relabel config, that will be added to each VMServiceScrape. it's useful for adding specific labels to all targets" + description: "ServiceScrapeRelabelTemplate defines relabel config, that will be added to each VMServiceScrape.\nit's useful for adding specific labels to all targets" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -1758,45 +1796,45 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" serviceScrapeSelector: - description: "ServiceScrapeSelector defines ServiceScrapes to be selected for target discovery. Works in combination with NamespaceSelector. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "ServiceScrapeSelector defines ServiceScrapes to be selected for target discovery.\nWorks in combination with NamespaceSelector.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1808,7 +1846,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -1827,54 +1865,54 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "ServiceSpec describes the attributes that a user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/" + description: "ServiceSpec describes the attributes that a user creates on a service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/" type: "object" x-kubernetes-preserve-unknown-fields: true required: - "spec" type: "object" shardCount: - description: "ShardCount - numbers of shards of VMAgent in this case operator will use 1 deployment/sts per shard with replicas count according to spec.replicas, see https://docs.victoriametrics.com/vmagent.html#scraping-big-number-of-targets" + description: "ShardCount - numbers of shards of VMAgent\nin this case operator will use 1 deployment/sts per shard with\nreplicas count according to spec.replicas,\nsee https://docs.victoriametrics.com/vmagent.html#scraping-big-number-of-targets" type: "integer" startupProbe: description: "StartupProbe that will be added to CRD pod" type: "object" x-kubernetes-preserve-unknown-fields: true statefulMode: - description: "StatefulMode enables StatefulSet for `VMAgent` instead of Deployment it allows using persistent storage for vmagent's persistentQueue" + description: "StatefulMode enables StatefulSet for `VMAgent` instead of Deployment\nit allows using persistent storage for vmagent's persistentQueue" type: "boolean" statefulRollingUpdateStrategy: - description: "StatefulRollingUpdateStrategy allows configuration for strategyType set it to RollingUpdate for disabling operator statefulSet rollingUpdate" + description: "StatefulRollingUpdateStrategy allows configuration for strategyType\nset it to RollingUpdate for disabling operator statefulSet rollingUpdate" type: "string" statefulStorage: description: "StatefulStorage configures storage for StatefulSet" properties: disableMountSubPath: - description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. DisableMountSubPath allows to remove any subPath usage in volume mounts." + description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary.\nDisableMountSubPath allows to remove any subPath usage in volume mounts." type: "boolean" emptyDir: - description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" + description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More\ninfo: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" properties: medium: - description: "medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir" + description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -1882,10 +1920,10 @@ spec: description: "A PVC spec to be used by the VMAlertManager StatefulSets." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: description: "EmbeddedMetadata contains metadata relevant to an EmbeddedResource." @@ -1893,30 +1931,30 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "Spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -1930,10 +1968,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -1941,14 +1979,31 @@ spec: name: description: "Name is the name of resource being referenced" type: "string" + namespace: + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + type: "string" required: - "kind" - "name" type: "object" - x-kubernetes-map-type: "atomic" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -1956,7 +2011,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -1965,7 +2020,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -1974,16 +2029,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1995,25 +2050,25 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." type: "string" type: "object" status: - description: "Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "Status represents the current information/status of a persistent volume claim.\nRead-only.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the actual access modes the volume backing the PVC has.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" @@ -2024,7 +2079,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may\nbe larger than the actual capacity when a volume expansion operation is requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "object" capacity: additionalProperties: @@ -2036,9 +2091,9 @@ spec: description: "capacity represents the actual resources of the underlying volume." type: "object" conditions: - description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'." + description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being\nresized then the Condition will be set to 'ResizeStarted'." items: - description: "PersistentVolumeClaimCondition contails details about state of pvc" + description: "PersistentVolumeClaimCondition contains details about state of pvc" properties: lastProbeTime: description: "lastProbeTime is the time we probed the condition." @@ -2052,7 +2107,7 @@ spec: description: "message is the human-readable message indicating details about last transition." type: "string" reason: - description: "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized." + description: "reason is a unique, this should be a short, machine understandable string that gives the reason\nfor condition's last transition. If it reports \"ResizeStarted\" that means the underlying\npersistent volume is being resized." type: "string" status: type: "string" @@ -2068,27 +2123,27 @@ spec: description: "phase represents the current phase of PersistentVolumeClaim." type: "string" resizeStatus: - description: "resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "resizeStatus stores status of resize operation.\nResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty\nstring by resize controller or kubelet.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "string" type: "object" type: "object" type: "object" staticScrapeNamespaceSelector: - description: "StaticScrapeNamespaceSelector defines Namespaces to be selected for VMStaticScrape discovery. Works in combination with NamespaceSelector. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "StaticScrapeNamespaceSelector defines Namespaces to be selected for VMStaticScrape discovery.\nWorks in combination with NamespaceSelector.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2100,14 +2155,14 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" staticScrapeRelabelTemplate: - description: "StaticScrapeRelabelTemplate defines relabel config, that will be added to each VMStaticScrape. it's useful for adding specific labels to all targets" + description: "StaticScrapeRelabelTemplate defines relabel config, that will be added to each VMStaticScrape.\nit's useful for adding specific labels to all targets" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -2131,45 +2186,45 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" staticScrapeSelector: - description: "StaticScrapeSelector defines PodScrapes to be selected for target discovery. Works in combination with NamespaceSelector. If both nil - match everything. NamespaceSelector nil - only objects at VMAgent namespace. Selector nil - only objects at NamespaceSelector namespaces." + description: "StaticScrapeSelector defines PodScrapes to be selected for target discovery.\nWorks in combination with NamespaceSelector.\nIf both nil - match everything.\nNamespaceSelector nil - only objects at VMAgent namespace.\nSelector nil - only objects at NamespaceSelector namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2181,7 +2236,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -2192,28 +2247,28 @@ spec: tolerations: description: "Tolerations If specified, the pod's tolerations." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" topologySpreadConstraints: - description: "TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" + description: "TopologySpreadConstraints embedded kubernetes pod configuration option,\ncontrols how pods are spread across your cluster among failure-domains\nsuch as regions, zones, nodes, and other user-defined topology domains\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" items: description: "TopologySpreadConstraint specifies how to spread matching pods among the given topology." required: @@ -2224,39 +2279,39 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" updateStrategy: - description: "UpdateStrategy - overrides default update strategy. works only for deployments, statefulset always use OnDelete." + description: "UpdateStrategy - overrides default update strategy.\nworks only for deployments, statefulset always use OnDelete." enum: - "Recreate" - "RollingUpdate" type: "string" useStrictSecurity: - description: "UseStrictSecurity enables strict security mode for component it restricts disk writes access uses non-root user out of the box drops not needed security permissions" + description: "UseStrictSecurity enables strict security mode for component\nit restricts disk writes access\nuses non-root user out of the box\ndrops not needed security permissions" type: "boolean" vmAgentExternalLabelName: - description: "VMAgentExternalLabelName Name of vmAgent external label used to denote vmAgent instance name. Defaults to the value of `prometheus`. External label will _not_ be added when value is set to empty string (`\"\"`)." + description: "VMAgentExternalLabelName Name of vmAgent external label used to denote vmAgent instance\nname. Defaults to the value of `prometheus`. External label will\n_not_ be added when value is set to empty string (`\"\"`)." type: "string" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output deploy definition. VolumeMounts specified will be appended to other VolumeMounts in the vmagent container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output deploy definition.\nVolumeMounts specified will be appended to other VolumeMounts in the vmagent container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -2264,7 +2319,7 @@ spec: type: "object" type: "array" volumes: - description: "Volumes allows configuration of additional volumes on the output deploy definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects." + description: "Volumes allows configuration of additional volumes on the output deploy definition.\nVolumes specified will be appended to other volumes that are generated as a result of\nStorageSpec objects." items: description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." required: @@ -2277,7 +2332,7 @@ spec: description: "VMAgentStatus defines the observed state of VMAgent" properties: availableReplicas: - description: "AvailableReplicas Total number of available pods (ready for at least minReadySeconds) targeted by this VMAlert cluster." + description: "AvailableReplicas Total number of available pods (ready for at least minReadySeconds)\ntargeted by this VMAlert cluster." format: "int32" type: "integer" reason: @@ -2302,7 +2357,7 @@ spec: description: "UpdateStatus defines a status for update rollout, effective only for statefuleMode" type: "string" updatedReplicas: - description: "UpdatedReplicas Total number of non-terminated pods targeted by this VMAgent cluster that have the desired version spec." + description: "UpdatedReplicas Total number of non-terminated pods targeted by this VMAgent\ncluster that have the desired version spec." format: "int32" type: "integer" type: "object" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalertmanagerconfigs.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalertmanagerconfigs.yaml index e0dd6cb76..37a7b013c 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalertmanagerconfigs.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalertmanagerconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmalertmanagerconfigs.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -19,10 +19,10 @@ spec: description: "VMAlertmanagerConfig is the Schema for the vmalertmanagerconfigs API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -32,29 +32,29 @@ spec: '-': type: "string" inhibit_rules: - description: "InhibitRules will only apply for alerts matching the resource's namespace." + description: "InhibitRules will only apply for alerts matching\nthe resource's namespace." items: - description: "InhibitRule defines an inhibition rule that allows to mute alerts when other alerts are already firing. Note, it doesn't support deprecated alertmanager config options. See https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule" + description: "InhibitRule defines an inhibition rule that allows to mute alerts when other\nalerts are already firing.\nNote, it doesn't support deprecated alertmanager config options.\nSee https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule" properties: equal: - description: "Labels that must have an equal value in the source and target alert for the inhibition to take effect." + description: "Labels that must have an equal value in the source and target alert for\nthe inhibition to take effect." items: type: "string" type: "array" source_matchers: - description: "SourceMatchers defines a list of matchers for which one or more alerts have to exist for the inhibition to take effect." + description: "SourceMatchers defines a list of matchers for which one or more alerts have\nto exist for the inhibition to take effect." items: type: "string" type: "array" target_matchers: - description: "TargetMatchers defines a list of matchers that have to be fulfilled by the target alerts to be muted." + description: "TargetMatchers defines a list of matchers that have to be fulfilled by the target\nalerts to be muted." items: type: "string" type: "array" type: "object" type: "array" mute_time_intervals: - description: "MuteTimeInterval - global mute time See https://prometheus.io/docs/alerting/latest/configuration/#mute_time_interval" + description: "MuteTimeInterval - global mute time\nSee https://prometheus.io/docs/alerting/latest/configuration/#mute_time_interval" items: description: "MuteTimeInterval for alerts" properties: @@ -67,7 +67,7 @@ spec: description: "TimeInterval defines intervals of time" properties: days_of_month: - description: "DayOfMonth defines list of numerical days in the month. Days begin at 1. Negative values are also accepted. for example, ['1:5', '-3:-1']" + description: "DayOfMonth defines list of numerical days in the month. Days begin at 1. Negative values are also accepted.\nfor example, ['1:5', '-3:-1']" items: type: "string" type: "array" @@ -75,7 +75,7 @@ spec: description: "Location in golang time location form, e.g. UTC" type: "string" months: - description: "Months defines list of calendar months identified by a case-insentive name (e.g. ‘January’) or numeric 1. For example, ['1:3', 'may:august', 'december']" + description: "Months defines list of calendar months identified by a case-insentive name (e.g. ‘January’) or numeric 1.\nFor example, ['1:3', 'may:august', 'december']" items: type: "string" type: "array" @@ -101,7 +101,7 @@ spec: type: "string" type: "array" years: - description: "Years defines numerical list of years, ranges are accepted. For example, ['2020:2022', '2030']" + description: "Years defines numerical list of years, ranges are accepted.\nFor example, ['2020:2022', '2030']" items: type: "string" type: "array" @@ -112,7 +112,7 @@ spec: type: "object" type: "array" receivers: - description: "Receivers defines alert receivers. without defined Route, receivers will be skipped." + description: "Receivers defines alert receivers.\nwithout defined Route, receivers will be skipped." items: description: "Receiver defines one or more notification integrations." properties: @@ -123,16 +123,16 @@ spec: description: "HTTP client configuration." properties: basic_auth: - description: "TODO oAuth2 support BasicAuth for the client." + description: "TODO oAuth2 support\nBasicAuth for the client." properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -145,13 +145,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -165,13 +165,13 @@ spec: description: "BearerTokenFile defines filename for bearer token, it must be mounted to pod." type: "string" bearer_token_secret: - description: "The secret's key that contains the bearer token It must be at them same namespace as CRD" + description: "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -196,7 +196,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -212,7 +212,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -235,7 +235,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -251,7 +251,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -277,7 +277,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -301,16 +301,16 @@ spec: description: "The message title template" type: "string" webhook_url: - description: "The discord webhook URL one of `urlSecret` and `url` must be defined." + description: "The discord webhook URL\none of `urlSecret` and `url` must be defined." type: "string" webhook_url_secret: - description: "URLSecret defines secret name and key at the CRD namespace. It must contain the webhook URL. one of `urlSecret` and `url` must be defined." + description: "URLSecret defines secret name and key at the CRD namespace.\nIt must contain the webhook URL.\none of `urlSecret` and `url` must be defined." properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -336,7 +336,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -346,13 +346,13 @@ spec: type: "object" x-kubernetes-map-type: "atomic" auth_secret: - description: "AuthSecret defines secrent name and key at CRD namespace. It must contain the CRAM-MD5 secret." + description: "AuthSecret defines secrent name and key at CRD namespace.\nIt must contain the CRAM-MD5 secret." properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -370,7 +370,7 @@ spec: headers: additionalProperties: type: "string" - description: "Further headers email header key/value pairs. Overrides any headers previously set by the notification implementation." + description: "Further headers email header key/value pairs. Overrides any headers\npreviously set by the notification implementation." type: "object" hello: description: "The hostname to identify to the SMTP server." @@ -379,7 +379,7 @@ spec: description: "The HTML body of the email notification." type: "string" require_tls: - description: "The SMTP TLS requirement. Note that Go does not support unencrypted connections to remote SMTP endpoints." + description: "The SMTP TLS requirement.\nNote that Go does not support unencrypted connections to remote SMTP endpoints." type: "boolean" send_resolved: description: "SendResolved controls notify about resolved alerts." @@ -403,7 +403,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -419,7 +419,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -442,7 +442,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -458,7 +458,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -484,7 +484,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -509,16 +509,16 @@ spec: description: "HTTP client configuration." properties: basic_auth: - description: "TODO oAuth2 support BasicAuth for the client." + description: "TODO oAuth2 support\nBasicAuth for the client." properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -531,13 +531,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -551,13 +551,13 @@ spec: description: "BearerTokenFile defines filename for bearer token, it must be mounted to pod." type: "string" bearer_token_secret: - description: "The secret's key that contains the bearer token It must be at them same namespace as CRD" + description: "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -582,7 +582,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -598,7 +598,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -621,7 +621,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -637,7 +637,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -663,7 +663,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -687,16 +687,16 @@ spec: description: "The title of the teams notification." type: "string" webhook_url: - description: "The incoming webhook URL one of `urlSecret` and `url` must be defined." + description: "The incoming webhook URL\none of `urlSecret` and `url` must be defined." type: "string" webhook_url_secret: - description: "URLSecret defines secret name and key at the CRD namespace. It must contain the webhook URL. one of `urlSecret` and `url` must be defined." + description: "URLSecret defines secret name and key at the CRD namespace.\nIt must contain the webhook URL.\none of `urlSecret` and `url` must be defined." properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -714,7 +714,7 @@ spec: opsgenie_configs: description: "OpsGenieConfigs defines ops genie notification configurations." items: - description: "OpsGenieConfig configures notifications via OpsGenie. See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config" + description: "OpsGenieConfig configures notifications via OpsGenie.\nSee https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config" properties: actions: description: "Comma separated list of actions that will be available for the alert." @@ -723,13 +723,13 @@ spec: description: "The URL to send OpsGenie API requests to." type: "string" api_key: - description: "The secret's key that contains the OpsGenie API key. It must be at them same namespace as CRD" + description: "The secret's key that contains the OpsGenie API key.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -765,7 +765,7 @@ spec: responders: description: "List of responders responsible for notifications." items: - description: "OpsGenieConfigResponder defines a responder to an incident. One of `id`, `name` or `username` has to be defined." + description: "OpsGenieConfigResponder defines a responder to an incident.\nOne of `id`, `name` or `username` has to be defined." properties: id: description: "ID of the responder." @@ -794,14 +794,14 @@ spec: description: "Comma separated list of tags attached to the notifications." type: "string" update_alerts: - description: "Whether to update message and description of the alert in OpsGenie if it already exists By default, the alert is never updated in OpsGenie, the new message only appears in activity log." + description: "Whether to update message and description of the alert in OpsGenie if it already exists\nBy default, the alert is never updated in OpsGenie, the new message only appears in activity log." type: "boolean" type: "object" type: "array" pagerduty_configs: description: "PagerDutyConfigs defines pager duty notification configurations." items: - description: "PagerDutyConfig configures notifications via PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config" + description: "PagerDutyConfig configures notifications via PagerDuty.\nSee https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config" properties: class: description: "The class/type of the event." @@ -833,7 +833,7 @@ spec: images: description: "Images to attach to the incident." items: - description: "ImageConfig is used to attach images to the incident. See https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-images-property for more information." + description: "ImageConfig is used to attach images to the incident.\nSee https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-images-property\nfor more information." properties: alt: type: "string" @@ -848,7 +848,7 @@ spec: links: description: "Links to attach to the incident." items: - description: "LinkConfig is used to attach text links to the incident. See https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-links-property for more information." + description: "LinkConfig is used to attach text links to the incident.\nSee https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-links-property\nfor more information." properties: href: type: "string" @@ -859,13 +859,13 @@ spec: type: "object" type: "array" routing_key: - description: "The secret's key that contains the PagerDuty integration key (when using Events API v2). Either this field or `serviceKey` needs to be defined. It must be at them same namespace as CRD" + description: "The secret's key that contains the PagerDuty integration key (when using\nEvents API v2). Either this field or `serviceKey` needs to be defined.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -878,13 +878,13 @@ spec: description: "SendResolved controls notify about resolved alerts." type: "boolean" service_key: - description: "The secret's key that contains the PagerDuty service key (when using integration type \"Prometheus\"). Either this field or `routingKey` needs to be defined. It must be at them same namespace as CRD" + description: "The secret's key that contains the PagerDuty service key (when using\nintegration type \"Prometheus\"). Either this field or `routingKey` needs to\nbe defined.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -904,10 +904,10 @@ spec: pushover_configs: description: "PushoverConfigs defines push over notification configurations." items: - description: "PushoverConfig configures notifications via Pushover. See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config" + description: "PushoverConfig configures notifications via Pushover.\nSee https://prometheus.io/docs/alerting/latest/configuration/#pushover_config" properties: expire: - description: "How long your notification will continue to be retried for, unless the user acknowledges the notification." + description: "How long your notification will continue to be retried for, unless the user\nacknowledges the notification." type: "string" html: description: "Whether notification message is HTML or plain text." @@ -923,7 +923,7 @@ spec: description: "Priority, see https://pushover.net/api#priority" type: "string" retry: - description: "How often the Pushover servers will send the same notification to the user. Must be at least 30 seconds." + description: "How often the Pushover servers will send the same notification to the user.\nMust be at least 30 seconds." type: "string" send_resolved: description: "SendResolved controls notify about resolved alerts." @@ -935,13 +935,13 @@ spec: description: "Notification title." type: "string" token: - description: "The secret's key that contains the registered application’s API token, see https://pushover.net/apps. It must be at them same namespace as CRD" + description: "The secret's key that contains the registered application’s API token, see https://pushover.net/apps.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -957,13 +957,13 @@ spec: description: "A title for supplementary URL, otherwise just the URL is shown" type: "string" user_key: - description: "The secret's key that contains the recipient user’s user key. It must be at them same namespace as CRD" + description: "The secret's key that contains the recipient user’s user key.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -977,15 +977,15 @@ spec: slack_configs: description: "SlackConfigs defines slack notification configurations." items: - description: "SlackConfig configures notifications via Slack. See https://prometheus.io/docs/alerting/latest/configuration/#slack_config" + description: "SlackConfig configures notifications via Slack.\nSee https://prometheus.io/docs/alerting/latest/configuration/#slack_config" properties: actions: description: "A list of Slack actions that are sent with each notification." items: - description: "SlackAction configures a single Slack action that is sent with each notification. See https://api.slack.com/docs/message-attachments#action_fields and https://api.slack.com/docs/message-buttons for more information." + description: "SlackAction configures a single Slack action that is sent with each\nnotification.\nSee https://api.slack.com/docs/message-attachments#action_fields and\nhttps://api.slack.com/docs/message-buttons for more information." properties: confirm: - description: "SlackConfirmationField protect users from destructive actions or particularly distinguished decisions by asking them to confirm their button click one more time. See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields for more information." + description: "SlackConfirmationField protect users from destructive actions or\nparticularly distinguished decisions by asking them to confirm their button\nclick one more time.\nSee https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields\nfor more information." properties: dismiss_text: type: "string" @@ -1019,13 +1019,13 @@ spec: type: "object" type: "array" api_url: - description: "The secret's key that contains the Slack webhook URL. It must be at them same namespace as CRD" + description: "The secret's key that contains the Slack webhook URL.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1046,7 +1046,7 @@ spec: fields: description: "A list of Slack fields that are sent with each notification." items: - description: "SlackField configures a single Slack field that is sent with each notification. See https://api.slack.com/docs/message-attachments#fields for more information." + description: "SlackField configures a single Slack field that is sent with each notification.\nSee https://api.slack.com/docs/message-attachments#fields for more information." properties: short: type: "boolean" @@ -1113,16 +1113,16 @@ spec: description: "HTTP client configuration." properties: basic_auth: - description: "TODO oAuth2 support BasicAuth for the client." + description: "TODO oAuth2 support\nBasicAuth for the client." properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1135,13 +1135,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1155,13 +1155,13 @@ spec: description: "BearerTokenFile defines filename for bearer token, it must be mounted to pod." type: "string" bearer_token_secret: - description: "The secret's key that contains the bearer token It must be at them same namespace as CRD" + description: "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1186,7 +1186,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1202,7 +1202,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1225,7 +1225,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1241,7 +1241,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1267,7 +1267,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1285,7 +1285,7 @@ spec: description: "The message content of the SNS notification." type: "string" phone_number: - description: "Phone number if message is delivered via SMS Specify this, topic_arn or target_arn" + description: "Phone number if message is delivered via SMS\nSpecify this, topic_arn or target_arn" type: "string" send_resolved: description: "SendResolved controls notify about resolved alerts." @@ -1294,7 +1294,7 @@ spec: description: "Configure the AWS Signature Verification 4 signing process" properties: access_key: - description: "The AWS API keys. Both access_key and secret_key must be supplied or both must be blank. If blank the environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` are used." + description: "The AWS API keys. Both access_key and secret_key must be supplied or both must be blank.\nIf blank the environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` are used." type: "string" access_key_selector: description: "secret key selector to get the keys from a Kubernetes Secret" @@ -1303,7 +1303,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1328,7 +1328,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1342,7 +1342,7 @@ spec: description: "The subject line if message is delivered to an email endpoint." type: "string" target_arn: - description: "Mobile platform endpoint ARN if message is delivered via mobile notifications Specify this, topic_arn or phone_number" + description: "Mobile platform endpoint ARN if message is delivered via mobile notifications\nSpecify this, topic_arn or phone_number" type: "string" topic_arn: description: "SNS topic ARN, either specify this, phone_number or target_arn" @@ -1356,13 +1356,13 @@ spec: description: "APIUrl the Telegram API URL i.e. https://api.telegram.org." type: "string" bot_token: - description: "BotToken token for the bot https://core.telegram.org/bots/api" + description: "BotToken token for the bot\nhttps://core.telegram.org/bots/api" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1385,7 +1385,7 @@ spec: description: "Message is templated message" type: "string" parse_mode: - description: "ParseMode for telegram message, supported values are MarkdownV2, Markdown, Markdown and empty string for plain text." + description: "ParseMode for telegram message,\nsupported values are MarkdownV2, Markdown, Markdown and empty string for plain text." type: "string" send_resolved: description: "SendResolved controls notify about resolved alerts." @@ -1398,16 +1398,16 @@ spec: victorops_configs: description: "VictorOpsConfigs defines victor ops notification configurations." items: - description: "VictorOpsConfig configures notifications via VictorOps. See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config" + description: "VictorOpsConfig configures notifications via VictorOps.\nSee https://prometheus.io/docs/alerting/latest/configuration/#victorops_config" properties: api_key: - description: "The secret's key that contains the API key to use when talking to the VictorOps API. It must be at them same namespace as CRD" + description: "The secret's key that contains the API key to use when talking to the VictorOps API.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1422,7 +1422,7 @@ spec: custom_fields: additionalProperties: type: "string" - description: "Adds optional custom fields https://github.com/prometheus/alertmanager/blob/v0.24.0/config/notifiers.go#L537" + description: "Adds optional custom fields\nhttps://github.com/prometheus/alertmanager/blob/v0.24.0/config/notifiers.go#L537" type: "object" entity_display_name: description: "Contains summary of the alerted problem." @@ -1431,16 +1431,16 @@ spec: description: "The HTTP client's configuration." properties: basic_auth: - description: "TODO oAuth2 support BasicAuth for the client." + description: "TODO oAuth2 support\nBasicAuth for the client." properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1453,13 +1453,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1473,13 +1473,13 @@ spec: description: "BearerTokenFile defines filename for bearer token, it must be mounted to pod." type: "string" bearer_token_secret: - description: "The secret's key that contains the bearer token It must be at them same namespace as CRD" + description: "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1504,7 +1504,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1520,7 +1520,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1543,7 +1543,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1559,7 +1559,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1585,7 +1585,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1626,16 +1626,16 @@ spec: description: "HTTP client configuration. You must use this configuration to supply the bot token as part of the HTTP `Authorization` header." properties: basic_auth: - description: "TODO oAuth2 support BasicAuth for the client." + description: "TODO oAuth2 support\nBasicAuth for the client." properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1648,13 +1648,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1668,13 +1668,13 @@ spec: description: "BearerTokenFile defines filename for bearer token, it must be mounted to pod." type: "string" bearer_token_secret: - description: "The secret's key that contains the bearer token It must be at them same namespace as CRD" + description: "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1699,7 +1699,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1715,7 +1715,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1738,7 +1738,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1754,7 +1754,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1780,7 +1780,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1808,7 +1808,7 @@ spec: webhook_configs: description: "WebhookConfigs defines webhook notification configurations." items: - description: "WebhookConfig configures notifications via a generic receiver supporting the webhook payload. See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config" + description: "WebhookConfig configures notifications via a generic receiver supporting the webhook payload.\nSee https://prometheus.io/docs/alerting/latest/configuration/#webhook_config" properties: http_config: description: "HTTP client configuration." @@ -1823,16 +1823,16 @@ spec: description: "SendResolved controls notify about resolved alerts." type: "boolean" url: - description: "URL to send requests to, one of `urlSecret` and `url` must be defined." + description: "URL to send requests to,\none of `urlSecret` and `url` must be defined." type: "string" url_secret: - description: "URLSecret defines secret name and key at the CRD namespace. It must contain the webhook URL. one of `urlSecret` and `url` must be defined." + description: "URLSecret defines secret name and key at the CRD namespace.\nIt must contain the webhook URL.\none of `urlSecret` and `url` must be defined." properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1846,18 +1846,18 @@ spec: wechat_configs: description: "WeChatConfigs defines wechat notification configurations." items: - description: "WeChatConfig configures notifications via WeChat. See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config" + description: "WeChatConfig configures notifications via WeChat.\nSee https://prometheus.io/docs/alerting/latest/configuration/#wechat_config" properties: agent_id: type: "string" api_secret: - description: "The secret's key that contains the WeChat API key. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator." + description: "The secret's key that contains the WeChat API key.\nThe secret needs to be in the same namespace as the AlertmanagerConfig\nobject and accessible by the Prometheus Operator." properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1876,16 +1876,16 @@ spec: description: "HTTP client configuration." properties: basic_auth: - description: "TODO oAuth2 support BasicAuth for the client." + description: "TODO oAuth2 support\nBasicAuth for the client." properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1898,13 +1898,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1918,13 +1918,13 @@ spec: description: "BearerTokenFile defines filename for bearer token, it must be mounted to pod." type: "string" bearer_token_secret: - description: "The secret's key that contains the bearer token It must be at them same namespace as CRD" + description: "The secret's key that contains the bearer token\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1949,7 +1949,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1965,7 +1965,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1988,7 +1988,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -2004,7 +2004,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -2030,7 +2030,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -2068,12 +2068,12 @@ spec: description: "Route definition for alertmanager, may include nested routes." properties: active_time_intervals: - description: "ActiveTimeIntervals Times when the route should be active These must match the name at time_intervals" + description: "ActiveTimeIntervals Times when the route should be active\nThese must match the name at time_intervals" items: type: "string" type: "array" continue: - description: "Continue indicating whether an alert should continue matching subsequent sibling nodes. It will always be true for the first-level route if disableRouteContinueEnforce for vmalertmanager not set." + description: "Continue indicating whether an alert should continue matching subsequent\nsibling nodes. It will always be true for the first-level route if disableRouteContinueEnforce for vmalertmanager not set." type: "boolean" group_by: description: "List of labels to group by." @@ -2089,7 +2089,7 @@ spec: pattern: "[0-9]+(ms|s|m|h)" type: "string" matchers: - description: "List of matchers that the alert’s labels should match. For the first level route, the operator adds a namespace: \"CRD_NS\" matcher. https://prometheus.io/docs/alerting/latest/configuration/#matcher" + description: "List of matchers that the alert’s labels should match. For the first\nlevel route, the operator adds a namespace: \"CRD_NS\" matcher.\nhttps://prometheus.io/docs/alerting/latest/configuration/#matcher" items: type: "string" type: "array" @@ -2106,7 +2106,7 @@ spec: pattern: "[0-9]+(ms|s|m|h)" type: "string" routes: - description: "Child routes. https://prometheus.io/docs/alerting/latest/configuration/#route" + description: "Child routes.\nhttps://prometheus.io/docs/alerting/latest/configuration/#route" items: x-kubernetes-preserve-unknown-fields: true type: "array" @@ -2114,7 +2114,7 @@ spec: - "receiver" type: "object" time_intervals: - description: "ParsingError contents error with context if operator was failed to parse json object from kubernetes api server TimeIntervals modern config option, use it instead of mute_time_intervals" + description: "ParsingError contents error with context if operator was failed to parse json object from kubernetes api server\nTimeIntervals modern config option, use it instead of mute_time_intervals" items: description: "MuteTimeInterval for alerts" properties: @@ -2127,7 +2127,7 @@ spec: description: "TimeInterval defines intervals of time" properties: days_of_month: - description: "DayOfMonth defines list of numerical days in the month. Days begin at 1. Negative values are also accepted. for example, ['1:5', '-3:-1']" + description: "DayOfMonth defines list of numerical days in the month. Days begin at 1. Negative values are also accepted.\nfor example, ['1:5', '-3:-1']" items: type: "string" type: "array" @@ -2135,7 +2135,7 @@ spec: description: "Location in golang time location form, e.g. UTC" type: "string" months: - description: "Months defines list of calendar months identified by a case-insentive name (e.g. ‘January’) or numeric 1. For example, ['1:3', 'may:august', 'december']" + description: "Months defines list of calendar months identified by a case-insentive name (e.g. ‘January’) or numeric 1.\nFor example, ['1:3', 'may:august', 'december']" items: type: "string" type: "array" @@ -2161,7 +2161,7 @@ spec: type: "string" type: "array" years: - description: "Years defines numerical list of years, ranges are accepted. For example, ['2020:2022', '2030']" + description: "Years defines numerical list of years, ranges are accepted.\nFor example, ['2020:2022', '2030']" items: type: "string" type: "array" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalertmanagers.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalertmanagers.yaml index 01d6e4de9..d61ea2c7a 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalertmanagers.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalertmanagers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmalertmanagers.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -37,15 +37,15 @@ spec: description: "VMAlertmanager represents Victoria-Metrics deployment for Alertmanager." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" spec: - description: "Specification of the desired behavior of the VMAlertmanager cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" + description: "Specification of the desired behavior of the VMAlertmanager cluster. More info:\nhttps://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" properties: '-': description: "ParsingError contents error with context if operator was failed to parse json object from kubernetes api server" @@ -65,28 +65,28 @@ spec: description: "PersistentVolumeClaim is a user's request for and claim to a persistent volume" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: - description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + description: "Standard object's metadata.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" type: "object" x-kubernetes-preserve-unknown-fields: true spec: - description: "spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -100,10 +100,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -111,14 +111,31 @@ spec: name: description: "Name is the name of resource being referenced" type: "string" + namespace: + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + type: "string" required: - "kind" - "name" type: "object" - x-kubernetes-map-type: "atomic" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -126,7 +143,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -135,7 +152,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -144,16 +161,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -165,25 +182,25 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." type: "string" type: "object" status: - description: "status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "status represents the current information/status of a persistent volume claim.\nRead-only.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the actual access modes the volume backing the PVC has.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" @@ -194,7 +211,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may\nbe larger than the actual capacity when a volume expansion operation is requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "object" capacity: additionalProperties: @@ -206,9 +223,9 @@ spec: description: "capacity represents the actual resources of the underlying volume." type: "object" conditions: - description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'." + description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being\nresized then the Condition will be set to 'ResizeStarted'." items: - description: "PersistentVolumeClaimCondition contails details about state of pvc" + description: "PersistentVolumeClaimCondition contains details about state of pvc" properties: lastProbeTime: description: "lastProbeTime is the time we probed the condition." @@ -222,7 +239,7 @@ spec: description: "message is the human-readable message indicating details about last transition." type: "string" reason: - description: "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized." + description: "reason is a unique, this should be a short, machine understandable string that gives the reason\nfor condition's last transition. If it reports \"ResizeStarted\" that means the underlying\npersistent volume is being resized." type: "string" status: type: "string" @@ -238,35 +255,35 @@ spec: description: "phase represents the current phase of PersistentVolumeClaim." type: "string" resizeStatus: - description: "resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "resizeStatus stores status of resize operation.\nResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty\nstring by resize controller or kubelet.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "string" type: "object" type: "object" type: "array" clusterAdvertiseAddress: - description: "ClusterAdvertiseAddress is the explicit address to advertise in cluster. Needs to be provided for non RFC1918 [1] (public) addresses. [1] RFC1918: https://tools.ietf.org/html/rfc1918" + description: "ClusterAdvertiseAddress is the explicit address to advertise in cluster.\nNeeds to be provided for non RFC1918 [1] (public) addresses.\n[1] RFC1918: https://tools.ietf.org/html/rfc1918" type: "string" configMaps: - description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMAlertmanager object, which shall be mounted into the VMAlertmanager Pods. The ConfigMaps are mounted into /etc/vm/configs/." + description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMAlertmanager\nobject, which shall be mounted into the VMAlertmanager Pods.\nThe ConfigMaps are mounted into /etc/vm/configs/." items: type: "string" type: "array" configNamespaceSelector: - description: "ConfigNamespaceSelector defines namespace selector for VMAlertmanagerConfig. Works in combination with Selector. NamespaceSelector nil - only objects at VMAlertmanager namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: " ConfigNamespaceSelector defines namespace selector for VMAlertmanagerConfig.\nWorks in combination with Selector.\nNamespaceSelector nil - only objects at VMAlertmanager namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -278,32 +295,32 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" configRawYaml: - description: "ConfigRawYaml - raw configuration for alertmanager, it helps it to start without secret. priority -> hardcoded ConfigRaw -> ConfigRaw, provided by user -> ConfigSecret." + description: "ConfigRawYaml - raw configuration for alertmanager,\nit helps it to start without secret.\npriority -> hardcoded ConfigRaw -> ConfigRaw, provided by user -> ConfigSecret." type: "string" configSecret: - description: "ConfigSecret is the name of a Kubernetes Secret in the same namespace as the VMAlertmanager object, which contains configuration for this VMAlertmanager, configuration must be inside secret key: alertmanager.yaml. It must be created by user. instance. Defaults to 'vmalertmanager-' The secret is mounted into /etc/alertmanager/config." + description: "ConfigSecret is the name of a Kubernetes Secret in the same namespace as the\nVMAlertmanager object, which contains configuration for this VMAlertmanager,\nconfiguration must be inside secret key: alertmanager.yaml.\nIt must be created by user.\ninstance. Defaults to 'vmalertmanager-'\nThe secret is mounted into /etc/alertmanager/config." type: "string" configSelector: - description: "ConfigSelector defines selector for VMAlertmanagerConfig, result config will be merged with with Raw or Secret config. Works in combination with NamespaceSelector. NamespaceSelector nil - only objects at VMAlertmanager namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "ConfigSelector defines selector for VMAlertmanagerConfig, result config will be merged with with Raw or Secret config.\nWorks in combination with NamespaceSelector.\nNamespaceSelector nil - only objects at VMAlertmanager namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -315,12 +332,12 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" containers: - description: "Containers allows injecting additional containers or patching existing containers. This is meant to allow adding an authentication proxy to an VMAlertmanager pod." + description: "Containers allows injecting additional containers or patching existing containers.\nThis is meant to allow adding an authentication proxy to an VMAlertmanager pod." items: description: "A single application container that you want to run within a pod." required: @@ -329,23 +346,23 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" disableNamespaceMatcher: - description: "DisableNamespaceMatcher disables namespace label matcher for VMAlertmanagerConfig It may be useful if alert doesn't have namespace label for some reason" + description: "DisableNamespaceMatcher disables namespace label matcher for VMAlertmanagerConfig\nIt may be useful if alert doesn't have namespace label for some reason" type: "boolean" disableRouteContinueEnforce: description: "DisableRouteContinueEnforce cancel the behavior for VMAlertmanagerConfig that always enforce first-level route continue to true" type: "boolean" dnsConfig: - description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy." + description: "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy." items: x-kubernetes-preserve-unknown-fields: true properties: nameservers: - description: "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed." + description: "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed." items: type: "string" type: "array" options: - description: "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy." + description: "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy." items: description: "PodDNSConfigOption defines DNS resolver options of a pod." properties: @@ -357,7 +374,7 @@ spec: type: "object" type: "array" searches: - description: "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed." + description: "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed." items: type: "string" type: "array" @@ -366,12 +383,12 @@ spec: description: "DNSPolicy sets DNS policy for the pod" type: "string" externalURL: - description: "ExternalURL the VMAlertmanager instances will be available under. This is necessary to generate correct URLs. This is necessary if VMAlertmanager is not served from root of a DNS name." + description: "ExternalURL the VMAlertmanager instances will be available under. This is\nnecessary to generate correct URLs. This is necessary if VMAlertmanager is not\nserved from root of a DNS name." type: "string" extraArgs: additionalProperties: type: "string" - description: "ExtraArgs that will be passed to VMAlertmanager pod for example log.level: debug" + description: "ExtraArgs that will be passed to VMAlertmanager pod\nfor example log.level: debug" type: "object" extraEnvs: description: "ExtraEnvs that will be added to VMAlertmanager pod" @@ -382,7 +399,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" required: - "name" @@ -393,7 +410,7 @@ spec: description: "HostNetwork controls whether the pod may use the node network namespace" type: "boolean" image: - description: "Image - docker image settings for VMAlertmanager if no specified operator uses default config version" + description: "Image - docker image settings for VMAlertmanager\nif no specified operator uses default config version" properties: pullPolicy: description: "PullPolicy describes how to pull docker image" @@ -406,18 +423,18 @@ spec: type: "string" type: "object" imagePullSecrets: - description: "ImagePullSecrets An optional list of references to secrets in the same namespace to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" + description: "ImagePullSecrets An optional list of references to secrets in the same namespace\nto use for pulling images from registries\nsee https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" items: - description: "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace." + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" type: "array" initContainers: - description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the VMAlertmanager configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ Using initContainers for any use case other then secret fetching is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice." + description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.\nfetch secrets for injection into the VMAlertmanager configuration from external sources. Any\nerrors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/\nUsing initContainers for any use case other then secret fetching is entirely outside the scope\nof what the maintainers will support and by doing so, you accept that this behaviour may break\nat any time without notice." items: description: "A single application container that you want to run within a pod." required: @@ -426,7 +443,7 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" listenLocal: - description: "ListenLocal makes the VMAlertmanager server listen on loopback, so that it does not bind against the Pod IP. Note this is only for the VMAlertmanager UI, not the gossip communication." + description: "ListenLocal makes the VMAlertmanager server listen on loopback, so that it\ndoes not bind against the Pod IP. Note this is only for the VMAlertmanager\nUI, not the gossip communication." type: "boolean" livenessProbe: description: "LivenessProbe that will be added CRD pod" @@ -439,7 +456,7 @@ spec: description: "Log level for VMAlertmanager to be configured with." type: "string" minReadySeconds: - description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod if previous in healthy state" + description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod\nif previous in healthy state" format: "int32" type: "integer" nodeSelector: @@ -448,7 +465,7 @@ spec: description: "NodeSelector Define which Nodes the Pods are scheduled on." type: "object" paused: - description: "Paused If set to true all actions on the underlaying managed objects are not goint to be performed, except for delete actions." + description: "Paused If set to true all actions on the underlaying managed objects are not\ngoint to be performed, except for delete actions." type: "boolean" podDisruptionBudget: description: "PodDisruptionBudget created by operator" @@ -457,18 +474,18 @@ spec: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"." + description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\"." x-kubernetes-int-or-string: true minAvailable: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"." + description: "An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod. So for example you can prevent all voluntary\nevictions by specifying \"100%\"." x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: "string" - description: "replaces default labels selector generated by operator it's useful when you need to create custom budget" + description: "replaces default labels selector generated by operator\nit's useful when you need to create custom budget" type: "object" type: "object" podMetadata: @@ -477,22 +494,22 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" podSecurityPolicyName: - description: "PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used." + description: "PodSecurityPolicyName - defines name for podSecurityPolicy\nin case of empty value, prefixedName will be used." type: "string" portName: - description: "PortName used for the pods and governing service. This defaults to web" + description: "PortName used for the pods and governing service.\nThis defaults to web" type: "string" priorityClassName: description: "PriorityClassName class assigned to the Pods" @@ -514,13 +531,28 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true replicaCount: - description: "ReplicaCount Size is the expected size of the alertmanager cluster. The controller will eventually make the size of the running cluster equal to the expected" + description: "ReplicaCount Size is the expected size of the alertmanager cluster. The controller will\neventually make the size of the running cluster equal to the expected" format: "int32" minimum: 0.0 type: "integer" resources: - description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Resources container resource request and limits,\nhttps://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -528,7 +560,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -537,40 +569,40 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" retention: - description: "Retention Time duration VMAlertmanager shall retain data for. Default is '120h', and must match the regular expression `[0-9]+(ms|s|m|h)` (milliseconds seconds minutes hours)." + description: "Retention Time duration VMAlertmanager shall retain data for. Default is '120h',\nand must match the regular expression `[0-9]+(ms|s|m|h)` (milliseconds seconds minutes hours)." pattern: "[0-9]+(ms|s|m|h)" type: "string" revisionHistoryLimitCount: - description: "The number of old ReplicaSets to retain to allow rollback in deployment or maximum number of revisions that will be maintained in the StatefulSet's revision history. Defaults to 10." + description: "The number of old ReplicaSets to retain to allow rollback in deployment or\nmaximum number of revisions that will be maintained in the StatefulSet's revision history.\nDefaults to 10." format: "int32" type: "integer" rollingUpdateStrategy: - description: "RollingUpdateStrategy defines strategy for application updates Default is OnDelete, in this case operator handles update process Can be changed for RollingUpdate" + description: "RollingUpdateStrategy defines strategy for application updates\nDefault is OnDelete, in this case operator handles update process\nCan be changed for RollingUpdate" type: "string" routePrefix: - description: "RoutePrefix VMAlertmanager registers HTTP handlers for. This is useful, if using ExternalURL and a proxy is rewriting HTTP routes of a request, and the actual ExternalURL is still true, but the server serves requests under a different route prefix. For example for use with `kubectl proxy`." + description: "RoutePrefix VMAlertmanager registers HTTP handlers for. This is useful,\nif using ExternalURL and a proxy is rewriting HTTP routes of a request,\nand the actual ExternalURL is still true, but the server serves requests\nunder a different route prefix. For example for use with `kubectl proxy`." type: "string" runtimeClassName: - description: "RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/" + description: "RuntimeClassName - defines runtime class for kubernetes pod.\nhttps://kubernetes.io/docs/concepts/containers/runtime-class/" type: "string" schedulerName: description: "SchedulerName - defines kubernetes scheduler name" type: "string" secrets: - description: "Secrets is a list of Secrets in the same namespace as the VMAlertmanager object, which shall be mounted into the VMAlertmanager Pods. The Secrets are mounted into /etc/vm/secrets/" + description: "Secrets is a list of Secrets in the same namespace as the VMAlertmanager\nobject, which shall be mounted into the VMAlertmanager Pods.\nThe Secrets are mounted into /etc/vm/secrets/" items: type: "string" type: "array" securityContext: - description: "SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext." + description: "SecurityContext holds pod-level security attributes and common container settings.\nThis defaults to the default PodSecurityContext." type: "object" x-kubernetes-preserve-unknown-fields: true selectAllByDefault: - description: "SelectAllByDefault changes default behavior for empty CRD selectors, such ConfigSelector. with selectAllByDefault: true and undefined ConfigSelector and ConfigNamespaceSelector Operator selects all exist alertManagerConfigs with selectAllByDefault: false - selects nothing" + description: "SelectAllByDefault changes default behavior for empty CRD selectors, such ConfigSelector.\nwith selectAllByDefault: true and undefined ConfigSelector and ConfigNamespaceSelector\nOperator selects all exist alertManagerConfigs\nwith selectAllByDefault: false - selects nothing" type: "boolean" serviceAccountName: description: "ServiceAccountName is the name of the ServiceAccount to use" @@ -590,19 +622,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "ServiceSpec describes the attributes that a user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/" + description: "ServiceSpec describes the attributes that a user creates on a service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/" type: "object" x-kubernetes-preserve-unknown-fields: true required: @@ -613,22 +645,22 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true storage: - description: "Storage is the definition of how storage will be used by the VMAlertmanager instances." + description: "Storage is the definition of how storage will be used by the VMAlertmanager\ninstances." properties: disableMountSubPath: - description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. DisableMountSubPath allows to remove any subPath usage in volume mounts." + description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary.\nDisableMountSubPath allows to remove any subPath usage in volume mounts." type: "boolean" emptyDir: - description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" + description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More\ninfo: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" properties: medium: - description: "medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir" + description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -636,10 +668,10 @@ spec: description: "A PVC spec to be used by the VMAlertManager StatefulSets." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: description: "EmbeddedMetadata contains metadata relevant to an EmbeddedResource." @@ -647,30 +679,30 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "Spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -684,10 +716,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -695,14 +727,31 @@ spec: name: description: "Name is the name of resource being referenced" type: "string" + namespace: + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + type: "string" required: - "kind" - "name" type: "object" - x-kubernetes-map-type: "atomic" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -710,7 +759,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -719,7 +768,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -728,16 +777,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -749,25 +798,25 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." type: "string" type: "object" status: - description: "Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "Status represents the current information/status of a persistent volume claim.\nRead-only.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the actual access modes the volume backing the PVC has.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" @@ -778,7 +827,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may\nbe larger than the actual capacity when a volume expansion operation is requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "object" capacity: additionalProperties: @@ -790,9 +839,9 @@ spec: description: "capacity represents the actual resources of the underlying volume." type: "object" conditions: - description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'." + description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being\nresized then the Condition will be set to 'ResizeStarted'." items: - description: "PersistentVolumeClaimCondition contails details about state of pvc" + description: "PersistentVolumeClaimCondition contains details about state of pvc" properties: lastProbeTime: description: "lastProbeTime is the time we probed the condition." @@ -806,7 +855,7 @@ spec: description: "message is the human-readable message indicating details about last transition." type: "string" reason: - description: "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized." + description: "reason is a unique, this should be a short, machine understandable string that gives the reason\nfor condition's last transition. If it reports \"ResizeStarted\" that means the underlying\npersistent volume is being resized." type: "string" status: type: "string" @@ -822,13 +871,13 @@ spec: description: "phase represents the current phase of PersistentVolumeClaim." type: "string" resizeStatus: - description: "resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "resizeStatus stores status of resize operation.\nResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty\nstring by resize controller or kubelet.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "string" type: "object" type: "object" type: "object" templates: - description: "Templates is a list of ConfigMap key references for ConfigMaps in the same namespace as the VMAlertmanager object, which shall be mounted into the VMAlertmanager Pods. The Templates are mounted into /etc/vm/templates//." + description: "Templates is a list of ConfigMap key references for ConfigMaps in the same namespace as the VMAlertmanager\nobject, which shall be mounted into the VMAlertmanager Pods.\nThe Templates are mounted into /etc/vm/templates//." items: description: "ConfigMapKeyReference refers to a key in a ConfigMap." properties: @@ -836,7 +885,7 @@ spec: description: "The ConfigMap key to refer to." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" required: - "key" @@ -850,28 +899,28 @@ spec: tolerations: description: "Tolerations If specified, the pod's tolerations." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" topologySpreadConstraints: - description: "TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" + description: "TopologySpreadConstraints embedded kubernetes pod configuration option,\ncontrols how pods are spread across your cluster among failure-domains\nsuch as regions, zones, nodes, and other user-defined topology domains\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" items: description: "TopologySpreadConstraint specifies how to spread matching pods among the given topology." required: @@ -882,30 +931,30 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" useStrictSecurity: - description: "UseStrictSecurity enables strict security mode for component it restricts disk writes access uses non-root user out of the box drops not needed security permissions" + description: "UseStrictSecurity enables strict security mode for component\nit restricts disk writes access\nuses non-root user out of the box\ndrops not needed security permissions" type: "boolean" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition. VolumeMounts specified will be appended to other VolumeMounts in the alertmanager container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition.\nVolumeMounts specified will be appended to other VolumeMounts in the alertmanager container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -913,7 +962,7 @@ spec: type: "object" type: "array" volumes: - description: "Volumes allows configuration of additional volumes on the output StatefulSet definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects." + description: "Volumes allows configuration of additional volumes on the output StatefulSet definition.\nVolumes specified will be appended to other volumes that are generated as a result of\nStorageSpec objects." items: description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." required: @@ -923,7 +972,7 @@ spec: type: "array" type: "object" status: - description: "Most recent observed status of the VMAlertmanager cluster. Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" + description: "Most recent observed status of the VMAlertmanager cluster.\nOperator API itself. More info:\nhttps://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" properties: reason: description: "Reason has non empty reason for update failure" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalerts.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalerts.yaml index c895b8dc9..360836456 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalerts.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmalerts.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmalerts.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -24,10 +24,10 @@ spec: description: "VMAlert executes a list of given alerting or recording rules against configured address." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -42,12 +42,12 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true configMaps: - description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMAlert object, which shall be mounted into the VMAlert Pods. The ConfigMaps are mounted into /etc/vm/configs/." + description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMAlert\nobject, which shall be mounted into the VMAlert Pods.\nThe ConfigMaps are mounted into /etc/vm/configs/." items: type: "string" type: "array" containers: - description: "Containers property allows to inject additions sidecars or to patch existing containers. It can be useful for proxies, backup, etc." + description: "Containers property allows to inject additions sidecars or to patch existing containers.\nIt can be useful for proxies, backup, etc." items: description: "A single application container that you want to run within a pod." required: @@ -64,13 +64,13 @@ spec: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -83,13 +83,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -109,7 +109,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -119,7 +119,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" headers: - description: "Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version" + description: "Headers allow configuring custom http headers\nMust be in form of semicolon separated header with value\ne.g.\nheaderName:headerValue\nvmalert supports it since 1.79.0 version" items: type: "string" type: "array" @@ -136,7 +136,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -152,7 +152,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -169,7 +169,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -210,17 +210,17 @@ spec: - "url" type: "object" dnsConfig: - description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy." + description: "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy." items: x-kubernetes-preserve-unknown-fields: true properties: nameservers: - description: "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed." + description: "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed." items: type: "string" type: "array" options: - description: "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy." + description: "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy." items: description: "PodDNSConfigOption defines DNS resolver options of a pod." properties: @@ -232,7 +232,7 @@ spec: type: "object" type: "array" searches: - description: "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed." + description: "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed." items: type: "string" type: "array" @@ -241,7 +241,7 @@ spec: description: "DNSPolicy sets DNS policy for the pod" type: "string" enforcedNamespaceLabel: - description: "EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric that is user created. The label value will always be the namespace of the object that is being created." + description: "EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert\nand metric that is user created. The label value will always be the namespace of the object that is\nbeing created." type: "string" evaluationInterval: description: "EvaluationInterval defines how often to evaluate rules by default" @@ -255,7 +255,7 @@ spec: extraArgs: additionalProperties: type: "string" - description: "ExtraArgs that will be passed to VMAlert pod for example -remoteWrite.tmpDataPath=/tmp" + description: "ExtraArgs that will be passed to VMAlert pod\nfor example -remoteWrite.tmpDataPath=/tmp" type: "object" extraEnvs: description: "ExtraEnvs that will be added to VMAlert pod" @@ -266,7 +266,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" required: - "name" @@ -277,7 +277,7 @@ spec: description: "HostNetwork controls whether the pod may use the node network namespace" type: "boolean" image: - description: "Image - docker image settings for VMAlert if no specified operator uses default config version" + description: "Image - docker image settings for VMAlert\nif no specified operator uses default config version" properties: pullPolicy: description: "PullPolicy describes how to pull docker image" @@ -290,18 +290,18 @@ spec: type: "string" type: "object" imagePullSecrets: - description: "ImagePullSecrets An optional list of references to secrets in the same namespace to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" + description: "ImagePullSecrets An optional list of references to secrets in the same namespace\nto use for pulling images from registries\nsee https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" items: - description: "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace." + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" type: "array" initContainers: - description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the VMAlert configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ Using initContainers for any use case other then secret fetching is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice." + description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.\nfetch secrets for injection into the VMAlert configuration from external sources. Any\nerrors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/\nUsing initContainers for any use case other then secret fetching is entirely outside the scope\nof what the maintainers will support and by doing so, you accept that this behaviour may break\nat any time without notice." items: description: "A single application container that you want to run within a pod." required: @@ -310,10 +310,10 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" license: - description: "License allows to configure license key to be used for enterprise features. Using license key is supported starting from VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html" + description: "License allows to configure license key to be used for enterprise features.\nUsing license key is supported starting from VictoriaMetrics v1.94.0.\nSee: https://docs.victoriametrics.com/enterprise.html" properties: key: - description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" + description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise.\nDocumentation - https://docs.victoriametrics.com/enterprise.html\nfor more information, visit https://victoriametrics.com/products/enterprise/ .\nTo request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" type: "string" keyRef: description: "KeyRef is reference to secret with license key for enterprise features." @@ -322,7 +322,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -337,7 +337,7 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true logFormat: - description: "LogFormat for VMAlert to be configured with. default or json" + description: "LogFormat for VMAlert to be configured with.\ndefault or json" enum: - "default" - "json" @@ -352,7 +352,7 @@ spec: - "PANIC" type: "string" minReadySeconds: - description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod if previous in healthy state" + description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod\nif previous in healthy state" format: "int32" type: "integer" nodeSelector: @@ -361,7 +361,7 @@ spec: description: "NodeSelector Define which Nodes the Pods are scheduled on." type: "object" notifier: - description: "Notifier prometheus alertmanager endpoint spec. Required at least one of notifier or notifiers when there are alerting rules. e.g. http://127.0.0.1:9093 If specified both notifier and notifiers, notifier will be added as last element to notifiers. only one of notifier options could be chosen: notifierConfigRef or notifiers + notifier" + description: "Notifier prometheus alertmanager endpoint spec. Required at least one of notifier or notifiers when there are alerting rules. e.g. http://127.0.0.1:9093\nIf specified both notifier and notifiers, notifier will be added as last element to notifiers.\nonly one of notifier options could be chosen: notifierConfigRef or notifiers + notifier" properties: OAuth2: x-kubernetes-preserve-unknown-fields: true @@ -369,13 +369,13 @@ spec: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -388,13 +388,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -414,7 +414,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -424,7 +424,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" headers: - description: "Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version" + description: "Headers allow configuring custom http headers\nMust be in form of semicolon separated header with value\ne.g.\nheaderName:headerValue\nvmalert supports it since 1.79.0 version" items: type: "string" type: "array" @@ -441,7 +441,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -457,7 +457,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -474,7 +474,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -505,24 +505,24 @@ spec: - "token_url" type: "object" selector: - description: "Selector allows service discovery for alertmanager in this case all matched vmalertmanager replicas will be added into vmalert notifier.url as statefulset pod.fqdn" + description: "Selector allows service discovery for alertmanager\nin this case all matched vmalertmanager replicas will be added into vmalert notifier.url\nas statefulset pod.fqdn" properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects." + description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -534,15 +534,15 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "NamespaceSelector is a selector for selecting either all namespaces or a list of namespaces." + description: "NamespaceSelector is a selector for selecting either all namespaces or a\nlist of namespaces." properties: any: - description: "Boolean describing whether all namespaces are selected in contrast to a list restricting them." + description: "Boolean describing whether all namespaces are selected in contrast to a\nlist restricting them." type: "boolean" matchNames: description: "List of namespace names." @@ -560,13 +560,13 @@ spec: type: "string" type: "object" notifierConfigRef: - description: "NotifierConfigRef reference for secret with notifier configuration for vmalert only one of notifier options could be chosen: notifierConfigRef or notifiers + notifier" + description: "NotifierConfigRef reference for secret with notifier configuration for vmalert\nonly one of notifier options could be chosen: notifierConfigRef or notifiers + notifier" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -576,7 +576,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" notifiers: - description: "Notifiers prometheus alertmanager endpoints. Required at least one of notifier or notifiers when there are alerting rules. e.g. http://127.0.0.1:9093 If specified both notifier and notifiers, notifier will be added as last element to notifiers. only one of notifier options could be chosen: notifierConfigRef or notifiers + notifier" + description: "Notifiers prometheus alertmanager endpoints. Required at least one of notifier or notifiers when there are alerting rules. e.g. http://127.0.0.1:9093\nIf specified both notifier and notifiers, notifier will be added as last element to notifiers.\nonly one of notifier options could be chosen: notifierConfigRef or notifiers + notifier" items: description: "VMAlertNotifierSpec defines the notifier url for sending information about alerts" properties: @@ -586,13 +586,13 @@ spec: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -605,13 +605,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -631,7 +631,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -641,7 +641,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" headers: - description: "Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version" + description: "Headers allow configuring custom http headers\nMust be in form of semicolon separated header with value\ne.g.\nheaderName:headerValue\nvmalert supports it since 1.79.0 version" items: type: "string" type: "array" @@ -658,7 +658,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -674,7 +674,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -691,7 +691,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -722,24 +722,24 @@ spec: - "token_url" type: "object" selector: - description: "Selector allows service discovery for alertmanager in this case all matched vmalertmanager replicas will be added into vmalert notifier.url as statefulset pod.fqdn" + description: "Selector allows service discovery for alertmanager\nin this case all matched vmalertmanager replicas will be added into vmalert notifier.url\nas statefulset pod.fqdn" properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects." + description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -751,15 +751,15 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "NamespaceSelector is a selector for selecting either all namespaces or a list of namespaces." + description: "NamespaceSelector is a selector for selecting either all namespaces or a\nlist of namespaces." properties: any: - description: "Boolean describing whether all namespaces are selected in contrast to a list restricting them." + description: "Boolean describing whether all namespaces are selected in contrast to a\nlist restricting them." type: "boolean" matchNames: description: "List of namespace names." @@ -784,18 +784,18 @@ spec: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"." + description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\"." x-kubernetes-int-or-string: true minAvailable: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"." + description: "An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod. So for example you can prevent all voluntary\nevictions by specifying \"100%\"." x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: "string" - description: "replaces default labels selector generated by operator it's useful when you need to create custom budget" + description: "replaces default labels selector generated by operator\nit's useful when you need to create custom budget" type: "object" type: "object" podMetadata: @@ -804,19 +804,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" podSecurityPolicyName: - description: "PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used." + description: "PodSecurityPolicyName - defines name for podSecurityPolicy\nin case of empty value, prefixedName will be used." type: "string" port: description: "Port for listen" @@ -841,7 +841,7 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true remoteRead: - description: "RemoteRead Optional URL to read vmalert state (persisted via RemoteWrite) This configuration only makes sense if alerts state has been successfully persisted (via RemoteWrite) before. see -remoteRead.url docs in vmalerts for details. E.g. http://127.0.0.1:8428" + description: "RemoteRead Optional URL to read vmalert state (persisted via RemoteWrite)\nThis configuration only makes sense if alerts state has been successfully\npersisted (via RemoteWrite) before.\nsee -remoteRead.url docs in vmalerts for details.\nE.g. http://127.0.0.1:8428" properties: OAuth2: x-kubernetes-preserve-unknown-fields: true @@ -849,13 +849,13 @@ spec: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -868,13 +868,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -894,7 +894,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -904,12 +904,12 @@ spec: type: "object" x-kubernetes-map-type: "atomic" headers: - description: "Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version" + description: "Headers allow configuring custom http headers\nMust be in form of semicolon separated header with value\ne.g.\nheaderName:headerValue\nvmalert supports it since 1.79.0 version" items: type: "string" type: "array" lookback: - description: "Lookback defines how far to look into past for alerts timeseries. For example, if lookback=1h then range from now() to now()-1h will be scanned. (default 1h0m0s) Applied only to RemoteReadSpec" + description: "Lookback defines how far to look into past for alerts timeseries. For example, if lookback=1h then range from now() to now()-1h will be scanned. (default 1h0m0s)\nApplied only to RemoteReadSpec" type: "string" oauth2: description: "OAuth2 defines OAuth2 configuration" @@ -924,7 +924,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -940,7 +940,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -957,7 +957,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -998,7 +998,7 @@ spec: - "url" type: "object" remoteWrite: - description: "RemoteWrite Optional URL to remote-write compatible storage to persist vmalert state and rule results to. Rule results will be persisted according to each rule. Alerts state will be persisted in the form of time series named ALERTS and ALERTS_FOR_STATE see -remoteWrite.url docs in vmalerts for details. E.g. http://127.0.0.1:8428" + description: "RemoteWrite Optional URL to remote-write compatible storage to persist\nvmalert state and rule results to.\nRule results will be persisted according to each rule.\nAlerts state will be persisted in the form of time series named ALERTS and ALERTS_FOR_STATE\nsee -remoteWrite.url docs in vmalerts for details.\nE.g. http://127.0.0.1:8428" properties: OAuth2: x-kubernetes-preserve-unknown-fields: true @@ -1006,13 +1006,13 @@ spec: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1025,13 +1025,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1051,7 +1051,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1069,7 +1069,7 @@ spec: pattern: "[0-9]+(ms|s|m|h)" type: "string" headers: - description: "Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version" + description: "Headers allow configuring custom http headers\nMust be in form of semicolon separated header with value\ne.g.\nheaderName:headerValue\nvmalert supports it since 1.79.0 version" items: type: "string" type: "array" @@ -1094,7 +1094,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1110,7 +1110,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1127,7 +1127,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1168,12 +1168,27 @@ spec: - "url" type: "object" replicaCount: - description: "ReplicaCount is the expected size of the VMAlert cluster. The controller will eventually make the size of the running cluster equal to the expected size." + description: "ReplicaCount is the expected size of the VMAlert cluster. The controller will\neventually make the size of the running cluster equal to the expected\nsize." format: "int32" type: "integer" resources: description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -1181,7 +1196,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -1190,11 +1205,11 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" revisionHistoryLimitCount: - description: "The number of old ReplicaSets to retain to allow rollback in deployment or maximum number of revisions that will be maintained in the StatefulSet's revision history. Defaults to 10." + description: "The number of old ReplicaSets to retain to allow rollback in deployment or\nmaximum number of revisions that will be maintained in the StatefulSet's revision history.\nDefaults to 10." format: "int32" type: "integer" rollingUpdate: @@ -1204,31 +1219,31 @@ spec: anyOf: - type: "integer" - type: "string" - description: "The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods." + description: "The maximum number of pods that can be scheduled above the desired number of\npods.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nThis can not be 0 if MaxUnavailable is 0.\nAbsolute number is calculated from percentage by rounding up.\nDefaults to 25%.\nExample: when this is set to 30%, the new ReplicaSet can be scaled up immediately when\nthe rolling update starts, such that the total number of old and new pods do not exceed\n130% of desired pods. Once old pods have been killed,\nnew ReplicaSet can be scaled up further, ensuring that total number of pods running\nat any time during the update is at most 130% of desired pods." x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: "integer" - type: "string" - description: "The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods." + description: "The maximum number of pods that can be unavailable during the update.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nAbsolute number is calculated from percentage by rounding down.\nThis can not be 0 if MaxSurge is 0.\nDefaults to 25%.\nExample: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods\nimmediately when the rolling update starts. Once new pods are ready, old ReplicaSet\ncan be scaled down further, followed by scaling up the new ReplicaSet, ensuring\nthat the total number of pods available at all times during the update is at\nleast 70% of desired pods." x-kubernetes-int-or-string: true type: "object" ruleNamespaceSelector: - description: "RuleNamespaceSelector to be selected for VMRules discovery. Works in combination with Selector. If both nil - behaviour controlled by selectAllByDefault NamespaceSelector nil - only objects at VMAlert namespace." + description: "RuleNamespaceSelector to be selected for VMRules discovery.\nWorks in combination with Selector.\nIf both nil - behaviour controlled by selectAllByDefault\nNamespaceSelector nil - only objects at VMAlert namespace." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1240,31 +1255,31 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" rulePath: - description: "RulePath to the file with alert rules. Supports patterns. Flag can be specified multiple times. Examples: -rule /path/to/file. Path to a single file with alerting rules -rule dir/*.yaml -rule /*.yaml. Relative path to all .yaml files in folder, absolute path to all .yaml files in root. by default operator adds /etc/vmalert/configs/base/vmalert.yaml" + description: "RulePath to the file with alert rules.\nSupports patterns. Flag can be specified multiple times.\nExamples:\n-rule /path/to/file. Path to a single file with alerting rules\n-rule dir/*.yaml -rule /*.yaml. Relative path to all .yaml files in folder,\nabsolute path to all .yaml files in root.\nby default operator adds /etc/vmalert/configs/base/vmalert.yaml" items: type: "string" type: "array" ruleSelector: - description: "RuleSelector selector to select which VMRules to mount for loading alerting rules from. Works in combination with NamespaceSelector. If both nil - behaviour controlled by selectAllByDefault NamespaceSelector nil - only objects at VMAlert namespace." + description: "RuleSelector selector to select which VMRules to mount for loading alerting\nrules from.\nWorks in combination with NamespaceSelector.\nIf both nil - behaviour controlled by selectAllByDefault\nNamespaceSelector nil - only objects at VMAlert namespace." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1276,30 +1291,30 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" runtimeClassName: - description: "RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/" + description: "RuntimeClassName - defines runtime class for kubernetes pod.\nhttps://kubernetes.io/docs/concepts/containers/runtime-class/" type: "string" schedulerName: description: "SchedulerName - defines kubernetes scheduler name" type: "string" secrets: - description: "Secrets is a list of Secrets in the same namespace as the VMAlert object, which shall be mounted into the VMAlert Pods. The Secrets are mounted into /etc/vm/secrets/." + description: "Secrets is a list of Secrets in the same namespace as the VMAlert\nobject, which shall be mounted into the VMAlert Pods.\nThe Secrets are mounted into /etc/vm/secrets/." items: type: "string" type: "array" securityContext: - description: "SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext." + description: "SecurityContext holds pod-level security attributes and common container settings.\nThis defaults to the default PodSecurityContext." type: "object" x-kubernetes-preserve-unknown-fields: true selectAllByDefault: - description: "SelectAllByDefault changes default behavior for empty CRD selectors, such RuleSelector. with selectAllByDefault: true and empty serviceScrapeSelector and RuleNamespaceSelector Operator selects all exist serviceScrapes with selectAllByDefault: false - selects nothing" + description: "SelectAllByDefault changes default behavior for empty CRD selectors, such RuleSelector.\nwith selectAllByDefault: true and empty serviceScrapeSelector and RuleNamespaceSelector\nOperator selects all exist serviceScrapes\nwith selectAllByDefault: false - selects nothing" type: "boolean" serviceAccountName: - description: "ServiceAccountName is the name of the ServiceAccount to use to run the VMAlert Pods." + description: "ServiceAccountName is the name of the ServiceAccount to use to run the\nVMAlert Pods." type: "string" serviceScrapeSpec: description: "ServiceScrapeSpec that will be added to vmalert VMServiceScrape spec" @@ -1316,19 +1331,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "ServiceSpec describes the attributes that a user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/" + description: "ServiceSpec describes the attributes that a user creates on a service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/" type: "object" x-kubernetes-preserve-unknown-fields: true required: @@ -1345,28 +1360,28 @@ spec: tolerations: description: "Tolerations If specified, the pod's tolerations." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" topologySpreadConstraints: - description: "TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" + description: "TopologySpreadConstraints embedded kubernetes pod configuration option,\ncontrols how pods are spread across your cluster among failure-domains\nsuch as regions, zones, nodes, and other user-defined topology domains\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" items: description: "TopologySpreadConstraint specifies how to spread matching pods among the given topology." required: @@ -1383,30 +1398,30 @@ spec: - "RollingUpdate" type: "string" useStrictSecurity: - description: "UseStrictSecurity enables strict security mode for component it restricts disk writes access uses non-root user out of the box drops not needed security permissions" + description: "UseStrictSecurity enables strict security mode for component\nit restricts disk writes access\nuses non-root user out of the box\ndrops not needed security permissions" type: "boolean" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. VolumeMounts specified will be appended to other VolumeMounts in the VMAlert container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.\nVolumeMounts specified will be appended to other VolumeMounts in the VMAlert container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -1414,7 +1429,7 @@ spec: type: "object" type: "array" volumes: - description: "Volumes allows configuration of additional volumes on the output Deployment definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects." + description: "Volumes allows configuration of additional volumes on the output Deployment definition.\nVolumes specified will be appended to other volumes that are generated as a result of\nStorageSpec objects." items: description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." required: @@ -1429,14 +1444,14 @@ spec: description: "VMAlertStatus defines the observed state of VMAlert" properties: availableReplicas: - description: "AvailableReplicas Total number of available pods (ready for at least minReadySeconds) targeted by this VMAlert cluster." + description: "AvailableReplicas Total number of available pods (ready for at least minReadySeconds)\ntargeted by this VMAlert cluster." format: "int32" type: "integer" reason: description: "Reason defines fail reason for update process, effective only for statefuleMode" type: "string" replicas: - description: "ReplicaCount Total number of non-terminated pods targeted by this VMAlert cluster (their labels match the selector)." + description: "ReplicaCount Total number of non-terminated pods targeted by this VMAlert\ncluster (their labels match the selector)." format: "int32" type: "integer" unavailableReplicas: @@ -1447,7 +1462,7 @@ spec: description: "UpdateStatus defines a status for update rollout, effective only for statefuleMode" type: "string" updatedReplicas: - description: "UpdatedReplicas Total number of non-terminated pods targeted by this VMAlert cluster that have the desired version spec." + description: "UpdatedReplicas Total number of non-terminated pods targeted by this VMAlert\ncluster that have the desired version spec." format: "int32" type: "integer" type: "object" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmauths.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmauths.yaml index 3beb66831..d485581ef 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmauths.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmauths.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmauths.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -24,10 +24,10 @@ spec: description: "VMAuth is the Schema for the vmauths API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -42,15 +42,15 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true configMaps: - description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMAuth object, which shall be mounted into the VMAuth Pods." + description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMAuth\nobject, which shall be mounted into the VMAuth Pods." items: type: "string" type: "array" configSecret: - description: "ConfigSecret is the name of a Kubernetes Secret in the same namespace as the VMAuth object, which contains auth configuration for vmauth, configuration must be inside secret key: config.yaml. It must be created and managed manually. If it's defined, configuration for vmauth becomes unmanaged and operator'll not create any related secrets/config-reloaders" + description: "ConfigSecret is the name of a Kubernetes Secret in the same namespace as the\nVMAuth object, which contains auth configuration for vmauth,\nconfiguration must be inside secret key: config.yaml.\nIt must be created and managed manually.\nIf it's defined, configuration for vmauth becomes unmanaged and operator'll not create any related secrets/config-reloaders" type: "string" containers: - description: "Containers property allows to inject additions sidecars or to patch existing containers. It can be useful for proxies, backup, etc." + description: "Containers property allows to inject additions sidecars or to patch existing containers.\nIt can be useful for proxies, backup, etc." items: description: "A single application container that you want to run within a pod." required: @@ -59,17 +59,17 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" dnsConfig: - description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy." + description: "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy." items: x-kubernetes-preserve-unknown-fields: true properties: nameservers: - description: "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed." + description: "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed." items: type: "string" type: "array" options: - description: "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy." + description: "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy." items: description: "PodDNSConfigOption defines DNS resolver options of a pod." properties: @@ -81,7 +81,7 @@ spec: type: "object" type: "array" searches: - description: "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed." + description: "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed." items: type: "string" type: "array" @@ -92,7 +92,7 @@ spec: extraArgs: additionalProperties: type: "string" - description: "ExtraArgs that will be passed to VMAuth pod for example remoteWrite.tmpDataPath: /tmp" + description: "ExtraArgs that will be passed to VMAuth pod\nfor example remoteWrite.tmpDataPath: /tmp" type: "object" extraEnvs: description: "ExtraEnvs that will be added to VMAuth pod" @@ -103,7 +103,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" required: - "name" @@ -111,9 +111,9 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" hostAliases: - description: "HostAliases provides mapping for ip and hostname, that would be propagated to pod, cannot be used with HostNetwork." + description: "HostAliases provides mapping for ip and hostname,\nthat would be propagated to pod,\ncannot be used with HostNetwork." items: - description: "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file." + description: "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's hosts file." properties: hostnames: description: "Hostnames for the above IP address." @@ -129,7 +129,7 @@ spec: description: "HostNetwork controls whether the pod may use the node network namespace" type: "boolean" image: - description: "Image - docker image settings for VMAuth if no specified operator uses default config version" + description: "Image - docker image settings for VMAuth\nif no specified operator uses default config version" properties: pullPolicy: description: "PullPolicy describes how to pull docker image" @@ -142,12 +142,12 @@ spec: type: "string" type: "object" imagePullSecrets: - description: "ImagePullSecrets An optional list of references to secrets in the same namespace to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" + description: "ImagePullSecrets An optional list of references to secrets in the same namespace\nto use for pulling images from registries\nsee https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" items: - description: "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace." + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" @@ -158,35 +158,35 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" class_name: description: "ClassName defines ingress class name for VMAuth" type: "string" extraRules: - description: "ExtraRules - additional rules for ingress, must be checked for correctness by user." + description: "ExtraRules - additional rules for ingress,\nmust be checked for correctness by user." items: - description: "IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue." + description: "IngressRule represents the rules mapping the paths under a specified host to\nthe related backend services. Incoming requests are first evaluated for a host\nmatch, then routed to the backend associated with the matching IngressRuleValue." properties: host: - description: "Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the \"host\" part of the URI as defined in RFC 3986: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the IP in the Spec of the parent Ingress. 2. The `:` delimiter is not respected because ports are not allowed. Currently the port of an Ingress is implicitly :80 for http and :443 for https. Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue. \n Host can be \"precise\" which is a domain name without the terminating dot of a network host (e.g. \"foo.bar.com\") or \"wildcard\", which is a domain name prefixed with a single wildcard label (e.g. \"*.foo.com\"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == \"*\"). Requests will be matched against the Host field in the following way: 1. If Host is precise, the request matches this rule if the http host header is equal to Host. 2. If Host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule." + description: "host is the fully qualified domain name of a network host, as defined by RFC 3986.\nNote the following deviations from the \"host\" part of the\nURI as defined in RFC 3986:\n1. IPs are not allowed. Currently an IngressRuleValue can only apply to\n the IP in the Spec of the parent Ingress.\n2. The `:` delimiter is not respected because ports are not allowed.\n\t Currently the port of an Ingress is implicitly :80 for http and\n\t :443 for https.\nBoth these may change in the future.\nIncoming requests are matched against the host before the\nIngressRuleValue. If the host is unspecified, the Ingress routes all\ntraffic based on the specified IngressRuleValue.\n\n\nhost can be \"precise\" which is a domain name without the terminating dot of\na network host (e.g. \"foo.bar.com\") or \"wildcard\", which is a domain name\nprefixed with a single wildcard label (e.g. \"*.foo.com\").\nThe wildcard character '*' must appear by itself as the first DNS label and\nmatches only a single label. You cannot have a wildcard label by itself (e.g. Host == \"*\").\nRequests will be matched against the Host field in the following way:\n1. If host is precise, the request matches this rule if the http host header is equal to Host.\n2. If host is a wildcard, then the request matches this rule if the http host header\nis to equal to the suffix (removing the first label) of the wildcard rule." type: "string" http: - description: "HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http:///? -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'." + description: "HTTPIngressRuleValue is a list of http selectors pointing to backends.\nIn the example: http:///? -> backend where\nwhere parts of the url correspond to RFC 3986, this resource will be used\nto match against everything after the last '/' and before the first '?'\nor '#'." properties: paths: - description: "A collection of paths that map requests to backends." + description: "paths is a collection of paths that map requests to backends." items: - description: "HTTPIngressPath associates a path with a backend. Incoming urls matching the path are forwarded to the backend." + description: "HTTPIngressPath associates a path with a backend. Incoming urls matching the\npath are forwarded to the backend." properties: backend: - description: "Backend defines the referenced service endpoint to which the traffic will be forwarded to." + description: "backend defines the referenced service endpoint to which the traffic\nwill be forwarded to." properties: resource: - description: "Resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with \"Service\"." + description: "resource is an ObjectRef to another Kubernetes resource in the namespace\nof the Ingress object. If resource is specified, a service.Name and\nservice.Port must not be specified.\nThis is a mutually exclusive setting with \"Service\"." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -200,19 +200,19 @@ spec: type: "object" x-kubernetes-map-type: "atomic" service: - description: "Service references a Service as a Backend. This is a mutually exclusive setting with \"Resource\"." + description: "service references a service as a backend.\nThis is a mutually exclusive setting with \"Resource\"." properties: name: - description: "Name is the referenced service. The service must exist in the same namespace as the Ingress object." + description: "name is the referenced service. The service must exist in\nthe same namespace as the Ingress object." type: "string" port: - description: "Port of the referenced service. A port name or port number is required for a IngressServiceBackend." + description: "port of the referenced service. A port name or port number\nis required for a IngressServiceBackend." properties: name: - description: "Name is the name of the port on the Service. This is a mutually exclusive setting with \"Number\"." + description: "name is the name of the port on the Service.\nThis is a mutually exclusive setting with \"Number\"." type: "string" number: - description: "Number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with \"Name\"." + description: "number is the numerical port number (e.g. 80) on the Service.\nThis is a mutually exclusive setting with \"Name\"." format: "int32" type: "integer" type: "object" @@ -221,10 +221,10 @@ spec: type: "object" type: "object" path: - description: "Path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional \"path\" part of a URL as defined by RFC 3986. Paths must begin with a '/' and must be present when using PathType with value \"Exact\" or \"Prefix\"." + description: "path is matched against the path of an incoming request. Currently it can\ncontain characters disallowed from the conventional \"path\" part of a URL\nas defined by RFC 3986. Paths must begin with a '/' and must be present\nwhen using PathType with value \"Exact\" or \"Prefix\"." type: "string" pathType: - description: "PathType determines the interpretation of the Path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by '/'. Matching is done on a path element by element basis. A path element refers is the list of labels in the path split by the '/' separator. A request is a match for path p if every p is an element-wise prefix of p of the request path. Note that if the last element of the path is a substring of the last element in request path, it is not a match (e.g. /foo/bar matches /foo/bar/baz, but does not match /foo/barbaz). * ImplementationSpecific: Interpretation of the Path matching is up to the IngressClass. Implementations can treat this as a separate PathType or treat it identically to Prefix or Exact path types. Implementations are required to support all path types." + description: "pathType determines the interpretation of the path matching. PathType can\nbe one of the following values:\n* Exact: Matches the URL path exactly.\n* Prefix: Matches based on a URL path prefix split by '/'. Matching is\n done on a path element by element basis. A path element refers is the\n list of labels in the path split by the '/' separator. A request is a\n match for path p if every p is an element-wise prefix of p of the\n request path. Note that if the last element of the path is a substring\n of the last element in request path, it is not a match (e.g. /foo/bar\n matches /foo/bar/baz, but does not match /foo/barbaz).\n* ImplementationSpecific: Interpretation of the Path matching is up to\n the IngressClass. Implementations can treat this as a separate PathType\n or treat it identically to Prefix or Exact path types.\nImplementations are required to support all path types." type: "string" required: - "backend" @@ -238,31 +238,31 @@ spec: type: "object" type: "array" extraTls: - description: "ExtraTLS - additional TLS configuration for ingress must be checked for correctness by user." + description: "ExtraTLS - additional TLS configuration for ingress\nmust be checked for correctness by user." items: - description: "IngressTLS describes the transport layer security associated with an Ingress." + description: "IngressTLS describes the transport layer security associated with an ingress." properties: hosts: - description: "Hosts are a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified." + description: "hosts is a list of hosts included in the TLS certificate. The values in\nthis list must match the name/s used in the tlsSecret. Defaults to the\nwildcard host setting for the loadbalancer controller fulfilling this\nIngress, if left unspecified." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" secretName: - description: "SecretName is the name of the secret used to terminate TLS traffic on port 443. Field is left optional to allow TLS routing based on SNI hostname alone. If the SNI host in a listener conflicts with the \"Host\" header field used by an IngressRule, the SNI host is used for termination and value of the Host header is used for routing." + description: "secretName is the name of the secret used to terminate TLS traffic on\nport 443. Field is left optional to allow TLS routing based on SNI\nhostname alone. If the SNI host in a listener conflicts with the \"Host\"\nheader field used by an IngressRule, the SNI host is used for termination\nand value of the \"Host\" header is used for routing." type: "string" type: "object" type: "array" host: - description: "Host defines ingress host parameter for default rule It will be used, only if TlsHosts is empty" + description: "Host defines ingress host parameter for default rule\nIt will be used, only if TlsHosts is empty" type: "string" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" tlsHosts: description: "TlsHosts configures TLS access for ingress, tlsSecretName must be defined for it." @@ -270,11 +270,11 @@ spec: type: "string" type: "array" tlsSecretName: - description: "TlsSecretName defines secretname at the VMAuth namespace with cert and key https://kubernetes.io/docs/concepts/services-networking/ingress/#tls" + description: "TlsSecretName defines secretname at the VMAuth namespace with cert and key\nhttps://kubernetes.io/docs/concepts/services-networking/ingress/#tls" type: "string" type: "object" initContainers: - description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the vmSingle configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ Using initContainers for any use case other then secret fetching is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice." + description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.\nfetch secrets for injection into the vmSingle configuration from external sources. Any\nerrors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/\nUsing initContainers for any use case other then secret fetching is entirely outside the scope\nof what the maintainers will support and by doing so, you accept that this behaviour may break\nat any time without notice." items: description: "A single application container that you want to run within a pod." required: @@ -283,10 +283,10 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" license: - description: "License allows to configure license key to be used for enterprise features. Using license key is supported starting from VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html" + description: "License allows to configure license key to be used for enterprise features.\nUsing license key is supported starting from VictoriaMetrics v1.94.0.\nSee: https://docs.victoriametrics.com/enterprise.html" properties: key: - description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" + description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise.\nDocumentation - https://docs.victoriametrics.com/enterprise.html\nfor more information, visit https://victoriametrics.com/products/enterprise/ .\nTo request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" type: "string" keyRef: description: "KeyRef is reference to secret with license key for enterprise features." @@ -295,7 +295,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -325,7 +325,7 @@ spec: - "PANIC" type: "string" minReadySeconds: - description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod if previous in healthy state" + description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod\nif previous in healthy state" format: "int32" type: "integer" nodeSelector: @@ -340,18 +340,18 @@ spec: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"." + description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\"." x-kubernetes-int-or-string: true minAvailable: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"." + description: "An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod. So for example you can prevent all voluntary\nevictions by specifying \"100%\"." x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: "string" - description: "replaces default labels selector generated by operator it's useful when you need to create custom budget" + description: "replaces default labels selector generated by operator\nit's useful when you need to create custom budget" type: "object" type: "object" podMetadata: @@ -360,19 +360,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" podSecurityPolicyName: - description: "PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used." + description: "PodSecurityPolicyName - defines name for podSecurityPolicy\nin case of empty value, prefixedName will be used." type: "string" port: description: "Port listen port" @@ -401,8 +401,23 @@ spec: format: "int32" type: "integer" resources: - description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ if not defined default resources from operator config will be used" + description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/\nif not defined default resources from operator config will be used" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -410,7 +425,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -419,33 +434,33 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" revisionHistoryLimitCount: - description: "The number of old ReplicaSets to retain to allow rollback in deployment or maximum number of revisions that will be maintained in the StatefulSet's revision history. Defaults to 10." + description: "The number of old ReplicaSets to retain to allow rollback in deployment or\nmaximum number of revisions that will be maintained in the StatefulSet's revision history.\nDefaults to 10." format: "int32" type: "integer" runtimeClassName: - description: "RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/" + description: "RuntimeClassName - defines runtime class for kubernetes pod.\nhttps://kubernetes.io/docs/concepts/containers/runtime-class/" type: "string" schedulerName: description: "SchedulerName - defines kubernetes scheduler name" type: "string" secrets: - description: "Secrets is a list of Secrets in the same namespace as the VMAuth object, which shall be mounted into the VMAuth Pods." + description: "Secrets is a list of Secrets in the same namespace as the VMAuth\nobject, which shall be mounted into the VMAuth Pods." items: type: "string" type: "array" securityContext: - description: "SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext." + description: "SecurityContext holds pod-level security attributes and common container settings.\nThis defaults to the default PodSecurityContext." type: "object" x-kubernetes-preserve-unknown-fields: true selectAllByDefault: - description: "SelectAllByDefault changes default behavior for empty CRD selectors, such userSelector. with selectAllByDefault: true and empty userSelector and userNamespaceSelector Operator selects all exist users with selectAllByDefault: false - selects nothing" + description: "SelectAllByDefault changes default behavior for empty CRD selectors, such userSelector.\nwith selectAllByDefault: true and empty userSelector and userNamespaceSelector\nOperator selects all exist users\nwith selectAllByDefault: false - selects nothing" type: "boolean" serviceAccountName: - description: "ServiceAccountName is the name of the ServiceAccount to use to run the VMAuth Pods." + description: "ServiceAccountName is the name of the ServiceAccount to use to run the\nVMAuth Pods." type: "string" serviceScrapeSpec: description: "ServiceScrapeSpec that will be added to vmauth VMServiceScrape spec" @@ -462,19 +477,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "ServiceSpec describes the attributes that a user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/" + description: "ServiceSpec describes the attributes that a user creates on a service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/" type: "object" x-kubernetes-preserve-unknown-fields: true required: @@ -491,28 +506,28 @@ spec: tolerations: description: "Tolerations If specified, the pod's tolerations." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" topologySpreadConstraints: - description: "TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" + description: "TopologySpreadConstraints embedded kubernetes pod configuration option,\ncontrols how pods are spread across your cluster among failure-domains\nsuch as regions, zones, nodes, and other user-defined topology domains\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" items: description: "TopologySpreadConstraint specifies how to spread matching pods among the given topology." required: @@ -528,15 +543,15 @@ spec: description: "VMAuthUnauthorizedPath defines url_map for unauthorized access" properties: drop_src_path_prefix_parts: - description: "DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend. See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details." + description: "DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.\nSee https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details." type: "integer" headers: - description: "Headers represent additional http headers, that vmauth uses in form of [\"header_key: header_value\"] multiple values for header key: [\"header_key: value1,value2\"] it's available since 1.68.0 version of vmauth" + description: "Headers represent additional http headers, that vmauth uses\nin form of [\"header_key: header_value\"]\nmultiple values for header key:\n[\"header_key: value1,value2\"]\nit's available since 1.68.0 version of vmauth" items: type: "string" type: "array" ip_filters: - description: "IPFilters defines filter for src ip address enterprise only" + description: "IPFilters defines filter for src ip address\nenterprise only" properties: allow_list: items: @@ -548,18 +563,18 @@ spec: type: "array" type: "object" load_balancing_policy: - description: "LoadBalancingPolicy defines load balancing policy to use for backend urls. Supported policies: least_loaded, first_available. See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default \"least_loaded\")" + description: "LoadBalancingPolicy defines load balancing policy to use for backend urls.\nSupported policies: least_loaded, first_available.\nSee https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default \"least_loaded\")" enum: - "least_loaded" - "first_available" type: "string" response_headers: - description: "ResponseHeaders represent additional http headers, that vmauth adds for request response in form of [\"header_key: header_value\"] multiple values for header key: [\"header_key: value1,value2\"] it's available since 1.93.0 version of vmauth" + description: "ResponseHeaders represent additional http headers, that vmauth adds for request response\nin form of [\"header_key: header_value\"]\nmultiple values for header key:\n[\"header_key: value1,value2\"]\nit's available since 1.93.0 version of vmauth" items: type: "string" type: "array" retry_status_codes: - description: "RetryStatusCodes defines http status codes in numeric format for request retries e.g. [429,503]" + description: "RetryStatusCodes defines http status codes in numeric format for request retries\ne.g. [429,503]" items: type: "integer" type: "array" @@ -581,24 +596,24 @@ spec: type: "object" type: "array" useStrictSecurity: - description: "UseStrictSecurity enables strict security mode for component it restricts disk writes access uses non-root user out of the box drops not needed security permissions" + description: "UseStrictSecurity enables strict security mode for component\nit restricts disk writes access\nuses non-root user out of the box\ndrops not needed security permissions" type: "boolean" userNamespaceSelector: - description: "UserNamespaceSelector Namespaces to be selected for VMAuth discovery. Works in combination with Selector. NamespaceSelector nil - only objects at VMAuth namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault" + description: "UserNamespaceSelector Namespaces to be selected for VMAuth discovery.\nWorks in combination with Selector.\nNamespaceSelector nil - only objects at VMAuth namespace.\nSelector nil - only objects at NamespaceSelector namespaces.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -610,26 +625,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" userSelector: - description: "UserSelector defines VMUser to be selected for config file generation. Works in combination with NamespaceSelector. NamespaceSelector nil - only objects at VMAuth namespace. If both nil - behaviour controlled by selectAllByDefault" + description: "UserSelector defines VMUser to be selected for config file generation.\nWorks in combination with NamespaceSelector.\nNamespaceSelector nil - only objects at VMAuth namespace.\nIf both nil - behaviour controlled by selectAllByDefault" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -641,32 +656,32 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. VolumeMounts specified will be appended to other VolumeMounts in the VMAuth container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.\nVolumeMounts specified will be appended to other VolumeMounts in the VMAuth container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -674,7 +689,7 @@ spec: type: "object" type: "array" volumes: - description: "Volumes allows configuration of additional volumes on the output deploy definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects." + description: "Volumes allows configuration of additional volumes on the output deploy definition.\nVolumes specified will be appended to other volumes that are generated as a result of\nStorageSpec objects." items: description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." required: diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmclusters.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmclusters.yaml index 93c991d69..6eda0e73c 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmclusters.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmclusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmclusters.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -36,13 +36,13 @@ spec: name: "v1beta1" schema: openAPIV3Schema: - description: "VMCluster is fast, cost-effective and scalable time-series database. Cluster version with" + description: "VMCluster is fast, cost-effective and scalable time-series database.\nCluster version with" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -53,24 +53,24 @@ spec: description: "ParsingError contents error with context if operator was failed to parse json object from kubernetes api server" type: "string" clusterVersion: - description: "ClusterVersion defines default images tag for all components. it can be overwritten with component specific image.tag value." + description: "ClusterVersion defines default images tag for all components.\nit can be overwritten with component specific image.tag value." type: "string" imagePullSecrets: - description: "ImagePullSecrets An optional list of references to secrets in the same namespace to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" + description: "ImagePullSecrets An optional list of references to secrets in the same namespace\nto use for pulling images from registries\nsee https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" items: - description: "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace." + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" type: "array" license: - description: "License allows to configure license key to be used for enterprise features. Using license key is supported starting from VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html" + description: "License allows to configure license key to be used for enterprise features.\nUsing license key is supported starting from VictoriaMetrics v1.94.0.\nSee: https://docs.victoriametrics.com/enterprise.html" properties: key: - description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" + description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise.\nDocumentation - https://docs.victoriametrics.com/enterprise.html\nfor more information, visit https://victoriametrics.com/products/enterprise/ .\nTo request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" type: "string" keyRef: description: "KeyRef is reference to secret with license key for enterprise features." @@ -79,7 +79,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -90,20 +90,20 @@ spec: x-kubernetes-map-type: "atomic" type: "object" podSecurityPolicyName: - description: "PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used." + description: "PodSecurityPolicyName - defines name for podSecurityPolicy\nin case of empty value, prefixedName will be used." type: "string" replicationFactor: - description: "ReplicationFactor defines how many copies of data make among distinct storage nodes" + description: "ReplicationFactor defines how many copies of data make among\ndistinct storage nodes" format: "int32" type: "integer" retentionPeriod: - description: "RetentionPeriod for the stored metrics Note VictoriaMetrics has data/ and indexdb/ folders metrics from data/ removed eventually as soon as partition leaves retention period reverse index data at indexdb rotates once at the half of configured retention period https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#retention" + description: "RetentionPeriod for the stored metrics\nNote VictoriaMetrics has data/ and indexdb/ folders\nmetrics from data/ removed eventually as soon as partition leaves retention period\nreverse index data at indexdb rotates once at the half of configured retention period\nhttps://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#retention" type: "string" serviceAccountName: - description: "ServiceAccountName is the name of the ServiceAccount to use to run the VMSelect, VMStorage and VMInsert Pods." + description: "ServiceAccountName is the name of the ServiceAccount to use to run the\nVMSelect, VMStorage and VMInsert Pods." type: "string" useStrictSecurity: - description: "UseStrictSecurity enables strict security mode for component it restricts disk writes access uses non-root user out of the box drops not needed security permissions" + description: "UseStrictSecurity enables strict security mode for component\nit restricts disk writes access\nuses non-root user out of the box\ndrops not needed security permissions" type: "boolean" vminsert: properties: @@ -112,15 +112,15 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true clusterNativeListenPort: - description: "ClusterNativePort for multi-level cluster setup. More details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup" + description: "ClusterNativePort for multi-level cluster setup.\nMore details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup" type: "string" configMaps: - description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect object, which shall be mounted into the VMSelect Pods. The ConfigMaps are mounted into /etc/vm/configs/." + description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect\nobject, which shall be mounted into the VMSelect Pods.\nThe ConfigMaps are mounted into /etc/vm/configs/." items: type: "string" type: "array" containers: - description: "Containers property allows to inject additions sidecars or to patch existing containers. It can be useful for proxies, backup, etc." + description: "Containers property allows to inject additions sidecars or to patch existing containers.\nIt can be useful for proxies, backup, etc." items: description: "A single application container that you want to run within a pod." required: @@ -129,17 +129,17 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" dnsConfig: - description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy." + description: "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy." items: x-kubernetes-preserve-unknown-fields: true properties: nameservers: - description: "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed." + description: "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed." items: type: "string" type: "array" options: - description: "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy." + description: "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy." items: description: "PodDNSConfigOption defines DNS resolver options of a pod." properties: @@ -151,7 +151,7 @@ spec: type: "object" type: "array" searches: - description: "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed." + description: "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed." items: type: "string" type: "array" @@ -172,7 +172,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" required: - "name" @@ -200,7 +200,7 @@ spec: type: "string" type: "object" initContainers: - description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the VMSelect configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ Using initContainers for any use case other then secret fetching is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice." + description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.\nfetch secrets for injection into the VMSelect configuration from external sources. Any\nerrors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/\nUsing initContainers for any use case other then secret fetching is entirely outside the scope\nof what the maintainers will support and by doing so, you accept that this behaviour may break\nat any time without notice." items: description: "A single application container that you want to run within a pod." required: @@ -229,7 +229,7 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true logFormat: - description: "LogFormat for VMSelect to be configured with. default or json" + description: "LogFormat for VMSelect to be configured with.\ndefault or json" enum: - "default" - "json" @@ -244,7 +244,7 @@ spec: - "PANIC" type: "string" minReadySeconds: - description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod if previous in healthy state" + description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod\nif previous in healthy state" format: "int32" type: "integer" name: @@ -262,18 +262,18 @@ spec: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"." + description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\"." x-kubernetes-int-or-string: true minAvailable: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"." + description: "An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod. So for example you can prevent all voluntary\nevictions by specifying \"100%\"." x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: "string" - description: "replaces default labels selector generated by operator it's useful when you need to create custom budget" + description: "replaces default labels selector generated by operator\nit's useful when you need to create custom budget" type: "object" type: "object" podMetadata: @@ -282,15 +282,15 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" port: @@ -316,12 +316,27 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true replicaCount: - description: "ReplicaCount is the expected size of the VMInsert cluster. The controller will eventually make the size of the running cluster equal to the expected size." + description: "ReplicaCount is the expected size of the VMInsert cluster. The controller will\neventually make the size of the running cluster equal to the expected\nsize." format: "int32" type: "integer" resources: description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -329,7 +344,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -338,11 +353,11 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" revisionHistoryLimitCount: - description: "The number of old ReplicaSets to retain to allow rollback in deployment or maximum number of revisions that will be maintained in the StatefulSet's revision history. Defaults to 10." + description: "The number of old ReplicaSets to retain to allow rollback in deployment or\nmaximum number of revisions that will be maintained in the StatefulSet's revision history.\nDefaults to 10." format: "int32" type: "integer" rollingUpdate: @@ -352,28 +367,28 @@ spec: anyOf: - type: "integer" - type: "string" - description: "The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods." + description: "The maximum number of pods that can be scheduled above the desired number of\npods.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nThis can not be 0 if MaxUnavailable is 0.\nAbsolute number is calculated from percentage by rounding up.\nDefaults to 25%.\nExample: when this is set to 30%, the new ReplicaSet can be scaled up immediately when\nthe rolling update starts, such that the total number of old and new pods do not exceed\n130% of desired pods. Once old pods have been killed,\nnew ReplicaSet can be scaled up further, ensuring that total number of pods running\nat any time during the update is at most 130% of desired pods." x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: "integer" - type: "string" - description: "The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods." + description: "The maximum number of pods that can be unavailable during the update.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nAbsolute number is calculated from percentage by rounding down.\nThis can not be 0 if MaxSurge is 0.\nDefaults to 25%.\nExample: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods\nimmediately when the rolling update starts. Once new pods are ready, old ReplicaSet\ncan be scaled down further, followed by scaling up the new ReplicaSet, ensuring\nthat the total number of pods available at all times during the update is at\nleast 70% of desired pods." x-kubernetes-int-or-string: true type: "object" runtimeClassName: - description: "RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/" + description: "RuntimeClassName - defines runtime class for kubernetes pod.\nhttps://kubernetes.io/docs/concepts/containers/runtime-class/" type: "string" schedulerName: description: "SchedulerName - defines kubernetes scheduler name" type: "string" secrets: - description: "Secrets is a list of Secrets in the same namespace as the VMSelect object, which shall be mounted into the VMSelect Pods. The Secrets are mounted into /etc/vm/secrets/." + description: "Secrets is a list of Secrets in the same namespace as the VMSelect\nobject, which shall be mounted into the VMSelect Pods.\nThe Secrets are mounted into /etc/vm/secrets/." items: type: "string" type: "array" securityContext: - description: "SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext." + description: "SecurityContext holds pod-level security attributes and common container settings.\nThis defaults to the default PodSecurityContext." type: "object" x-kubernetes-preserve-unknown-fields: true serviceScrapeSpec: @@ -391,19 +406,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "ServiceSpec describes the attributes that a user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/" + description: "ServiceSpec describes the attributes that a user creates on a service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/" type: "object" x-kubernetes-preserve-unknown-fields: true required: @@ -420,28 +435,28 @@ spec: tolerations: description: "Tolerations If specified, the pod's tolerations." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" topologySpreadConstraints: - description: "TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" + description: "TopologySpreadConstraints embedded kubernetes pod configuration option,\ncontrols how pods are spread across your cluster among failure-domains\nsuch as regions, zones, nodes, and other user-defined topology domains\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" items: description: "TopologySpreadConstraint specifies how to spread matching pods among the given topology." required: @@ -458,27 +473,27 @@ spec: - "RollingUpdate" type: "string" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. VolumeMounts specified will be appended to other VolumeMounts in the VMSelect container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.\nVolumeMounts specified will be appended to other VolumeMounts in the VMSelect container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -486,7 +501,7 @@ spec: type: "object" type: "array" volumes: - description: "Volumes allows configuration of additional volumes on the output Deployment definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects." + description: "Volumes allows configuration of additional volumes on the output Deployment definition.\nVolumes specified will be appended to other volumes that are generated as a result of\nStorageSpec objects." items: description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." required: @@ -504,7 +519,7 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true cacheMountPath: - description: "CacheMountPath allows to add cache persistent for VMSelect, will use \"/cache\" as default if not specified." + description: "CacheMountPath allows to add cache persistent for VMSelect,\nwill use \"/cache\" as default if not specified." type: "string" claimTemplates: description: "ClaimTemplates allows adding additional VolumeClaimTemplates for StatefulSet" @@ -512,28 +527,28 @@ spec: description: "PersistentVolumeClaim is a user's request for and claim to a persistent volume" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: - description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + description: "Standard object's metadata.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" type: "object" x-kubernetes-preserve-unknown-fields: true spec: - description: "spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -547,10 +562,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -558,14 +573,31 @@ spec: name: description: "Name is the name of resource being referenced" type: "string" + namespace: + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + type: "string" required: - "kind" - "name" type: "object" - x-kubernetes-map-type: "atomic" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -573,7 +605,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -582,7 +614,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -591,16 +623,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -612,25 +644,25 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." type: "string" type: "object" status: - description: "status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "status represents the current information/status of a persistent volume claim.\nRead-only.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the actual access modes the volume backing the PVC has.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" @@ -641,7 +673,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may\nbe larger than the actual capacity when a volume expansion operation is requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "object" capacity: additionalProperties: @@ -653,9 +685,9 @@ spec: description: "capacity represents the actual resources of the underlying volume." type: "object" conditions: - description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'." + description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being\nresized then the Condition will be set to 'ResizeStarted'." items: - description: "PersistentVolumeClaimCondition contails details about state of pvc" + description: "PersistentVolumeClaimCondition contains details about state of pvc" properties: lastProbeTime: description: "lastProbeTime is the time we probed the condition." @@ -669,7 +701,7 @@ spec: description: "message is the human-readable message indicating details about last transition." type: "string" reason: - description: "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized." + description: "reason is a unique, this should be a short, machine understandable string that gives the reason\nfor condition's last transition. If it reports \"ResizeStarted\" that means the underlying\npersistent volume is being resized." type: "string" status: type: "string" @@ -685,21 +717,21 @@ spec: description: "phase represents the current phase of PersistentVolumeClaim." type: "string" resizeStatus: - description: "resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "resizeStatus stores status of resize operation.\nResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty\nstring by resize controller or kubelet.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "string" type: "object" type: "object" type: "array" clusterNativeListenPort: - description: "ClusterNativePort for multi-level cluster setup. More details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup" + description: "ClusterNativePort for multi-level cluster setup.\nMore details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup" type: "string" configMaps: - description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect object, which shall be mounted into the VMSelect Pods. The ConfigMaps are mounted into /etc/vm/configs/." + description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect\nobject, which shall be mounted into the VMSelect Pods.\nThe ConfigMaps are mounted into /etc/vm/configs/." items: type: "string" type: "array" containers: - description: "Containers property allows to inject additions sidecars or to patch existing containers. It can be useful for proxies, backup, etc." + description: "Containers property allows to inject additions sidecars or to patch existing containers.\nIt can be useful for proxies, backup, etc." items: description: "A single application container that you want to run within a pod." required: @@ -708,17 +740,17 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" dnsConfig: - description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy." + description: "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy." items: x-kubernetes-preserve-unknown-fields: true properties: nameservers: - description: "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed." + description: "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed." items: type: "string" type: "array" options: - description: "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy." + description: "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy." items: description: "PodDNSConfigOption defines DNS resolver options of a pod." properties: @@ -730,7 +762,7 @@ spec: type: "object" type: "array" searches: - description: "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed." + description: "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed." items: type: "string" type: "array" @@ -751,7 +783,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" required: - "name" @@ -762,7 +794,7 @@ spec: description: "HostNetwork controls whether the pod may use the node network namespace" type: "boolean" hpa: - description: "Configures horizontal pod autoscaling. Note, enabling this option disables vmselect to vmselect communication. In most cases it's not an issue." + description: "Configures horizontal pod autoscaling.\nNote, enabling this option disables vmselect to vmselect communication. In most cases it's not an issue." type: "object" x-kubernetes-preserve-unknown-fields: true image: @@ -779,7 +811,7 @@ spec: type: "string" type: "object" initContainers: - description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the VMSelect configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ Using initContainers for any use case other then secret fetching is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice." + description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.\nfetch secrets for injection into the VMSelect configuration from external sources. Any\nerrors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/\nUsing initContainers for any use case other then secret fetching is entirely outside the scope\nof what the maintainers will support and by doing so, you accept that this behaviour may break\nat any time without notice." items: description: "A single application container that you want to run within a pod." required: @@ -792,7 +824,7 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true logFormat: - description: "LogFormat for VMSelect to be configured with. default or json" + description: "LogFormat for VMSelect to be configured with.\ndefault or json" enum: - "default" - "json" @@ -807,7 +839,7 @@ spec: - "PANIC" type: "string" minReadySeconds: - description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod if previous in healthy state" + description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod\nif previous in healthy state" format: "int32" type: "integer" name: @@ -819,22 +851,22 @@ spec: description: "NodeSelector Define which Nodes the Pods are scheduled on." type: "object" persistentVolume: - description: "Storage - add persistent volume for cacheMounthPath its useful for persistent cache use storage instead of persistentVolume." + description: "Storage - add persistent volume for cacheMounthPath\nits useful for persistent cache\nuse storage instead of persistentVolume." properties: disableMountSubPath: - description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. DisableMountSubPath allows to remove any subPath usage in volume mounts." + description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary.\nDisableMountSubPath allows to remove any subPath usage in volume mounts." type: "boolean" emptyDir: - description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" + description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More\ninfo: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" properties: medium: - description: "medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir" + description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -850,18 +882,18 @@ spec: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"." + description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\"." x-kubernetes-int-or-string: true minAvailable: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"." + description: "An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod. So for example you can prevent all voluntary\nevictions by specifying \"100%\"." x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: "string" - description: "replaces default labels selector generated by operator it's useful when you need to create custom budget" + description: "replaces default labels selector generated by operator\nit's useful when you need to create custom budget" type: "object" type: "object" podMetadata: @@ -870,15 +902,15 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" port: @@ -904,12 +936,27 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true replicaCount: - description: "ReplicaCount is the expected size of the VMSelect cluster. The controller will eventually make the size of the running cluster equal to the expected size." + description: "ReplicaCount is the expected size of the VMSelect cluster. The controller will\neventually make the size of the running cluster equal to the expected\nsize." format: "int32" type: "integer" resources: description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -917,7 +964,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -926,29 +973,29 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" revisionHistoryLimitCount: - description: "The number of old ReplicaSets to retain to allow rollback in deployment or maximum number of revisions that will be maintained in the StatefulSet's revision history. Defaults to 10." + description: "The number of old ReplicaSets to retain to allow rollback in deployment or\nmaximum number of revisions that will be maintained in the StatefulSet's revision history.\nDefaults to 10." format: "int32" type: "integer" rollingUpdateStrategy: - description: "RollingUpdateStrategy defines strategy for application updates Default is OnDelete, in this case operator handles update process Can be changed for RollingUpdate" + description: "RollingUpdateStrategy defines strategy for application updates\nDefault is OnDelete, in this case operator handles update process\nCan be changed for RollingUpdate" type: "string" runtimeClassName: - description: "RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/" + description: "RuntimeClassName - defines runtime class for kubernetes pod.\nhttps://kubernetes.io/docs/concepts/containers/runtime-class/" type: "string" schedulerName: description: "SchedulerName - defines kubernetes scheduler name" type: "string" secrets: - description: "Secrets is a list of Secrets in the same namespace as the VMSelect object, which shall be mounted into the VMSelect Pods. The Secrets are mounted into /etc/vm/secrets/." + description: "Secrets is a list of Secrets in the same namespace as the VMSelect\nobject, which shall be mounted into the VMSelect Pods.\nThe Secrets are mounted into /etc/vm/secrets/." items: type: "string" type: "array" securityContext: - description: "SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext." + description: "SecurityContext holds pod-level security attributes and common container settings.\nThis defaults to the default PodSecurityContext." type: "object" x-kubernetes-preserve-unknown-fields: true serviceScrapeSpec: @@ -966,19 +1013,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "ServiceSpec describes the attributes that a user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/" + description: "ServiceSpec describes the attributes that a user creates on a service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/" type: "object" x-kubernetes-preserve-unknown-fields: true required: @@ -989,22 +1036,22 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true storage: - description: "StorageSpec - add persistent volume claim for cacheMountPath its needed for persistent cache" + description: "StorageSpec - add persistent volume claim for cacheMountPath\nits needed for persistent cache" properties: disableMountSubPath: - description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. DisableMountSubPath allows to remove any subPath usage in volume mounts." + description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary.\nDisableMountSubPath allows to remove any subPath usage in volume mounts." type: "boolean" emptyDir: - description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" + description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More\ninfo: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" properties: medium: - description: "medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir" + description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -1012,10 +1059,10 @@ spec: description: "A PVC spec to be used by the VMAlertManager StatefulSets." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: description: "EmbeddedMetadata contains metadata relevant to an EmbeddedResource." @@ -1023,30 +1070,30 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "Spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -1060,10 +1107,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -1071,14 +1118,31 @@ spec: name: description: "Name is the name of resource being referenced" type: "string" + namespace: + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + type: "string" required: - "kind" - "name" type: "object" - x-kubernetes-map-type: "atomic" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -1086,7 +1150,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -1095,7 +1159,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -1104,16 +1168,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1125,25 +1189,25 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." type: "string" type: "object" status: - description: "Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "Status represents the current information/status of a persistent volume claim.\nRead-only.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the actual access modes the volume backing the PVC has.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" @@ -1154,7 +1218,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may\nbe larger than the actual capacity when a volume expansion operation is requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "object" capacity: additionalProperties: @@ -1166,9 +1230,9 @@ spec: description: "capacity represents the actual resources of the underlying volume." type: "object" conditions: - description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'." + description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being\nresized then the Condition will be set to 'ResizeStarted'." items: - description: "PersistentVolumeClaimCondition contails details about state of pvc" + description: "PersistentVolumeClaimCondition contains details about state of pvc" properties: lastProbeTime: description: "lastProbeTime is the time we probed the condition." @@ -1182,7 +1246,7 @@ spec: description: "message is the human-readable message indicating details about last transition." type: "string" reason: - description: "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized." + description: "reason is a unique, this should be a short, machine understandable string that gives the reason\nfor condition's last transition. If it reports \"ResizeStarted\" that means the underlying\npersistent volume is being resized." type: "string" status: type: "string" @@ -1198,7 +1262,7 @@ spec: description: "phase represents the current phase of PersistentVolumeClaim." type: "string" resizeStatus: - description: "resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "resizeStatus stores status of resize operation.\nResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty\nstring by resize controller or kubelet.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "string" type: "object" type: "object" @@ -1210,28 +1274,28 @@ spec: tolerations: description: "Tolerations If specified, the pod's tolerations." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" topologySpreadConstraints: - description: "TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" + description: "TopologySpreadConstraints embedded kubernetes pod configuration option,\ncontrols how pods are spread across your cluster among failure-domains\nsuch as regions, zones, nodes, and other user-defined topology domains\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" items: description: "TopologySpreadConstraint specifies how to spread matching pods among the given topology." required: @@ -1242,27 +1306,27 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. VolumeMounts specified will be appended to other VolumeMounts in the VMSelect container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.\nVolumeMounts specified will be appended to other VolumeMounts in the VMSelect container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -1270,7 +1334,7 @@ spec: type: "object" type: "array" volumes: - description: "Volumes allows configuration of additional volumes on the output Deployment definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects." + description: "Volumes allows configuration of additional volumes on the output Deployment definition.\nVolumes specified will be appended to other volumes that are generated as a result of\nStorageSpec objects." items: description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." required: @@ -1293,28 +1357,28 @@ spec: description: "PersistentVolumeClaim is a user's request for and claim to a persistent volume" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: - description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + description: "Standard object's metadata.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" type: "object" x-kubernetes-preserve-unknown-fields: true spec: - description: "spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -1328,10 +1392,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -1339,14 +1403,31 @@ spec: name: description: "Name is the name of resource being referenced" type: "string" + namespace: + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + type: "string" required: - "kind" - "name" type: "object" - x-kubernetes-map-type: "atomic" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -1354,7 +1435,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -1363,7 +1444,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -1372,16 +1453,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1393,25 +1474,25 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." type: "string" type: "object" status: - description: "status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "status represents the current information/status of a persistent volume claim.\nRead-only.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the actual access modes the volume backing the PVC has.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" @@ -1422,7 +1503,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may\nbe larger than the actual capacity when a volume expansion operation is requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "object" capacity: additionalProperties: @@ -1434,9 +1515,9 @@ spec: description: "capacity represents the actual resources of the underlying volume." type: "object" conditions: - description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'." + description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being\nresized then the Condition will be set to 'ResizeStarted'." items: - description: "PersistentVolumeClaimCondition contails details about state of pvc" + description: "PersistentVolumeClaimCondition contains details about state of pvc" properties: lastProbeTime: description: "lastProbeTime is the time we probed the condition." @@ -1450,7 +1531,7 @@ spec: description: "message is the human-readable message indicating details about last transition." type: "string" reason: - description: "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized." + description: "reason is a unique, this should be a short, machine understandable string that gives the reason\nfor condition's last transition. If it reports \"ResizeStarted\" that means the underlying\npersistent volume is being resized." type: "string" status: type: "string" @@ -1466,18 +1547,18 @@ spec: description: "phase represents the current phase of PersistentVolumeClaim." type: "string" resizeStatus: - description: "resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "resizeStatus stores status of resize operation.\nResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty\nstring by resize controller or kubelet.\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "string" type: "object" type: "object" type: "array" configMaps: - description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect object, which shall be mounted into the VMSelect Pods. The ConfigMaps are mounted into /etc/vm/configs/." + description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect\nobject, which shall be mounted into the VMSelect Pods.\nThe ConfigMaps are mounted into /etc/vm/configs/." items: type: "string" type: "array" containers: - description: "Containers property allows to inject additions sidecars or to patch existing containers. It can be useful for proxies, backup, etc." + description: "Containers property allows to inject additions sidecars or to patch existing containers.\nIt can be useful for proxies, backup, etc." items: description: "A single application container that you want to run within a pod." required: @@ -1486,17 +1567,17 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" dnsConfig: - description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy." + description: "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy." items: x-kubernetes-preserve-unknown-fields: true properties: nameservers: - description: "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed." + description: "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed." items: type: "string" type: "array" options: - description: "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy." + description: "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy." items: description: "PodDNSConfigOption defines DNS resolver options of a pod." properties: @@ -1508,7 +1589,7 @@ spec: type: "object" type: "array" searches: - description: "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed." + description: "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed." items: type: "string" type: "array" @@ -1529,7 +1610,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" required: - "name" @@ -1553,7 +1634,7 @@ spec: type: "string" type: "object" initContainers: - description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the VMSelect configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ Using initContainers for any use case other then secret fetching is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice." + description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.\nfetch secrets for injection into the VMSelect configuration from external sources. Any\nerrors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/\nUsing initContainers for any use case other then secret fetching is entirely outside the scope\nof what the maintainers will support and by doing so, you accept that this behaviour may break\nat any time without notice." items: description: "A single application container that you want to run within a pod." required: @@ -1566,7 +1647,7 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true logFormat: - description: "LogFormat for VMSelect to be configured with. default or json" + description: "LogFormat for VMSelect to be configured with.\ndefault or json" enum: - "default" - "json" @@ -1581,7 +1662,7 @@ spec: - "PANIC" type: "string" maintenanceInsertNodeIDs: - description: "MaintenanceInsertNodeIDs - excludes given node ids from insert requests routing, must contain pod suffixes - for pod-0, id will be 0 and etc. lets say, you have pod-0, pod-1, pod-2, pod-3. to exclude pod-0 and pod-3 from insert routing, define nodeIDs: [0,3]. Useful at storage expanding, when you want to rebalance some data at cluster." + description: "MaintenanceInsertNodeIDs - excludes given node ids from insert requests routing, must contain pod suffixes - for pod-0, id will be 0 and etc.\nlets say, you have pod-0, pod-1, pod-2, pod-3. to exclude pod-0 and pod-3 from insert routing, define nodeIDs: [0,3].\nUseful at storage expanding, when you want to rebalance some data at cluster." items: format: "int32" type: "integer" @@ -1593,7 +1674,7 @@ spec: type: "integer" type: "array" minReadySeconds: - description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod if previous in healthy state" + description: "MinReadySeconds defines a minim number os seconds to wait before starting update next pod\nif previous in healthy state" format: "int32" type: "integer" name: @@ -1611,18 +1692,18 @@ spec: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"." + description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\"." x-kubernetes-int-or-string: true minAvailable: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"." + description: "An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod. So for example you can prevent all voluntary\nevictions by specifying \"100%\"." x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: "string" - description: "replaces default labels selector generated by operator it's useful when you need to create custom budget" + description: "replaces default labels selector generated by operator\nit's useful when you need to create custom budget" type: "object" type: "object" podMetadata: @@ -1631,15 +1712,15 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" port: @@ -1665,12 +1746,27 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true replicaCount: - description: "ReplicaCount is the expected size of the VMStorage cluster. The controller will eventually make the size of the running cluster equal to the expected size." + description: "ReplicaCount is the expected size of the VMStorage cluster. The controller will\neventually make the size of the running cluster equal to the expected\nsize." format: "int32" type: "integer" resources: description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -1678,7 +1774,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -1687,29 +1783,29 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" revisionHistoryLimitCount: - description: "The number of old ReplicaSets to retain to allow rollback in deployment or maximum number of revisions that will be maintained in the StatefulSet's revision history. Defaults to 10." + description: "The number of old ReplicaSets to retain to allow rollback in deployment or\nmaximum number of revisions that will be maintained in the StatefulSet's revision history.\nDefaults to 10." format: "int32" type: "integer" rollingUpdateStrategy: - description: "RollingUpdateStrategy defines strategy for application updates Default is OnDelete, in this case operator handles update process Can be changed for RollingUpdate" + description: "RollingUpdateStrategy defines strategy for application updates\nDefault is OnDelete, in this case operator handles update process\nCan be changed for RollingUpdate" type: "string" runtimeClassName: - description: "RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/" + description: "RuntimeClassName - defines runtime class for kubernetes pod.\nhttps://kubernetes.io/docs/concepts/containers/runtime-class/" type: "string" schedulerName: description: "SchedulerName - defines kubernetes scheduler name" type: "string" secrets: - description: "Secrets is a list of Secrets in the same namespace as the VMSelect object, which shall be mounted into the VMSelect Pods. The Secrets are mounted into /etc/vm/secrets/." + description: "Secrets is a list of Secrets in the same namespace as the VMSelect\nobject, which shall be mounted into the VMSelect Pods.\nThe Secrets are mounted into /etc/vm/secrets/." items: type: "string" type: "array" securityContext: - description: "SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext." + description: "SecurityContext holds pod-level security attributes and common container settings.\nThis defaults to the default PodSecurityContext." type: "object" x-kubernetes-preserve-unknown-fields: true serviceScrapeSpec: @@ -1727,19 +1823,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "ServiceSpec describes the attributes that a user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/" + description: "ServiceSpec describes the attributes that a user creates on a service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/" type: "object" x-kubernetes-preserve-unknown-fields: true required: @@ -1750,22 +1846,22 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true storage: - description: "Storage - add persistent volume for StorageDataPath its useful for persistent cache" + description: "Storage - add persistent volume for StorageDataPath\nits useful for persistent cache" properties: disableMountSubPath: - description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. DisableMountSubPath allows to remove any subPath usage in volume mounts." + description: "Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary.\nDisableMountSubPath allows to remove any subPath usage in volume mounts." type: "boolean" emptyDir: - description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" + description: "EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More\ninfo: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir" properties: medium: - description: "medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir" + description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -1784,28 +1880,28 @@ spec: tolerations: description: "Tolerations If specified, the pod's tolerations." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" topologySpreadConstraints: - description: "TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" + description: "TopologySpreadConstraints embedded kubernetes pod configuration option,\ncontrols how pods are spread across your cluster among failure-domains\nsuch as regions, zones, nodes, and other user-defined topology domains\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" items: description: "TopologySpreadConstraint specifies how to spread matching pods among the given topology." required: @@ -1819,20 +1915,20 @@ spec: description: "VMBackup configuration for backup" properties: acceptEULA: - description: "AcceptEULA accepts enterprise feature usage, must be set to true. otherwise backupmanager cannot be added to single/cluster version. https://victoriametrics.com/legal/esa/" + description: "AcceptEULA accepts enterprise feature usage, must be set to true.\notherwise backupmanager cannot be added to single/cluster version.\nhttps://victoriametrics.com/legal/esa/" type: "boolean" concurrency: description: "Defines number of concurrent workers. Higher concurrency may reduce backup duration (default 10)" format: "int32" type: "integer" credentialsSecret: - description: "CredentialsSecret is secret in the same namespace for access to remote storage The secret is mounted into /etc/vm/creds." + description: "CredentialsSecret is secret in the same namespace for access to remote storage\nThe secret is mounted into /etc/vm/creds." properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1848,7 +1944,7 @@ spec: description: "Defines destination for backup" type: "string" destinationDisableSuffixAdd: - description: "DestinationDisableSuffixAdd - disables suffix adding for cluster version backups each vmstorage backup must have unique backup folder so operator adds POD_NAME as suffix for backup destination folder." + description: "DestinationDisableSuffixAdd - disables suffix adding for cluster version backups\neach vmstorage backup must have unique backup folder\nso operator adds POD_NAME as suffix for backup destination folder." type: "boolean" disableDaily: description: "Defines if daily backups disabled (default false)" @@ -1875,7 +1971,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -1887,7 +1983,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1897,7 +1993,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -1910,7 +2006,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -1936,7 +2032,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1964,7 +2060,7 @@ spec: type: "string" type: "object" logFormat: - description: "LogFormat for VMSelect to be configured with. default or json" + description: "LogFormat for VMSelect to be configured with.\ndefault or json" enum: - "default" - "json" @@ -1982,8 +2078,23 @@ spec: description: "Port for health check connections" type: "string" resources: - description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ if not defined default resources from operator config will be used" + description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/\nif not defined default resources from operator config will be used" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -1991,7 +2102,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -2000,11 +2111,11 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" restore: - description: "Restore Allows to enable restore options for pod Read more: https://docs.victoriametrics.com/vmbackupmanager.html#restore-commands" + description: "Restore Allows to enable restore options for pod\nRead more: https://docs.victoriametrics.com/vmbackupmanager.html#restore-commands" properties: onStart: description: "OnStart defines configuration for restore on pod start" @@ -2021,27 +2132,27 @@ spec: description: "SnapShotDeleteURL overwrites url for snapshot delete" type: "string" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. VolumeMounts specified will be appended to other VolumeMounts in the vmbackupmanager container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.\nVolumeMounts specified will be appended to other VolumeMounts in the vmbackupmanager container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -2056,27 +2167,27 @@ spec: description: "VMSelectPort for VMSelect connections" type: "string" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. VolumeMounts specified will be appended to other VolumeMounts in the VMSelect container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.\nVolumeMounts specified will be appended to other VolumeMounts in the VMSelect container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -2084,7 +2195,7 @@ spec: type: "object" type: "array" volumes: - description: "Volumes allows configuration of additional volumes on the output Deployment definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects." + description: "Volumes allows configuration of additional volumes on the output Deployment definition.\nVolumes specified will be appended to other volumes that are generated as a result of\nStorageSpec objects." items: description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." required: diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmnodescrapes.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmnodescrapes.yaml index 92e1a8096..abda6187f 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmnodescrapes.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmnodescrapes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmnodescrapes.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -16,13 +16,13 @@ spec: - name: "v1beta1" schema: openAPIV3Schema: - description: "VMNodeScrape defines discovery for targets placed on kubernetes nodes, usually its node-exporters and other host services. InternalIP is used as __address__ for scraping." + description: "VMNodeScrape defines discovery for targets placed on kubernetes nodes,\nusually its node-exporters and other host services.\nInternalIP is used as __address__ for scraping." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -39,7 +39,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -56,16 +56,16 @@ spec: type: "string" type: "object" basicAuth: - description: "BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints" + description: "BasicAuth allow an endpoint to authenticate over basic authentication\nMore info: https://prometheus.io/docs/operating/configuration/#endpoints" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -78,13 +78,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -98,14 +98,14 @@ spec: description: "File to read bearer token for scraping targets." type: "string" bearerTokenSecret: - description: "Secret to mount to read bearer token for scraping targets. The secret needs to be accessible by the victoria-metrics operator." + description: "Secret to mount to read bearer token for scraping targets. The secret\nneeds to be accessible by\nthe victoria-metrics operator." nullable: true properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -132,7 +132,7 @@ spec: metricRelabelConfigs: description: "MetricRelabelConfigs to apply to samples before ingestion." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -156,26 +156,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -192,7 +192,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -208,7 +208,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -225,7 +225,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -272,9 +272,9 @@ spec: description: "ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint." type: "string" relabelConfigs: - description: "RelabelConfigs to apply to samples before scraping. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" + description: "RelabelConfigs to apply to samples before scraping.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -298,26 +298,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -335,7 +335,7 @@ spec: description: "Timeout after which the scrape is ended" type: "string" scrape_interval: - description: "ScrapeInterval is the same as Interval and has priority over it. one of scrape_interval or interval can be used" + description: "ScrapeInterval is the same as Interval and has priority over it.\none of scrape_interval or interval can be used" type: "string" selector: description: "Selector to select kubernetes Nodes." @@ -343,16 +343,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -364,7 +364,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -386,7 +386,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -402,7 +402,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -425,7 +425,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -441,7 +441,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -467,7 +467,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -488,7 +488,7 @@ spec: disable_keep_alive: type: "boolean" headers: - description: "Headers allows sending custom headers to scrape targets must be in of semicolon separated header with it's value eg: headerName: headerValue vmagent supports since 1.79.0 version" + description: "Headers allows sending custom headers to scrape targets\nmust be in of semicolon separated header with it's value\neg:\nheaderName: headerValue\nvmagent supports since 1.79.0 version" items: type: "string" type: "array" @@ -497,19 +497,19 @@ spec: no_stale_markers: type: "boolean" proxy_client_config: - description: "ProxyClientConfig configures proxy auth settings for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" + description: "ProxyClientConfig configures proxy auth settings for scraping\nSee feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" properties: basic_auth: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -522,13 +522,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -545,7 +545,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -569,7 +569,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -585,7 +585,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -608,7 +608,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -624,7 +624,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -650,7 +650,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmpodscrapes.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmpodscrapes.yaml index cd0b320c4..a8b39ceba 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmpodscrapes.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmpodscrapes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmpodscrapes.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -16,13 +16,13 @@ spec: - name: "v1beta1" schema: openAPIV3Schema: - description: "VMPodScrape is scrape configuration for pods, it generates vmagent's config for scraping pod targets based on selectors." + description: "VMPodScrape is scrape configuration for pods,\nit generates vmagent's config for scraping pod targets\nbased on selectors." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -36,7 +36,7 @@ spec: description: "Selector to select which namespaces the Endpoints objects are discovered from." properties: any: - description: "Boolean describing whether all namespaces are selected in contrast to a list restricting them." + description: "Boolean describing whether all namespaces are selected in contrast to a\nlist restricting them." type: "boolean" matchNames: description: "List of namespace names." @@ -53,7 +53,7 @@ spec: description: "AttachMetadata configures metadata attaching from service discovery" properties: node: - description: "Node instructs vmagent to add node specific metadata from service discovery Valid for roles: pod, endpoints, endpointslice." + description: "Node instructs vmagent to add node specific metadata from service discovery\nValid for roles: pod, endpoints, endpointslice." type: "boolean" type: "object" authorization: @@ -66,7 +66,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -83,16 +83,16 @@ spec: type: "string" type: "object" basicAuth: - description: "BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints" + description: "BasicAuth allow an endpoint to authenticate over basic authentication\nMore info: https://prometheus.io/docs/operating/configuration/#endpoints" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -105,13 +105,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -125,14 +125,14 @@ spec: description: "File to read bearer token for scraping targets." type: "string" bearerTokenSecret: - description: "Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service scrape and accessible by the victoria-metrics operator." + description: "Secret to mount to read bearer token for scraping targets. The secret\nneeds to be in the same namespace as the service scrape and accessible by\nthe victoria-metrics operator." nullable: true properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -142,7 +142,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" filterRunning: - description: "FilterRunning applies filter with pod status == running it prevents from scrapping metrics at failed or succeed state pods. enabled by default" + description: "FilterRunning applies filter with pod status == running\nit prevents from scrapping metrics at failed or succeed state pods.\nenabled by default" type: "boolean" follow_redirects: description: "FollowRedirects controls redirects for scraping." @@ -159,7 +159,7 @@ spec: metricRelabelConfigs: description: "MetricRelabelConfigs to apply to samples before ingestion." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -183,26 +183,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -219,7 +219,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -235,7 +235,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -252,7 +252,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -299,9 +299,9 @@ spec: description: "ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint." type: "string" relabelConfigs: - description: "RelabelConfigs to apply to samples before ingestion. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" + description: "RelabelConfigs to apply to samples before ingestion.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -325,26 +325,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -362,7 +362,7 @@ spec: description: "Timeout after which the scrape is ended" type: "string" scrape_interval: - description: "ScrapeInterval is the same as Interval and has priority over it. one of scrape_interval or interval can be used" + description: "ScrapeInterval is the same as Interval and has priority over it.\none of scrape_interval or interval can be used" type: "string" targetPort: anyOf: @@ -383,7 +383,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -399,7 +399,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -422,7 +422,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -438,7 +438,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -464,7 +464,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -485,7 +485,7 @@ spec: disable_keep_alive: type: "boolean" headers: - description: "Headers allows sending custom headers to scrape targets must be in of semicolon separated header with it's value eg: headerName: headerValue vmagent supports since 1.79.0 version" + description: "Headers allows sending custom headers to scrape targets\nmust be in of semicolon separated header with it's value\neg:\nheaderName: headerValue\nvmagent supports since 1.79.0 version" items: type: "string" type: "array" @@ -494,19 +494,19 @@ spec: no_stale_markers: type: "boolean" proxy_client_config: - description: "ProxyClientConfig configures proxy auth settings for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" + description: "ProxyClientConfig configures proxy auth settings for scraping\nSee feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" properties: basic_auth: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -519,13 +519,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -542,7 +542,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -566,7 +566,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -582,7 +582,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -605,7 +605,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -621,7 +621,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -647,7 +647,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -687,16 +687,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -708,7 +708,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmprobes.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmprobes.yaml index 480d314d1..26ae7b952 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmprobes.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmprobes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmprobes.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -16,13 +16,13 @@ spec: - name: "v1beta1" schema: openAPIV3Schema: - description: "VMProbe defines a probe for targets, that will be executed with prober, like blackbox exporter. It helps to monitor reachability of target with various checks." + description: "VMProbe defines a probe for targets, that will be executed with prober,\nlike blackbox exporter.\nIt helps to monitor reachability of target with various checks." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -39,7 +39,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -56,16 +56,16 @@ spec: type: "string" type: "object" basicAuth: - description: "BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints" + description: "BasicAuth allow an endpoint to authenticate over basic authentication\nMore info: https://prometheus.io/docs/operating/configuration/#endpoints" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -78,13 +78,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -98,14 +98,14 @@ spec: description: "File to read bearer token for scraping targets." type: "string" bearerTokenSecret: - description: "Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service scrape and accessible by the victoria-metrics operator." + description: "Secret to mount to read bearer token for scraping targets. The secret\nneeds to be in the same namespace as the service scrape and accessible by\nthe victoria-metrics operator." nullable: true properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -118,13 +118,13 @@ spec: description: "FollowRedirects controls redirects for scraping." type: "boolean" interval: - description: "Interval at which targets are probed using the configured prober. If not specified Prometheus' global scrape interval is used." + description: "Interval at which targets are probed using the configured prober.\nIf not specified Prometheus' global scrape interval is used." type: "string" jobName: description: "The job name assigned to scraped metrics by default." type: "string" module: - description: "The module to use for probing specifying how to probe the target. Example module configuring in the blackbox exporter: https://github.com/prometheus/blackbox_exporter/blob/master/example.yml" + description: "The module to use for probing specifying how to probe the target.\nExample module configuring in the blackbox exporter:\nhttps://github.com/prometheus/blackbox_exporter/blob/master/example.yml" type: "string" oauth2: description: "OAuth2 defines auth configuration" @@ -139,7 +139,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -155,7 +155,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -172,7 +172,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -217,7 +217,7 @@ spec: description: "Timeout for scraping metrics from the Prometheus exporter." type: "string" scrape_interval: - description: "ScrapeInterval is the same as Interval and has priority over it. one of scrape_interval or interval can be used" + description: "ScrapeInterval is the same as Interval and has priority over it.\none of scrape_interval or interval can be used" type: "string" targets: description: "Targets defines a set of static and/or dynamically discovered targets to be probed using the prober." @@ -229,7 +229,7 @@ spec: description: "Select Ingress objects by namespace." properties: any: - description: "Boolean describing whether all namespaces are selected in contrast to a list restricting them." + description: "Boolean describing whether all namespaces are selected in contrast to a\nlist restricting them." type: "boolean" matchNames: description: "List of namespace names." @@ -238,9 +238,9 @@ spec: type: "array" type: "object" relabelingConfigs: - description: "RelabelConfigs to apply to samples before ingestion. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" + description: "RelabelConfigs to apply to samples before ingestion.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -264,26 +264,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -293,16 +293,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -314,13 +314,13 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" type: "object" staticConfig: - description: "StaticConfig defines static targets which are considers for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config." + description: "StaticConfig defines static targets which are considers for probing.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config." properties: labels: additionalProperties: @@ -330,7 +330,7 @@ spec: relabelingConfigs: description: "More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -354,26 +354,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -399,7 +399,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -415,7 +415,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -438,7 +438,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -454,7 +454,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -480,7 +480,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -494,13 +494,13 @@ spec: type: "string" type: "object" vmProberSpec: - description: "Specification for the prober to use for probing targets. The prober.URL parameter is required. Targets cannot be probed if left empty." + description: "Specification for the prober to use for probing targets.\nThe prober.URL parameter is required. Targets cannot be probed if left empty." properties: path: - description: "Path to collect metrics from. Defaults to `/probe`." + description: "Path to collect metrics from.\nDefaults to `/probe`." type: "string" scheme: - description: "HTTP scheme to use for scraping. Defaults to `http`." + description: "HTTP scheme to use for scraping.\nDefaults to `http`." enum: - "http" - "https" @@ -519,7 +519,7 @@ spec: disable_keep_alive: type: "boolean" headers: - description: "Headers allows sending custom headers to scrape targets must be in of semicolon separated header with it's value eg: headerName: headerValue vmagent supports since 1.79.0 version" + description: "Headers allows sending custom headers to scrape targets\nmust be in of semicolon separated header with it's value\neg:\nheaderName: headerValue\nvmagent supports since 1.79.0 version" items: type: "string" type: "array" @@ -528,19 +528,19 @@ spec: no_stale_markers: type: "boolean" proxy_client_config: - description: "ProxyClientConfig configures proxy auth settings for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" + description: "ProxyClientConfig configures proxy auth settings for scraping\nSee feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" properties: basic_auth: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -553,13 +553,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -576,7 +576,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -600,7 +600,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -616,7 +616,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -639,7 +639,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -655,7 +655,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -681,7 +681,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmrules.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmrules.yaml index 279cf098a..a9a2e8f7c 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmrules.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmrules.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmrules.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -19,10 +19,10 @@ spec: description: "VMRule defines rule records for vmalert application" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -40,10 +40,10 @@ spec: extra_filter_labels: additionalProperties: type: "string" - description: "ExtraFilterLabels optional list of label filters applied to every rule's request withing a group. Is compatible only with VM datasource. See more details at https://docs.victoriametrics.com#prometheus-querying-api-enhancements Deprecated, use params instead" + description: "ExtraFilterLabels optional list of label filters applied to every rule's\nrequest withing a group. Is compatible only with VM datasource.\nSee more details at https://docs.victoriametrics.com#prometheus-querying-api-enhancements\nDeprecated, use params instead" type: "object" headers: - description: "Headers contains optional HTTP headers added to each rule request Must be in form `header-name: value` For example: headers: - \"CustomHeader: foo\" - \"CustomHeader2: bar\"" + description: "Headers contains optional HTTP headers added to each rule request\nMust be in form `header-name: value`\nFor example:\n headers:\n - \"CustomHeader: foo\"\n - \"CustomHeader2: bar\"" items: type: "string" type: "array" @@ -53,16 +53,16 @@ spec: labels: additionalProperties: type: "string" - description: "Labels optional list of labels added to every rule within a group. It has priority over the external labels. Labels are commonly used for adding environment or tenant-specific tag." + description: "Labels optional list of labels added to every rule within a group.\nIt has priority over the external labels.\nLabels are commonly used for adding environment\nor tenant-specific tag." type: "object" limit: - description: "Limit the number of alerts an alerting rule and series a recording rule can produce" + description: "Limit the number of alerts an alerting rule and series a recording\nrule can produce" type: "integer" name: description: "Name of group" type: "string" notifier_headers: - description: "NotifierHeaders contains optional HTTP headers added to each alert request which will send to notifier Must be in form `header-name: value` For example: headers: - \"CustomHeader: foo\" - \"CustomHeader2: bar\"" + description: "NotifierHeaders contains optional HTTP headers added to each alert request which will send to notifier\nMust be in form `header-name: value`\nFor example:\n headers:\n - \"CustomHeader: foo\"\n - \"CustomHeader2: bar\"" items: type: "string" type: "array" @@ -87,16 +87,16 @@ spec: description: "Annotations will be added to rule configuration" type: "object" debug: - description: "Debug enables logging for rule it useful for tracking" + description: "Debug enables logging for rule\nit useful for tracking" type: "boolean" expr: description: "Expr is query, that will be evaluated at dataSource" type: "string" for: - description: "For evaluation interval in time.Duration format 30s, 1m, 1h or nanoseconds" + description: "For evaluation interval in time.Duration format\n30s, 1m, 1h or nanoseconds" type: "string" keep_firing_for: - description: "KeepFiringFor will make alert continue firing for this long even when the alerting expression no longer has results. Use time.Duration format, 30s, 1m, 1h or nanoseconds" + description: "KeepFiringFor will make alert continue firing for this long\neven when the alerting expression no longer has results.\nUse time.Duration format, 30s, 1m, 1h or nanoseconds" type: "string" labels: additionalProperties: @@ -107,15 +107,15 @@ spec: description: "Record represents a query, that will be recorded to dataSource" type: "string" update_entries_limit: - description: "UpdateEntriesLimit defines max number of rule's state updates stored in memory. Overrides `-rule.updateEntriesLimit` in vmalert." + description: "UpdateEntriesLimit defines max number of rule's state updates stored in memory.\nOverrides `-rule.updateEntriesLimit` in vmalert." type: "integer" type: "object" type: "array" tenant: - description: "Tenant id for group, can be used only with enterprise version of vmalert See more details at https://docs.victoriametrics.com/vmalert.html#multitenancy" + description: "Tenant id for group, can be used only with enterprise version of vmalert\nSee more details at https://docs.victoriametrics.com/vmalert.html#multitenancy" type: "string" type: - description: "Type defines datasource type for enterprise version of vmalert possible values - prometheus,graphite" + description: "Type defines datasource type for enterprise version of vmalert\npossible values - prometheus,graphite" type: "string" required: - "name" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmservicescrapes.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmservicescrapes.yaml index 1a31b9384..b1db8cbd4 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmservicescrapes.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmservicescrapes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmservicescrapes.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -16,13 +16,13 @@ spec: - name: "v1beta1" schema: openAPIV3Schema: - description: "VMServiceScrape is scrape configuration for endpoints associated with kubernetes service, it generates scrape configuration for vmagent based on selectors. result config will scrape service endpoints" + description: "VMServiceScrape is scrape configuration for endpoints associated with\nkubernetes service,\nit generates scrape configuration for vmagent based on selectors.\nresult config will scrape service endpoints" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -30,7 +30,7 @@ spec: description: "VMServiceScrapeSpec defines the desired state of VMServiceScrape" properties: discoveryRole: - description: "DiscoveryRole - defines kubernetes_sd role for objects discovery. by default, its endpoints. can be changed to service or endpointslices. note, that with service setting, you have to use port: \"name\" and cannot use targetPort for endpoints." + description: "DiscoveryRole - defines kubernetes_sd role for objects discovery.\nby default, its endpoints.\ncan be changed to service or endpointslices.\nnote, that with service setting, you have to use port: \"name\"\nand cannot use targetPort for endpoints." enum: - "endpoints" - "service" @@ -45,7 +45,7 @@ spec: description: "AttachMetadata configures metadata attaching from service discovery" properties: node: - description: "Node instructs vmagent to add node specific metadata from service discovery Valid for roles: pod, endpoints, endpointslice." + description: "Node instructs vmagent to add node specific metadata from service discovery\nValid for roles: pod, endpoints, endpointslice." type: "boolean" type: "object" authorization: @@ -58,7 +58,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -75,16 +75,16 @@ spec: type: "string" type: "object" basicAuth: - description: "BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints" + description: "BasicAuth allow an endpoint to authenticate over basic authentication\nMore info: https://prometheus.io/docs/operating/configuration/#endpoints" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -97,13 +97,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -117,14 +117,14 @@ spec: description: "File to read bearer token for scraping targets." type: "string" bearerTokenSecret: - description: "Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service scrape and accessible by the victoria-metrics operator." + description: "Secret to mount to read bearer token for scraping targets. The secret\nneeds to be in the same namespace as the service scrape and accessible by\nthe victoria-metrics operator." nullable: true properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -148,7 +148,7 @@ spec: metricRelabelConfigs: description: "MetricRelabelConfigs to apply to samples before ingestion." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -172,26 +172,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -208,7 +208,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -224,7 +224,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -241,7 +241,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -288,9 +288,9 @@ spec: description: "ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint." type: "string" relabelConfigs: - description: "RelabelConfigs to apply to samples before scraping. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" + description: "RelabelConfigs to apply to samples before scraping.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -314,26 +314,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -351,7 +351,7 @@ spec: description: "Timeout after which the scrape is ended" type: "string" scrape_interval: - description: "ScrapeInterval is the same as Interval and has priority over it. one of scrape_interval or interval can be used" + description: "ScrapeInterval is the same as Interval and has priority over it.\none of scrape_interval or interval can be used" type: "string" targetPort: anyOf: @@ -372,7 +372,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -388,7 +388,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -411,7 +411,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -427,7 +427,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -453,7 +453,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -474,7 +474,7 @@ spec: disable_keep_alive: type: "boolean" headers: - description: "Headers allows sending custom headers to scrape targets must be in of semicolon separated header with it's value eg: headerName: headerValue vmagent supports since 1.79.0 version" + description: "Headers allows sending custom headers to scrape targets\nmust be in of semicolon separated header with it's value\neg:\nheaderName: headerValue\nvmagent supports since 1.79.0 version" items: type: "string" type: "array" @@ -483,19 +483,19 @@ spec: no_stale_markers: type: "boolean" proxy_client_config: - description: "ProxyClientConfig configures proxy auth settings for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" + description: "ProxyClientConfig configures proxy auth settings for scraping\nSee feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" properties: basic_auth: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -508,13 +508,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -531,7 +531,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -555,7 +555,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -571,7 +571,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -594,7 +594,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -610,7 +610,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -636,7 +636,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -668,7 +668,7 @@ spec: description: "Selector to select which namespaces the Endpoints objects are discovered from." properties: any: - description: "Boolean describing whether all namespaces are selected in contrast to a list restricting them." + description: "Boolean describing whether all namespaces are selected in contrast to a\nlist restricting them." type: "boolean" matchNames: description: "List of namespace names." @@ -691,16 +691,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -712,7 +712,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmsingles.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmsingles.yaml index 819e1788d..0633be4bf 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmsingles.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmsingles.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmsingles.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -24,10 +24,10 @@ spec: description: "VMSingle is fast, cost-effective and scalable time-series database." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -39,12 +39,12 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true configMaps: - description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMSingle object, which shall be mounted into the VMSingle Pods." + description: "ConfigMaps is a list of ConfigMaps in the same namespace as the VMSingle\nobject, which shall be mounted into the VMSingle Pods." items: type: "string" type: "array" containers: - description: "Containers property allows to inject additions sidecars or to patch existing containers. It can be useful for proxies, backup, etc." + description: "Containers property allows to inject additions sidecars or to patch existing containers.\nIt can be useful for proxies, backup, etc." items: description: "A single application container that you want to run within a pod." required: @@ -53,17 +53,17 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" dnsConfig: - description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy." + description: "Specifies the DNS parameters of a pod.\nParameters specified here will be merged to the generated DNS\nconfiguration based on DNSPolicy." items: x-kubernetes-preserve-unknown-fields: true properties: nameservers: - description: "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed." + description: "A list of DNS name server IP addresses.\nThis will be appended to the base nameservers generated from DNSPolicy.\nDuplicated nameservers will be removed." items: type: "string" type: "array" options: - description: "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy." + description: "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.\nDuplicated entries will be removed. Resolution options given in Options\nwill override those that appear in the base DNSPolicy." items: description: "PodDNSConfigOption defines DNS resolver options of a pod." properties: @@ -75,7 +75,7 @@ spec: type: "object" type: "array" searches: - description: "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed." + description: "A list of DNS search domains for host-name lookup.\nThis will be appended to the base search paths generated from DNSPolicy.\nDuplicated search paths will be removed." items: type: "string" type: "array" @@ -86,7 +86,7 @@ spec: extraArgs: additionalProperties: type: "string" - description: "ExtraArgs that will be passed to VMSingle pod for example remoteWrite.tmpDataPath: /tmp" + description: "ExtraArgs that will be passed to VMSingle pod\nfor example remoteWrite.tmpDataPath: /tmp" type: "object" extraEnvs: description: "ExtraEnvs that will be added to VMSingle pod" @@ -97,7 +97,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" required: - "name" @@ -105,9 +105,9 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" hostAliases: - description: "HostAliases provides mapping for ip and hostname, that would be propagated to pod, cannot be used with HostNetwork." + description: "HostAliases provides mapping for ip and hostname,\nthat would be propagated to pod,\ncannot be used with HostNetwork." items: - description: "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file." + description: "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's hosts file." properties: hostnames: description: "Hostnames for the above IP address." @@ -123,7 +123,7 @@ spec: description: "HostNetwork controls whether the pod may use the node network namespace" type: "boolean" image: - description: "Image - docker image settings for VMSingle if no specified operator uses default config version" + description: "Image - docker image settings for VMSingle\nif no specified operator uses default config version" properties: pullPolicy: description: "PullPolicy describes how to pull docker image" @@ -136,18 +136,18 @@ spec: type: "string" type: "object" imagePullSecrets: - description: "ImagePullSecrets An optional list of references to secrets in the same namespace to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" + description: "ImagePullSecrets An optional list of references to secrets in the same namespace\nto use for pulling images from registries\nsee https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod" items: - description: "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace." + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" type: "array" initContainers: - description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the vmSingle configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ Using initContainers for any use case other then secret fetching is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice." + description: "InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.\nfetch secrets for injection into the vmSingle configuration from external sources. Any\nerrors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/\nUsing initContainers for any use case other then secret fetching is entirely outside the scope\nof what the maintainers will support and by doing so, you accept that this behaviour may break\nat any time without notice." items: description: "A single application container that you want to run within a pod." required: @@ -172,10 +172,10 @@ spec: type: "string" type: "object" license: - description: "License allows to configure license key to be used for enterprise features. Using license key is supported starting from VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html" + description: "License allows to configure license key to be used for enterprise features.\nUsing license key is supported starting from VictoriaMetrics v1.94.0.\nSee: https://docs.victoriametrics.com/enterprise.html" properties: key: - description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" + description: "Enterprise license key. This flag is available only in VictoriaMetrics enterprise.\nDocumentation - https://docs.victoriametrics.com/enterprise.html\nfor more information, visit https://victoriametrics.com/products/enterprise/ .\nTo request a trial license, go to https://victoriametrics.com/products/enterprise/trial/" type: "string" keyRef: description: "KeyRef is reference to secret with license key for enterprise features." @@ -184,7 +184,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -224,19 +224,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" podSecurityPolicyName: - description: "PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used." + description: "PodSecurityPolicyName - defines name for podSecurityPolicy\nin case of empty value, prefixedName will be used." type: "string" port: description: "Port listen port" @@ -261,15 +261,30 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true removePvcAfterDelete: - description: "RemovePvcAfterDelete - if true, controller adds ownership to pvc and after VMSingle objest deletion - pvc will be garbage collected by controller manager" + description: "RemovePvcAfterDelete - if true, controller adds ownership to pvc\nand after VMSingle objest deletion - pvc will be garbage collected\nby controller manager" type: "boolean" replicaCount: - description: "ReplicaCount is the expected size of the VMSingle it can be 0 or 1 if you need more - use vm cluster" + description: "ReplicaCount is the expected size of the VMSingle\nit can be 0 or 1\nif you need more - use vm cluster" format: "int32" type: "integer" resources: - description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ if not defined default resources from operator config will be used" + description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/\nif not defined default resources from operator config will be used" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -277,7 +292,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -286,33 +301,33 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" retentionPeriod: - description: "RetentionPeriod for the stored metrics Note VictoriaMetrics has data/ and indexdb/ folders metrics from data/ removed eventually as soon as partition leaves retention period reverse index data at indexdb rotates once at the half of configured retention period https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#retention" + description: "RetentionPeriod for the stored metrics\nNote VictoriaMetrics has data/ and indexdb/ folders\nmetrics from data/ removed eventually as soon as partition leaves retention period\nreverse index data at indexdb rotates once at the half of configured retention period\nhttps://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#retention" type: "string" revisionHistoryLimitCount: - description: "The number of old ReplicaSets to retain to allow rollback in deployment or maximum number of revisions that will be maintained in the StatefulSet's revision history. Defaults to 10." + description: "The number of old ReplicaSets to retain to allow rollback in deployment or\nmaximum number of revisions that will be maintained in the StatefulSet's revision history.\nDefaults to 10." format: "int32" type: "integer" runtimeClassName: - description: "RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/" + description: "RuntimeClassName - defines runtime class for kubernetes pod.\nhttps://kubernetes.io/docs/concepts/containers/runtime-class/" type: "string" schedulerName: description: "SchedulerName - defines kubernetes scheduler name" type: "string" secrets: - description: "Secrets is a list of Secrets in the same namespace as the VMSingle object, which shall be mounted into the VMSingle Pods." + description: "Secrets is a list of Secrets in the same namespace as the VMSingle\nobject, which shall be mounted into the VMSingle Pods." items: type: "string" type: "array" securityContext: - description: "SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext." + description: "SecurityContext holds pod-level security attributes and common container settings.\nThis defaults to the default PodSecurityContext." type: "object" x-kubernetes-preserve-unknown-fields: true serviceAccountName: - description: "ServiceAccountName is the name of the ServiceAccount to use to run the VMSingle Pods." + description: "ServiceAccountName is the name of the ServiceAccount to use to run the\nVMSingle Pods." type: "string" serviceScrapeSpec: description: "ServiceScrapeSpec that will be added to vmsingle VMServiceScrape spec" @@ -329,19 +344,19 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" spec: - description: "ServiceSpec describes the attributes that a user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/" + description: "ServiceSpec describes the attributes that a user creates on a service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/" type: "object" x-kubernetes-preserve-unknown-fields: true required: @@ -352,18 +367,18 @@ spec: type: "object" x-kubernetes-preserve-unknown-fields: true storage: - description: "Storage is the definition of how storage will be used by the VMSingle by default it`s empty dir" + description: "Storage is the definition of how storage will be used by the VMSingle\nby default it`s empty dir" properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -377,10 +392,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -388,14 +403,31 @@ spec: name: description: "Name is the name of resource being referenced" type: "string" + namespace: + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + type: "string" required: - "kind" - "name" type: "object" - x-kubernetes-map-type: "atomic" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -403,7 +435,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -412,7 +444,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -421,16 +453,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -442,22 +474,22 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." type: "string" type: "object" storageDataPath: - description: "StorageDataPath disables spec.storage option and overrides arg for victoria-metrics binary --storageDataPath, its users responsibility to mount proper device into given path." + description: "StorageDataPath disables spec.storage option and overrides arg for victoria-metrics binary --storageDataPath,\nits users responsibility to mount proper device into given path." type: "string" storageMetadata: description: "StorageMeta defines annotations and labels attached to PVC for given vmsingle CR" @@ -465,15 +497,15 @@ spec: annotations: additionalProperties: type: "string" - description: "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" + description: "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations" type: "object" labels: additionalProperties: type: "string" - description: "Labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" + description: "Labels Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels" type: "object" name: - description: "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" + description: "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names" type: "string" type: "object" streamAggrConfig: @@ -494,14 +526,17 @@ spec: description: "StreamAggrRule defines the rule in stream aggregation config" properties: by: - description: "By is an optional list of labels for grouping input series. \n See also Without. \n If neither By nor Without are set, then the Outputs are calculated individually per each input time series." + description: "By is an optional list of labels for grouping input series.\n\n\nSee also Without.\n\n\nIf neither By nor Without are set, then the Outputs are calculated\nindividually per each input time series." items: type: "string" type: "array" + flush_on_shutdown: + description: "FlushOnShutdown defines whether to flush the aggregation state on process termination\nor config reload. Is `false` by default.\nIt is not recommended changing this setting, unless unfinished aggregations states\nare preferred to missing data points." + type: "boolean" input_relabel_configs: - description: "InputRelabelConfigs is an optional relabeling rules, which are applied on the input before aggregation." + description: "InputRelabelConfigs is an optional relabeling rules, which are applied on the input\nbefore aggregation." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -525,26 +560,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -552,12 +587,12 @@ spec: description: "Interval is the interval between aggregations." type: "string" match: - description: "Match is a label selector (or list of label selectors) for filtering time series for the given selector. \n If the match isn't set, then all the input time series are processed." + description: "Match is a label selector (or list of label selectors) for filtering time series for the given selector.\n\n\nIf the match isn't set, then all the input time series are processed." x-kubernetes-preserve-unknown-fields: true output_relabel_configs: - description: "OutputRelabelConfigs is an optional relabeling rules, which are applied on the aggregated output before being sent to remote storage." + description: "OutputRelabelConfigs is an optional relabeling rules, which are applied\non the aggregated output before being sent to remote storage." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -581,31 +616,31 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" outputs: - description: "Outputs is a list of output aggregate functions to produce. \n The following names are allowed: \n - total - aggregates input counters - increase - counts the increase over input counters - count_series - counts the input series - count_samples - counts the input samples - sum_samples - sums the input samples - last - the last biggest sample value - min - the minimum sample value - max - the maximum sample value - avg - the average value across all the samples - stddev - standard deviation across all the samples - stdvar - standard variance across all the samples - histogram_bucket - creates VictoriaMetrics histogram for input samples - quantiles(phi1, ..., phiN) - quantiles' estimation for phi in the range [0..1] \n The output time series will have the following names: \n input_name:aggr__" + description: "Outputs is a list of output aggregate functions to produce.\n\n\nThe following names are allowed:\n\n\n- total - aggregates input counters\n- increase - counts the increase over input counters\n- count_series - counts the input series\n- count_samples - counts the input samples\n- sum_samples - sums the input samples\n- last - the last biggest sample value\n- min - the minimum sample value\n- max - the maximum sample value\n- avg - the average value across all the samples\n- stddev - standard deviation across all the samples\n- stdvar - standard variance across all the samples\n- histogram_bucket - creates VictoriaMetrics histogram for input samples\n- quantiles(phi1, ..., phiN) - quantiles' estimation for phi in the range [0..1]\n\n\nThe output time series will have the following names:\n\n\n input_name:aggr__" items: type: "string" type: "array" @@ -613,7 +648,7 @@ spec: description: "StalenessInterval defines an interval after which the series state will be reset if no samples have been sent during it." type: "string" without: - description: "Without is an optional list of labels, which must be excluded when grouping input series. \n See also By. \n If neither By nor Without are set, then the Outputs are calculated individually per each input time series." + description: "Without is an optional list of labels, which must be excluded when grouping input series.\n\n\nSee also By.\n\n\nIf neither By nor Without are set, then the Outputs are calculated\nindividually per each input time series." items: type: "string" type: "array" @@ -632,28 +667,28 @@ spec: tolerations: description: "Tolerations If specified, the pod's tolerations." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" topologySpreadConstraints: - description: "TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" + description: "TopologySpreadConstraints embedded kubernetes pod configuration option,\ncontrols how pods are spread across your cluster among failure-domains\nsuch as regions, zones, nodes, and other user-defined topology domains\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/" items: description: "TopologySpreadConstraint specifies how to spread matching pods among the given topology." required: @@ -664,26 +699,26 @@ spec: x-kubernetes-preserve-unknown-fields: true type: "array" useStrictSecurity: - description: "UseStrictSecurity enables strict security mode for component it restricts disk writes access uses non-root user out of the box drops not needed security permissions" + description: "UseStrictSecurity enables strict security mode for component\nit restricts disk writes access\nuses non-root user out of the box\ndrops not needed security permissions" type: "boolean" vmBackup: description: "VMBackup configuration for backup" properties: acceptEULA: - description: "AcceptEULA accepts enterprise feature usage, must be set to true. otherwise backupmanager cannot be added to single/cluster version. https://victoriametrics.com/legal/esa/" + description: "AcceptEULA accepts enterprise feature usage, must be set to true.\notherwise backupmanager cannot be added to single/cluster version.\nhttps://victoriametrics.com/legal/esa/" type: "boolean" concurrency: description: "Defines number of concurrent workers. Higher concurrency may reduce backup duration (default 10)" format: "int32" type: "integer" credentialsSecret: - description: "CredentialsSecret is secret in the same namespace for access to remote storage The secret is mounted into /etc/vm/creds." + description: "CredentialsSecret is secret in the same namespace for access to remote storage\nThe secret is mounted into /etc/vm/creds." properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -699,7 +734,7 @@ spec: description: "Defines destination for backup" type: "string" destinationDisableSuffixAdd: - description: "DestinationDisableSuffixAdd - disables suffix adding for cluster version backups each vmstorage backup must have unique backup folder so operator adds POD_NAME as suffix for backup destination folder." + description: "DestinationDisableSuffixAdd - disables suffix adding for cluster version backups\neach vmstorage backup must have unique backup folder\nso operator adds POD_NAME as suffix for backup destination folder." type: "boolean" disableDaily: description: "Defines if daily backups disabled (default false)" @@ -726,7 +761,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -738,7 +773,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -748,7 +783,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -761,7 +796,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -787,7 +822,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -815,7 +850,7 @@ spec: type: "string" type: "object" logFormat: - description: "LogFormat for VMSelect to be configured with. default or json" + description: "LogFormat for VMSelect to be configured with.\ndefault or json" enum: - "default" - "json" @@ -833,8 +868,23 @@ spec: description: "Port for health check connections" type: "string" resources: - description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ if not defined default resources from operator config will be used" + description: "Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/\nif not defined default resources from operator config will be used" properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -842,7 +892,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -851,11 +901,11 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" restore: - description: "Restore Allows to enable restore options for pod Read more: https://docs.victoriametrics.com/vmbackupmanager.html#restore-commands" + description: "Restore Allows to enable restore options for pod\nRead more: https://docs.victoriametrics.com/vmbackupmanager.html#restore-commands" properties: onStart: description: "OnStart defines configuration for restore on pod start" @@ -872,27 +922,27 @@ spec: description: "SnapShotDeleteURL overwrites url for snapshot delete" type: "string" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. VolumeMounts specified will be appended to other VolumeMounts in the vmbackupmanager container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.\nVolumeMounts specified will be appended to other VolumeMounts in the vmbackupmanager container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -901,27 +951,27 @@ spec: type: "array" type: "object" volumeMounts: - description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. VolumeMounts specified will be appended to other VolumeMounts in the VMSingle container, that are generated as a result of StorageSpec objects." + description: "VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition.\nVolumeMounts specified will be appended to other VolumeMounts in the VMSingle container,\nthat are generated as a result of StorageSpec objects." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -929,7 +979,7 @@ spec: type: "object" type: "array" volumes: - description: "Volumes allows configuration of additional volumes on the output deploy definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects." + description: "Volumes allows configuration of additional volumes on the output deploy definition.\nVolumes specified will be appended to other volumes that are generated as a result of\nStorageSpec objects." items: description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." required: diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmstaticscrapes.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmstaticscrapes.yaml index 3659fc613..62b6804a5 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmstaticscrapes.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmstaticscrapes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmstaticscrapes.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -19,10 +19,10 @@ spec: description: "VMStaticScrape defines static targets configuration for scraping." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -51,7 +51,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -68,16 +68,16 @@ spec: type: "string" type: "object" basicAuth: - description: "BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints" + description: "BasicAuth allow an endpoint to authenticate over basic authentication\nMore info: https://prometheus.io/docs/operating/configuration/#endpoints" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -90,13 +90,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -110,14 +110,14 @@ spec: description: "File to read bearer token for scraping targets." type: "string" bearerTokenSecret: - description: "Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service scrape and accessible by the victoria-metrics operator." + description: "Secret to mount to read bearer token for scraping targets. The secret\nneeds to be in the same namespace as the service scrape and accessible by\nthe victoria-metrics operator." nullable: true properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -146,7 +146,7 @@ spec: metricRelabelConfigs: description: "MetricRelabelConfigs to apply to samples before ingestion." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -170,26 +170,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -206,7 +206,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -222,7 +222,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -239,7 +239,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -286,9 +286,9 @@ spec: description: "ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint." type: "string" relabelConfigs: - description: "RelabelConfigs to apply to samples before scraping. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" + description: "RelabelConfigs to apply to samples before scraping.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines ``-section of configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: description: "Action to perform based on regex matching. Default is 'replace'" @@ -312,26 +312,26 @@ spec: description: "Regular expression against which the extracted value is matched. Default is '(.*)'" type: "string" replacement: - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" source_labels: - description: "UnderScoreSourceLabels - additional form of source labels source_labels for compatibility with original relabel config. if set both sourceLabels and source_labels, sourceLabels has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreSourceLabels - additional form of source labels source_labels\nfor compatibility with original relabel config.\nif set both sourceLabels and source_labels, sourceLabels has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" target_label: - description: "UnderScoreTargetLabel - additional form of target label - target_label for compatibility with original relabel config. if set both targetLabel and target_label, targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131" + description: "UnderScoreTargetLabel - additional form of target label - target_label\nfor compatibility with original relabel config.\nif set both targetLabel and target_label, targetLabel has priority.\nfor details https://github.com/VictoriaMetrics/operator/issues/131" type: "string" type: "object" type: "array" @@ -349,7 +349,7 @@ spec: description: "Timeout after which the scrape is ended" type: "string" scrape_interval: - description: "ScrapeInterval is the same as Interval and has priority over it. one of scrape_interval or interval can be used" + description: "ScrapeInterval is the same as Interval and has priority over it.\none of scrape_interval or interval can be used" type: "string" targets: description: "Targets static targets addresses in form of [\"192.122.55.55:9100\",\"some-name:9100\"]." @@ -370,7 +370,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -386,7 +386,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -409,7 +409,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -425,7 +425,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -451,7 +451,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -472,7 +472,7 @@ spec: disable_keep_alive: type: "boolean" headers: - description: "Headers allows sending custom headers to scrape targets must be in of semicolon separated header with it's value eg: headerName: headerValue vmagent supports since 1.79.0 version" + description: "Headers allows sending custom headers to scrape targets\nmust be in of semicolon separated header with it's value\neg:\nheaderName: headerValue\nvmagent supports since 1.79.0 version" items: type: "string" type: "array" @@ -481,19 +481,19 @@ spec: no_stale_markers: type: "boolean" proxy_client_config: - description: "ProxyClientConfig configures proxy auth settings for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" + description: "ProxyClientConfig configures proxy auth settings for scraping\nSee feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy" properties: basic_auth: description: "BasicAuth allow an endpoint to authenticate over basic authentication" properties: password: - description: "The secret in the service scrape namespace that contains the password for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the password\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -506,13 +506,13 @@ spec: description: "PasswordFile defines path to password file at disk" type: "string" username: - description: "The secret in the service scrape namespace that contains the username for authentication. It must be at them same namespace as CRD" + description: "The secret in the service scrape namespace that contains the username\nfor authentication.\nIt must be at them same namespace as CRD" properties: key: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -529,7 +529,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -553,7 +553,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -569,7 +569,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -592,7 +592,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -608,7 +608,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -634,7 +634,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmusers.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmusers.yaml index e6ba5cd91..57c87e77e 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmusers.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmusers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "vmusers.operator.victoriametrics.com" spec: group: "operator.victoriametrics.com" @@ -19,10 +19,10 @@ spec: description: "VMUser is the Schema for the vmusers API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -33,7 +33,7 @@ spec: description: "BearerToken Authorization header value for accessing protected endpoint." type: "string" default_url: - description: "DefaultURLs backend url for non-matching paths filter usually used for default backend with error message" + description: "DefaultURLs backend url for non-matching paths filter\nusually used for default backend with error message" items: type: "string" type: "array" @@ -41,18 +41,18 @@ spec: description: "DisableSecretCreation skips related secret creation for vmuser" type: "boolean" drop_src_path_prefix_parts: - description: "DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend. See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details." + description: "DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.\nSee https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details." type: "integer" generatePassword: - description: "GeneratePassword instructs operator to generate password for user if spec.password if empty." + description: "GeneratePassword instructs operator to generate password for user\nif spec.password if empty." type: "boolean" headers: - description: "Headers represent additional http headers, that vmauth uses in form of [\"header_key: header_value\"] multiple values for header key: [\"header_key: value1,value2\"] it's available since 1.68.0 version of vmauth" + description: "Headers represent additional http headers, that vmauth uses\nin form of [\"header_key: header_value\"]\nmultiple values for header key:\n[\"header_key: value1,value2\"]\nit's available since 1.68.0 version of vmauth" items: type: "string" type: "array" ip_filters: - description: "IPFilters defines per target src ip filters supported only with enterprise version of vmauth https://docs.victoriametrics.com/vmauth.html#ip-filters" + description: "IPFilters defines per target src ip filters\nsupported only with enterprise version of vmauth\nhttps://docs.victoriametrics.com/vmauth.html#ip-filters" properties: allow_list: items: @@ -64,13 +64,13 @@ spec: type: "array" type: "object" load_balancing_policy: - description: "LoadBalancingPolicy defines load balancing policy to use for backend urls. Supported policies: least_loaded, first_available. See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default \"least_loaded\")" + description: "LoadBalancingPolicy defines load balancing policy to use for backend urls.\nSupported policies: least_loaded, first_available.\nSee https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default \"least_loaded\")" enum: - "least_loaded" - "first_available" type: "string" max_concurrent_requests: - description: "MaxConcurrentRequests defines max concurrent requests per user 300 is default value for vmauth" + description: "MaxConcurrentRequests defines max concurrent requests per user\n300 is default value for vmauth" type: "integer" metric_labels: additionalProperties: @@ -90,7 +90,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -100,25 +100,25 @@ spec: type: "object" x-kubernetes-map-type: "atomic" response_headers: - description: "ResponseHeaders represent additional http headers, that vmauth adds for request response in form of [\"header_key: header_value\"] multiple values for header key: [\"header_key: value1,value2\"] it's available since 1.93.0 version of vmauth" + description: "ResponseHeaders represent additional http headers, that vmauth adds for request response\nin form of [\"header_key: header_value\"]\nmultiple values for header key:\n[\"header_key: value1,value2\"]\nit's available since 1.93.0 version of vmauth" items: type: "string" type: "array" retry_status_codes: - description: "RetryStatusCodes defines http status codes in numeric format for request retries e.g. [429,503]" + description: "RetryStatusCodes defines http status codes in numeric format for request retries\ne.g. [429,503]" items: type: "integer" type: "array" targetRefs: description: "TargetRefs - reference to endpoints, which user may access." items: - description: "TargetRef describes target for user traffic forwarding. one of target types can be chosen: crd or static per targetRef. user can define multiple targetRefs with different ref Types." + description: "TargetRef describes target for user traffic forwarding.\none of target types can be chosen:\ncrd or static per targetRef.\nuser can define multiple targetRefs with different ref Types." properties: crd: - description: "CRD describes exist operator's CRD object, operator generates access url based on CRD params." + description: "CRD describes exist operator's CRD object,\noperator generates access url based on CRD params." properties: kind: - description: "Kind one of: VMAgent VMAlert VMCluster VMSingle or VMAlertManager" + description: "Kind one of:\nVMAgent VMAlert VMCluster VMSingle or VMAlertManager" type: "string" name: description: "Name target CRD object name" @@ -132,10 +132,10 @@ spec: - "namespace" type: "object" drop_src_path_prefix_parts: - description: "DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend. See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details." + description: "DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.\nSee https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details." type: "integer" headers: - description: "Headers represent additional http headers, that vmauth uses in form of [\"header_key: header_value\"] multiple values for header key: [\"header_key: value1,value2\"] it's available since 1.68.0 version of vmauth" + description: "Headers represent additional http headers, that vmauth uses\nin form of [\"header_key: header_value\"]\nmultiple values for header key:\n[\"header_key: value1,value2\"]\nit's available since 1.68.0 version of vmauth" items: type: "string" type: "array" @@ -144,7 +144,7 @@ spec: type: "string" type: "array" load_balancing_policy: - description: "LoadBalancingPolicy defines load balancing policy to use for backend urls. Supported policies: least_loaded, first_available. See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default \"least_loaded\")" + description: "LoadBalancingPolicy defines load balancing policy to use for backend urls.\nSupported policies: least_loaded, first_available.\nSee https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default \"least_loaded\")" enum: - "least_loaded" - "first_available" @@ -155,17 +155,17 @@ spec: type: "string" type: "array" response_headers: - description: "ResponseHeaders represent additional http headers, that vmauth adds for request response in form of [\"header_key: header_value\"] multiple values for header key: [\"header_key: value1,value2\"] it's available since 1.93.0 version of vmauth" + description: "ResponseHeaders represent additional http headers, that vmauth adds for request response\nin form of [\"header_key: header_value\"]\nmultiple values for header key:\n[\"header_key: value1,value2\"]\nit's available since 1.93.0 version of vmauth" items: type: "string" type: "array" retry_status_codes: - description: "RetryStatusCodes defines http status codes in numeric format for request retries Can be defined per target or at VMUser.spec level e.g. [429,503]" + description: "RetryStatusCodes defines http status codes in numeric format for request retries\nCan be defined per target or at VMUser.spec level\ne.g. [429,503]" items: type: "integer" type: "array" static: - description: "Static - user defined url for traffic forward, for instance http://vmsingle:8429" + description: "Static - user defined url for traffic forward,\nfor instance http://vmsingle:8429" properties: url: description: "URL http url for given staticRef." @@ -177,12 +177,12 @@ spec: type: "array" type: "object" target_path_suffix: - description: "QueryParams []string `json:\"queryParams,omitempty\"` TargetPathSuffix allows to add some suffix to the target path It allows to hide tenant configuration from user with crd as ref. it also may contain any url encoded params." + description: "QueryParams []string `json:\"queryParams,omitempty\"`\nTargetPathSuffix allows to add some suffix to the target path\nIt allows to hide tenant configuration from user with crd as ref.\nit also may contain any url encoded params." type: "string" type: "object" type: "array" tls_insecure_skip_verify: - description: "TLSInsecureSkipVerify - whether to skip TLS verification when connecting to backend over HTTPS. See https://docs.victoriametrics.com/vmauth.html#backend-tls-setup" + description: "TLSInsecureSkipVerify - whether to skip TLS verification when connecting to backend over HTTPS.\nSee https://docs.victoriametrics.com/vmauth.html#backend-tls-setup" type: "boolean" tokenRef: description: "TokenRef allows fetching token from user-created secrets by its name and key." @@ -191,7 +191,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -201,7 +201,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" username: - description: "UserName basic auth user name for accessing protected endpoint, will be replaced with metadata.name of VMUser if omitted." + description: "UserName basic auth user name for accessing protected endpoint,\nwill be replaced with metadata.name of VMUser if omitted." type: "string" required: - "targetRefs" diff --git a/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1/aerospikeclusters.yaml b/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1/aerospikeclusters.yaml index 283ff418b..2e8b1882c 100644 --- a/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1/aerospikeclusters.yaml +++ b/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1/aerospikeclusters.yaml @@ -21,7 +21,7 @@ spec: - jsonPath: ".spec.image" name: "Image" type: "string" - - jsonPath: ".spec.podSpec.MultiPodPerHost" + - jsonPath: ".spec.podSpec.multiPodPerHost" name: "MultiPodPerHost" type: "boolean" - jsonPath: ".spec.podSpec.hostNetwork" @@ -30,6 +30,9 @@ spec: - jsonPath: ".metadata.creationTimestamp" name: "Age" type: "date" + - jsonPath: ".status.phase" + name: "Phase" + type: "string" name: "v1" schema: openAPIV3Schema: @@ -216,6 +219,18 @@ spec: image: description: "Aerospike server image" type: "string" + k8sNodeBlockList: + description: "K8sNodeBlockList is a list of Kubernetes nodes which are not used for Aerospike pods. Pods are not scheduled on these nodes. Pods are migrated from these nodes if already present. This is useful for the maintenance of Kubernetes nodes." + items: + type: "string" + minItems: 1 + type: "array" + maxUnavailable: + anyOf: + - type: "integer" + - type: "string" + description: "MaxUnavailable is the percentage/number of pods that can be allowed to go down or unavailable before application disruption. This value is used to create PodDisruptionBudget. Defaults to 1. Refer Aerospike documentation for more details." + x-kubernetes-int-or-string: true operatorClientCert: description: "Certificates to connect to Aerospike." properties: @@ -3526,7 +3541,7 @@ spec: type: "string" type: "object" cleanupThreads: - description: "CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container." + description: "CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container." type: "integer" filesystemVolumePolicy: description: "FileSystemVolumePolicy contains default policies for filesystem volumes." @@ -3570,6 +3585,11 @@ spec: - "deleteFiles" type: "string" type: "object" + localStorageClasses: + description: "LocalStorageClasses contains a list of storage classes which provisions local volumes." + items: + type: "string" + type: "array" volumes: description: "Volumes list to attach to created pods." items: @@ -4476,7 +4496,7 @@ spec: type: "string" type: "object" cleanupThreads: - description: "CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container." + description: "CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container." type: "integer" filesystemVolumePolicy: description: "FileSystemVolumePolicy contains default policies for filesystem volumes." @@ -4520,6 +4540,11 @@ spec: - "deleteFiles" type: "string" type: "object" + localStorageClasses: + description: "LocalStorageClasses contains a list of storage classes which provisions local volumes." + items: + type: "string" + type: "array" volumes: description: "Volumes list to attach to created pods." items: @@ -4923,7 +4948,7 @@ spec: type: "string" type: "object" cleanupThreads: - description: "CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container." + description: "CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container." type: "integer" filesystemVolumePolicy: description: "FileSystemVolumePolicy contains default policies for filesystem volumes." @@ -4967,6 +4992,11 @@ spec: - "deleteFiles" type: "string" type: "object" + localStorageClasses: + description: "LocalStorageClasses contains a list of storage classes which provisions local volumes." + items: + type: "string" + type: "array" volumes: description: "Volumes list to attach to created pods." items: @@ -5456,6 +5486,17 @@ spec: image: description: "Aerospike server image" type: "string" + k8sNodeBlockList: + description: "K8sNodeBlockList is a list of Kubernetes nodes which are not used for Aerospike pods." + items: + type: "string" + type: "array" + maxUnavailable: + anyOf: + - type: "integer" + - type: "string" + description: "MaxUnavailable is the percentage/number of pods that can be allowed to go down or unavailable before application disruption. This value is used to create PodDisruptionBudget. Defaults to 1." + x-kubernetes-int-or-string: true multiPodPerHost: description: "If set true then multiple pods can be created per Kubernetes Node. This will create a NodePort service for each Pod. NodePort, as the name implies, opens a specific port on all the Kubernetes Nodes , and any traffic that is sent to this port is forwarded to the service. Here service picks a random port in range (30000-32767), so these port should be open. \n If set false then only single pod can be created per Kubernetes Node. This will create Pods using hostPort setting. The container port will be exposed to the external network at :, where the hostIP is the IP address of the Kubernetes Node where the container is running and the hostPort is the port requested by the user. Deprecated: MultiPodPerHost is now part of podSpec" type: "boolean" @@ -5500,6 +5541,13 @@ spec: description: "If specified, this name will be added to tls-authenticate-client list by the operator" type: "string" type: "object" + phase: + description: "Phase denotes the current phase of Aerospike cluster operation." + enum: + - "InProgress" + - "Completed" + - "Error" + type: "string" podSpec: description: "Additional configuration for create Aerospike pods." properties: @@ -8861,7 +8909,7 @@ spec: type: "string" type: "object" cleanupThreads: - description: "CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container." + description: "CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container." type: "integer" filesystemVolumePolicy: description: "FileSystemVolumePolicy contains default policies for filesystem volumes." @@ -8905,6 +8953,11 @@ spec: - "deleteFiles" type: "string" type: "object" + localStorageClasses: + description: "LocalStorageClasses contains a list of storage classes which provisions local volumes." + items: + type: "string" + type: "array" volumes: description: "Volumes list to attach to created pods." items: @@ -9811,7 +9864,7 @@ spec: type: "string" type: "object" cleanupThreads: - description: "CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container." + description: "CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container." type: "integer" filesystemVolumePolicy: description: "FileSystemVolumePolicy contains default policies for filesystem volumes." @@ -9855,6 +9908,11 @@ spec: - "deleteFiles" type: "string" type: "object" + localStorageClasses: + description: "LocalStorageClasses contains a list of storage classes which provisions local volumes." + items: + type: "string" + type: "array" volumes: description: "Volumes list to attach to created pods." items: @@ -10295,7 +10353,7 @@ spec: type: "string" type: "object" cleanupThreads: - description: "CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container." + description: "CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container." type: "integer" filesystemVolumePolicy: description: "FileSystemVolumePolicy contains default policies for filesystem volumes." @@ -10339,6 +10397,11 @@ spec: - "deleteFiles" type: "string" type: "object" + localStorageClasses: + description: "LocalStorageClasses contains a list of storage classes which provisions local volumes." + items: + type: "string" + type: "array" volumes: description: "Volumes list to attach to created pods." items: @@ -10648,8 +10711,6 @@ spec: - "skipWorkDirValidate" - "skipXdrDlogFileValidate" type: "object" - required: - - "pods" type: "object" type: "object" served: true diff --git a/crd-catalog/alexandrevilain/temporal-operator/temporal.io/v1beta1/temporalclusters.yaml b/crd-catalog/alexandrevilain/temporal-operator/temporal.io/v1beta1/temporalclusters.yaml index 58c57c7b0..bc3cb388e 100644 --- a/crd-catalog/alexandrevilain/temporal-operator/temporal.io/v1beta1/temporalclusters.yaml +++ b/crd-catalog/alexandrevilain/temporal-operator/temporal.io/v1beta1/temporalclusters.yaml @@ -506,6 +506,13 @@ spec: enabled: description: "Enabled defines if the operator should enable metrics exposition on temporal components." type: "boolean" + excludeTags: + additionalProperties: + items: + type: "string" + type: "array" + description: "ExcludeTags is a map from tag name string to tag values string list. Each value present in keys will have relevant tag value replaced with \"_tag_excluded_\" Each value in values list will white-list tag values to be reported as usual." + type: "object" perUnitHistogramBoundaries: additionalProperties: items: @@ -513,6 +520,9 @@ spec: type: "array" description: "PerUnitHistogramBoundaries defines the default histogram bucket boundaries. Configuration of histogram boundaries for given metric unit. \n Supported values: - \"dimensionless\" - \"milliseconds\" - \"bytes\"" type: "object" + prefix: + description: "Prefix sets the prefix to all outgoing metrics" + type: "string" prometheus: description: "Prometheus reporter configuration." properties: diff --git a/crd-catalog/ansible/awx-operator/awx.ansible.com/v1beta1/awxs.yaml b/crd-catalog/ansible/awx-operator/awx.ansible.com/v1beta1/awxs.yaml index cbe3dd669..6005ef6bf 100644 --- a/crd-catalog/ansible/awx-operator/awx.ansible.com/v1beta1/awxs.yaml +++ b/crd-catalog/ansible/awx-operator/awx.ansible.com/v1beta1/awxs.yaml @@ -647,6 +647,10 @@ spec: ldap_password_secret: description: "Secret where can be found the LDAP bind password" type: "string" + loadbalancer_class: + default: "" + description: "Class of LoadBalancer to use" + type: "string" loadbalancer_ip: default: "" description: "Assign LoadBalancer IP address" @@ -1349,6 +1353,26 @@ spec: task_extra_volume_mounts: description: "Specify volume mounts to be added to Task container" type: "string" + task_liveness_failure_threshold: + default: 3 + description: "Number of consecutive failure events to identify failure of task pod" + format: "int32" + type: "integer" + task_liveness_initial_delay: + default: 5 + description: "Initial delay before starting liveness checks on task pod" + format: "int32" + type: "integer" + task_liveness_period: + default: 0 + description: "Time period in seconds between each liveness check for the task pod" + format: "int32" + type: "integer" + task_liveness_timeout: + default: 1 + description: "Number of seconds to wait for a probe response from task pod" + format: "int32" + type: "integer" task_node_selector: description: "nodeSelector for the task pods" type: "string" @@ -1356,6 +1380,26 @@ spec: default: false description: "If a privileged security context should be enabled" type: "boolean" + task_readiness_failure_threshold: + default: 3 + description: "Number of consecutive failure events to identify failure of task pod" + format: "int32" + type: "integer" + task_readiness_initial_delay: + default: 20 + description: "Initial delay before starting readiness checks on task pod" + format: "int32" + type: "integer" + task_readiness_period: + default: 0 + description: "Time period in seconds between each readiness check for the task pod" + format: "int32" + type: "integer" + task_readiness_timeout: + default: 1 + description: "Number of seconds to wait for a probe response from task pod" + format: "int32" + type: "integer" task_replicas: description: "Number of task instance replicas" format: "int32" @@ -1790,9 +1834,49 @@ spec: web_extra_volume_mounts: description: "Specify volume mounts to be added to the Web container" type: "string" + web_liveness_failure_threshold: + default: 3 + description: "Number of consecutive failure events to identify failure of web pod" + format: "int32" + type: "integer" + web_liveness_initial_delay: + default: 5 + description: "Initial delay before starting liveness checks on web pod" + format: "int32" + type: "integer" + web_liveness_period: + default: 0 + description: "Time period in seconds between each liveness check for the web pod" + format: "int32" + type: "integer" + web_liveness_timeout: + default: 1 + description: "Number of seconds to wait for a probe response from web pod" + format: "int32" + type: "integer" web_node_selector: description: "nodeSelector for the web pods" type: "string" + web_readiness_failure_threshold: + default: 3 + description: "Number of consecutive failure events to identify failure of web pod" + format: "int32" + type: "integer" + web_readiness_initial_delay: + default: 20 + description: "Initial delay before starting readiness checks on web pod" + format: "int32" + type: "integer" + web_readiness_period: + default: 0 + description: "Time period in seconds between each readiness check for the web pod" + format: "int32" + type: "integer" + web_readiness_timeout: + default: 1 + description: "Number of seconds to wait for a probe response from web pod" + format: "int32" + type: "integer" web_replicas: description: "Number of web instance replicas" format: "int32" diff --git a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/configconstraints.yaml b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/configconstraints.yaml index c1f8bb84a..b37f06ad0 100644 --- a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/configconstraints.yaml +++ b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/configconstraints.yaml @@ -44,29 +44,29 @@ spec: description: "ConfigConstraintSpec defines the desired state of ConfigConstraint" properties: cfgSchemaTopLevelName: - description: "The cue type name, which generates the openapi schema." + description: "Top level key used to get the cue rules to validate the config file. It must exist in 'ConfigSchema' TODO (refactored to ConfigSchemaTopLevelKey)" type: "string" configurationSchema: - description: "Imposes restrictions on database parameter's rule." + description: "List constraints rules for each config parameters. TODO (refactored to ConfigSchema)" properties: cue: description: "Enables providers to verify user configurations using the CUE language." type: "string" schema: - description: "Provides a mechanism that allows providers to validate the modified parameters using JSON." + description: "Transforms the schema from CUE to json for further OpenAPI validation TODO (refactored to SchemaInJson)" x-kubernetes-preserve-unknown-fields: true type: "object" downwardAPIOptions: - description: "Used to monitor pod fields." + description: "A set of actions for regenerating local configs. \n It works when: - different engine roles have different config, such as redis primary & secondary - after a role switch, the local config will be regenerated with the help of DownwardActions TODO (refactored to DownwardActions)" items: properties: command: - description: "The command used to execute for the downward API. This field is optional." + description: "The command used to execute for the downward API." items: type: "string" type: "array" items: - description: "Represents a list of downward API volume files. This is a required field." + description: "Represents a list of downward API volume files." items: description: "DownwardAPIVolumeFile represents information to create the file containing the pod field" properties: @@ -115,11 +115,11 @@ spec: type: "object" type: "array" mountPoint: - description: "Specifies the mount point of the scripts file. This is a required field and must be a string of maximum length 128." + description: "Specifies the mount point of the scripts file." maxLength: 128 type: "string" name: - description: "Specifies the name of the field. This is a required field and must be a string of maximum length 63. The name should match the regex pattern `^[a-z0-9]([a-z0-9\\.\\-]*[a-z0-9])?$`." + description: "Specifies the name of the field. It must be a string of maximum length 63. The name should match the regex pattern `^[a-z0-9]([a-z0-9\\.\\-]*[a-z0-9])?$`." maxLength: 63 pattern: "^[a-z0-9]([a-z0-9\\.\\-]*[a-z0-9])?$" type: "string" @@ -129,20 +129,26 @@ spec: - "name" type: "object" type: "array" + dynamicActionCanBeMerged: + description: "Indicates the dynamic reload action and restart action can be merged to a restart action. \n When a batch of parameters updates incur both restart & dynamic reload, it works as: - set to true, the two actions merged to only one restart action - set to false, the two actions cannot be merged, the actions executed in order [dynamic reload, restart]" + type: "boolean" + dynamicParameterSelectedPolicy: + description: "Specifies the policy for selecting the parameters of dynamic reload actions." + enum: + - "all" + - "dynamic" + type: "string" dynamicParameters: - description: "A list of DynamicParameter. Modifications of these parameters trigger a config dynamic reload without process restart." + description: "A list of DynamicParameter. Modifications of dynamic parameters trigger a reload action without process restart." items: type: "string" type: "array" x-kubernetes-list-type: "set" - forceHotUpdate: - description: "Indicates whether to execute hot update parameters when the pod needs to be restarted. If set to true, the controller performs the hot update and then restarts the pod." - type: "boolean" formatterConfig: - description: "Describes the format of the configuration file. The controller will: 1. Parse the configuration file 2. Analyze the modified parameters 3. Apply corresponding policies." + description: "Describes the format of the config file. The controller works as follows: 1. Parse the config file 2. Get the modified parameters 3. Trigger the corresponding action" properties: format: - description: "The configuration file format. Valid values are `ini`, `xml`, `yaml`, `json`, `hcl`, `dotenv`, `properties` and `toml`. Each format has its own characteristics and use cases. \n - ini: a configuration file that consists of a text-based content with a structure and syntax comprising key–value pairs for properties, reference wiki: https://en.wikipedia.org/wiki/INI_file - xml: reference wiki: https://en.wikipedia.org/wiki/XML - yaml: a configuration file support for complex data types and structures. - json: reference wiki: https://en.wikipedia.org/wiki/JSON - hcl: The HashiCorp Configuration Language (HCL) is a configuration language authored by HashiCorp, reference url: https://www.linode.com/docs/guides/introduction-to-hcl/ - dotenv: this was a plain text file with simple key–value pairs, reference wiki: https://en.wikipedia.org/wiki/Configuration_file#MS-DOS - properties: a file extension mainly used in Java, reference wiki: https://en.wikipedia.org/wiki/.properties - toml: reference wiki: https://en.wikipedia.org/wiki/TOML - props-plus: a file extension mainly used in Java, support CamelCase(e.g: brokerMaxConnectionsPerIp)" + description: "The config file format. Valid values are `ini`, `xml`, `yaml`, `json`, `hcl`, `dotenv`, `properties` and `toml`. Each format has its own characteristics and use cases. \n - ini: is a text-based content with a structure and syntax comprising key–value pairs for properties, reference wiki: https://en.wikipedia.org/wiki/INI_file - xml: refers to wiki: https://en.wikipedia.org/wiki/XML - yaml: supports for complex data types and structures. - json: refers to wiki: https://en.wikipedia.org/wiki/JSON - hcl: The HashiCorp Configuration Language (HCL) is a configuration language authored by HashiCorp, reference url: https://www.linode.com/docs/guides/introduction-to-hcl/ - dotenv: is a plain text file with simple key–value pairs, reference wiki: https://en.wikipedia.org/wiki/Configuration_file#MS-DOS - properties: a file extension mainly used in Java, reference wiki: https://en.wikipedia.org/wiki/.properties - toml: refers to wiki: https://en.wikipedia.org/wiki/TOML - props-plus: a file extension mainly used in Java, supports CamelCase(e.g: brokerMaxConnectionsPerIp)" enum: - "xml" - "ini" @@ -166,41 +172,41 @@ spec: - "format" type: "object" immutableParameters: - description: "Describes parameters that users are prohibited from modifying." + description: "Describes parameters that are prohibited to do any modifications." items: type: "string" type: "array" x-kubernetes-list-type: "set" reloadOptions: - description: "Specifies whether the process supports reload. If set, the controller determines the behavior of the engine instance based on the configuration templates. It will either restart or reload depending on whether any parameters in the StaticParameters have been modified." + description: "Specifies the dynamic reload actions supported by the engine. If set, the controller call the scripts defined in the actions for a dynamic parameter upgrade. The actions are called only when the modified parameter is defined in dynamicParameters part && DynamicReloadActions != nil TODO (refactored to DynamicReloadActions)" properties: autoTrigger: - description: "Used to automatically perform the reload command when certain conditions are met." + description: "Used to automatically perform the reload command when conditions are met." properties: processName: description: "The name of the process." type: "string" type: "object" shellTrigger: - description: "Used to perform the reload command via a shell script." + description: "Used to perform the reload command in shell script." properties: command: - description: "Specifies the list of strings used to execute for reload." + description: "Specifies the list of commands for reload." items: type: "string" type: "array" sync: - description: "Specifies whether to synchronize updates parameters to the config manager." + description: "Specifies whether to synchronize updates parameters to the config manager. Specifies two ways of controller to reload the parameter: - set to 'True', execute the reload action in sync mode, wait for the completion of reload - set to 'False', execute the reload action in async mode, just update the 'Configmap', no need to wait" type: "boolean" required: - "command" type: "object" tplScriptTrigger: - description: "Used to perform the reload command via a Go template script." + description: "Used to perform the reload command by Go template script." properties: namespace: default: "default" - description: "Specifies the namespace where the referenced tpl script ConfigMap object resides. If left empty, it defaults to the \"default\" namespace." + description: "Specifies the namespace where the referenced tpl script ConfigMap in. If left empty, by default in the \"default\" namespace." maxLength: 63 pattern: "^[a-z0-9]([a-z0-9\\-]*[a-z0-9])?$" type: "string" @@ -208,16 +214,16 @@ spec: description: "Specifies the reference to the ConfigMap that contains the script to be executed for reload." type: "string" sync: - description: "Specifies whether to synchronize updates parameters to the config manager." + description: "Specifies whether to synchronize updates parameters to the config manager. Specifies two ways of controller to reload the parameter: - set to 'True', execute the reload action in sync mode, wait for the completion of reload - set to 'False', execute the reload action in async mode, just update the 'Configmap', no need to wait" type: "boolean" required: - "scriptConfigMapRef" type: "object" unixSignalTrigger: - description: "Used to trigger a reload by sending a specific Unix signal to the process." + description: "Used to trigger a reload by sending a Unix signal to the process." properties: processName: - description: "Represents the name of the process to which the Unix signal is sent." + description: "Represents the name of the process that the Unix signal sent to." type: "string" signal: description: "Represents a valid Unix signal. Refer to the following URL for a list of all Unix signals: ../../pkg/configuration/configmap/handler.go:allUnixSignals" @@ -260,12 +266,12 @@ spec: type: "object" type: "object" scriptConfigs: - description: "A list of ScriptConfig. These scripts can be used by volume trigger, downward trigger, or tool image." + description: "A list of ScriptConfig used by the actions defined in dynamic reload and downward actions." items: properties: namespace: default: "default" - description: "Specifies the namespace where the referenced tpl script ConfigMap object resides. If left empty, it defaults to the \"default\" namespace." + description: "Specifies the namespace where the referenced tpl script ConfigMap in. If left empty, by default in the \"default\" namespace." maxLength: 63 pattern: "^[a-z0-9]([a-z0-9\\-]*[a-z0-9])?$" type: "string" @@ -280,7 +286,7 @@ spec: - "scriptConfigMapRef" x-kubernetes-list-type: "map" selector: - description: "Used to match the label on the pod. For example, a pod of the primary matches on the patroni cluster." + description: "Used to match labels on the pod to do a dynamic reload TODO (refactored to DynamicReloadSelector)" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." @@ -311,16 +317,16 @@ spec: type: "object" x-kubernetes-map-type: "atomic" staticParameters: - description: "A list of StaticParameter. Modifications of these parameters trigger a process restart." + description: "A list of StaticParameter. Modifications of static parameters trigger a process restart." items: type: "string" type: "array" x-kubernetes-list-type: "set" toolsImageSpec: - description: "Used to configure the init container." + description: "Tools used by the dynamic reload actions. Usually it is referenced by the 'init container' for 'cp' it to a binary volume. TODO (refactored to ReloadToolsImage)" properties: mountPoint: - description: "Represents the location where the scripts file will be mounted." + description: "Represents the point where the scripts file will be mounted." maxLength: 128 type: "string" toolConfigs: @@ -328,15 +334,15 @@ spec: items: properties: command: - description: "Used to execute commands for init containers." + description: "Commands to be executed when init containers." items: type: "string" type: "array" image: - description: "Represents the name of the container image for the tools." + description: "Represents the url of the tool container image." type: "string" name: - description: "Specifies the name of the initContainer. This must be a DNS_LABEL name." + description: "Specifies the name of the initContainer." maxLength: 63 pattern: "^[a-z]([a-z0-9\\-]*[a-z0-9])?$" type: "string" @@ -353,7 +359,7 @@ spec: status: properties: message: - description: "Provides a description of any abnormal statuses that may be present." + description: "Provides descriptions for abnormal states." type: "string" observedGeneration: description: "Refers to the most recent generation observed for this ConfigConstraint. This value is updated by the API Server." diff --git a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/opsrequests.yaml b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/opsrequests.yaml index 86ec70069..a573e602a 100644 --- a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/opsrequests.yaml +++ b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/opsrequests.yaml @@ -94,21 +94,52 @@ spec: customSpec: description: "Specifies a custom operation as defined by OpsDefinition." properties: - componentName: - description: "Refers to the name of the cluster component." - type: "string" - opsDefinitionRef: - description: "Is a reference to an OpsDefinition." - type: "string" - params: - description: "Represents the input for this operation as declared in the opsDefinition.spec.parametersSchema. It will create corresponding jobs for each array element. If the param type is an array, the format must be \"v1,v2,v3\"." + components: + description: "Defines which components need to perform the actions defined by this OpsDefinition. At least one component is required. The components are identified by their name and can be merged or retained." items: - additionalProperties: - type: "string" + properties: + name: + description: "Specifies the unique identifier of the cluster component" + type: "string" + parameters: + description: "Represents the parameters for this operation as declared in the opsDefinition.spec.parametersSchema." + items: + properties: + name: + description: "Specifies the identifier of the parameter as defined in the OpsDefinition." + type: "string" + value: + description: "Holds the data associated with the parameter. If the parameter type is an array, the format should be \"v1,v2,v3\"." + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" + required: + - "name" type: "object" + minItems: 1 type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" + opsDefinitionRef: + description: "Is a reference to an OpsDefinition." + type: "string" + parallelism: + anyOf: + - type: "integer" + - type: "string" + description: "Defines the execution concurrency. By default, all incoming Components will be executed simultaneously. The value can be an absolute number (e.g., 5) or a percentage of desired components (e.g., 10%). The absolute number is calculated from the percentage by rounding up. For instance, if the percentage value is 10% and the components length is 1, the calculated number will be rounded up to 1." + x-kubernetes-int-or-string: true + serviceAccountName: + type: "string" required: - - "componentName" + - "components" - "opsDefinitionRef" type: "object" expose: @@ -291,6 +322,7 @@ spec: - "rolling" - "autoReload" - "operatorSyncUpdate" + - "dynamicReloadBeginRestart" type: "string" required: - "keys" @@ -367,6 +399,7 @@ spec: - "rolling" - "autoReload" - "operatorSyncUpdate" + - "dynamicReloadBeginRestart" type: "string" required: - "keys" @@ -799,10 +832,55 @@ spec: - "Failed" - "Abnormal" type: "string" + preCheck: + description: "Specifies the outcome of the preConditions check for the opsRequest. This result is crucial for determining the next steps in the operation." + properties: + message: + description: "Provides additional details about the preCheck operation in a human-readable format." + type: "string" + pass: + description: "Indicates whether the preCheck operation was successful or not." + type: "boolean" + required: + - "pass" + type: "object" progressDetails: description: "Describes the progress details of the component for this operation." items: properties: + actionName: + description: "Refer to the action name of the OpsDefinition.spec.actions[*].name. either objectKey or actionName." + type: "string" + actionTasks: + description: "Records the tasks associated with an action. such as Jobs/Pods that executes action." + items: + properties: + namespace: + description: "Defines the namespace where the task workload is deployed." + type: "string" + objectKey: + description: "Specifies the name of the task workload." + type: "string" + retries: + description: "The number of retry attempts for this task." + format: "int32" + type: "integer" + status: + description: "Indicates the current status of the task." + enum: + - "Processing" + - "Failed" + - "Succeed" + type: "string" + targetPodName: + description: "The name of the target pod for the task." + type: "string" + required: + - "namespace" + - "objectKey" + - "status" + type: "object" + type: "array" endTime: description: "Represents the completion time of object processing." format: "date-time" @@ -814,7 +892,7 @@ spec: description: "Provides a human-readable message detailing the condition of the object." type: "string" objectKey: - description: "Represents the unique key of the object." + description: "Represents the unique key of the object. either objectKey or actionName." type: "string" startTime: description: "Represents the start time of object processing." @@ -829,9 +907,11 @@ spec: - "Succeed" type: "string" required: - - "objectKey" - "status" type: "object" + x-kubernetes-validations: + - message: "either objectKey and actionName." + rule: "has(self.objectKey) || has(self.actionName)" type: "array" reason: description: "Describes the reason for the component phase." @@ -895,6 +975,13 @@ spec: x-kubernetes-list-map-keys: - "type" x-kubernetes-list-type: "map" + extras: + description: "A collection of additional key-value pairs that provide supplementary information for the opsRequest." + items: + additionalProperties: + type: "string" + type: "object" + type: "array" lastConfiguration: description: "Records the last configuration before this operation took effect." properties: @@ -1119,6 +1206,7 @@ spec: - "rolling" - "autoReload" - "operatorSyncUpdate" + - "dynamicReloadBeginRestart" type: "string" updatedParameters: description: "Contains the updated parameters." @@ -1240,6 +1328,7 @@ spec: - "rolling" - "autoReload" - "operatorSyncUpdate" + - "dynamicReloadBeginRestart" type: "string" updatedParameters: description: "Contains the updated parameters." diff --git a/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backuppolicies.args b/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backuppolicies.args new file mode 100644 index 000000000..7ab47510b --- /dev/null +++ b/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backuppolicies.args @@ -0,0 +1 @@ +--derive=PartialEq diff --git a/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backuppolicies.yaml b/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backuppolicies.yaml index 6080686e3..07c2e649d 100644 --- a/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backuppolicies.yaml +++ b/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backuppolicies.yaml @@ -351,6 +351,37 @@ spec: description: "Specifies the name of BackupRepo where the backup data will be stored. If not set, data will be stored in the default backup repository." pattern: "^[a-z0-9]([a-z0-9\\.\\-]*[a-z0-9])?$" type: "string" + encryptionConfig: + description: "Specifies the parameters for encrypting backup data. Encryption will be disabled if the field is not set." + properties: + algorithm: + default: "AES-256-CFB" + description: "Specifies the encryption algorithm. Currently supported algorithms are: \n - AES-128-CFB - AES-192-CFB - AES-256-CFB" + enum: + - "AES-128-CFB" + - "AES-192-CFB" + - "AES-256-CFB" + type: "string" + passPhraseSecretKeyRef: + description: "Selects the key of a secret in the current namespace, the value of the secret is used as the encryption key." + properties: + key: + description: "The key of the secret to select from. Must be a valid secret key." + type: "string" + name: + description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + optional: + description: "Specify whether the Secret or its key must be defined" + type: "boolean" + required: + - "key" + type: "object" + x-kubernetes-map-type: "atomic" + required: + - "algorithm" + - "passPhraseSecretKeyRef" + type: "object" pathPrefix: description: "Specifies the directory inside the backup repository to store the backup. This path is relative to the path of the backup repository." type: "string" diff --git a/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backups.args b/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backups.args new file mode 100644 index 000000000..7ab47510b --- /dev/null +++ b/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backups.args @@ -0,0 +1 @@ +--derive=PartialEq diff --git a/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backups.yaml b/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backups.yaml index 26568125c..274ca51c2 100644 --- a/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backups.yaml +++ b/crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backups.yaml @@ -497,6 +497,37 @@ spec: duration: description: "Records the duration of the backup operation. When converted to a string, the format is \"1h2m0.5s\"." type: "string" + encryptionConfig: + description: "Records the encryption config for this backup." + properties: + algorithm: + default: "AES-256-CFB" + description: "Specifies the encryption algorithm. Currently supported algorithms are: \n - AES-128-CFB - AES-192-CFB - AES-256-CFB" + enum: + - "AES-128-CFB" + - "AES-192-CFB" + - "AES-256-CFB" + type: "string" + passPhraseSecretKeyRef: + description: "Selects the key of a secret in the current namespace, the value of the secret is used as the encryption key." + properties: + key: + description: "The key of the secret to select from. Must be a valid secret key." + type: "string" + name: + description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + optional: + description: "Specify whether the Secret or its key must be defined" + type: "boolean" + required: + - "key" + type: "object" + x-kubernetes-map-type: "atomic" + required: + - "algorithm" + - "passPhraseSecretKeyRef" + type: "object" expiration: description: "Indicates when this backup becomes eligible for garbage collection. A 'null' value implies that the backup will not be cleaned up unless manually deleted." format: "date-time" diff --git a/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificateauthorities.yaml b/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificateauthorities.yaml index 3cf26b631..dd6e3c840 100644 --- a/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificateauthorities.yaml +++ b/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificateauthorities.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.9.2" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "certificateauthorities.acmpca.services.k8s.aws" spec: group: "acmpca.services.k8s.aws" @@ -19,24 +19,24 @@ spec: description: "CertificateAuthority is the Schema for the CertificateAuthorities API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" spec: - description: "CertificateAuthoritySpec defines the desired state of CertificateAuthority. \n Contains information about your private certificate authority (CA). Your private CA can issue and revoke X.509 digital certificates. Digital certificates verify that the entity named in the certificate Subject field owns or controls the public key contained in the Subject Public Key Info field. Call the CreateCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html) action to create your private CA. You must then call the GetCertificateAuthorityCertificate (https://docs.aws.amazon.com/privateca/latest/APIReference/API_GetCertificateAuthorityCertificate.html) action to retrieve a private CA certificate signing request (CSR). Sign the CSR with your Amazon Web Services Private CA-hosted or on-premises root or subordinate CA certificate. Call the ImportCertificateAuthorityCertificate (https://docs.aws.amazon.com/privateca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html) action to import the signed certificate into Certificate Manager (ACM)." + description: "CertificateAuthoritySpec defines the desired state of CertificateAuthority.\n\n\nContains information about your private certificate authority (CA). Your\nprivate CA can issue and revoke X.509 digital certificates. Digital certificates\nverify that the entity named in the certificate Subject field owns or controls\nthe public key contained in the Subject Public Key Info field. Call the CreateCertificateAuthority\n(https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html)\naction to create your private CA. You must then call the GetCertificateAuthorityCertificate\n(https://docs.aws.amazon.com/privateca/latest/APIReference/API_GetCertificateAuthorityCertificate.html)\naction to retrieve a private CA certificate signing request (CSR). Sign the\nCSR with your Amazon Web Services Private CA-hosted or on-premises root or\nsubordinate CA certificate. Call the ImportCertificateAuthorityCertificate\n(https://docs.aws.amazon.com/privateca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html)\naction to import the signed certificate into Certificate Manager (ACM)." properties: certificateAuthorityConfiguration: - description: "Name and bit size of the private key algorithm, the name of the signing algorithm, and X.500 certificate subject information." + description: "Name and bit size of the private key algorithm, the name of the signing algorithm,\nand X.500 certificate subject information." properties: csrExtensions: - description: "Describes the certificate extensions to be added to the certificate signing request (CSR)." + description: "Describes the certificate extensions to be added to the certificate signing\nrequest (CSR)." properties: keyUsage: - description: "Defines one or more purposes for which the key contained in the certificate can be used. Default value for each option is false." + description: "Defines one or more purposes for which the key contained in the certificate\ncan be used. Default value for each option is false." properties: crlSign: type: "boolean" @@ -59,13 +59,13 @@ spec: type: "object" subjectInformationAccess: items: - description: "Provides access information used by the authorityInfoAccess and subjectInfoAccess extensions described in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280)." + description: "Provides access information used by the authorityInfoAccess and subjectInfoAccess\nextensions described in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280)." properties: accessLocation: - description: "Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). Only one of the following naming options should be provided. Providing more than one option results in an InvalidArgsException error." + description: "Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280).\nOnly one of the following naming options should be provided. Providing more\nthan one option results in an InvalidArgsException error." properties: directoryName: - description: "Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate." + description: "Contains information about the certificate subject. The Subject field in\nthe certificate identifies the entity that owns or controls the public key\nin the certificate. The entity can be a user, computer, device, or service.\nThe Subject must contain an X.500 distinguished name (DN). A DN is a sequence\nof relative distinguished names (RDNs). The RDNs are separated by commas\nin the certificate." properties: commonName: type: "string" @@ -109,7 +109,7 @@ spec: dnsName: type: "string" ediPartyName: - description: "Describes an Electronic Data Interchange (EDI) entity as described in as defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) in RFC 5280." + description: "Describes an Electronic Data Interchange (EDI) entity as described in as\ndefined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280)\nin RFC 5280." properties: nameAssigner: type: "string" @@ -119,7 +119,7 @@ spec: ipAddress: type: "string" otherName: - description: "Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) and value. The OID must satisfy the regular expression shown below. For more information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier)." + description: "Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID)\nand value. The OID must satisfy the regular expression shown below. For more\ninformation, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier)." properties: typeID: type: "string" @@ -134,7 +134,7 @@ spec: type: "string" type: "object" accessMethod: - description: "Describes the type and format of extension access. Only one of CustomObjectIdentifier or AccessMethodType may be provided. Providing both results in InvalidArgsException." + description: "Describes the type and format of extension access. Only one of CustomObjectIdentifier\nor AccessMethodType may be provided. Providing both results in InvalidArgsException." properties: accessMethodType: type: "string" @@ -149,7 +149,7 @@ spec: signingAlgorithm: type: "string" subject: - description: "Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate." + description: "Contains information about the certificate subject. The Subject field in\nthe certificate identifies the entity that owns or controls the public key\nin the certificate. The entity can be a user, computer, device, or service.\nThe Subject must contain an X.500 distinguished name (DN). A DN is a sequence\nof relative distinguished names (RDNs). The RDNs are separated by commas\nin the certificate." properties: commonName: type: "string" @@ -195,13 +195,13 @@ spec: description: "The type of the certificate authority." type: "string" keyStorageSecurityStandard: - description: "Specifies a cryptographic key management compliance standard used for handling CA keys. \n Default: FIPS_140_2_LEVEL_3_OR_HIGHER \n Some Amazon Web Services Regions do not support the default. When creating a CA in these Regions, you must provide FIPS_140_2_LEVEL_2_OR_HIGHER as the argument for KeyStorageSecurityStandard. Failure to do this results in an InvalidArgsException with the message, \"A certificate authority cannot be created in this region with the specified security standard.\" \n For information about security standard support in various Regions, see Storage and security compliance of Amazon Web Services Private CA private keys (https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys)." + description: "Specifies a cryptographic key management compliance standard used for handling\nCA keys.\n\n\nDefault: FIPS_140_2_LEVEL_3_OR_HIGHER\n\n\nSome Amazon Web Services Regions do not support the default. When creating\na CA in these Regions, you must provide FIPS_140_2_LEVEL_2_OR_HIGHER as the\nargument for KeyStorageSecurityStandard. Failure to do this results in an\nInvalidArgsException with the message, \"A certificate authority cannot be\ncreated in this region with the specified security standard.\"\n\n\nFor information about security standard support in various Regions, see Storage\nand security compliance of Amazon Web Services Private CA private keys (https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys)." type: "string" revocationConfiguration: - description: "Contains information to enable Online Certificate Status Protocol (OCSP) support, to enable a certificate revocation list (CRL), to enable both, or to enable neither. The default is for both certificate validation mechanisms to be disabled. \n The following requirements apply to revocation configurations. \n * A configuration disabling CRLs or OCSP must contain only the Enabled=False parameter, and will fail if other parameters such as CustomCname or ExpirationInDays are included. \n * In a CRL configuration, the S3BucketName parameter must conform to Amazon S3 bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). \n * A configuration containing a custom Canonical Name (CNAME) parameter for CRLs or OCSP must conform to RFC2396 (https://www.ietf.org/rfc/rfc2396.txt) restrictions on the use of special characters in a CNAME. \n * In a CRL or OCSP configuration, the value of a CNAME parameter must not include a protocol prefix such as \"http://\" or \"https://\". \n For more information, see the OcspConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_OcspConfiguration.html) and CrlConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CrlConfiguration.html) types." + description: "Contains information to enable Online Certificate Status Protocol (OCSP)\nsupport, to enable a certificate revocation list (CRL), to enable both, or\nto enable neither. The default is for both certificate validation mechanisms\nto be disabled.\n\n\nThe following requirements apply to revocation configurations.\n\n\n * A configuration disabling CRLs or OCSP must contain only the Enabled=False\n parameter, and will fail if other parameters such as CustomCname or ExpirationInDays\n are included.\n\n\n * In a CRL configuration, the S3BucketName parameter must conform to Amazon\n S3 bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).\n\n\n * A configuration containing a custom Canonical Name (CNAME) parameter\n for CRLs or OCSP must conform to RFC2396 (https://www.ietf.org/rfc/rfc2396.txt)\n restrictions on the use of special characters in a CNAME.\n\n\n * In a CRL or OCSP configuration, the value of a CNAME parameter must\n not include a protocol prefix such as \"http://\" or \"https://\".\n\n\nFor more information, see the OcspConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_OcspConfiguration.html)\nand CrlConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CrlConfiguration.html)\ntypes." properties: crlConfiguration: - description: "Contains configuration information for a certificate revocation list (CRL). Your private certificate authority (CA) creates base CRLs. Delta CRLs are not supported. You can enable CRLs for your new or an existing private CA by setting the Enabled parameter to true. Your private CA writes CRLs to an S3 bucket that you specify in the S3BucketName parameter. You can hide the name of your bucket by specifying a value for the CustomCname parameter. Your private CA copies the CNAME or the S3 bucket name to the CRL Distribution Points extension of each certificate it issues. Your S3 bucket policy must give write permission to Amazon Web Services Private CA. \n Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your CRLs (https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption). \n Your private CA uses the value in the ExpirationInDays parameter to calculate the nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's expiration date or when a certificate is revoked. When a certificate is revoked, it appears in the CRL until the certificate expires, and then in one additional CRL after expiration, and it always appears in the audit report. \n A CRL is typically updated approximately 30 minutes after a certificate is revoked. If for any reason a CRL update fails, Amazon Web Services Private CA makes further attempts every 15 minutes. \n CRLs contain the following fields: \n * Version: The current version number defined in RFC 5280 is V2. The integer value is 0x1. \n * Signature Algorithm: The name of the algorithm used to sign the CRL. \n * Issuer: The X.500 distinguished name of your private CA that issued the CRL. \n * Last Update: The issue date and time of this CRL. \n * Next Update: The day and time by which the next CRL will be issued. \n * Revoked Certificates: List of revoked certificates. Each list item contains the following information. Serial Number: The serial number, in hexadecimal format, of the revoked certificate. Revocation Date: Date and time the certificate was revoked. CRL Entry Extensions: Optional extensions for the CRL entry. X509v3 CRL Reason Code: Reason the certificate was revoked. \n * CRL Extensions: Optional extensions for the CRL. X509v3 Authority Key Identifier: Identifies the public key associated with the private key used to sign the certificate. X509v3 CRL Number:: Decimal sequence number for the CRL. \n * Signature Algorithm: Algorithm used by your private CA to sign the CRL. \n * Signature Value: Signature computed over the CRL. \n Certificate revocation lists created by Amazon Web Services Private CA are DER-encoded. You can use the following OpenSSL command to list a CRL. \n openssl crl -inform DER -text -in crl_path -noout \n For more information, see Planning a certificate revocation list (CRL) (https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html) in the Amazon Web Services Private Certificate Authority User Guide" + description: "Contains configuration information for a certificate revocation list (CRL).\nYour private certificate authority (CA) creates base CRLs. Delta CRLs are\nnot supported. You can enable CRLs for your new or an existing private CA\nby setting the Enabled parameter to true. Your private CA writes CRLs to\nan S3 bucket that you specify in the S3BucketName parameter. You can hide\nthe name of your bucket by specifying a value for the CustomCname parameter.\nYour private CA copies the CNAME or the S3 bucket name to the CRL Distribution\nPoints extension of each certificate it issues. Your S3 bucket policy must\ngive write permission to Amazon Web Services Private CA.\n\n\nAmazon Web Services Private CA assets that are stored in Amazon S3 can be\nprotected with encryption. For more information, see Encrypting Your CRLs\n(https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption).\n\n\nYour private CA uses the value in the ExpirationInDays parameter to calculate\nthe nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's\nexpiration date or when a certificate is revoked. When a certificate is revoked,\nit appears in the CRL until the certificate expires, and then in one additional\nCRL after expiration, and it always appears in the audit report.\n\n\nA CRL is typically updated approximately 30 minutes after a certificate is\nrevoked. If for any reason a CRL update fails, Amazon Web Services Private\nCA makes further attempts every 15 minutes.\n\n\nCRLs contain the following fields:\n\n\n * Version: The current version number defined in RFC 5280 is V2. The integer\n value is 0x1.\n\n\n * Signature Algorithm: The name of the algorithm used to sign the CRL.\n\n\n * Issuer: The X.500 distinguished name of your private CA that issued\n the CRL.\n\n\n * Last Update: The issue date and time of this CRL.\n\n\n * Next Update: The day and time by which the next CRL will be issued.\n\n\n * Revoked Certificates: List of revoked certificates. Each list item contains\n the following information. Serial Number: The serial number, in hexadecimal\n format, of the revoked certificate. Revocation Date: Date and time the\n certificate was revoked. CRL Entry Extensions: Optional extensions for\n the CRL entry. X509v3 CRL Reason Code: Reason the certificate was revoked.\n\n\n * CRL Extensions: Optional extensions for the CRL. X509v3 Authority Key\n Identifier: Identifies the public key associated with the private key\n used to sign the certificate. X509v3 CRL Number:: Decimal sequence number\n for the CRL.\n\n\n * Signature Algorithm: Algorithm used by your private CA to sign the CRL.\n\n\n * Signature Value: Signature computed over the CRL.\n\n\nCertificate revocation lists created by Amazon Web Services Private CA are\nDER-encoded. You can use the following OpenSSL command to list a CRL.\n\n\nopenssl crl -inform DER -text -in crl_path -noout\n\n\nFor more information, see Planning a certificate revocation list (CRL) (https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html)\nin the Amazon Web Services Private Certificate Authority User Guide" properties: customCNAME: type: "string" @@ -216,7 +216,7 @@ spec: type: "string" type: "object" ocspConfiguration: - description: "Contains information to enable and configure Online Certificate Status Protocol (OCSP) for validating certificate revocation status. \n When you revoke a certificate, OCSP responses may take up to 60 minutes to reflect the new status." + description: "Contains information to enable and configure Online Certificate Status Protocol\n(OCSP) for validating certificate revocation status.\n\n\nWhen you revoke a certificate, OCSP responses may take up to 60 minutes to\nreflect the new status." properties: enabled: type: "boolean" @@ -225,9 +225,9 @@ spec: type: "object" type: "object" tags: - description: "Key-value pairs that will be attached to the new private CA. You can associate up to 50 tags with a private CA. For information using tags with IAM to manage permissions, see Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)." + description: "Key-value pairs that will be attached to the new private CA. You can associate\nup to 50 tags with a private CA. For information using tags with IAM to manage\npermissions, see Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)." items: - description: "Tags are labels that you can use to identify and organize your private CAs. Each tag consists of a key and an optional value. You can associate up to 50 tags with a private CA. To add one or more tags to a private CA, call the TagCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_TagCertificateAuthority.html) action. To remove a tag, call the UntagCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_UntagCertificateAuthority.html) action." + description: "Tags are labels that you can use to identify and organize your private CAs.\nEach tag consists of a key and an optional value. You can associate up to\n50 tags with a private CA. To add one or more tags to a private CA, call\nthe TagCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_TagCertificateAuthority.html)\naction. To remove a tag, call the UntagCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_UntagCertificateAuthority.html)\naction." properties: key: type: "string" @@ -236,7 +236,7 @@ spec: type: "object" type: "array" usageMode: - description: "Specifies whether the CA issues general-purpose certificates that typically require a revocation mechanism, or short-lived certificates that may optionally omit revocation because they expire quickly. Short-lived certificate validity is limited to seven days. \n The default value is GENERAL_PURPOSE." + description: "Specifies whether the CA issues general-purpose certificates that typically\nrequire a revocation mechanism, or short-lived certificates that may optionally\nomit revocation because they expire quickly. Short-lived certificate validity\nis limited to seven days.\n\n\nThe default value is GENERAL_PURPOSE." type: "string" required: - "certificateAuthorityConfiguration" @@ -246,13 +246,13 @@ spec: description: "CertificateAuthorityStatus defines the observed state of CertificateAuthority" properties: ackResourceMetadata: - description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource" + description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an \"adopted\" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: - description: "OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource." + description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." type: "string" region: description: "Region is the AWS region in which the resource exists or will exist." @@ -262,9 +262,9 @@ spec: - "region" type: "object" conditions: - description: "All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource" + description: "All CRS managed by ACK have a common `Status.Conditions` member that\ncontains a collection of `ackv1alpha1.Condition` objects that describe\nthe various terminal states of the CR and its backend AWS service API\nresource" items: - description: "Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource" + description: "Condition is the common struct used by all CRDs managed by ACK service\ncontrollers to indicate terminal states of the CR and its backend AWS\nservice API resource" properties: lastTransitionTime: description: "Last time the condition transitioned from one status to another." diff --git a/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificateauthorityactivations.yaml b/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificateauthorityactivations.yaml index 05a8f222e..3ead8034b 100644 --- a/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificateauthorityactivations.yaml +++ b/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificateauthorityactivations.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.9.2" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "certificateauthorityactivations.acmpca.services.k8s.aws" spec: group: "acmpca.services.k8s.aws" @@ -19,10 +19,10 @@ spec: description: "CertificateAuthorityActivation is the Schema for the CertificateAuthorityActivations API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -30,7 +30,7 @@ spec: description: "CertificateAuthorityActivationSpec defines the desired state of CertificateAuthorityActivation." properties: certificate: - description: "SecretKeyReference combines a k8s corev1.SecretReference with a specific key within the referred-to Secret" + description: "SecretKeyReference combines a k8s corev1.SecretReference with a\nspecific key within the referred-to Secret" properties: key: description: "Key is the key within the secret" @@ -46,20 +46,20 @@ spec: type: "object" x-kubernetes-map-type: "atomic" certificateAuthorityARN: - description: "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html). This must be of the form: \n arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012" + description: "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority\n(https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html).\nThis must be of the form:\n\n\narn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012" type: "string" certificateAuthorityRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" properties: from: - description: "AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name)" + description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" properties: name: type: "string" type: "object" type: "object" certificateChain: - description: "A PEM-encoded file that contains all of your certificates, other than the certificate you're importing, chaining up to your root CA. Your Amazon Web Services Private CA-hosted or on-premises root certificate is the last in the chain, and each certificate in the chain signs the one preceding. \n This parameter must be supplied when you import a subordinate CA. When you import a root CA, there is no chain." + description: "A PEM-encoded file that contains all of your certificates, other than the\ncertificate you're importing, chaining up to your root CA. Your Amazon Web\nServices Private CA-hosted or on-premises root certificate is the last in\nthe chain, and each certificate in the chain signs the one preceding.\n\n\nThis parameter must be supplied when you import a subordinate CA. When you\nimport a root CA, there is no chain." format: "byte" type: "string" status: @@ -71,13 +71,13 @@ spec: description: "CertificateAuthorityActivationStatus defines the observed state of CertificateAuthorityActivation" properties: ackResourceMetadata: - description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource" + description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an \"adopted\" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: - description: "OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource." + description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." type: "string" region: description: "Region is the AWS region in which the resource exists or will exist." @@ -87,9 +87,9 @@ spec: - "region" type: "object" conditions: - description: "All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource" + description: "All CRS managed by ACK have a common `Status.Conditions` member that\ncontains a collection of `ackv1alpha1.Condition` objects that describe\nthe various terminal states of the CR and its backend AWS service API\nresource" items: - description: "Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource" + description: "Condition is the common struct used by all CRDs managed by ACK service\ncontrollers to indicate terminal states of the CR and its backend AWS\nservice API resource" properties: lastTransitionTime: description: "Last time the condition transitioned from one status to another." diff --git a/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificates.yaml b/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificates.yaml index b034a465c..c63c53d80 100644 --- a/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificates.yaml +++ b/crd-catalog/aws-controllers-k8s/acmpca-controller/acmpca.services.k8s.aws/v1alpha1/certificates.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.9.2" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "certificates.acmpca.services.k8s.aws" spec: group: "acmpca.services.k8s.aws" @@ -19,10 +19,10 @@ spec: description: "Certificate is the Schema for the Certificates API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -30,7 +30,7 @@ spec: description: "CertificateSpec defines the desired state of Certificate." properties: apiPassthrough: - description: "Specifies X.509 certificate information to be included in the issued certificate. An APIPassthrough or APICSRPassthrough template variant must be selected, or else this parameter is ignored. For more information about using these templates, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html). \n If conflicting or duplicate certificate information is supplied during certificate issuance, Amazon Web Services Private CA applies order of operation rules (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations) to determine what information is used." + description: "Specifies X.509 certificate information to be included in the issued certificate.\nAn APIPassthrough or APICSRPassthrough template variant must be selected,\nor else this parameter is ignored. For more information about using these\ntemplates, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html).\n\n\nIf conflicting or duplicate certificate information is supplied during certificate\nissuance, Amazon Web Services Private CA applies order of operation rules\n(https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations)\nto determine what information is used." properties: extensions: description: "Contains X.509 extension information for a certificate." @@ -43,12 +43,12 @@ spec: type: "string" policyQualifiers: items: - description: "Modifies the CertPolicyId of a PolicyInformation object with a qualifier. Amazon Web Services Private CA supports the certification practice statement (CPS) qualifier." + description: "Modifies the CertPolicyId of a PolicyInformation object with a qualifier.\nAmazon Web Services Private CA supports the certification practice statement\n(CPS) qualifier." properties: policyQualifierID: type: "string" qualifier: - description: "Defines a PolicyInformation qualifier. Amazon Web Services Private CA supports the certification practice statement (CPS) qualifier (https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4) defined in RFC 5280." + description: "Defines a PolicyInformation qualifier. Amazon Web Services Private CA supports\nthe certification practice statement (CPS) qualifier (https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4)\ndefined in RFC 5280." properties: cpsURI: type: "string" @@ -59,7 +59,7 @@ spec: type: "array" customExtensions: items: - description: "Specifies the X.509 extension information for a certificate. \n Extensions present in CustomExtensions follow the ApiPassthrough template rules (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations)." + description: "Specifies the X.509 extension information for a certificate.\n\n\nExtensions present in CustomExtensions follow the ApiPassthrough template\nrules (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations)." properties: critical: type: "boolean" @@ -71,7 +71,7 @@ spec: type: "array" extendedKeyUsage: items: - description: "Specifies additional purposes for which the certified public key may be used other than basic purposes indicated in the KeyUsage extension." + description: "Specifies additional purposes for which the certified public key may be used\nother than basic purposes indicated in the KeyUsage extension." properties: extendedKeyUsageObjectIdentifier: type: "string" @@ -80,7 +80,7 @@ spec: type: "object" type: "array" keyUsage: - description: "Defines one or more purposes for which the key contained in the certificate can be used. Default value for each option is false." + description: "Defines one or more purposes for which the key contained in the certificate\ncan be used. Default value for each option is false." properties: crlSign: type: "boolean" @@ -103,10 +103,10 @@ spec: type: "object" subjectAlternativeNames: items: - description: "Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). Only one of the following naming options should be provided. Providing more than one option results in an InvalidArgsException error." + description: "Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280).\nOnly one of the following naming options should be provided. Providing more\nthan one option results in an InvalidArgsException error." properties: directoryName: - description: "Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate." + description: "Contains information about the certificate subject. The Subject field in\nthe certificate identifies the entity that owns or controls the public key\nin the certificate. The entity can be a user, computer, device, or service.\nThe Subject must contain an X.500 distinguished name (DN). A DN is a sequence\nof relative distinguished names (RDNs). The RDNs are separated by commas\nin the certificate." properties: commonName: type: "string" @@ -150,7 +150,7 @@ spec: dnsName: type: "string" ediPartyName: - description: "Describes an Electronic Data Interchange (EDI) entity as described in as defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) in RFC 5280." + description: "Describes an Electronic Data Interchange (EDI) entity as described in as\ndefined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280)\nin RFC 5280." properties: nameAssigner: type: "string" @@ -160,7 +160,7 @@ spec: ipAddress: type: "string" otherName: - description: "Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) and value. The OID must satisfy the regular expression shown below. For more information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier)." + description: "Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID)\nand value. The OID must satisfy the regular expression shown below. For more\ninformation, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier)." properties: typeID: type: "string" @@ -177,7 +177,7 @@ spec: type: "array" type: "object" subject: - description: "Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate." + description: "Contains information about the certificate subject. The Subject field in\nthe certificate identifies the entity that owns or controls the public key\nin the certificate. The entity can be a user, computer, device, or service.\nThe Subject must contain an X.500 distinguished name (DN). A DN is a sequence\nof relative distinguished names (RDNs). The RDNs are separated by commas\nin the certificate." properties: commonName: type: "string" @@ -220,40 +220,40 @@ spec: type: "object" type: "object" certificateAuthorityARN: - description: "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html). This must be of the form: \n arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012" + description: "The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority\n(https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html).\nThis must be of the form:\n\n\narn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012" type: "string" certificateAuthorityRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" properties: from: - description: "AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name)" + description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" properties: name: type: "string" type: "object" type: "object" csr: - description: "The certificate signing request (CSR) for the certificate you want to issue. As an example, you can use the following OpenSSL command to create the CSR and a 2048 bit RSA private key. \n openssl req -new -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr \n If you have a configuration file, you can then use the following OpenSSL command. The usr_cert block in the configuration file contains your X509 version 3 extensions. \n openssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr \n Note: A CSR must provide either a subject name or a subject alternative name or the request will be rejected." + description: "The certificate signing request (CSR) for the certificate you want to issue.\nAs an example, you can use the following OpenSSL command to create the CSR\nand a 2048 bit RSA private key.\n\n\nopenssl req -new -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem\n-out csr/test_cert_.csr\n\n\nIf you have a configuration file, you can then use the following OpenSSL\ncommand. The usr_cert block in the configuration file contains your X509\nversion 3 extensions.\n\n\nopenssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey rsa:2048\n-days 365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr\n\n\nNote: A CSR must provide either a subject name or a subject alternative name\nor the request will be rejected." format: "byte" type: "string" csrRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" properties: from: - description: "AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name)" + description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" properties: name: type: "string" type: "object" type: "object" signingAlgorithm: - description: "The name of the algorithm that will be used to sign the certificate to be issued. \n This parameter should not be confused with the SigningAlgorithm parameter used to sign a CSR in the CreateCertificateAuthority action. \n The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key." + description: "The name of the algorithm that will be used to sign the certificate to be\nissued.\n\n\nThis parameter should not be confused with the SigningAlgorithm parameter\nused to sign a CSR in the CreateCertificateAuthority action.\n\n\nThe specified signing algorithm family (RSA or ECDSA) must match the algorithm\nfamily of the CA's secret key." type: "string" templateARN: - description: "Specifies a custom configuration template to use when issuing a certificate. If this parameter is not provided, Amazon Web Services Private CA defaults to the EndEntityCertificate/V1 template. For CA certificates, you should choose the shortest path length that meets your needs. The path length is indicated by the PathLenN portion of the ARN, where N is the CA depth (https://docs.aws.amazon.com/privateca/latest/userguide/PcaTerms.html#terms-cadepth). \n Note: The CA depth configured on a subordinate CA certificate must not exceed the limit set by its parents in the CA hierarchy. \n For a list of TemplateArn values supported by Amazon Web Services Private CA, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html)." + description: "Specifies a custom configuration template to use when issuing a certificate.\nIf this parameter is not provided, Amazon Web Services Private CA defaults\nto the EndEntityCertificate/V1 template. For CA certificates, you should\nchoose the shortest path length that meets your needs. The path length is\nindicated by the PathLenN portion of the ARN, where N is the CA depth (https://docs.aws.amazon.com/privateca/latest/userguide/PcaTerms.html#terms-cadepth).\n\n\nNote: The CA depth configured on a subordinate CA certificate must not exceed\nthe limit set by its parents in the CA hierarchy.\n\n\nFor a list of TemplateArn values supported by Amazon Web Services Private\nCA, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html)." type: "string" validity: - description: "Information describing the end of the validity period of the certificate. This parameter sets the “Not After” date for the certificate. \n Certificate validity is the period of time during which a certificate is valid. Validity can be expressed as an explicit date and time when the certificate expires, or as a span of time after issuance, stated in days, months, or years. For more information, see Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) in RFC 5280. \n This value is unaffected when ValidityNotBefore is also specified. For example, if Validity is set to 20 days in the future, the certificate will expire 20 days from issuance time regardless of the ValidityNotBefore value. \n The end of the validity period configured on a certificate must not exceed the limit set on its parents in the CA hierarchy." + description: "Information describing the end of the validity period of the certificate.\nThis parameter sets the “Not After” date for the certificate.\n\n\nCertificate validity is the period of time during which a certificate is\nvalid. Validity can be expressed as an explicit date and time when the certificate\nexpires, or as a span of time after issuance, stated in days, months, or\nyears. For more information, see Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5)\nin RFC 5280.\n\n\nThis value is unaffected when ValidityNotBefore is also specified. For example,\nif Validity is set to 20 days in the future, the certificate will expire\n20 days from issuance time regardless of the ValidityNotBefore value.\n\n\nThe end of the validity period configured on a certificate must not exceed\nthe limit set on its parents in the CA hierarchy." properties: type_: type: "string" @@ -262,7 +262,7 @@ spec: type: "integer" type: "object" validityNotBefore: - description: "Information describing the start of the validity period of the certificate. This parameter sets the “Not Before\" date for the certificate. \n By default, when issuing a certificate, Amazon Web Services Private CA sets the \"Not Before\" date to the issuance time minus 60 minutes. This compensates for clock inconsistencies across computer systems. The ValidityNotBefore parameter can be used to customize the “Not Before” value. \n Unlike the Validity parameter, the ValidityNotBefore parameter is optional. \n The ValidityNotBefore value is expressed as an explicit date and time, using the Validity type value ABSOLUTE. For more information, see Validity (https://docs.aws.amazon.com/privateca/latest/APIReference/API_Validity.html) in this API reference and Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) in RFC 5280." + description: "Information describing the start of the validity period of the certificate.\nThis parameter sets the “Not Before\" date for the certificate.\n\n\nBy default, when issuing a certificate, Amazon Web Services Private CA sets\nthe \"Not Before\" date to the issuance time minus 60 minutes. This compensates\nfor clock inconsistencies across computer systems. The ValidityNotBefore\nparameter can be used to customize the “Not Before” value.\n\n\nUnlike the Validity parameter, the ValidityNotBefore parameter is optional.\n\n\nThe ValidityNotBefore value is expressed as an explicit date and time, using\nthe Validity type value ABSOLUTE. For more information, see Validity (https://docs.aws.amazon.com/privateca/latest/APIReference/API_Validity.html)\nin this API reference and Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5)\nin RFC 5280." properties: type_: type: "string" @@ -278,13 +278,13 @@ spec: description: "CertificateStatus defines the observed state of Certificate" properties: ackResourceMetadata: - description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource" + description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an \"adopted\" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: - description: "OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource." + description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." type: "string" region: description: "Region is the AWS region in which the resource exists or will exist." @@ -294,9 +294,9 @@ spec: - "region" type: "object" conditions: - description: "All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource" + description: "All CRS managed by ACK have a common `Status.Conditions` member that\ncontains a collection of `ackv1alpha1.Condition` objects that describe\nthe various terminal states of the CR and its backend AWS service API\nresource" items: - description: "Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource" + description: "Condition is the common struct used by all CRDs managed by ACK service\ncontrollers to indicate terminal states of the CR and its backend AWS\nservice API resource" properties: lastTransitionTime: description: "Last time the condition transitioned from one status to another." diff --git a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/clusters.yaml b/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/clusters.yaml index c0f994da8..7b39cf9a1 100644 --- a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/clusters.yaml +++ b/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/clusters.yaml @@ -71,6 +71,16 @@ spec: properties: keyARN: type: "string" + keyRef: + description: "Reference field for KeyARN" + properties: + from: + description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" + properties: + name: + type: "string" + type: "object" + type: "object" type: "object" resources: items: diff --git a/crd-catalog/aws/karpenter-provider-aws/karpenter.sh/v1beta1/nodeclaims.yaml b/crd-catalog/aws/karpenter-provider-aws/karpenter.sh/v1beta1/nodeclaims.yaml index e63ee1dd6..b7d3d7f07 100644 --- a/crd-catalog/aws/karpenter-provider-aws/karpenter.sh/v1beta1/nodeclaims.yaml +++ b/crd-catalog/aws/karpenter-provider-aws/karpenter.sh/v1beta1/nodeclaims.yaml @@ -193,7 +193,7 @@ spec: - message: "label \"kubernetes.io/hostname\" is restricted" rule: "self != \"kubernetes.io/hostname\"" - message: "label domain \"karpenter.k8s.aws\" is restricted" - rule: "self in [\"karpenter.k8s.aws/instance-encryption-in-transit-supported\", \"karpenter.k8s.aws/instance-category\", \"karpenter.k8s.aws/instance-hypervisor\", \"karpenter.k8s.aws/instance-family\", \"karpenter.k8s.aws/instance-generation\", \"karpenter.k8s.aws/instance-local-nvme\", \"karpenter.k8s.aws/instance-size\", \"karpenter.k8s.aws/instance-cpu\",\"karpenter.k8s.aws/instance-memory\", \"karpenter.k8s.aws/instance-network-bandwidth\", \"karpenter.k8s.aws/instance-gpu-name\", \"karpenter.k8s.aws/instance-gpu-manufacturer\", \"karpenter.k8s.aws/instance-gpu-count\", \"karpenter.k8s.aws/instance-gpu-memory\", \"karpenter.k8s.aws/instance-accelerator-name\", \"karpenter.k8s.aws/instance-accelerator-manufacturer\", \"karpenter.k8s.aws/instance-accelerator-count\"] || !self.find(\"^([^/]+)\").endsWith(\"karpenter.k8s.aws\")" + rule: "self in [\"karpenter.k8s.aws/instance-encryption-in-transit-supported\", \"karpenter.k8s.aws/instance-category\", \"karpenter.k8s.aws/instance-hypervisor\", \"karpenter.k8s.aws/instance-family\", \"karpenter.k8s.aws/instance-generation\", \"karpenter.k8s.aws/instance-local-nvme\", \"karpenter.k8s.aws/instance-size\", \"karpenter.k8s.aws/instance-cpu\",\"karpenter.k8s.aws/instance-cpu-manufacturer\",\"karpenter.k8s.aws/instance-memory\", \"karpenter.k8s.aws/instance-network-bandwidth\", \"karpenter.k8s.aws/instance-gpu-name\", \"karpenter.k8s.aws/instance-gpu-manufacturer\", \"karpenter.k8s.aws/instance-gpu-count\", \"karpenter.k8s.aws/instance-gpu-memory\", \"karpenter.k8s.aws/instance-accelerator-name\", \"karpenter.k8s.aws/instance-accelerator-manufacturer\", \"karpenter.k8s.aws/instance-accelerator-count\"] || !self.find(\"^([^/]+)\").endsWith(\"karpenter.k8s.aws\")" minValues: description: "This field is ALPHA and can be dropped or replaced at any time\nMinValues is the minimum number of unique values required to define the flexibility of the specific requirement." maximum: 50.0 diff --git a/crd-catalog/aws/karpenter-provider-aws/karpenter.sh/v1beta1/nodepools.yaml b/crd-catalog/aws/karpenter-provider-aws/karpenter.sh/v1beta1/nodepools.yaml index 9a54a271c..3ea51f910 100644 --- a/crd-catalog/aws/karpenter-provider-aws/karpenter.sh/v1beta1/nodepools.yaml +++ b/crd-catalog/aws/karpenter-provider-aws/karpenter.sh/v1beta1/nodepools.yaml @@ -134,7 +134,7 @@ spec: - message: "label \"kubernetes.io/hostname\" is restricted" rule: "self.all(x, x != \"kubernetes.io/hostname\")" - message: "label domain \"karpenter.k8s.aws\" is restricted" - rule: "self.all(x, x in [\"karpenter.k8s.aws/instance-encryption-in-transit-supported\", \"karpenter.k8s.aws/instance-category\", \"karpenter.k8s.aws/instance-hypervisor\", \"karpenter.k8s.aws/instance-family\", \"karpenter.k8s.aws/instance-generation\", \"karpenter.k8s.aws/instance-local-nvme\", \"karpenter.k8s.aws/instance-size\", \"karpenter.k8s.aws/instance-cpu\",\"karpenter.k8s.aws/instance-memory\", \"karpenter.k8s.aws/instance-network-bandwidth\", \"karpenter.k8s.aws/instance-gpu-name\", \"karpenter.k8s.aws/instance-gpu-manufacturer\", \"karpenter.k8s.aws/instance-gpu-count\", \"karpenter.k8s.aws/instance-gpu-memory\", \"karpenter.k8s.aws/instance-accelerator-name\", \"karpenter.k8s.aws/instance-accelerator-manufacturer\", \"karpenter.k8s.aws/instance-accelerator-count\"] || !x.find(\"^([^/]+)\").endsWith(\"karpenter.k8s.aws\"))" + rule: "self.all(x, x in [\"karpenter.k8s.aws/instance-encryption-in-transit-supported\", \"karpenter.k8s.aws/instance-category\", \"karpenter.k8s.aws/instance-hypervisor\", \"karpenter.k8s.aws/instance-family\", \"karpenter.k8s.aws/instance-generation\", \"karpenter.k8s.aws/instance-local-nvme\", \"karpenter.k8s.aws/instance-size\", \"karpenter.k8s.aws/instance-cpu\",\"karpenter.k8s.aws/instance-cpu-manufacturer\",\"karpenter.k8s.aws/instance-memory\", \"karpenter.k8s.aws/instance-network-bandwidth\", \"karpenter.k8s.aws/instance-gpu-name\", \"karpenter.k8s.aws/instance-gpu-manufacturer\", \"karpenter.k8s.aws/instance-gpu-count\", \"karpenter.k8s.aws/instance-gpu-memory\", \"karpenter.k8s.aws/instance-accelerator-name\", \"karpenter.k8s.aws/instance-accelerator-manufacturer\", \"karpenter.k8s.aws/instance-accelerator-count\"] || !x.find(\"^([^/]+)\").endsWith(\"karpenter.k8s.aws\"))" type: "object" spec: description: "NodeClaimSpec describes the desired state of the NodeClaim" @@ -275,7 +275,7 @@ spec: - message: "label \"kubernetes.io/hostname\" is restricted" rule: "self != \"kubernetes.io/hostname\"" - message: "label domain \"karpenter.k8s.aws\" is restricted" - rule: "self in [\"karpenter.k8s.aws/instance-encryption-in-transit-supported\", \"karpenter.k8s.aws/instance-category\", \"karpenter.k8s.aws/instance-hypervisor\", \"karpenter.k8s.aws/instance-family\", \"karpenter.k8s.aws/instance-generation\", \"karpenter.k8s.aws/instance-local-nvme\", \"karpenter.k8s.aws/instance-size\", \"karpenter.k8s.aws/instance-cpu\",\"karpenter.k8s.aws/instance-memory\", \"karpenter.k8s.aws/instance-network-bandwidth\", \"karpenter.k8s.aws/instance-gpu-name\", \"karpenter.k8s.aws/instance-gpu-manufacturer\", \"karpenter.k8s.aws/instance-gpu-count\", \"karpenter.k8s.aws/instance-gpu-memory\", \"karpenter.k8s.aws/instance-accelerator-name\", \"karpenter.k8s.aws/instance-accelerator-manufacturer\", \"karpenter.k8s.aws/instance-accelerator-count\"] || !self.find(\"^([^/]+)\").endsWith(\"karpenter.k8s.aws\")" + rule: "self in [\"karpenter.k8s.aws/instance-encryption-in-transit-supported\", \"karpenter.k8s.aws/instance-category\", \"karpenter.k8s.aws/instance-hypervisor\", \"karpenter.k8s.aws/instance-family\", \"karpenter.k8s.aws/instance-generation\", \"karpenter.k8s.aws/instance-local-nvme\", \"karpenter.k8s.aws/instance-size\", \"karpenter.k8s.aws/instance-cpu\",\"karpenter.k8s.aws/instance-cpu-manufacturer\",\"karpenter.k8s.aws/instance-memory\", \"karpenter.k8s.aws/instance-network-bandwidth\", \"karpenter.k8s.aws/instance-gpu-name\", \"karpenter.k8s.aws/instance-gpu-manufacturer\", \"karpenter.k8s.aws/instance-gpu-count\", \"karpenter.k8s.aws/instance-gpu-memory\", \"karpenter.k8s.aws/instance-accelerator-name\", \"karpenter.k8s.aws/instance-accelerator-manufacturer\", \"karpenter.k8s.aws/instance-accelerator-count\"] || !self.find(\"^([^/]+)\").endsWith(\"karpenter.k8s.aws\")" minValues: description: "This field is ALPHA and can be dropped or replaced at any time\nMinValues is the minimum number of unique values required to define the flexibility of the specific requirement." maximum: 50.0 diff --git a/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/certificates.yaml b/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/certificates.yaml index 4d91fb798..22aa7bf45 100644 --- a/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/certificates.yaml +++ b/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/certificates.yaml @@ -120,6 +120,9 @@ spec: jks: description: "JKS configures options for storing a JKS keystore in the\n`spec.secretName` Secret resource." properties: + alias: + description: "Alias specifies the alias of the key in the keystore, required by the JKS format.\nIf not provided, the default alias `certificate` will be used." + type: "string" create: description: "Create enables JKS keystore creation for the Certificate.\nIf true, a file named `keystore.jks` will be created in the target\nSecret resource, encrypted using the password stored in\n`passwordSecretRef`.\nThe keystore file will be updated immediately.\nIf the issuer provided a CA certificate, a file named `truststore.jks`\nwill also be created in the target Secret resource, encrypted using the\npassword stored in `passwordSecretRef`\ncontaining the issuing Certificate Authority" type: "boolean" diff --git a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwidenetworkpolicies.yaml b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwidenetworkpolicies.yaml index 63ea2ad05..dcad8be2e 100644 --- a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwidenetworkpolicies.yaml +++ b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwidenetworkpolicies.yaml @@ -82,10 +82,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -629,10 +631,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -1189,10 +1193,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -1636,10 +1642,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -1784,10 +1792,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -2331,10 +2341,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -2891,10 +2903,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -3338,10 +3352,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" diff --git a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumnetworkpolicies.yaml b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumnetworkpolicies.yaml index c12f5553f..852240daf 100644 --- a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumnetworkpolicies.yaml +++ b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumnetworkpolicies.yaml @@ -87,10 +87,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -634,10 +636,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -1194,10 +1198,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -1641,10 +1647,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -1789,10 +1797,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -2336,10 +2346,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -2896,10 +2908,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" @@ -3343,10 +3357,12 @@ spec: - "IPv6" type: "string" type: - description: "Type is a ICMP-type. It should be 0-255 (8bit)." - maximum: 255.0 - minimum: 0.0 - type: "integer" + anyOf: + - type: "integer" + - type: "string" + description: "Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, \"EchoReply\"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply" + pattern: "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]|EchoReply|DestinationUnreachable|Redirect|Echo|RouterAdvertisement|RouterSelection|TimeExceeded|ParameterProblem|Timestamp|TimestampReply|Photuris|ExtendedEchoRequest|ExtendedEcho Reply|PacketTooBig|ParameterProblem|EchoRequest|MulticastListenerQuery|MulticastListenerReport|MulticastListenerDone|RouterSolicitation|RouterAdvertisement|NeighborSolicitation|NeighborAdvertisement|RedirectMessage|RouterRenumbering|ICMPNodeInformationQuery|ICMPNodeInformationResponse|InverseNeighborDiscoverySolicitation|InverseNeighborDiscoveryAdvertisement|HomeAgentAddressDiscoveryRequest|HomeAgentAddressDiscoveryReply|MobilePrefixSolicitation|MobilePrefixAdvertisement|DuplicateAddressRequestCodeSuffix|DuplicateAddressConfirmationCodeSuffix)$" + x-kubernetes-int-or-string: true required: - "type" type: "object" diff --git a/crd-catalog/cilium/cilium/cilium.io/v2alpha1/ciliumbgppeeringpolicies.yaml b/crd-catalog/cilium/cilium/cilium.io/v2alpha1/ciliumbgppeeringpolicies.yaml index 5ba3aeeef..02da64d96 100644 --- a/crd-catalog/cilium/cilium/cilium.io/v2alpha1/ciliumbgppeeringpolicies.yaml +++ b/crd-catalog/cilium/cilium/cilium.io/v2alpha1/ciliumbgppeeringpolicies.yaml @@ -341,6 +341,17 @@ spec: description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" + serviceAdvertisements: + default: + - "LoadBalancerIP" + description: "ServiceAdvertisements selects a group of BGP Advertisement(s) to advertise for the selected services." + items: + description: "BGPServiceAddressType defines type of service address to be advertised. \n Note list of supported service addresses is not exhaustive and can be extended in the future. Consumer of this API should be able to handle unknown values." + enum: + - "LoadBalancerIP" + - "ClusterIP" + type: "string" + type: "array" serviceSelector: description: "ServiceSelector selects a group of load balancer services which this virtual router will announce. The loadBalancerClass for a service must be nil or specify a class supported by Cilium, e.g. \"io.cilium/bgp-control-plane\". Refer to the following document for additional details regarding load balancer classes: \n https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class \n If empty / nil no services will be announced." properties: diff --git a/crd-catalog/clastix/kamaji/kamaji.clastix.io/v1alpha1/tenantcontrolplanes.yaml b/crd-catalog/clastix/kamaji/kamaji.clastix.io/v1alpha1/tenantcontrolplanes.yaml index 7f756a474..ebb685fb0 100644 --- a/crd-catalog/clastix/kamaji/kamaji.clastix.io/v1alpha1/tenantcontrolplanes.yaml +++ b/crd-catalog/clastix/kamaji/kamaji.clastix.io/v1alpha1/tenantcontrolplanes.yaml @@ -78,7 +78,7 @@ spec: version: "v0.0.32" properties: extraArgs: - description: "ExtraArgs allows adding additional arguments to said component." + description: "ExtraArgs allows adding additional arguments to said component. WARNING - This option can override existing konnectivity parameters and cause konnectivity components to misbehave in unxpected ways. Only modify if you know what you are doing." items: type: "string" type: "array" @@ -98,7 +98,7 @@ spec: version: "v0.0.32" properties: extraArgs: - description: "ExtraArgs allows adding additional arguments to said component." + description: "ExtraArgs allows adding additional arguments to said component. WARNING - This option can override existing konnectivity parameters and cause konnectivity components to misbehave in unxpected ways. Only modify if you know what you are doing." items: type: "string" type: "array" @@ -3460,7 +3460,7 @@ spec: type: "object" type: "object" extraArgs: - description: "ExtraArgs allows adding additional arguments to the Control Plane components, such as kube-apiserver, controller-manager, and scheduler." + description: "ExtraArgs allows adding additional arguments to the Control Plane components, such as kube-apiserver, controller-manager, and scheduler. WARNING - This option can override existing parameters and cause components to misbehave in unxpected ways. Only modify if you know what you are doing." properties: apiServer: items: diff --git a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/clusters.yaml b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/clusters.yaml index b6cbb2402..6044682fa 100644 --- a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/clusters.yaml +++ b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/clusters.yaml @@ -674,6 +674,11 @@ spec: data: description: "The configuration to be used to backup the data files\nWhen not defined, base backups files will be stored uncompressed and may\nbe unencrypted in the object store, according to the bucket default\npolicy." properties: + additionalCommandArgs: + description: "AdditionalCommandArgs represents additional arguments that can be appended\nto the 'barman-cloud-backup' command-line invocation. These arguments\nprovide flexibility to customize the backup process further according to\nspecific requirements or configurations.\n\n\nExample:\nIn a scenario where specialized backup options are required, such as setting\na specific timeout or defining custom behavior, users can use this field\nto specify additional command arguments.\n\n\nNote:\nIt's essential to ensure that the provided arguments are valid and supported\nby the 'barman-cloud-backup' command, to avoid potential errors or unintended\nbehavior during execution." + items: + type: "string" + type: "array" compression: description: "Compress a backup file (a tar file per tablespace) while streaming it\nto the object store. Available options are empty string (no\ncompression, default), `gzip`, `bzip2` or `snappy`." enum: @@ -1544,6 +1549,11 @@ spec: data: description: "The configuration to be used to backup the data files\nWhen not defined, base backups files will be stored uncompressed and may\nbe unencrypted in the object store, according to the bucket default\npolicy." properties: + additionalCommandArgs: + description: "AdditionalCommandArgs represents additional arguments that can be appended\nto the 'barman-cloud-backup' command-line invocation. These arguments\nprovide flexibility to customize the backup process further according to\nspecific requirements or configurations.\n\n\nExample:\nIn a scenario where specialized backup options are required, such as setting\na specific timeout or defining custom behavior, users can use this field\nto specify additional command arguments.\n\n\nNote:\nIt's essential to ensure that the provided arguments are valid and supported\nby the 'barman-cloud-backup' command, to avoid potential errors or unintended\nbehavior during execution." + items: + type: "string" + type: "array" compression: description: "Compress a backup file (a tar file per tablespace) while streaming it\nto the object store. Available options are empty string (no\ncompression, default), `gzip`, `bzip2` or `snappy`." enum: @@ -1783,6 +1793,35 @@ spec: description: "The amount of time (in seconds) to wait before triggering a failover\nafter the primary PostgreSQL instance in the cluster was detected\nto be unhealthy" format: "int32" type: "integer" + imageCatalogRef: + description: "Defines the major PostgreSQL version we want to use within an ImageCatalog" + properties: + apiGroup: + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." + type: "string" + kind: + description: "Kind is the type of resource being referenced" + type: "string" + major: + description: "The major version of PostgreSQL we want to use from the ImageCatalog" + type: "integer" + x-kubernetes-validations: + - message: "Major is immutable" + rule: "self == oldSelf" + name: + description: "Name is the name of resource being referenced" + type: "string" + required: + - "kind" + - "major" + - "name" + type: "object" + x-kubernetes-map-type: "atomic" + x-kubernetes-validations: + - message: "Only image catalogs are supported" + rule: "self.kind == 'ImageCatalog' || self.kind == 'ClusterImageCatalog'" + - message: "Only image catalogs are supported" + rule: "self.apiGroup == 'postgresql.cnpg.io'" imageName: description: "Name of the container image, supporting both tags (`:`)\nand digests for deterministic and repeatable deployments\n(`:@sha256:`)" type: "string" @@ -3033,6 +3072,9 @@ spec: required: - "instances" type: "object" + x-kubernetes-validations: + - message: "imageName and imageCatalogRef are mutually exclusive" + rule: "!(has(self.imageCatalogRef) && has(self.imageName))" status: description: "Most recently observed status of the cluster. This data may not be up\nto date. Populated by the system. Read-only.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" properties: @@ -3168,6 +3210,9 @@ spec: items: type: "string" type: "array" + image: + description: "Image contains the image name used by the pods" + type: "string" initializingPVC: description: "List of all the PVCs that are being initialized by this cluster" items: diff --git a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositionrevisions.yaml b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositionrevisions.yaml index 5b6ef7877..bd47e991b 100644 --- a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositionrevisions.yaml +++ b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositionrevisions.yaml @@ -1007,7 +1007,7 @@ spec: type: "MatchCondition" description: "ReadinessChecks allows users to define custom readiness checks. All checks\nhave to return true in order for resource to be considered ready. The\ndefault readiness check is to have the \"Ready\" condition to be \"True\"." items: - description: "ReadinessCheck is used to indicate how to tell whether a resource is ready\nfor consumption" + description: "ReadinessCheck is used to indicate how to tell whether a resource is ready\nfor consumption." properties: fieldPath: description: "FieldPath shows the path of the field whose value will be used." diff --git a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositions.yaml b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositions.yaml index 26c4203ce..55e2e25d5 100644 --- a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositions.yaml +++ b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositions.yaml @@ -1004,7 +1004,7 @@ spec: type: "MatchCondition" description: "ReadinessChecks allows users to define custom readiness checks. All checks\nhave to return true in order for resource to be considered ready. The\ndefault readiness check is to have the \"Ready\" condition to be \"True\"." items: - description: "ReadinessCheck is used to indicate how to tell whether a resource is ready\nfor consumption" + description: "ReadinessCheck is used to indicate how to tell whether a resource is ready\nfor consumption." properties: fieldPath: description: "FieldPath shows the path of the field whose value will be used." diff --git a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1beta1/compositionrevisions.yaml b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1beta1/compositionrevisions.yaml index e89aeab38..c99f921d7 100644 --- a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1beta1/compositionrevisions.yaml +++ b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1beta1/compositionrevisions.yaml @@ -1007,7 +1007,7 @@ spec: type: "MatchCondition" description: "ReadinessChecks allows users to define custom readiness checks. All checks\nhave to return true in order for resource to be considered ready. The\ndefault readiness check is to have the \"Ready\" condition to be \"True\"." items: - description: "ReadinessCheck is used to indicate how to tell whether a resource is ready\nfor consumption" + description: "ReadinessCheck is used to indicate how to tell whether a resource is ready\nfor consumption." properties: fieldPath: description: "FieldPath shows the path of the field whose value will be used." diff --git a/crd-catalog/devfile/registry-operator/registry.devfile.io/v1alpha1/devfileregistries.yaml b/crd-catalog/devfile/registry-operator/registry.devfile.io/v1alpha1/devfileregistries.yaml index 52cfd3fb0..65df9eb95 100644 --- a/crd-catalog/devfile/registry-operator/registry.devfile.io/v1alpha1/devfileregistries.yaml +++ b/crd-catalog/devfile/registry-operator/registry.devfile.io/v1alpha1/devfileregistries.yaml @@ -46,6 +46,9 @@ spec: imagePullPolicy: description: "Sets the image pull policy for the container" type: "string" + memoryLimit: + description: "Sets the memory limit for the container" + type: "string" type: "object" devfileIndexImage: description: "Sets the container image containing devfile stacks to be deployed on the Devfile Registry" @@ -56,6 +59,9 @@ spec: k8s: description: "DevfileRegistrySpecK8sOnly defines the desired state of the kubernetes-only fields of the DevfileRegistry" properties: + ingressClass: + description: "Ingress class for a Kubernetes cluster. Defaults to nginx." + type: "string" ingressDomain: description: "Ingress domain for a Kubernetes cluster. This MUST be explicitly specified on Kubernetes. There are no defaults" type: "string" @@ -69,6 +75,9 @@ spec: imagePullPolicy: description: "Sets the image pull policy for the container" type: "string" + memoryLimit: + description: "Sets the memory limit for the container" + type: "string" type: "object" ociRegistryImage: description: "Overrides the container image used for the OCI registry. Recommended to leave blank and default to the image specified by the operator." @@ -82,6 +91,9 @@ spec: imagePullPolicy: description: "Sets the image pull policy for the container" type: "string" + memoryLimit: + description: "Sets the memory limit for the container" + type: "string" type: "object" registryViewerImage: description: "Overrides the container image used for the registry viewer." diff --git a/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/clustersecretstores.yaml b/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/clustersecretstores.yaml index 782d516b5..3fb983ce3 100644 --- a/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/clustersecretstores.yaml +++ b/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/clustersecretstores.yaml @@ -573,6 +573,9 @@ spec: properties: account: type: "string" + hostId: + description: "Optional HostID for JWT authentication. This may be used depending\non how the Conjur JWT authenticator policy is configured." + type: "string" secretRef: description: "Optional SecretRef that refers to a key in a Secret resource containing JWT token to\nauthenticate with Conjur using the JWT authentication method." properties: diff --git a/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/secretstores.yaml b/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/secretstores.yaml index ff9fd6e2b..bb4cd1618 100644 --- a/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/secretstores.yaml +++ b/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/secretstores.yaml @@ -573,6 +573,9 @@ spec: properties: account: type: "string" + hostId: + description: "Optional HostID for JWT authentication. This may be used depending\non how the Conjur JWT authenticator policy is configured." + type: "string" secretRef: description: "Optional SecretRef that refers to a key in a Secret resource containing JWT token to\nauthenticate with Conjur using the JWT authentication method." properties: diff --git a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/canaries.yaml b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/canaries.yaml index 1c17b98e0..b92594f91 100644 --- a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/canaries.yaml +++ b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/canaries.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.11.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "canaries.canaries.flanksource.com" spec: group: "canaries.flanksource.com" @@ -50,10 +50,10 @@ spec: description: "Canary is the Schema for the canaries API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -177,7 +177,7 @@ spec: type: "object" type: "object" relationships: - description: "Relationships defines a way to link the check results to components and configs using lookup expressions." + description: "Relationships defines a way to link the check results to components and configs\nusing lookup expressions." properties: components: items: @@ -2152,10 +2152,10 @@ spec: type: "string" canaryRef: items: - description: "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace." + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" @@ -2501,7 +2501,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -2511,7 +2511,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -2530,7 +2530,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -2551,7 +2551,7 @@ spec: items: properties: path: - description: "Path to the artifact on the check runner. Special paths: /dev/stdout & /dev/stdin" + description: "Path to the artifact on the check runner.\nSpecial paths: /dev/stdout & /dev/stdin" type: "string" required: - "path" @@ -2604,7 +2604,7 @@ spec: connection: type: "string" destination: - description: "Destination is the full path to where the contents of the URL should be downloaded to. If left empty, the sha256 hash of the URL will be used as the dir name." + description: "Destination is the full path to where the contents of the URL should be downloaded to.\nIf left empty, the sha256 hash of the URL will be used as the dir name." type: "string" password: properties: @@ -3066,7 +3066,7 @@ spec: description: "Namespace to insert the check into, if different to the namespace the canary is defined, e.g." type: "string" script: - description: "Script can be a inline script or a path to a script that needs to be executed On windows executed via powershell and in darwin and linux executed using bash" + description: "Script can be a inline script or a path to a script that needs to be executed\nOn windows executed via powershell and in darwin and linux executed using bash" type: "string" test: properties: @@ -3389,7 +3389,7 @@ spec: description: "Path to folder or object storage, e.g. `s3://`, `gcs://`, `/path/tp/folder`" type: "string" recursive: - description: "Recursive when set to true will recursively scan the folder to list the files in it. However, symlinks are simply listed but not traversed." + description: "Recursive when set to true will recursively scan the folder to list the files in it.\nHowever, symlinks are simply listed but not traversed." type: "boolean" sftpConnection: properties: @@ -4571,7 +4571,7 @@ spec: items: properties: path: - description: "Path to the artifact on the check runner. Special paths: /dev/stdout & /dev/stdin" + description: "Path to the artifact on the check runner.\nSpecial paths: /dev/stdout & /dev/stdin" type: "string" required: - "path" @@ -6712,7 +6712,7 @@ spec: type: "object" type: "array" schedule: - description: "Schedule to run checks on. Supports all cron expression, example: '30 3-6,20-23 * * *'. For more info about cron expression syntax see https://en.wikipedia.org/wiki/Cron Also supports golang duration, can be set as '@every 1m30s' which runs the check every 1 minute and 30 seconds." + description: "Schedule to run checks on. Supports all cron expression, example: '30 3-6,20-23 * * *'. For more info about cron expression syntax see https://en.wikipedia.org/wiki/Cron\n Also supports golang duration, can be set as '@every 1m30s' which runs the check every 1 minute and 30 seconds." type: "string" severity: type: "string" diff --git a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/components.yaml b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/components.yaml index 41a9338ca..7bee32fae 100644 --- a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/components.yaml +++ b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/components.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.11.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "components.canaries.flanksource.com" spec: group: "canaries.flanksource.com" @@ -18,10 +18,10 @@ spec: openAPIV3Schema: properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -40,7 +40,7 @@ spec: configs: description: "Lookup and associate config items with this component" items: - description: "ConfigQuery is used to look up and associate config items with a component." + description: "ConfigQuery is used to look up and associate\nconfig items with a component." properties: class: type: "string" @@ -63,8 +63,9 @@ spec: type: "object" type: "array" forEach: - description: "Only applies when using lookup, when specified the components and properties specified under ForEach will be templated using the components returned by the lookup ${.properties} can be used to reference the properties of the component ${.component} can be used to reference the component itself" + description: "Only applies when using lookup, when specified the components and properties\nspecified under ForEach will be templated using the components returned by the lookup\n${.properties} can be used to reference the properties of the component\n${.component} can be used to reference the component itself" type: "object" + x-kubernetes-preserve-unknown-fields: true hidden: description: "If set to true, do not display in UI" type: "boolean" @@ -103,7 +104,7 @@ spec: type: "object" type: "array" lookup: - description: "Lookup component definitions from an external source, use the forEach property to iterate over the results to further enrich each component." + description: "Lookup component definitions from an external source, use the\nforEach property to iterate over the results to further enrich each component." type: "object" x-kubernetes-preserve-unknown-fields: true name: @@ -254,10 +255,10 @@ spec: items: properties: agent: - description: "Agent can be the agent id or the name of the agent. Additionally, the special \"self\" value can be used to select resources without an agent." + description: "Agent can be the agent id or the name of the agent.\n Additionally, the special \"self\" value can be used to select resources without an agent." type: "string" cache: - description: "Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration)" + description: "Cache directives\n 'no-cache' (should not fetch from cache but can be cached)\n 'no-store' (should not cache)\n 'max-age=X' (cache for X duration)" type: "string" fieldSelector: type: "string" diff --git a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/topologies.yaml b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/topologies.yaml index 8d8cfbf8e..dee6d8a55 100644 --- a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/topologies.yaml +++ b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/topologies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.11.1" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "topologies.canaries.flanksource.com" spec: group: "canaries.flanksource.com" @@ -18,10 +18,10 @@ spec: openAPIV3Schema: properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -40,10 +40,10 @@ spec: selector: properties: agent: - description: "Agent can be the agent id or the name of the agent. Additionally, the special \"self\" value can be used to select resources without an agent." + description: "Agent can be the agent id or the name of the agent.\n Additionally, the special \"self\" value can be used to select resources without an agent." type: "string" cache: - description: "Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration)" + description: "Cache directives\n 'no-cache' (should not fetch from cache but can be cached)\n 'no-store' (should not cache)\n 'max-age=X' (cache for X duration)" type: "string" fieldSelector: type: "string" @@ -75,7 +75,7 @@ spec: configs: description: "Lookup and associate config items with this component" items: - description: "ConfigQuery is used to look up and associate config items with a component." + description: "ConfigQuery is used to look up and associate\nconfig items with a component." properties: class: type: "string" @@ -98,8 +98,9 @@ spec: type: "object" type: "array" forEach: - description: "Only applies when using lookup, when specified the components and properties specified under ForEach will be templated using the components returned by the lookup ${.properties} can be used to reference the properties of the component ${.component} can be used to reference the component itself" + description: "Only applies when using lookup, when specified the components and properties\nspecified under ForEach will be templated using the components returned by the lookup\n${.properties} can be used to reference the properties of the component\n${.component} can be used to reference the component itself" type: "object" + x-kubernetes-preserve-unknown-fields: true hidden: description: "If set to true, do not display in UI" type: "boolean" @@ -138,7 +139,7 @@ spec: type: "object" type: "array" lookup: - description: "Lookup component definitions from an external source, use the forEach property to iterate over the results to further enrich each component." + description: "Lookup component definitions from an external source, use the\nforEach property to iterate over the results to further enrich each component." type: "object" x-kubernetes-preserve-unknown-fields: true name: @@ -289,10 +290,10 @@ spec: items: properties: agent: - description: "Agent can be the agent id or the name of the agent. Additionally, the special \"self\" value can be used to select resources without an agent." + description: "Agent can be the agent id or the name of the agent.\n Additionally, the special \"self\" value can be used to select resources without an agent." type: "string" cache: - description: "Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration)" + description: "Cache directives\n 'no-cache' (should not fetch from cache but can be cached)\n 'no-store' (should not cache)\n 'max-age=X' (cache for X duration)" type: "string" fieldSelector: type: "string" @@ -351,7 +352,7 @@ spec: configs: description: "Lookup and associate config items with this component" items: - description: "ConfigQuery is used to look up and associate config items with a component." + description: "ConfigQuery is used to look up and associate\nconfig items with a component." properties: class: type: "string" @@ -391,7 +392,7 @@ spec: owner: type: "string" properties: - description: "Properties are created once the full component tree is created, property lookup functions can return a map of coomponent name => properties to allow for bulk property lookups being applied to multiple components in the tree" + description: "Properties are created once the full component tree is created, property lookup functions\ncan return a map of coomponent name => properties to allow for bulk property lookups\nbeing applied to multiple components in the tree" items: properties: color: diff --git a/crd-catalog/grafana/loki/loki.grafana.com/v1/alertingrules.yaml b/crd-catalog/grafana/loki/loki.grafana.com/v1/alertingrules.yaml index 887944dfe..f9fbc1097 100644 --- a/crd-catalog/grafana/loki/loki.grafana.com/v1/alertingrules.yaml +++ b/crd-catalog/grafana/loki/loki.grafana.com/v1/alertingrules.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.13.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "alertingrules.loki.grafana.com" spec: group: "loki.grafana.com" @@ -19,10 +19,10 @@ spec: description: "AlertingRule is the Schema for the alertingrules API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -36,7 +36,7 @@ spec: properties: interval: default: "1m" - description: "Interval defines the time interval between evaluation of the given alerting rule." + description: "Interval defines the time interval between evaluation of the given\nalerting rule." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" limit: @@ -60,10 +60,10 @@ spec: description: "Annotations to add to each alert." type: "object" expr: - description: "The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts." + description: "The LogQL expression to evaluate. Every evaluation cycle this is\nevaluated at the current time, and all resultant time series become\npending/firing alerts." type: "string" for: - description: "Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending." + description: "Alerts are considered firing once they have been returned for this long.\nAlerts which have not yet fired for long enough are considered pending." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" labels: @@ -92,23 +92,23 @@ spec: conditions: description: "Conditions of the AlertingRule generation health." items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" properties: lastTransitionTime: - description: "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + description: "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." format: "date-time" type: "string" message: - description: "message is a human readable message indicating details about the transition. This may be an empty string." + description: "message is a human readable message indicating details about the transition.\nThis may be an empty string." maxLength: 32768 type: "string" observedGeneration: - description: "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance." + description: "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance." format: "int64" minimum: 0.0 type: "integer" reason: - description: "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty." + description: "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty." maxLength: 1024 minLength: 1 pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" @@ -121,7 +121,7 @@ spec: - "Unknown" type: "string" type: - description: "type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" + description: "type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" maxLength: 316 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])$" type: "string" diff --git a/crd-catalog/grafana/loki/loki.grafana.com/v1/lokistacks.yaml b/crd-catalog/grafana/loki/loki.grafana.com/v1/lokistacks.yaml index c6581072e..e2b63120c 100644 --- a/crd-catalog/grafana/loki/loki.grafana.com/v1/lokistacks.yaml +++ b/crd-catalog/grafana/loki/loki.grafana.com/v1/lokistacks.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.13.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "lokistacks.loki.grafana.com" spec: group: "loki.grafana.com" @@ -21,10 +21,10 @@ spec: description: "LokiStack is the Schema for the lokistacks API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -38,10 +38,10 @@ spec: description: "MemberList configuration spec" properties: enableIPv6: - description: "EnableIPv6 enables IPv6 support for the memberlist based hash ring. \n Currently this also forces the instanceAddrType to podIP to avoid local address lookup for the memberlist." + description: "EnableIPv6 enables IPv6 support for the memberlist based hash ring.\n\n\nCurrently this also forces the instanceAddrType to podIP to avoid local address lookup\nfor the memberlist." type: "boolean" instanceAddrType: - description: "InstanceAddrType defines the type of address to use to advertise to the ring. Defaults to the first address from any private network interfaces of the current pod. Alternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598) are not available." + description: "InstanceAddrType defines the type of address to use to advertise to the ring.\nDefaults to the first address from any private network interfaces of the current pod.\nAlternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598)\nare not available." enum: - "default" - "podIP" @@ -66,7 +66,7 @@ spec: description: "IngestionLimits defines the limits applied on ingested log streams." properties: ingestionBurstSize: - description: "IngestionBurstSize defines the local rate-limited sample size per distributor replica. It should be set to the set at least to the maximum logs size expected in a single push request." + description: "IngestionBurstSize defines the local rate-limited sample size per\ndistributor replica. It should be set to the set at least to the\nmaximum logs size expected in a single push request." format: "int32" type: "integer" ingestionRate: @@ -74,19 +74,19 @@ spec: format: "int32" type: "integer" maxGlobalStreamsPerTenant: - description: "MaxGlobalStreamsPerTenant defines the maximum number of active streams per tenant, across the cluster." + description: "MaxGlobalStreamsPerTenant defines the maximum number of active streams\nper tenant, across the cluster." format: "int32" type: "integer" maxLabelNameLength: - description: "MaxLabelNameLength defines the maximum number of characters allowed for label keys in log streams." + description: "MaxLabelNameLength defines the maximum number of characters allowed\nfor label keys in log streams." format: "int32" type: "integer" maxLabelNamesPerSeries: - description: "MaxLabelNamesPerSeries defines the maximum number of label names per series in each log stream." + description: "MaxLabelNamesPerSeries defines the maximum number of label names per series\nin each log stream." format: "int32" type: "integer" maxLabelValueLength: - description: "MaxLabelValueLength defines the maximum number of characters allowed for label values in log streams." + description: "MaxLabelValueLength defines the maximum number of characters allowed\nfor label values in log streams." format: "int32" type: "integer" maxLineSize: @@ -94,7 +94,7 @@ spec: format: "int32" type: "integer" perStreamDesiredRate: - description: "PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should target applying automatic stream sharding. Units MB." + description: "PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should\ntarget applying automatic stream sharding. Units MB." format: "int32" type: "integer" perStreamRateLimit: @@ -114,15 +114,15 @@ spec: format: "int32" type: "integer" maxChunksPerQuery: - description: "MaxChunksPerQuery defines the maximum number of chunks that can be fetched by a single query." + description: "MaxChunksPerQuery defines the maximum number of chunks\nthat can be fetched by a single query." format: "int32" type: "integer" maxEntriesLimitPerQuery: - description: "MaxEntriesLimitsPerQuery defines the maximum number of log entries that will be returned for a query." + description: "MaxEntriesLimitsPerQuery defines the maximum number of log entries\nthat will be returned for a query." format: "int32" type: "integer" maxQuerySeries: - description: "MaxQuerySeries defines the maximum of unique series that is returned by a metric query." + description: "MaxQuerySeries defines the maximum of unique series\nthat is returned by a metric query." format: "int32" type: "integer" queryTimeout: @@ -171,7 +171,7 @@ spec: description: "IngestionLimits defines the limits applied on ingested log streams." properties: ingestionBurstSize: - description: "IngestionBurstSize defines the local rate-limited sample size per distributor replica. It should be set to the set at least to the maximum logs size expected in a single push request." + description: "IngestionBurstSize defines the local rate-limited sample size per\ndistributor replica. It should be set to the set at least to the\nmaximum logs size expected in a single push request." format: "int32" type: "integer" ingestionRate: @@ -179,19 +179,19 @@ spec: format: "int32" type: "integer" maxGlobalStreamsPerTenant: - description: "MaxGlobalStreamsPerTenant defines the maximum number of active streams per tenant, across the cluster." + description: "MaxGlobalStreamsPerTenant defines the maximum number of active streams\nper tenant, across the cluster." format: "int32" type: "integer" maxLabelNameLength: - description: "MaxLabelNameLength defines the maximum number of characters allowed for label keys in log streams." + description: "MaxLabelNameLength defines the maximum number of characters allowed\nfor label keys in log streams." format: "int32" type: "integer" maxLabelNamesPerSeries: - description: "MaxLabelNamesPerSeries defines the maximum number of label names per series in each log stream." + description: "MaxLabelNamesPerSeries defines the maximum number of label names per series\nin each log stream." format: "int32" type: "integer" maxLabelValueLength: - description: "MaxLabelValueLength defines the maximum number of characters allowed for label values in log streams." + description: "MaxLabelValueLength defines the maximum number of characters allowed\nfor label values in log streams." format: "int32" type: "integer" maxLineSize: @@ -199,7 +199,7 @@ spec: format: "int32" type: "integer" perStreamDesiredRate: - description: "PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should target applying automatic stream sharding. Units MB." + description: "PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should\ntarget applying automatic stream sharding. Units MB." format: "int32" type: "integer" perStreamRateLimit: @@ -247,15 +247,15 @@ spec: format: "int32" type: "integer" maxChunksPerQuery: - description: "MaxChunksPerQuery defines the maximum number of chunks that can be fetched by a single query." + description: "MaxChunksPerQuery defines the maximum number of chunks\nthat can be fetched by a single query." format: "int32" type: "integer" maxEntriesLimitPerQuery: - description: "MaxEntriesLimitsPerQuery defines the maximum number of log entries that will be returned for a query." + description: "MaxEntriesLimitsPerQuery defines the maximum number of log entries\nthat will be returned for a query." format: "int32" type: "integer" maxQuerySeries: - description: "MaxQuerySeries defines the maximum of unique series that is returned by a metric query." + description: "MaxQuerySeries defines the maximum of unique series\nthat is returned by a metric query." format: "int32" type: "integer" queryTimeout: @@ -301,7 +301,7 @@ spec: type: "object" managementState: default: "Managed" - description: "ManagementState defines if the CR should be managed by the operator or not. Default is managed." + description: "ManagementState defines if the CR should be managed by the operator or not.\nDefault is managed." enum: - "Managed" - "Unmanaged" @@ -328,7 +328,7 @@ spec: minimum: 1.0 type: "integer" zones: - description: "Zones defines an array of ZoneSpec that the scheduler will try to satisfy. IMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones." + description: "Zones defines an array of ZoneSpec that the scheduler will try to satisfy.\nIMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones." items: description: "ZoneSpec defines the spec to support zone-aware component deployments." properties: @@ -346,7 +346,7 @@ spec: type: "array" type: "object" replicationFactor: - description: "Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD. ReplicationFactor defines the policy for log stream replication." + description: "Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD.\nReplicationFactor defines the policy for log stream replication." format: "int32" minimum: 1.0 type: "integer" @@ -357,21 +357,21 @@ spec: description: "Enabled defines a flag to enable/disable the ruler component" type: "boolean" namespaceSelector: - description: "Namespaces to be selected for PrometheusRules discovery. If unspecified, only the same namespace as the LokiStack object is in is used." + description: "Namespaces to be selected for PrometheusRules discovery. If unspecified, only\nthe same namespace as the LokiStack object is in is used." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -383,26 +383,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" selector: - description: "A selector to select which LokiRules to mount for loading alerting/recording rules from." + description: "A selector to select which LokiRules to mount for loading alerting/recording\nrules from." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -414,7 +414,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -438,10 +438,10 @@ spec: version: "v11" description: "Schemas for reading and writing logs." items: - description: "ObjectStorageSchema defines the requirements needed to configure a new storage schema." + description: "ObjectStorageSchema defines the requirements needed to configure a new\nstorage schema." properties: effectiveDate: - description: "EffectiveDate is the date in UTC that the schema will be applied on. To ensure readibility of logs, this date should be before the current date in UTC." + description: "EffectiveDate is the date in UTC that the schema will be applied on.\nTo ensure readibility of logs, this date should be before the current\ndate in UTC." pattern: "^([0-9]{4,})([-]([0-9]{2})){2}$" type: "string" version: @@ -458,8 +458,15 @@ spec: minItems: 1 type: "array" secret: - description: "Secret for object storage authentication. Name of a secret in the same namespace as the LokiStack custom resource." + description: "Secret for object storage authentication.\nName of a secret in the same namespace as the LokiStack custom resource." properties: + credentialMode: + description: "CredentialMode can be used to set the desired credential mode for authenticating with the object storage.\nIf this is not set, then the operator tries to infer the credential mode from the provided secret and its\nown configuration." + enum: + - "static" + - "token" + - "managed" + type: "string" name: description: "Name of a secret in the namespace configured for object storage secrets." type: "string" @@ -480,10 +487,10 @@ spec: description: "TLS configuration for reaching the object storage endpoint." properties: caKey: - description: "Key is the data key of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. If empty, it defaults to \"service-ca.crt\"." + description: "Key is the data key of a ConfigMap containing a CA certificate.\nIt needs to be in the same namespace as the LokiStack custom resource.\nIf empty, it defaults to \"service-ca.crt\"." type: "string" caName: - description: "CA is the name of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource." + description: "CA is the name of a ConfigMap containing a CA certificate.\nIt needs to be in the same namespace as the LokiStack custom resource." type: "string" required: - "caName" @@ -503,13 +510,13 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" podAntiAffinity: - description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component." + description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods\nof a component." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -522,16 +529,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -543,26 +550,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -574,23 +581,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -599,9 +606,9 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: description: "A label query over a set of resources, in this case pods." @@ -609,16 +616,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -630,26 +637,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -661,17 +668,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -683,25 +690,25 @@ spec: format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -712,13 +719,13 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" podAntiAffinity: - description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component." + description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods\nof a component." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -731,16 +738,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -752,26 +759,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -783,23 +790,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -808,9 +815,9 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: description: "A label query over a set of resources, in this case pods." @@ -818,16 +825,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -839,26 +846,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -870,17 +877,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -892,25 +899,25 @@ spec: format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -921,13 +928,13 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" podAntiAffinity: - description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component." + description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods\nof a component." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -940,16 +947,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -961,26 +968,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -992,23 +999,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -1017,9 +1024,9 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: description: "A label query over a set of resources, in this case pods." @@ -1027,16 +1034,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1048,26 +1055,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1079,17 +1086,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -1101,25 +1108,25 @@ spec: format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -1130,13 +1137,13 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" podAntiAffinity: - description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component." + description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods\nof a component." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -1149,16 +1156,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1170,26 +1177,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1201,23 +1208,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -1226,9 +1233,9 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: description: "A label query over a set of resources, in this case pods." @@ -1236,16 +1243,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1257,26 +1264,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1288,17 +1295,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -1310,25 +1317,25 @@ spec: format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -1339,13 +1346,13 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" podAntiAffinity: - description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component." + description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods\nof a component." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -1358,16 +1365,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1379,26 +1386,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1410,23 +1417,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -1435,9 +1442,9 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: description: "A label query over a set of resources, in this case pods." @@ -1445,16 +1452,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1466,26 +1473,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1497,17 +1504,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -1519,25 +1526,25 @@ spec: format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -1548,13 +1555,13 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" podAntiAffinity: - description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component." + description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods\nof a component." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -1567,16 +1574,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1588,26 +1595,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1619,23 +1626,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -1644,9 +1651,9 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: description: "A label query over a set of resources, in this case pods." @@ -1654,16 +1661,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1675,26 +1682,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1706,17 +1713,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -1728,25 +1735,25 @@ spec: format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -1757,13 +1764,13 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" podAntiAffinity: - description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component." + description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods\nof a component." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -1776,16 +1783,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1797,26 +1804,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1828,23 +1835,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -1853,9 +1860,9 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: description: "A label query over a set of resources, in this case pods." @@ -1863,16 +1870,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1884,26 +1891,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1915,17 +1922,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -1937,25 +1944,25 @@ spec: format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -1966,13 +1973,13 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" podAntiAffinity: - description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component." + description: "PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods\nof a component." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -1985,16 +1992,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2006,26 +2013,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2037,23 +2044,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -2062,9 +2069,9 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: description: "A label query over a set of resources, in this case pods." @@ -2072,16 +2079,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2093,26 +2100,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2124,17 +2131,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -2146,25 +2153,25 @@ spec: format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -2185,10 +2192,10 @@ spec: description: "CA defines the spec for the custom CA for tenant's authentication." properties: caKey: - description: "Key is the data key of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. If empty, it defaults to \"service-ca.crt\"." + description: "Key is the data key of a ConfigMap containing a CA certificate.\nIt needs to be in the same namespace as the LokiStack custom resource.\nIf empty, it defaults to \"service-ca.crt\"." type: "string" caName: - description: "CA is the name of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource." + description: "CA is the name of a ConfigMap containing a CA certificate.\nIt needs to be in the same namespace as the LokiStack custom resource." type: "string" required: - "caName" @@ -2206,10 +2213,10 @@ spec: description: "IssuerCA defines the spec for the issuer CA for tenant's authentication." properties: caKey: - description: "Key is the data key of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. If empty, it defaults to \"service-ca.crt\"." + description: "Key is the data key of a ConfigMap containing a CA certificate.\nIt needs to be in the same namespace as the LokiStack custom resource.\nIf empty, it defaults to \"service-ca.crt\"." type: "string" caName: - description: "CA is the name of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource." + description: "CA is the name of a ConfigMap containing a CA certificate.\nIt needs to be in the same namespace as the LokiStack custom resource." type: "string" required: - "caName" @@ -2337,7 +2344,7 @@ spec: description: "Openshift defines the configuration specific to Openshift modes." properties: adminGroups: - description: "AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator. Setting this to an empty array disables admin groups. \n By default the following groups are considered admin-groups: - system:cluster-admins - cluster-admin - dedicated-admin" + description: "AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator.\nSetting this to an empty array disables admin groups.\n\n\nBy default the following groups are considered admin-groups:\n - system:cluster-admins\n - cluster-admin\n - dedicated-admin" items: type: "string" type: "array" @@ -2354,7 +2361,7 @@ spec: description: "LokiStack CR spec Status." properties: components: - description: "Components provides summary of all Loki pod status grouped per component." + description: "Components provides summary of all Loki pod status grouped\nper component." properties: compactor: additionalProperties: @@ -2416,23 +2423,23 @@ spec: conditions: description: "Conditions of the Loki deployment health." items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" properties: lastTransitionTime: - description: "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + description: "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." format: "date-time" type: "string" message: - description: "message is a human readable message indicating details about the transition. This may be an empty string." + description: "message is a human readable message indicating details about the transition.\nThis may be an empty string." maxLength: 32768 type: "string" observedGeneration: - description: "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance." + description: "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance." format: "int64" minimum: 0.0 type: "integer" reason: - description: "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty." + description: "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty." maxLength: 1024 minLength: 1 pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" @@ -2445,7 +2452,7 @@ spec: - "Unknown" type: "string" type: - description: "type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" + description: "type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" maxLength: 316 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])$" type: "string" @@ -2458,7 +2465,7 @@ spec: type: "object" type: "array" storage: - description: "Storage provides summary of all changes that have occurred to the storage configuration." + description: "Storage provides summary of all changes that have occurred\nto the storage configuration." properties: credentialMode: description: "CredentialMode contains the authentication mode used for accessing the object storage." @@ -2468,12 +2475,12 @@ spec: - "managed" type: "string" schemas: - description: "Schemas is a list of schemas which have been applied to the LokiStack." + description: "Schemas is a list of schemas which have been applied\nto the LokiStack." items: - description: "ObjectStorageSchema defines the requirements needed to configure a new storage schema." + description: "ObjectStorageSchema defines the requirements needed to configure a new\nstorage schema." properties: effectiveDate: - description: "EffectiveDate is the date in UTC that the schema will be applied on. To ensure readibility of logs, this date should be before the current date in UTC." + description: "EffectiveDate is the date in UTC that the schema will be applied on.\nTo ensure readibility of logs, this date should be before the current\ndate in UTC." pattern: "^([0-9]{4,})([-]([0-9]{2})){2}$" type: "string" version: diff --git a/crd-catalog/grafana/loki/loki.grafana.com/v1/recordingrules.yaml b/crd-catalog/grafana/loki/loki.grafana.com/v1/recordingrules.yaml index a8208a205..0caf233b8 100644 --- a/crd-catalog/grafana/loki/loki.grafana.com/v1/recordingrules.yaml +++ b/crd-catalog/grafana/loki/loki.grafana.com/v1/recordingrules.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.13.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "recordingrules.loki.grafana.com" spec: group: "loki.grafana.com" @@ -19,10 +19,10 @@ spec: description: "RecordingRule is the Schema for the recordingrules API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -36,7 +36,7 @@ spec: properties: interval: default: "1m" - description: "Interval defines the time interval between evaluation of the given recoding rule." + description: "Interval defines the time interval between evaluation of the given\nrecoding rule." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" limit: @@ -52,7 +52,7 @@ spec: description: "RecordingRuleGroupSpec defines the spec for a Loki recording rule." properties: expr: - description: "The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts." + description: "The LogQL expression to evaluate. Every evaluation cycle this is\nevaluated at the current time, and all resultant time series become\npending/firing alerts." type: "string" labels: additionalProperties: @@ -83,23 +83,23 @@ spec: conditions: description: "Conditions of the RecordingRule generation health." items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" properties: lastTransitionTime: - description: "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + description: "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." format: "date-time" type: "string" message: - description: "message is a human readable message indicating details about the transition. This may be an empty string." + description: "message is a human readable message indicating details about the transition.\nThis may be an empty string." maxLength: 32768 type: "string" observedGeneration: - description: "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance." + description: "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance." format: "int64" minimum: 0.0 type: "integer" reason: - description: "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty." + description: "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty." maxLength: 1024 minLength: 1 pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" @@ -112,7 +112,7 @@ spec: - "Unknown" type: "string" type: - description: "type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" + description: "type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" maxLength: 316 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])$" type: "string" diff --git a/crd-catalog/grafana/loki/loki.grafana.com/v1/rulerconfigs.yaml b/crd-catalog/grafana/loki/loki.grafana.com/v1/rulerconfigs.yaml index e89fdc184..3ab39e1f6 100644 --- a/crd-catalog/grafana/loki/loki.grafana.com/v1/rulerconfigs.yaml +++ b/crd-catalog/grafana/loki/loki.grafana.com/v1/rulerconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.13.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "rulerconfigs.loki.grafana.com" spec: group: "loki.grafana.com" @@ -19,10 +19,10 @@ spec: description: "RulerConfig is the Schema for the rulerconfigs API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -91,7 +91,7 @@ spec: description: "If enabled, then requests to Alertmanager use the v2 API." type: "boolean" endpoints: - description: "List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as a separate group in the configuration. Multiple Alertmanagers in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery)." + description: "List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as\na separate group in the configuration. Multiple Alertmanagers in HA per group can be\nsupported by using DNS resolution (See EnableDNSDiscovery)." items: type: "string" type: "array" @@ -113,7 +113,7 @@ spec: type: "integer" forGracePeriod: default: "10m" - description: "Minimum duration between alert and restored \"for\" state. This is maintained only for alerts with configured \"for\" time greater than the grace period." + description: "Minimum duration between alert and restored \"for\" state. This is maintained\nonly for alerts with configured \"for\" time greater than the grace period." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" forOutageTolerance: @@ -135,7 +135,7 @@ spec: relabelConfigs: description: "List of alert relabel configurations." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines `` and `` sections of Prometheus configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: default: "replace" @@ -159,19 +159,19 @@ spec: type: "string" replacement: default: "$1" - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: default: ";" description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" required: - "sourceLabels" @@ -251,7 +251,7 @@ spec: description: "If enabled, then requests to Alertmanager use the v2 API." type: "boolean" endpoints: - description: "List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as a separate group in the configuration. Multiple Alertmanagers in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery)." + description: "List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as\na separate group in the configuration. Multiple Alertmanagers in HA per group can be\nsupported by using DNS resolution (See EnableDNSDiscovery)." items: type: "string" type: "array" @@ -273,7 +273,7 @@ spec: type: "integer" forGracePeriod: default: "10m" - description: "Minimum duration between alert and restored \"for\" state. This is maintained only for alerts with configured \"for\" time greater than the grace period." + description: "Minimum duration between alert and restored \"for\" state. This is maintained\nonly for alerts with configured \"for\" time greater than the grace period." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" forOutageTolerance: @@ -295,7 +295,7 @@ spec: relabelConfigs: description: "List of alert relabel configurations." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines `` and `` sections of Prometheus configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: default: "replace" @@ -319,19 +319,19 @@ spec: type: "string" replacement: default: "$1" - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: default: ";" description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" required: - "sourceLabels" @@ -381,7 +381,7 @@ spec: relabelConfigs: description: "List of remote write relabel configurations." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines `` and `` sections of Prometheus configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: default: "replace" @@ -405,19 +405,19 @@ spec: type: "string" replacement: default: "$1" - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: default: ";" description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" required: - "sourceLabels" @@ -492,23 +492,23 @@ spec: conditions: description: "Conditions of the RulerConfig health." items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" properties: lastTransitionTime: - description: "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + description: "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." format: "date-time" type: "string" message: - description: "message is a human readable message indicating details about the transition. This may be an empty string." + description: "message is a human readable message indicating details about the transition.\nThis may be an empty string." maxLength: 32768 type: "string" observedGeneration: - description: "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance." + description: "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance." format: "int64" minimum: 0.0 type: "integer" reason: - description: "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty." + description: "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty." maxLength: 1024 minLength: 1 pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" @@ -521,7 +521,7 @@ spec: - "Unknown" type: "string" type: - description: "type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" + description: "type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" maxLength: 316 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])$" type: "string" diff --git a/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/alertingrules.yaml b/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/alertingrules.yaml index 727ab5794..bfd5152b0 100644 --- a/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/alertingrules.yaml +++ b/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/alertingrules.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.13.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "alertingrules.loki.grafana.com" spec: group: "loki.grafana.com" @@ -19,10 +19,10 @@ spec: description: "AlertingRule is the Schema for the alertingrules API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -36,7 +36,7 @@ spec: properties: interval: default: "1m" - description: "Interval defines the time interval between evaluation of the given alerting rule." + description: "Interval defines the time interval between evaluation of the given\nalerting rule." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" limit: @@ -60,10 +60,10 @@ spec: description: "Annotations to add to each alert." type: "object" expr: - description: "The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts." + description: "The LogQL expression to evaluate. Every evaluation cycle this is\nevaluated at the current time, and all resultant time series become\npending/firing alerts." type: "string" for: - description: "Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending." + description: "Alerts are considered firing once they have been returned for this long.\nAlerts which have not yet fired for long enough are considered pending." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" labels: @@ -92,23 +92,23 @@ spec: conditions: description: "Conditions of the AlertingRule generation health." items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" properties: lastTransitionTime: - description: "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + description: "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." format: "date-time" type: "string" message: - description: "message is a human readable message indicating details about the transition. This may be an empty string." + description: "message is a human readable message indicating details about the transition.\nThis may be an empty string." maxLength: 32768 type: "string" observedGeneration: - description: "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance." + description: "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance." format: "int64" minimum: 0.0 type: "integer" reason: - description: "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty." + description: "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty." maxLength: 1024 minLength: 1 pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" @@ -121,7 +121,7 @@ spec: - "Unknown" type: "string" type: - description: "type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" + description: "type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" maxLength: 316 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])$" type: "string" diff --git a/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/lokistacks.yaml b/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/lokistacks.yaml index 93b67fb94..58f595ee4 100644 --- a/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/lokistacks.yaml +++ b/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/lokistacks.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.13.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "lokistacks.loki.grafana.com" spec: group: "loki.grafana.com" @@ -21,10 +21,10 @@ spec: description: "LokiStack is the Schema for the lokistacks API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -41,7 +41,7 @@ spec: description: "IngestionLimits defines the limits applied on ingested log streams." properties: ingestionBurstSize: - description: "IngestionBurstSize defines the local rate-limited sample size per distributor replica. It should be set to the set at least to the maximum logs size expected in a single push request." + description: "IngestionBurstSize defines the local rate-limited sample size per\ndistributor replica. It should be set to the set at least to the\nmaximum logs size expected in a single push request." format: "int32" type: "integer" ingestionRate: @@ -49,19 +49,19 @@ spec: format: "int32" type: "integer" maxGlobalStreamsPerTenant: - description: "MaxGlobalStreamsPerTenant defines the maximum number of active streams per tenant, across the cluster." + description: "MaxGlobalStreamsPerTenant defines the maximum number of active streams\nper tenant, across the cluster." format: "int32" type: "integer" maxLabelNameLength: - description: "MaxLabelNameLength defines the maximum number of characters allowed for label keys in log streams." + description: "MaxLabelNameLength defines the maximum number of characters allowed\nfor label keys in log streams." format: "int32" type: "integer" maxLabelNamesPerSeries: - description: "MaxLabelNamesPerSeries defines the maximum number of label names per series in each log stream." + description: "MaxLabelNamesPerSeries defines the maximum number of label names per series\nin each log stream." format: "int32" type: "integer" maxLabelValueLength: - description: "MaxLabelValueLength defines the maximum number of characters allowed for label values in log streams." + description: "MaxLabelValueLength defines the maximum number of characters allowed\nfor label values in log streams." format: "int32" type: "integer" maxLineSize: @@ -73,15 +73,15 @@ spec: description: "QueryLimits defines the limit applied on querying log streams." properties: maxChunksPerQuery: - description: "MaxChunksPerQuery defines the maximum number of chunks that can be fetched by a single query." + description: "MaxChunksPerQuery defines the maximum number of chunks\nthat can be fetched by a single query." format: "int32" type: "integer" maxEntriesLimitPerQuery: - description: "MaxEntriesLimitsPerQuery defines the maximum number of log entries that will be returned for a query." + description: "MaxEntriesLimitsPerQuery defines the maximum number of log entries\nthat will be returned for a query." format: "int32" type: "integer" maxQuerySeries: - description: "MaxQuerySeries defines the maximum of unique series that is returned by a metric query." + description: "MaxQuerySeries defines the maximum of unique series\nthat is returned by a metric query." format: "int32" type: "integer" type: "object" @@ -94,7 +94,7 @@ spec: description: "IngestionLimits defines the limits applied on ingested log streams." properties: ingestionBurstSize: - description: "IngestionBurstSize defines the local rate-limited sample size per distributor replica. It should be set to the set at least to the maximum logs size expected in a single push request." + description: "IngestionBurstSize defines the local rate-limited sample size per\ndistributor replica. It should be set to the set at least to the\nmaximum logs size expected in a single push request." format: "int32" type: "integer" ingestionRate: @@ -102,19 +102,19 @@ spec: format: "int32" type: "integer" maxGlobalStreamsPerTenant: - description: "MaxGlobalStreamsPerTenant defines the maximum number of active streams per tenant, across the cluster." + description: "MaxGlobalStreamsPerTenant defines the maximum number of active streams\nper tenant, across the cluster." format: "int32" type: "integer" maxLabelNameLength: - description: "MaxLabelNameLength defines the maximum number of characters allowed for label keys in log streams." + description: "MaxLabelNameLength defines the maximum number of characters allowed\nfor label keys in log streams." format: "int32" type: "integer" maxLabelNamesPerSeries: - description: "MaxLabelNamesPerSeries defines the maximum number of label names per series in each log stream." + description: "MaxLabelNamesPerSeries defines the maximum number of label names per series\nin each log stream." format: "int32" type: "integer" maxLabelValueLength: - description: "MaxLabelValueLength defines the maximum number of characters allowed for label values in log streams." + description: "MaxLabelValueLength defines the maximum number of characters allowed\nfor label values in log streams." format: "int32" type: "integer" maxLineSize: @@ -126,15 +126,15 @@ spec: description: "QueryLimits defines the limit applied on querying log streams." properties: maxChunksPerQuery: - description: "MaxChunksPerQuery defines the maximum number of chunks that can be fetched by a single query." + description: "MaxChunksPerQuery defines the maximum number of chunks\nthat can be fetched by a single query." format: "int32" type: "integer" maxEntriesLimitPerQuery: - description: "MaxEntriesLimitsPerQuery defines the maximum number of log entries that will be returned for a query." + description: "MaxEntriesLimitsPerQuery defines the maximum number of log entries\nthat will be returned for a query." format: "int32" type: "integer" maxQuerySeries: - description: "MaxQuerySeries defines the maximum of unique series that is returned by a metric query." + description: "MaxQuerySeries defines the maximum of unique series\nthat is returned by a metric query." format: "int32" type: "integer" type: "object" @@ -144,7 +144,7 @@ spec: type: "object" managementState: default: "Managed" - description: "ManagementState defines if the CR should be managed by the operator or not. Default is managed." + description: "ManagementState defines if the CR should be managed by the operator or not.\nDefault is managed." enum: - "Managed" - "Unmanaged" @@ -162,21 +162,21 @@ spec: description: "Enabled defines a flag to enable/disable the ruler component" type: "boolean" namespaceSelector: - description: "Namespaces to be selected for PrometheusRules discovery. If unspecified, only the same namespace as the LokiStack object is in is used." + description: "Namespaces to be selected for PrometheusRules discovery. If unspecified, only\nthe same namespace as the LokiStack object is in is used." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -188,26 +188,26 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" selector: - description: "A selector to select which LokiRules to mount for loading alerting/recording rules from." + description: "A selector to select which LokiRules to mount for loading alerting/recording\nrules from." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -219,7 +219,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -242,10 +242,10 @@ spec: version: "v11" description: "Schemas for reading and writing logs." items: - description: "ObjectStorageSchema defines the requirements needed to configure a new storage schema." + description: "ObjectStorageSchema defines the requirements needed to configure a new\nstorage schema." properties: effectiveDate: - description: "EffectiveDate is the date in UTC that the schema will be applied on. To ensure readibility of logs, this date should be before the current date in UTC." + description: "EffectiveDate is the date in UTC that the schema will be applied on.\nTo ensure readibility of logs, this date should be before the current\ndate in UTC." pattern: "^([0-9]{4,})([-]([0-9]{2})){2}$" type: "string" version: @@ -261,7 +261,7 @@ spec: minItems: 1 type: "array" secret: - description: "Secret for object storage authentication. Name of a secret in the same namespace as the LokiStack custom resource." + description: "Secret for object storage authentication.\nName of a secret in the same namespace as the LokiStack custom resource." properties: name: description: "Name of a secret in the namespace configured for object storage secrets." @@ -282,7 +282,7 @@ spec: description: "TLS configuration for reaching the object storage endpoint." properties: caName: - description: "CA is the name of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource." + description: "CA is the name of a ConfigMap containing a CA certificate.\nIt needs to be in the same namespace as the LokiStack custom resource." type: "string" type: "object" required: @@ -300,32 +300,32 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" replicas: description: "Replicas defines the number of replica pods of the component." format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -336,32 +336,32 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" replicas: description: "Replicas defines the number of replica pods of the component." format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -372,32 +372,32 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" replicas: description: "Replicas defines the number of replica pods of the component." format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -408,32 +408,32 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" replicas: description: "Replicas defines the number of replica pods of the component." format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -444,32 +444,32 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" replicas: description: "Replicas defines the number of replica pods of the component." format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -480,32 +480,32 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" replicas: description: "Replicas defines the number of replica pods of the component." format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -516,32 +516,32 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" replicas: description: "Replicas defines the number of replica pods of the component." format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -552,32 +552,32 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector defines the labels required by a node to schedule the component onto it." + description: "NodeSelector defines the labels required by a node to schedule\nthe component onto it." type: "object" replicas: description: "Replicas defines the number of replica pods of the component." format: "int32" type: "integer" tolerations: - description: "Tolerations defines the tolerations required by a node to schedule the component onto it." + description: "Tolerations defines the tolerations required by a node to schedule\nthe component onto it." items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" @@ -728,7 +728,7 @@ spec: description: "LokiStackStatus defines the observed state of LokiStack" properties: components: - description: "Components provides summary of all Loki pod status grouped per component." + description: "Components provides summary of all Loki pod status grouped\nper component." properties: compactor: additionalProperties: @@ -790,23 +790,23 @@ spec: conditions: description: "Conditions of the Loki deployment health." items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" properties: lastTransitionTime: - description: "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + description: "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." format: "date-time" type: "string" message: - description: "message is a human readable message indicating details about the transition. This may be an empty string." + description: "message is a human readable message indicating details about the transition.\nThis may be an empty string." maxLength: 32768 type: "string" observedGeneration: - description: "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance." + description: "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance." format: "int64" minimum: 0.0 type: "integer" reason: - description: "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty." + description: "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty." maxLength: 1024 minLength: 1 pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" @@ -819,7 +819,7 @@ spec: - "Unknown" type: "string" type: - description: "type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" + description: "type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" maxLength: 316 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])$" type: "string" @@ -832,15 +832,15 @@ spec: type: "object" type: "array" storage: - description: "Storage provides summary of all changes that have occurred to the storage configuration." + description: "Storage provides summary of all changes that have occurred\nto the storage configuration." properties: schemas: - description: "Schemas is a list of schemas which have been applied to the LokiStack." + description: "Schemas is a list of schemas which have been applied\nto the LokiStack." items: - description: "ObjectStorageSchema defines the requirements needed to configure a new storage schema." + description: "ObjectStorageSchema defines the requirements needed to configure a new\nstorage schema." properties: effectiveDate: - description: "EffectiveDate is the date in UTC that the schema will be applied on. To ensure readibility of logs, this date should be before the current date in UTC." + description: "EffectiveDate is the date in UTC that the schema will be applied on.\nTo ensure readibility of logs, this date should be before the current\ndate in UTC." pattern: "^([0-9]{4,})([-]([0-9]{2})){2}$" type: "string" version: diff --git a/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/recordingrules.yaml b/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/recordingrules.yaml index efa98a909..d165539a7 100644 --- a/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/recordingrules.yaml +++ b/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/recordingrules.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.13.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "recordingrules.loki.grafana.com" spec: group: "loki.grafana.com" @@ -19,10 +19,10 @@ spec: description: "RecordingRule is the Schema for the recordingrules API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -36,7 +36,7 @@ spec: properties: interval: default: "1m" - description: "Interval defines the time interval between evaluation of the given recoding rule." + description: "Interval defines the time interval between evaluation of the given\nrecoding rule." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" limit: @@ -52,7 +52,7 @@ spec: description: "RecordingRuleGroupSpec defines the spec for a Loki recording rule." properties: expr: - description: "The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts." + description: "The LogQL expression to evaluate. Every evaluation cycle this is\nevaluated at the current time, and all resultant time series become\npending/firing alerts." type: "string" record: description: "The name of the time series to output to. Must be a valid metric name." @@ -78,23 +78,23 @@ spec: conditions: description: "Conditions of the RecordingRule generation health." items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" properties: lastTransitionTime: - description: "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + description: "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." format: "date-time" type: "string" message: - description: "message is a human readable message indicating details about the transition. This may be an empty string." + description: "message is a human readable message indicating details about the transition.\nThis may be an empty string." maxLength: 32768 type: "string" observedGeneration: - description: "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance." + description: "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance." format: "int64" minimum: 0.0 type: "integer" reason: - description: "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty." + description: "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty." maxLength: 1024 minLength: 1 pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" @@ -107,7 +107,7 @@ spec: - "Unknown" type: "string" type: - description: "type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" + description: "type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" maxLength: 316 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])$" type: "string" diff --git a/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/rulerconfigs.yaml b/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/rulerconfigs.yaml index 8973e7a5c..05a7eb0f8 100644 --- a/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/rulerconfigs.yaml +++ b/crd-catalog/grafana/loki/loki.grafana.com/v1beta1/rulerconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.13.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "rulerconfigs.loki.grafana.com" spec: group: "loki.grafana.com" @@ -19,10 +19,10 @@ spec: description: "RulerConfig is the Schema for the rulerconfigs API" properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -91,7 +91,7 @@ spec: description: "If enabled, then requests to Alertmanager use the v2 API." type: "boolean" endpoints: - description: "List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as a separate group in the configuration. Multiple Alertmanagers in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery)." + description: "List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as\na separate group in the configuration. Multiple Alertmanagers in HA per group can be\nsupported by using DNS resolution (See EnableDNSDiscovery)." items: type: "string" type: "array" @@ -113,7 +113,7 @@ spec: type: "integer" forGracePeriod: default: "10m" - description: "Minimum duration between alert and restored \"for\" state. This is maintained only for alerts with configured \"for\" time greater than the grace period." + description: "Minimum duration between alert and restored \"for\" state. This is maintained\nonly for alerts with configured \"for\" time greater than the grace period." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" forOutageTolerance: @@ -135,7 +135,7 @@ spec: relabelConfigs: description: "List of alert relabel configurations." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines `` and `` sections of Prometheus configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: default: "replace" @@ -159,19 +159,19 @@ spec: type: "string" replacement: default: "$1" - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: default: ";" description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" required: - "sourceLabels" @@ -251,7 +251,7 @@ spec: description: "If enabled, then requests to Alertmanager use the v2 API." type: "boolean" endpoints: - description: "List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as a separate group in the configuration. Multiple Alertmanagers in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery)." + description: "List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as\na separate group in the configuration. Multiple Alertmanagers in HA per group can be\nsupported by using DNS resolution (See EnableDNSDiscovery)." items: type: "string" type: "array" @@ -273,7 +273,7 @@ spec: type: "integer" forGracePeriod: default: "10m" - description: "Minimum duration between alert and restored \"for\" state. This is maintained only for alerts with configured \"for\" time greater than the grace period." + description: "Minimum duration between alert and restored \"for\" state. This is maintained\nonly for alerts with configured \"for\" time greater than the grace period." pattern: "((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)" type: "string" forOutageTolerance: @@ -295,7 +295,7 @@ spec: relabelConfigs: description: "List of alert relabel configurations." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines `` and `` sections of Prometheus configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: default: "replace" @@ -319,19 +319,19 @@ spec: type: "string" replacement: default: "$1" - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: default: ";" description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" required: - "sourceLabels" @@ -381,7 +381,7 @@ spec: relabelConfigs: description: "List of remote write relabel configurations." items: - description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" + description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion.\nIt defines `` and `` sections of Prometheus configuration.\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs" properties: action: default: "replace" @@ -405,19 +405,19 @@ spec: type: "string" replacement: default: "$1" - description: "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'" + description: "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Default is '$1'" type: "string" separator: default: ";" description: "Separator placed between concatenated source label values. default is ';'." type: "string" sourceLabels: - description: "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions." + description: "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions." items: type: "string" type: "array" targetLabel: - description: "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available." + description: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available." type: "string" required: - "sourceLabels" @@ -492,23 +492,23 @@ spec: conditions: description: "Conditions of the RulerConfig health." items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" properties: lastTransitionTime: - description: "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + description: "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." format: "date-time" type: "string" message: - description: "message is a human readable message indicating details about the transition. This may be an empty string." + description: "message is a human readable message indicating details about the transition.\nThis may be an empty string." maxLength: 32768 type: "string" observedGeneration: - description: "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance." + description: "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance." format: "int64" minimum: 0.0 type: "integer" reason: - description: "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty." + description: "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty." maxLength: 1024 minLength: 1 pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" @@ -521,7 +521,7 @@ spec: - "Unknown" type: "string" type: - description: "type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" + description: "type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)" maxLength: 316 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])$" type: "string" diff --git a/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml b/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml index af598b15d..809772aa6 100644 --- a/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml +++ b/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml @@ -412,6 +412,14 @@ spec: type: "string" type: "object" type: "array" + saml_idp_service_provider_labels: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: "SAMLIdPServiceProviderLabels is a labels map used in RBAC system to allow/deny access to saml_idp_service_provider resource." + type: "object" + saml_idp_service_provider_labels_expression: + description: "SAMLIdPServiceProviderLabelsExpression is a predicate expression used to allow/deny access to saml_idp_service_provider resource." + type: "string" spiffe: description: "SPIFFE is used to allow or deny access to a role holder to generating a SPIFFE SVID." items: @@ -834,6 +842,14 @@ spec: type: "string" type: "object" type: "array" + saml_idp_service_provider_labels: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: "SAMLIdPServiceProviderLabels is a labels map used in RBAC system to allow/deny access to saml_idp_service_provider resource." + type: "object" + saml_idp_service_provider_labels_expression: + description: "SAMLIdPServiceProviderLabelsExpression is a predicate expression used to allow/deny access to saml_idp_service_provider resource." + type: "string" spiffe: description: "SPIFFE is used to allow or deny access to a role holder to generating a SPIFFE SVID." items: diff --git a/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml b/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml index 85bf1c89a..270377cda 100644 --- a/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml +++ b/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml @@ -412,6 +412,14 @@ spec: type: "string" type: "object" type: "array" + saml_idp_service_provider_labels: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: "SAMLIdPServiceProviderLabels is a labels map used in RBAC system to allow/deny access to saml_idp_service_provider resource." + type: "object" + saml_idp_service_provider_labels_expression: + description: "SAMLIdPServiceProviderLabelsExpression is a predicate expression used to allow/deny access to saml_idp_service_provider resource." + type: "string" spiffe: description: "SPIFFE is used to allow or deny access to a role holder to generating a SPIFFE SVID." items: @@ -834,6 +842,14 @@ spec: type: "string" type: "object" type: "array" + saml_idp_service_provider_labels: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: "SAMLIdPServiceProviderLabels is a labels map used in RBAC system to allow/deny access to saml_idp_service_provider resource." + type: "object" + saml_idp_service_provider_labels_expression: + description: "SAMLIdPServiceProviderLabelsExpression is a predicate expression used to allow/deny access to saml_idp_service_provider resource." + type: "string" spiffe: description: "SPIFFE is used to allow or deny access to a role holder to generating a SPIFFE SVID." items: diff --git a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/cronhotbackups.yaml b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/cronhotbackups.yaml index d69c8ce20..cca04922e 100644 --- a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/cronhotbackups.yaml +++ b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/cronhotbackups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.11.3" name: "cronhotbackups.hazelcast.com" spec: group: "hazelcast.com" diff --git a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hazelcasts.yaml b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hazelcasts.yaml index 7963be6ed..5d7a30ab3 100644 --- a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hazelcasts.yaml +++ b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hazelcasts.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.11.3" name: "hazelcasts.hazelcast.com" spec: group: "hazelcast.com" @@ -93,6 +93,21 @@ spec: resources: description: "Compute Resources required by the Agent container." properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -502,6 +517,21 @@ spec: resources: description: "Compute Resources required by the Hazelcast container." properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -1106,10 +1136,10 @@ spec: format: "int32" type: "integer" nodeAffinityPolicy: - description: "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. \n If this value is nil, the behavior is equivalent to the Honor policy. This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." + description: "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. \n If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." type: "string" nodeTaintsPolicy: - description: "NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. \n If this value is nil, the behavior is equivalent to the Ignore policy. This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." + description: "NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. \n If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." type: "string" topologyKey: description: "TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a \"bucket\", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology. And, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology. It's a required field." diff --git a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hotbackups.yaml b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hotbackups.yaml index 858c01506..01f36d39c 100644 --- a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hotbackups.yaml +++ b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hotbackups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.11.3" name: "hotbackups.hazelcast.com" spec: group: "hazelcast.com" diff --git a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/managementcenters.yaml b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/managementcenters.yaml index cae861f4d..bc8641c1c 100644 --- a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/managementcenters.yaml +++ b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/managementcenters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.11.3" name: "managementcenters.hazelcast.com" spec: group: "hazelcast.com" @@ -195,6 +195,21 @@ spec: resources: description: "Compute Resources required by the MC container." properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" limits: additionalProperties: anyOf: @@ -768,10 +783,10 @@ spec: format: "int32" type: "integer" nodeAffinityPolicy: - description: "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. \n If this value is nil, the behavior is equivalent to the Honor policy. This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." + description: "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. \n If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." type: "string" nodeTaintsPolicy: - description: "NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. \n If this value is nil, the behavior is equivalent to the Ignore policy. This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." + description: "NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. \n If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." type: "string" topologyKey: description: "TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a \"bucket\", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology. And, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology. It's a required field." diff --git a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/maps.yaml b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/maps.yaml index bf681522d..ff96fee78 100644 --- a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/maps.yaml +++ b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/maps.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.11.3" name: "maps.hazelcast.com" spec: group: "hazelcast.com" diff --git a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/wanreplications.yaml b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/wanreplications.yaml index f246d6a1e..a4e50cedc 100644 --- a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/wanreplications.yaml +++ b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/wanreplications.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.11.3" name: "wanreplications.hazelcast.com" spec: group: "hazelcast.com" diff --git a/crd-catalog/infinispan/infinispan-operator/infinispan.org/v1/infinispans.yaml b/crd-catalog/infinispan/infinispan-operator/infinispan.org/v1/infinispans.yaml index 3f211fa7b..05cc3ae5c 100644 --- a/crd-catalog/infinispan/infinispan-operator/infinispan.org/v1/infinispans.yaml +++ b/crd-catalog/infinispan/infinispan-operator/infinispan.org/v1/infinispans.yaml @@ -1203,6 +1203,78 @@ spec: ephemeralStorage: description: "Enable/disable container ephemeral storage" type: "boolean" + livenessProbe: + description: "Periodic probe of container liveness. Container will be restarted if the probe fails." + properties: + failureThreshold: + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded." + format: "int32" + type: "integer" + initialDelaySeconds: + description: "Number of seconds after the container has started before liveness probes are initiated." + format: "int32" + type: "integer" + periodSeconds: + description: "How often (in seconds) to perform the probe." + format: "int32" + type: "integer" + successThreshold: + description: "Minimum consecutive successes for the probe to be considered successful after having failed." + format: "int32" + type: "integer" + timeoutSeconds: + description: "Number of seconds after which the probe times out." + format: "int32" + type: "integer" + type: "object" + readinessProbe: + description: "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails." + properties: + failureThreshold: + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded." + format: "int32" + type: "integer" + initialDelaySeconds: + description: "Number of seconds after the container has started before liveness probes are initiated." + format: "int32" + type: "integer" + periodSeconds: + description: "How often (in seconds) to perform the probe." + format: "int32" + type: "integer" + successThreshold: + description: "Minimum consecutive successes for the probe to be considered successful after having failed." + format: "int32" + type: "integer" + timeoutSeconds: + description: "Number of seconds after which the probe times out." + format: "int32" + type: "integer" + type: "object" + startupProbe: + description: "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation." + properties: + failureThreshold: + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded." + format: "int32" + type: "integer" + initialDelaySeconds: + description: "Number of seconds after the container has started before liveness probes are initiated." + format: "int32" + type: "integer" + periodSeconds: + description: "How often (in seconds) to perform the probe." + format: "int32" + type: "integer" + successThreshold: + description: "Minimum consecutive successes for the probe to be considered successful after having failed." + format: "int32" + type: "integer" + timeoutSeconds: + description: "Number of seconds after which the probe times out." + format: "int32" + type: "integer" + type: "object" storage: description: "The amount of storage for the persistent volume claim." type: "string" diff --git a/crd-catalog/kedacore/keda/keda.sh/v1alpha1/clustertriggerauthentications.yaml b/crd-catalog/kedacore/keda/keda.sh/v1alpha1/clustertriggerauthentications.yaml index 686a8a9dd..b1e9fabc6 100644 --- a/crd-catalog/kedacore/keda/keda.sh/v1alpha1/clustertriggerauthentications.yaml +++ b/crd-catalog/kedacore/keda/keda.sh/v1alpha1/clustertriggerauthentications.yaml @@ -125,6 +125,9 @@ spec: podIdentity: description: "AuthPodIdentity allows users to select the platform native identity\nmechanism" properties: + identityAuthorityHost: + description: "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set" + type: "string" identityId: type: "string" identityOwner: @@ -133,6 +136,9 @@ spec: - "keda" - "workload" type: "string" + identityTenantId: + description: "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set" + type: "string" provider: description: "PodIdentityProvider contains the list of providers" enum: @@ -218,6 +224,9 @@ spec: podIdentity: description: "AuthPodIdentity allows users to select the platform native identity\nmechanism" properties: + identityAuthorityHost: + description: "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set" + type: "string" identityId: type: "string" identityOwner: @@ -226,6 +235,9 @@ spec: - "keda" - "workload" type: "string" + identityTenantId: + description: "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set" + type: "string" provider: description: "PodIdentityProvider contains the list of providers" enum: @@ -323,6 +335,9 @@ spec: podIdentity: description: "AuthPodIdentity allows users to select the platform native identity\nmechanism" properties: + identityAuthorityHost: + description: "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set" + type: "string" identityId: type: "string" identityOwner: @@ -331,6 +346,9 @@ spec: - "keda" - "workload" type: "string" + identityTenantId: + description: "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set" + type: "string" provider: description: "PodIdentityProvider contains the list of providers" enum: @@ -430,6 +448,9 @@ spec: podIdentity: description: "AuthPodIdentity allows users to select the platform native identity\nmechanism" properties: + identityAuthorityHost: + description: "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set" + type: "string" identityId: type: "string" identityOwner: @@ -438,6 +459,9 @@ spec: - "keda" - "workload" type: "string" + identityTenantId: + description: "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set" + type: "string" provider: description: "PodIdentityProvider contains the list of providers" enum: diff --git a/crd-catalog/kedacore/keda/keda.sh/v1alpha1/triggerauthentications.yaml b/crd-catalog/kedacore/keda/keda.sh/v1alpha1/triggerauthentications.yaml index bae6c39dd..6946c56d6 100644 --- a/crd-catalog/kedacore/keda/keda.sh/v1alpha1/triggerauthentications.yaml +++ b/crd-catalog/kedacore/keda/keda.sh/v1alpha1/triggerauthentications.yaml @@ -125,6 +125,9 @@ spec: podIdentity: description: "AuthPodIdentity allows users to select the platform native identity\nmechanism" properties: + identityAuthorityHost: + description: "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set" + type: "string" identityId: type: "string" identityOwner: @@ -133,6 +136,9 @@ spec: - "keda" - "workload" type: "string" + identityTenantId: + description: "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set" + type: "string" provider: description: "PodIdentityProvider contains the list of providers" enum: @@ -218,6 +224,9 @@ spec: podIdentity: description: "AuthPodIdentity allows users to select the platform native identity\nmechanism" properties: + identityAuthorityHost: + description: "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set" + type: "string" identityId: type: "string" identityOwner: @@ -226,6 +235,9 @@ spec: - "keda" - "workload" type: "string" + identityTenantId: + description: "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set" + type: "string" provider: description: "PodIdentityProvider contains the list of providers" enum: @@ -323,6 +335,9 @@ spec: podIdentity: description: "AuthPodIdentity allows users to select the platform native identity\nmechanism" properties: + identityAuthorityHost: + description: "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set" + type: "string" identityId: type: "string" identityOwner: @@ -331,6 +346,9 @@ spec: - "keda" - "workload" type: "string" + identityTenantId: + description: "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set" + type: "string" provider: description: "PodIdentityProvider contains the list of providers" enum: @@ -430,6 +448,9 @@ spec: podIdentity: description: "AuthPodIdentity allows users to select the platform native identity\nmechanism" properties: + identityAuthorityHost: + description: "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set" + type: "string" identityId: type: "string" identityOwner: @@ -438,6 +459,9 @@ spec: - "keda" - "workload" type: "string" + identityTenantId: + description: "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set" + type: "string" provider: description: "PodIdentityProvider contains the list of providers" enum: diff --git a/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml b/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml index df1e40bd4..3774d0c62 100644 --- a/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml +++ b/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml @@ -963,6 +963,16 @@ spec: type: "string" type: "object" type: "object" + i18n: + description: "Default settings for the i18n values." + properties: + language: + description: "Default language used in Kiali application." + type: "string" + show_selector: + description: "If true Kiali masthead displays language selector icon. Default is false." + type: "boolean" + type: "object" list: description: "Default settings for the List views (Apps, Workloads, etc)." properties: diff --git a/crd-catalog/koordinator-sh/koordinator/slo.koordinator.sh/v1alpha1/nodeslos.yaml b/crd-catalog/koordinator-sh/koordinator/slo.koordinator.sh/v1alpha1/nodeslos.yaml index dd2a9588b..d4f351c0c 100644 --- a/crd-catalog/koordinator-sh/koordinator/slo.koordinator.sh/v1alpha1/nodeslos.yaml +++ b/crd-catalog/koordinator-sh/koordinator/slo.koordinator.sh/v1alpha1/nodeslos.yaml @@ -121,6 +121,12 @@ spec: description: "Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds." format: "int64" type: "integer" + readLatencyPercent: + description: "the read latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" writeBPS: format: "int64" minimum: 0.0 @@ -133,6 +139,12 @@ spec: description: "the write latency threshold. Unit: microseconds." format: "int64" type: "integer" + writeLatencyPercent: + description: "the write latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" type: "object" name: type: "string" @@ -300,6 +312,12 @@ spec: description: "Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds." format: "int64" type: "integer" + readLatencyPercent: + description: "the read latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" writeBPS: format: "int64" minimum: 0.0 @@ -312,6 +330,12 @@ spec: description: "the write latency threshold. Unit: microseconds." format: "int64" type: "integer" + writeLatencyPercent: + description: "the write latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" type: "object" name: type: "string" @@ -479,6 +503,12 @@ spec: description: "Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds." format: "int64" type: "integer" + readLatencyPercent: + description: "the read latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" writeBPS: format: "int64" minimum: 0.0 @@ -491,6 +521,12 @@ spec: description: "the write latency threshold. Unit: microseconds." format: "int64" type: "integer" + writeLatencyPercent: + description: "the write latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" type: "object" name: type: "string" @@ -658,6 +694,12 @@ spec: description: "Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds." format: "int64" type: "integer" + readLatencyPercent: + description: "the read latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" writeBPS: format: "int64" minimum: 0.0 @@ -670,6 +712,12 @@ spec: description: "the write latency threshold. Unit: microseconds." format: "int64" type: "integer" + writeLatencyPercent: + description: "the write latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" type: "object" name: type: "string" @@ -813,6 +861,9 @@ spec: cpuPolicy: description: "applied policy for the CPU QoS, default = \"groupIdentity\"" type: "string" + netQOSPolicy: + description: "applied policy for the Net QoS, default = \"tc\"" + type: "string" type: "object" systemClass: description: "ResourceQOS for system pods" @@ -844,6 +895,12 @@ spec: description: "Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds." format: "int64" type: "integer" + readLatencyPercent: + description: "the read latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" writeBPS: format: "int64" minimum: 0.0 @@ -856,6 +913,12 @@ spec: description: "the write latency threshold. Unit: microseconds." format: "int64" type: "integer" + writeLatencyPercent: + description: "the write latency percentile" + format: "int64" + maximum: 100.0 + minimum: 0.0 + type: "integer" type: "object" name: type: "string" diff --git a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1alpha1/clusteroutputs.yaml b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1alpha1/clusteroutputs.yaml index bc841358b..da75f9fc7 100644 --- a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1alpha1/clusteroutputs.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1alpha1/clusteroutputs.yaml @@ -6554,6 +6554,376 @@ spec: required: - "host" type: "object" + vmwareLogInsight: + properties: + agent_id: + type: "string" + authentication: + enum: + - "nil" + - "basic" + type: "string" + buffer: + properties: + chunk_full_threshold: + type: "string" + chunk_limit_records: + type: "integer" + chunk_limit_size: + type: "string" + compress: + type: "string" + delayed_commit_timeout: + type: "string" + disable_chunk_backup: + type: "boolean" + disabled: + type: "boolean" + flush_at_shutdown: + type: "boolean" + flush_interval: + type: "string" + flush_mode: + type: "string" + flush_thread_burst_interval: + type: "string" + flush_thread_count: + type: "integer" + flush_thread_interval: + type: "string" + overflow_action: + type: "string" + path: + type: "string" + queue_limit_length: + type: "integer" + queued_chunks_limit_size: + type: "integer" + retry_exponential_backoff_base: + type: "string" + retry_forever: + type: "boolean" + retry_max_interval: + type: "string" + retry_max_times: + type: "integer" + retry_randomize: + type: "boolean" + retry_secondary_threshold: + type: "string" + retry_timeout: + type: "string" + retry_type: + type: "string" + retry_wait: + type: "string" + tags: + type: "string" + timekey: + type: "string" + timekey_use_utc: + type: "boolean" + timekey_wait: + type: "string" + timekey_zone: + type: "string" + total_limit_size: + type: "string" + type: + type: "string" + type: "object" + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + config_param: + additionalProperties: + type: "string" + type: "object" + flatten_hashes: + type: "boolean" + flatten_hashes_separator: + type: "string" + host: + type: "string" + http_conn_debug: + type: "boolean" + http_method: + enum: + - "post" + type: "string" + log_text_keys: + items: + type: "string" + type: "array" + max_batch_size: + type: "integer" + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + path: + type: "string" + port: + type: "integer" + raise_on_error: + type: "boolean" + rate_limit_msec: + type: "integer" + request_retries: + type: "integer" + request_timeout: + type: "integer" + scheme: + enum: + - "http" + - "https" + type: "string" + serializer: + enum: + - "json" + type: "string" + shorten_keys: + additionalProperties: + type: "string" + type: "object" + ssl_verify: + type: "boolean" + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + type: "object" + vmwareLogIntelligence: + properties: + buffer: + properties: + chunk_full_threshold: + type: "string" + chunk_limit_records: + type: "integer" + chunk_limit_size: + type: "string" + compress: + type: "string" + delayed_commit_timeout: + type: "string" + disable_chunk_backup: + type: "boolean" + disabled: + type: "boolean" + flush_at_shutdown: + type: "boolean" + flush_interval: + type: "string" + flush_mode: + type: "string" + flush_thread_burst_interval: + type: "string" + flush_thread_count: + type: "integer" + flush_thread_interval: + type: "string" + overflow_action: + type: "string" + path: + type: "string" + queue_limit_length: + type: "integer" + queued_chunks_limit_size: + type: "integer" + retry_exponential_backoff_base: + type: "string" + retry_forever: + type: "boolean" + retry_max_interval: + type: "string" + retry_max_times: + type: "integer" + retry_randomize: + type: "boolean" + retry_secondary_threshold: + type: "string" + retry_timeout: + type: "string" + retry_type: + type: "string" + retry_wait: + type: "string" + tags: + type: "string" + timekey: + type: "string" + timekey_use_utc: + type: "boolean" + timekey_wait: + type: "string" + timekey_zone: + type: "string" + total_limit_size: + type: "string" + type: + type: "string" + type: "object" + endpoint_url: + type: "string" + format: + properties: + add_newline: + type: "boolean" + message_key: + type: "string" + type: + enum: + - "out_file" + - "json" + - "ltsv" + - "csv" + - "msgpack" + - "hash" + - "single_value" + type: "string" + type: "object" + headers: + properties: + authorization: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + content_type: + type: "string" + structure: + type: "string" + required: + - "authorization" + - "content_type" + - "structure" + type: "object" + http_compress: + type: "boolean" + verify_ssl: + type: "boolean" + required: + - "endpoint_url" + - "headers" + - "verify_ssl" + type: "object" type: "object" status: properties: diff --git a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/clusteroutputs.yaml b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/clusteroutputs.yaml index 069f812e7..77cf1df73 100644 --- a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/clusteroutputs.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/clusteroutputs.yaml @@ -6554,6 +6554,376 @@ spec: required: - "host" type: "object" + vmwareLogInsight: + properties: + agent_id: + type: "string" + authentication: + enum: + - "nil" + - "basic" + type: "string" + buffer: + properties: + chunk_full_threshold: + type: "string" + chunk_limit_records: + type: "integer" + chunk_limit_size: + type: "string" + compress: + type: "string" + delayed_commit_timeout: + type: "string" + disable_chunk_backup: + type: "boolean" + disabled: + type: "boolean" + flush_at_shutdown: + type: "boolean" + flush_interval: + type: "string" + flush_mode: + type: "string" + flush_thread_burst_interval: + type: "string" + flush_thread_count: + type: "integer" + flush_thread_interval: + type: "string" + overflow_action: + type: "string" + path: + type: "string" + queue_limit_length: + type: "integer" + queued_chunks_limit_size: + type: "integer" + retry_exponential_backoff_base: + type: "string" + retry_forever: + type: "boolean" + retry_max_interval: + type: "string" + retry_max_times: + type: "integer" + retry_randomize: + type: "boolean" + retry_secondary_threshold: + type: "string" + retry_timeout: + type: "string" + retry_type: + type: "string" + retry_wait: + type: "string" + tags: + type: "string" + timekey: + type: "string" + timekey_use_utc: + type: "boolean" + timekey_wait: + type: "string" + timekey_zone: + type: "string" + total_limit_size: + type: "string" + type: + type: "string" + type: "object" + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + config_param: + additionalProperties: + type: "string" + type: "object" + flatten_hashes: + type: "boolean" + flatten_hashes_separator: + type: "string" + host: + type: "string" + http_conn_debug: + type: "boolean" + http_method: + enum: + - "post" + type: "string" + log_text_keys: + items: + type: "string" + type: "array" + max_batch_size: + type: "integer" + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + path: + type: "string" + port: + type: "integer" + raise_on_error: + type: "boolean" + rate_limit_msec: + type: "integer" + request_retries: + type: "integer" + request_timeout: + type: "integer" + scheme: + enum: + - "http" + - "https" + type: "string" + serializer: + enum: + - "json" + type: "string" + shorten_keys: + additionalProperties: + type: "string" + type: "object" + ssl_verify: + type: "boolean" + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + type: "object" + vmwareLogIntelligence: + properties: + buffer: + properties: + chunk_full_threshold: + type: "string" + chunk_limit_records: + type: "integer" + chunk_limit_size: + type: "string" + compress: + type: "string" + delayed_commit_timeout: + type: "string" + disable_chunk_backup: + type: "boolean" + disabled: + type: "boolean" + flush_at_shutdown: + type: "boolean" + flush_interval: + type: "string" + flush_mode: + type: "string" + flush_thread_burst_interval: + type: "string" + flush_thread_count: + type: "integer" + flush_thread_interval: + type: "string" + overflow_action: + type: "string" + path: + type: "string" + queue_limit_length: + type: "integer" + queued_chunks_limit_size: + type: "integer" + retry_exponential_backoff_base: + type: "string" + retry_forever: + type: "boolean" + retry_max_interval: + type: "string" + retry_max_times: + type: "integer" + retry_randomize: + type: "boolean" + retry_secondary_threshold: + type: "string" + retry_timeout: + type: "string" + retry_type: + type: "string" + retry_wait: + type: "string" + tags: + type: "string" + timekey: + type: "string" + timekey_use_utc: + type: "boolean" + timekey_wait: + type: "string" + timekey_zone: + type: "string" + total_limit_size: + type: "string" + type: + type: "string" + type: "object" + endpoint_url: + type: "string" + format: + properties: + add_newline: + type: "boolean" + message_key: + type: "string" + type: + enum: + - "out_file" + - "json" + - "ltsv" + - "csv" + - "msgpack" + - "hash" + - "single_value" + type: "string" + type: "object" + headers: + properties: + authorization: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + content_type: + type: "string" + structure: + type: "string" + required: + - "authorization" + - "content_type" + - "structure" + type: "object" + http_compress: + type: "boolean" + verify_ssl: + type: "boolean" + required: + - "endpoint_url" + - "headers" + - "verify_ssl" + type: "object" type: "object" status: properties: diff --git a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/outputs.yaml b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/outputs.yaml index 27d054c17..149f2eb40 100644 --- a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/outputs.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/outputs.yaml @@ -6550,6 +6550,376 @@ spec: required: - "host" type: "object" + vmwareLogInsight: + properties: + agent_id: + type: "string" + authentication: + enum: + - "nil" + - "basic" + type: "string" + buffer: + properties: + chunk_full_threshold: + type: "string" + chunk_limit_records: + type: "integer" + chunk_limit_size: + type: "string" + compress: + type: "string" + delayed_commit_timeout: + type: "string" + disable_chunk_backup: + type: "boolean" + disabled: + type: "boolean" + flush_at_shutdown: + type: "boolean" + flush_interval: + type: "string" + flush_mode: + type: "string" + flush_thread_burst_interval: + type: "string" + flush_thread_count: + type: "integer" + flush_thread_interval: + type: "string" + overflow_action: + type: "string" + path: + type: "string" + queue_limit_length: + type: "integer" + queued_chunks_limit_size: + type: "integer" + retry_exponential_backoff_base: + type: "string" + retry_forever: + type: "boolean" + retry_max_interval: + type: "string" + retry_max_times: + type: "integer" + retry_randomize: + type: "boolean" + retry_secondary_threshold: + type: "string" + retry_timeout: + type: "string" + retry_type: + type: "string" + retry_wait: + type: "string" + tags: + type: "string" + timekey: + type: "string" + timekey_use_utc: + type: "boolean" + timekey_wait: + type: "string" + timekey_zone: + type: "string" + total_limit_size: + type: "string" + type: + type: "string" + type: "object" + ca_file: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + config_param: + additionalProperties: + type: "string" + type: "object" + flatten_hashes: + type: "boolean" + flatten_hashes_separator: + type: "string" + host: + type: "string" + http_conn_debug: + type: "boolean" + http_method: + enum: + - "post" + type: "string" + log_text_keys: + items: + type: "string" + type: "array" + max_batch_size: + type: "integer" + password: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + path: + type: "string" + port: + type: "integer" + raise_on_error: + type: "boolean" + rate_limit_msec: + type: "integer" + request_retries: + type: "integer" + request_timeout: + type: "integer" + scheme: + enum: + - "http" + - "https" + type: "string" + serializer: + enum: + - "json" + type: "string" + shorten_keys: + additionalProperties: + type: "string" + type: "object" + ssl_verify: + type: "boolean" + username: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + type: "object" + vmwareLogIntelligence: + properties: + buffer: + properties: + chunk_full_threshold: + type: "string" + chunk_limit_records: + type: "integer" + chunk_limit_size: + type: "string" + compress: + type: "string" + delayed_commit_timeout: + type: "string" + disable_chunk_backup: + type: "boolean" + disabled: + type: "boolean" + flush_at_shutdown: + type: "boolean" + flush_interval: + type: "string" + flush_mode: + type: "string" + flush_thread_burst_interval: + type: "string" + flush_thread_count: + type: "integer" + flush_thread_interval: + type: "string" + overflow_action: + type: "string" + path: + type: "string" + queue_limit_length: + type: "integer" + queued_chunks_limit_size: + type: "integer" + retry_exponential_backoff_base: + type: "string" + retry_forever: + type: "boolean" + retry_max_interval: + type: "string" + retry_max_times: + type: "integer" + retry_randomize: + type: "boolean" + retry_secondary_threshold: + type: "string" + retry_timeout: + type: "string" + retry_type: + type: "string" + retry_wait: + type: "string" + tags: + type: "string" + timekey: + type: "string" + timekey_use_utc: + type: "boolean" + timekey_wait: + type: "string" + timekey_zone: + type: "string" + total_limit_size: + type: "string" + type: + type: "string" + type: "object" + endpoint_url: + type: "string" + format: + properties: + add_newline: + type: "boolean" + message_key: + type: "string" + type: + enum: + - "out_file" + - "json" + - "ltsv" + - "csv" + - "msgpack" + - "hash" + - "single_value" + type: "string" + type: "object" + headers: + properties: + authorization: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + value: + type: "string" + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + required: + - "key" + type: "object" + type: "object" + type: "object" + content_type: + type: "string" + structure: + type: "string" + required: + - "authorization" + - "content_type" + - "structure" + type: "object" + http_compress: + type: "boolean" + verify_ssl: + type: "boolean" + required: + - "endpoint_url" + - "headers" + - "verify_ssl" + type: "object" type: "object" status: properties: diff --git a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngclusteroutputs.yaml b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngclusteroutputs.yaml index 2199707fa..f8e4e9bdf 100644 --- a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngclusteroutputs.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngclusteroutputs.yaml @@ -135,6 +135,8 @@ spec: type: "object" retries: type: "integer" + template: + type: "string" time_reopen: type: "integer" timeout: diff --git a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngoutputs.yaml b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngoutputs.yaml index 40f91dbde..fce185aa6 100644 --- a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngoutputs.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngoutputs.yaml @@ -135,6 +135,8 @@ spec: type: "object" retries: type: "integer" + template: + type: "string" time_reopen: type: "integer" timeout: diff --git a/crd-catalog/kubeedge/kubeedge/apps.kubeedge.io/v1alpha1/edgeapplications.yaml b/crd-catalog/kubeedge/kubeedge/apps.kubeedge.io/v1alpha1/edgeapplications.yaml index 6022faa79..ae1d18389 100644 --- a/crd-catalog/kubeedge/kubeedge/apps.kubeedge.io/v1alpha1/edgeapplications.yaml +++ b/crd-catalog/kubeedge/kubeedge/apps.kubeedge.io/v1alpha1/edgeapplications.yaml @@ -93,8 +93,8 @@ spec: - "operator" type: "object" type: "array" - envOverrides: - description: "EnvOverrides will override the env field of the container" + envOverriders: + description: "EnvOverriders will override the env field of the container" items: description: "EnvOverrider represents the rules dedicated to handling env overrides." properties: @@ -232,8 +232,8 @@ spec: replicas: description: "Replicas will override the replicas field of deployment" type: "integer" - resourcesOverrides: - description: "ResourcesOverrides will override the resources field of the container" + resourcesOverriders: + description: "ResourcesOverriders will override the resources field of the container" items: description: "ResourcesOverrider represents the rules dedicated to handling resources overrides." properties: diff --git a/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspheremachines.yaml b/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspheremachines.yaml index 20f961bdd..d1408a11c 100644 --- a/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspheremachines.yaml +++ b/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspheremachines.yaml @@ -199,7 +199,7 @@ spec: description: "Gateway4 is the IPv4 gateway used by this device." type: "string" ipAddrs: - description: "IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4 and DHCP6 are both false." + description: "IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4, DHCP6 and SkipIPAllocation are false." items: type: "string" type: "array" @@ -244,6 +244,9 @@ spec: items: type: "string" type: "array" + skipIPAllocation: + description: "SkipIPAllocation allows the device to not have IP address or DHCP configured. This is suitable for devices for which IP allocation is handled externally, eg. using Multus CNI. If true, CAPV will not verify IP address allocation." + type: "boolean" required: - "networkName" type: "object" diff --git a/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspheremachinetemplates.yaml b/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspheremachinetemplates.yaml index 42fa52d3f..2ead37596 100644 --- a/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspheremachinetemplates.yaml +++ b/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspheremachinetemplates.yaml @@ -197,7 +197,7 @@ spec: description: "Gateway4 is the IPv4 gateway used by this device." type: "string" ipAddrs: - description: "IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4 and DHCP6 are both false." + description: "IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4, DHCP6 and SkipIPAllocation are false." items: type: "string" type: "array" @@ -242,6 +242,9 @@ spec: items: type: "string" type: "array" + skipIPAllocation: + description: "SkipIPAllocation allows the device to not have IP address or DHCP configured. This is suitable for devices for which IP allocation is handled externally, eg. using Multus CNI. If true, CAPV will not verify IP address allocation." + type: "boolean" required: - "networkName" type: "object" diff --git a/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspherevms.yaml b/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspherevms.yaml index c3fe6d541..809d129d2 100644 --- a/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspherevms.yaml +++ b/crd-catalog/kubernetes-sigs/cluster-api-provider-vsphere/infrastructure.cluster.x-k8s.io/v1beta1/vspherevms.yaml @@ -203,7 +203,7 @@ spec: description: "Gateway4 is the IPv4 gateway used by this device." type: "string" ipAddrs: - description: "IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4 and DHCP6 are both false." + description: "IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4, DHCP6 and SkipIPAllocation are false." items: type: "string" type: "array" @@ -248,6 +248,9 @@ spec: items: type: "string" type: "array" + skipIPAllocation: + description: "SkipIPAllocation allows the device to not have IP address or DHCP configured. This is suitable for devices for which IP allocation is handled externally, eg. using Multus CNI. If true, CAPV will not verify IP address allocation." + type: "boolean" required: - "networkName" type: "object" diff --git a/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1/gateways.yaml b/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1/gateways.yaml index 154335fd6..22487dfd9 100644 --- a/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1/gateways.yaml +++ b/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1/gateways.yaml @@ -261,7 +261,7 @@ spec: type: "array" mode: default: "Terminate" - description: "Mode defines the TLS behavior for the TLS session initiated by the client.\nThere are two possible modes:\n\n\n- Terminate: The TLS session between the downstream client\n and the Gateway is terminated at the Gateway. This mode requires\n certificateRefs to be set and contain at least one element.\n- Passthrough: The TLS session is NOT terminated by the Gateway. This\n implies that the Gateway can't decipher the TLS stream except for\n the ClientHello message of the TLS protocol.\n CertificateRefs field is ignored in this mode.\n\n\nSupport: Core" + description: "Mode defines the TLS behavior for the TLS session initiated by the client.\nThere are two possible modes:\n\n\n- Terminate: The TLS session between the downstream client and the\n Gateway is terminated at the Gateway. This mode requires certificates\n to be specified in some way, such as populating the certificateRefs\n field.\n- Passthrough: The TLS session is NOT terminated by the Gateway. This\n implies that the Gateway can't decipher the TLS stream except for\n the ClientHello message of the TLS protocol. The certificateRefs field\n is ignored in this mode.\n\n\nSupport: Core" enum: - "Terminate" - "Passthrough" @@ -277,8 +277,8 @@ spec: type: "object" type: "object" x-kubernetes-validations: - - message: "certificateRefs must be specified when TLSModeType is Terminate" - rule: "self.mode == 'Terminate' ? size(self.certificateRefs) > 0 : true" + - message: "certificateRefs or options must be specified when mode is Terminate" + rule: "self.mode == 'Terminate' ? size(self.certificateRefs) > 0 || size(self.options) > 0 : true" required: - "name" - "port" @@ -291,8 +291,6 @@ spec: - "name" x-kubernetes-list-type: "map" x-kubernetes-validations: - - message: "tls must be specified for protocols ['HTTPS', 'TLS']" - rule: "self.all(l, l.protocol in ['HTTPS', 'TLS'] ? has(l.tls) : true)" - message: "tls must not be specified for protocols ['HTTP', 'TCP', 'UDP']" rule: "self.all(l, l.protocol in ['HTTP', 'TCP', 'UDP'] ? !has(l.tls) : true)" - message: "tls mode must be Terminate for protocol HTTPS" diff --git a/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1beta1/gateways.yaml b/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1beta1/gateways.yaml index 4af183762..b24bab4b3 100644 --- a/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1beta1/gateways.yaml +++ b/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1beta1/gateways.yaml @@ -261,7 +261,7 @@ spec: type: "array" mode: default: "Terminate" - description: "Mode defines the TLS behavior for the TLS session initiated by the client.\nThere are two possible modes:\n\n\n- Terminate: The TLS session between the downstream client\n and the Gateway is terminated at the Gateway. This mode requires\n certificateRefs to be set and contain at least one element.\n- Passthrough: The TLS session is NOT terminated by the Gateway. This\n implies that the Gateway can't decipher the TLS stream except for\n the ClientHello message of the TLS protocol.\n CertificateRefs field is ignored in this mode.\n\n\nSupport: Core" + description: "Mode defines the TLS behavior for the TLS session initiated by the client.\nThere are two possible modes:\n\n\n- Terminate: The TLS session between the downstream client and the\n Gateway is terminated at the Gateway. This mode requires certificates\n to be specified in some way, such as populating the certificateRefs\n field.\n- Passthrough: The TLS session is NOT terminated by the Gateway. This\n implies that the Gateway can't decipher the TLS stream except for\n the ClientHello message of the TLS protocol. The certificateRefs field\n is ignored in this mode.\n\n\nSupport: Core" enum: - "Terminate" - "Passthrough" @@ -277,8 +277,8 @@ spec: type: "object" type: "object" x-kubernetes-validations: - - message: "certificateRefs must be specified when TLSModeType is Terminate" - rule: "self.mode == 'Terminate' ? size(self.certificateRefs) > 0 : true" + - message: "certificateRefs or options must be specified when mode is Terminate" + rule: "self.mode == 'Terminate' ? size(self.certificateRefs) > 0 || size(self.options) > 0 : true" required: - "name" - "port" @@ -291,8 +291,6 @@ spec: - "name" x-kubernetes-list-type: "map" x-kubernetes-validations: - - message: "tls must be specified for protocols ['HTTPS', 'TLS']" - rule: "self.all(l, l.protocol in ['HTTPS', 'TLS'] ? has(l.tls) : true)" - message: "tls must not be specified for protocols ['HTTP', 'TCP', 'UDP']" rule: "self.all(l, l.protocol in ['HTTP', 'TCP', 'UDP'] ? !has(l.tls) : true)" - message: "tls mode must be Terminate for protocol HTTPS" diff --git a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testexecutions.yaml b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testexecutions.yaml index f46a143aa..4af8a858d 100644 --- a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testexecutions.yaml +++ b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testexecutions.yaml @@ -151,6 +151,9 @@ spec: type: "string" description: "test execution labels" type: "object" + executionNamespace: + description: "namespace for test execution (Pro edition only)" + type: "string" httpProxy: description: "http proxy for executor containers" type: "string" @@ -256,6 +259,9 @@ spec: type: "object" type: "object" type: "object" + sourceScripts: + description: "run scripts using source command (container executor only)" + type: "boolean" sync: description: "whether to start execution sync or async" type: "boolean" @@ -531,6 +537,9 @@ spec: executePostRunScriptBeforeScraping: description: "execute post run script before scraping (prebuilt executor only)" type: "boolean" + executionNamespace: + description: "namespace for test execution (Pro edition only)" + type: "string" executionResult: description: "execution result returned from executor" properties: @@ -662,6 +671,9 @@ spec: type: "object" type: "object" type: "object" + sourceScripts: + description: "run scripts using source command (container executor only)" + type: "boolean" startTime: description: "test start time" format: "date-time" diff --git a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testsuiteexecutions.yaml b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testsuiteexecutions.yaml index 71d3bf4b6..7f4df6de1 100644 --- a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testsuiteexecutions.yaml +++ b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testsuiteexecutions.yaml @@ -413,6 +413,9 @@ spec: executePostRunScriptBeforeScraping: description: "execute post run script before scraping (prebuilt executor only)" type: "boolean" + executionNamespace: + description: "namespace for test execution (Pro edition only)" + type: "string" executionResult: description: "execution result returned from executor" properties: @@ -544,6 +547,9 @@ spec: type: "object" type: "object" type: "object" + sourceScripts: + description: "run scripts using source command (container executor only)" + type: "boolean" startTime: description: "test start time" format: "date-time" @@ -916,6 +922,9 @@ spec: executePostRunScriptBeforeScraping: description: "execute post run script before scraping (prebuilt executor only)" type: "boolean" + executionNamespace: + description: "namespace for test execution (Pro edition only)" + type: "string" executionResult: description: "execution result returned from executor" properties: @@ -1047,6 +1056,9 @@ spec: type: "object" type: "object" type: "object" + sourceScripts: + description: "run scripts using source command (container executor only)" + type: "boolean" startTime: description: "test start time" format: "date-time" diff --git a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/tests.yaml b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/tests.yaml index b7b49e8c5..94e09a830 100644 --- a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/tests.yaml +++ b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/tests.yaml @@ -237,6 +237,9 @@ spec: type: "string" description: "test execution labels" type: "object" + executionNamespace: + description: "namespace for test execution (Pro edition only)" + type: "string" httpProxy: description: "http proxy for executor containers" type: "string" @@ -334,6 +337,9 @@ spec: type: "object" type: "object" type: "object" + sourceScripts: + description: "run scripts using source command (container executor only)" + type: "boolean" sync: description: "whether to start execution sync or async" type: "boolean" diff --git a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/testsuites.yaml b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/testsuites.yaml index 706ab7914..d671fe219 100644 --- a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/testsuites.yaml +++ b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/testsuites.yaml @@ -102,12 +102,6 @@ spec: jobTemplateReference: description: "job template extensions reference" type: "string" - name: - description: "test execution custom name" - type: "string" - namespace: - description: "test kubernetes namespace (\\\"testkube\\\" when not set)" - type: "string" negativeTest: description: "negative test will fail the execution if it is a success and it will succeed if it is a failure" type: "boolean" @@ -302,12 +296,6 @@ spec: jobTemplateReference: description: "job template extensions reference" type: "string" - name: - description: "test execution custom name" - type: "string" - namespace: - description: "test kubernetes namespace (\\\"testkube\\\" when not set)" - type: "string" negativeTest: description: "negative test will fail the execution if it is a success and it will succeed if it is a failure" type: "boolean" @@ -648,12 +636,6 @@ spec: jobTemplateReference: description: "job template extensions reference" type: "string" - name: - description: "test execution custom name" - type: "string" - namespace: - description: "test kubernetes namespace (\\\"testkube\\\" when not set)" - type: "string" negativeTest: description: "negative test will fail the execution if it is a success and it will succeed if it is a failure" type: "boolean" diff --git a/crd-catalog/minio/operator/minio.min.io/v2/tenants.yaml b/crd-catalog/minio/operator/minio.min.io/v2/tenants.yaml index 56515b650..1d7bba51b 100644 --- a/crd-catalog/minio/operator/minio.min.io/v2/tenants.yaml +++ b/crd-catalog/minio/operator/minio.min.io/v2/tenants.yaml @@ -2047,6 +2047,67 @@ spec: required: - "name" type: "object" + containerSecurityContext: + properties: + allowPrivilegeEscalation: + type: "boolean" + capabilities: + properties: + add: + items: + type: "string" + type: "array" + drop: + items: + type: "string" + type: "array" + type: "object" + privileged: + type: "boolean" + procMount: + type: "string" + readOnlyRootFilesystem: + type: "boolean" + runAsGroup: + format: "int64" + type: "integer" + runAsNonRoot: + type: "boolean" + runAsUser: + format: "int64" + type: "integer" + seLinuxOptions: + properties: + level: + type: "string" + role: + type: "string" + type: + type: "string" + user: + type: "string" + type: "object" + seccompProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + required: + - "type" + type: "object" + windowsOptions: + properties: + gmsaCredentialSpec: + type: "string" + gmsaCredentialSpecName: + type: "string" + hostProcess: + type: "boolean" + runAsUserName: + type: "string" + type: "object" + type: "object" env: items: properties: diff --git a/crd-catalog/openshift/api/config.openshift.io/v1/apiservers.yaml b/crd-catalog/openshift/api/config.openshift.io/v1/apiservers.yaml index 06dfa1116..a8f03d16d 100644 --- a/crd-catalog/openshift/api/config.openshift.io/v1/apiservers.yaml +++ b/crd-catalog/openshift/api/config.openshift.io/v1/apiservers.yaml @@ -128,7 +128,7 @@ spec: description: "tlsSecurityProfile specifies settings for TLS connections for externally exposed servers. \n If unset, a default (which may change between releases) is chosen. Note that only Old, Intermediate and Custom profiles are currently supported, and the maximum available minTLSVersion is VersionTLS12." properties: custom: - description: "custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: \n ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11" + description: "custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: \n ciphers: \n - ECDHE-ECDSA-CHACHA20-POLY1305 \n - ECDHE-RSA-CHACHA20-POLY1305 \n - ECDHE-RSA-AES128-GCM-SHA256 \n - ECDHE-ECDSA-AES128-GCM-SHA256 \n minTLSVersion: VersionTLS11" nullable: true properties: ciphers: @@ -146,15 +146,15 @@ spec: type: "string" type: "object" intermediate: - description: "intermediate is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12" + description: "intermediate is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 \n and looks like this (yaml): \n ciphers: \n - TLS_AES_128_GCM_SHA256 \n - TLS_AES_256_GCM_SHA384 \n - TLS_CHACHA20_POLY1305_SHA256 \n - ECDHE-ECDSA-AES128-GCM-SHA256 \n - ECDHE-RSA-AES128-GCM-SHA256 \n - ECDHE-ECDSA-AES256-GCM-SHA384 \n - ECDHE-RSA-AES256-GCM-SHA384 \n - ECDHE-ECDSA-CHACHA20-POLY1305 \n - ECDHE-RSA-CHACHA20-POLY1305 \n - DHE-RSA-AES128-GCM-SHA256 \n - DHE-RSA-AES256-GCM-SHA384 \n minTLSVersion: VersionTLS12" nullable: true type: "object" modern: - description: "modern is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 \n NOTE: Currently unsupported." + description: "modern is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility \n and looks like this (yaml): \n ciphers: \n - TLS_AES_128_GCM_SHA256 \n - TLS_AES_256_GCM_SHA384 \n - TLS_CHACHA20_POLY1305_SHA256 \n minTLSVersion: VersionTLS13" nullable: true type: "object" old: - description: "old is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10" + description: "old is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility \n and looks like this (yaml): \n ciphers: \n - TLS_AES_128_GCM_SHA256 \n - TLS_AES_256_GCM_SHA384 \n - TLS_CHACHA20_POLY1305_SHA256 \n - ECDHE-ECDSA-AES128-GCM-SHA256 \n - ECDHE-RSA-AES128-GCM-SHA256 \n - ECDHE-ECDSA-AES256-GCM-SHA384 \n - ECDHE-RSA-AES256-GCM-SHA384 \n - ECDHE-ECDSA-CHACHA20-POLY1305 \n - ECDHE-RSA-CHACHA20-POLY1305 \n - DHE-RSA-AES128-GCM-SHA256 \n - DHE-RSA-AES256-GCM-SHA384 \n - DHE-RSA-CHACHA20-POLY1305 \n - ECDHE-ECDSA-AES128-SHA256 \n - ECDHE-RSA-AES128-SHA256 \n - ECDHE-ECDSA-AES128-SHA \n - ECDHE-RSA-AES128-SHA \n - ECDHE-ECDSA-AES256-SHA384 \n - ECDHE-RSA-AES256-SHA384 \n - ECDHE-ECDSA-AES256-SHA \n - ECDHE-RSA-AES256-SHA \n - DHE-RSA-AES128-SHA256 \n - DHE-RSA-AES256-SHA256 \n - AES128-GCM-SHA256 \n - AES256-GCM-SHA384 \n - AES128-SHA256 \n - AES256-SHA256 \n - AES128-SHA \n - AES256-SHA \n - DES-CBC3-SHA \n minTLSVersion: VersionTLS10" nullable: true type: "object" type: diff --git a/crd-catalog/openshift/api/machineconfiguration.openshift.io/v1/kubeletconfigs.yaml b/crd-catalog/openshift/api/machineconfiguration.openshift.io/v1/kubeletconfigs.yaml index 4dddac62f..3b6d4b38d 100644 --- a/crd-catalog/openshift/api/machineconfiguration.openshift.io/v1/kubeletconfigs.yaml +++ b/crd-catalog/openshift/api/machineconfiguration.openshift.io/v1/kubeletconfigs.yaml @@ -78,7 +78,7 @@ spec: description: "If unset, the default is based on the apiservers.config.openshift.io/cluster resource. Note that only Old and Intermediate profiles are currently supported, and the maximum available minTLSVersion is VersionTLS12." properties: custom: - description: "custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: \n ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11" + description: "custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: \n ciphers: \n - ECDHE-ECDSA-CHACHA20-POLY1305 \n - ECDHE-RSA-CHACHA20-POLY1305 \n - ECDHE-RSA-AES128-GCM-SHA256 \n - ECDHE-ECDSA-AES128-GCM-SHA256 \n minTLSVersion: VersionTLS11" nullable: true properties: ciphers: @@ -96,15 +96,15 @@ spec: type: "string" type: "object" intermediate: - description: "intermediate is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12" + description: "intermediate is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 \n and looks like this (yaml): \n ciphers: \n - TLS_AES_128_GCM_SHA256 \n - TLS_AES_256_GCM_SHA384 \n - TLS_CHACHA20_POLY1305_SHA256 \n - ECDHE-ECDSA-AES128-GCM-SHA256 \n - ECDHE-RSA-AES128-GCM-SHA256 \n - ECDHE-ECDSA-AES256-GCM-SHA384 \n - ECDHE-RSA-AES256-GCM-SHA384 \n - ECDHE-ECDSA-CHACHA20-POLY1305 \n - ECDHE-RSA-CHACHA20-POLY1305 \n - DHE-RSA-AES128-GCM-SHA256 \n - DHE-RSA-AES256-GCM-SHA384 \n minTLSVersion: VersionTLS12" nullable: true type: "object" modern: - description: "modern is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 \n NOTE: Currently unsupported." + description: "modern is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility \n and looks like this (yaml): \n ciphers: \n - TLS_AES_128_GCM_SHA256 \n - TLS_AES_256_GCM_SHA384 \n - TLS_CHACHA20_POLY1305_SHA256 \n minTLSVersion: VersionTLS13" nullable: true type: "object" old: - description: "old is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10" + description: "old is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility \n and looks like this (yaml): \n ciphers: \n - TLS_AES_128_GCM_SHA256 \n - TLS_AES_256_GCM_SHA384 \n - TLS_CHACHA20_POLY1305_SHA256 \n - ECDHE-ECDSA-AES128-GCM-SHA256 \n - ECDHE-RSA-AES128-GCM-SHA256 \n - ECDHE-ECDSA-AES256-GCM-SHA384 \n - ECDHE-RSA-AES256-GCM-SHA384 \n - ECDHE-ECDSA-CHACHA20-POLY1305 \n - ECDHE-RSA-CHACHA20-POLY1305 \n - DHE-RSA-AES128-GCM-SHA256 \n - DHE-RSA-AES256-GCM-SHA384 \n - DHE-RSA-CHACHA20-POLY1305 \n - ECDHE-ECDSA-AES128-SHA256 \n - ECDHE-RSA-AES128-SHA256 \n - ECDHE-ECDSA-AES128-SHA \n - ECDHE-RSA-AES128-SHA \n - ECDHE-ECDSA-AES256-SHA384 \n - ECDHE-RSA-AES256-SHA384 \n - ECDHE-ECDSA-AES256-SHA \n - ECDHE-RSA-AES256-SHA \n - DHE-RSA-AES128-SHA256 \n - DHE-RSA-AES256-SHA256 \n - AES128-GCM-SHA256 \n - AES256-GCM-SHA384 \n - AES128-SHA256 \n - AES256-SHA256 \n - AES128-SHA \n - AES256-SHA \n - DES-CBC3-SHA \n minTLSVersion: VersionTLS10" nullable: true type: "object" type: diff --git a/crd-catalog/openshift/api/operator.openshift.io/v1/ingresscontrollers.yaml b/crd-catalog/openshift/api/operator.openshift.io/v1/ingresscontrollers.yaml index 5e1ec8dbd..05de04bc9 100644 --- a/crd-catalog/openshift/api/operator.openshift.io/v1/ingresscontrollers.yaml +++ b/crd-catalog/openshift/api/operator.openshift.io/v1/ingresscontrollers.yaml @@ -743,7 +743,7 @@ spec: description: "tlsSecurityProfile specifies settings for TLS connections for ingresscontrollers. \n If unset, the default is based on the apiservers.config.openshift.io/cluster resource. \n Note that when using the Old, Intermediate, and Modern profile types, the effective profile configuration is subject to change between releases. For example, given a specification to use the Intermediate profile deployed on release X.Y.Z, an upgrade to release X.Y.Z+1 may cause a new profile configuration to be applied to the ingress controller, resulting in a rollout." properties: custom: - description: "custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: \n ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11" + description: "custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: \n ciphers: \n - ECDHE-ECDSA-CHACHA20-POLY1305 \n - ECDHE-RSA-CHACHA20-POLY1305 \n - ECDHE-RSA-AES128-GCM-SHA256 \n - ECDHE-ECDSA-AES128-GCM-SHA256 \n minTLSVersion: VersionTLS11" nullable: true properties: ciphers: @@ -761,15 +761,15 @@ spec: type: "string" type: "object" intermediate: - description: "intermediate is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12" + description: "intermediate is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 \n and looks like this (yaml): \n ciphers: \n - TLS_AES_128_GCM_SHA256 \n - TLS_AES_256_GCM_SHA384 \n - TLS_CHACHA20_POLY1305_SHA256 \n - ECDHE-ECDSA-AES128-GCM-SHA256 \n - ECDHE-RSA-AES128-GCM-SHA256 \n - ECDHE-ECDSA-AES256-GCM-SHA384 \n - ECDHE-RSA-AES256-GCM-SHA384 \n - ECDHE-ECDSA-CHACHA20-POLY1305 \n - ECDHE-RSA-CHACHA20-POLY1305 \n - DHE-RSA-AES128-GCM-SHA256 \n - DHE-RSA-AES256-GCM-SHA384 \n minTLSVersion: VersionTLS12" nullable: true type: "object" modern: - description: "modern is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 \n NOTE: Currently unsupported." + description: "modern is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility \n and looks like this (yaml): \n ciphers: \n - TLS_AES_128_GCM_SHA256 \n - TLS_AES_256_GCM_SHA384 \n - TLS_CHACHA20_POLY1305_SHA256 \n minTLSVersion: VersionTLS13" nullable: true type: "object" old: - description: "old is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility \n and looks like this (yaml): \n ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10" + description: "old is a TLS security profile based on: \n https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility \n and looks like this (yaml): \n ciphers: \n - TLS_AES_128_GCM_SHA256 \n - TLS_AES_256_GCM_SHA384 \n - TLS_CHACHA20_POLY1305_SHA256 \n - ECDHE-ECDSA-AES128-GCM-SHA256 \n - ECDHE-RSA-AES128-GCM-SHA256 \n - ECDHE-ECDSA-AES256-GCM-SHA384 \n - ECDHE-RSA-AES256-GCM-SHA384 \n - ECDHE-ECDSA-CHACHA20-POLY1305 \n - ECDHE-RSA-CHACHA20-POLY1305 \n - DHE-RSA-AES128-GCM-SHA256 \n - DHE-RSA-AES256-GCM-SHA384 \n - DHE-RSA-CHACHA20-POLY1305 \n - ECDHE-ECDSA-AES128-SHA256 \n - ECDHE-RSA-AES128-SHA256 \n - ECDHE-ECDSA-AES128-SHA \n - ECDHE-RSA-AES128-SHA \n - ECDHE-ECDSA-AES256-SHA384 \n - ECDHE-RSA-AES256-SHA384 \n - ECDHE-ECDSA-AES256-SHA \n - ECDHE-RSA-AES256-SHA \n - DHE-RSA-AES128-SHA256 \n - DHE-RSA-AES256-SHA256 \n - AES128-GCM-SHA256 \n - AES256-GCM-SHA384 \n - AES128-SHA256 \n - AES256-SHA256 \n - AES128-SHA \n - AES256-SHA \n - DES-CBC3-SHA \n minTLSVersion: VersionTLS10" nullable: true type: "object" type: diff --git a/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha2/clientintents.yaml b/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha2/clientintents.yaml index f6b980e8b..06d15aa41 100644 --- a/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha2/clientintents.yaml +++ b/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha2/clientintents.yaml @@ -3,7 +3,6 @@ kind: "CustomResourceDefinition" metadata: annotations: controller-gen.kubebuilder.io/version: "v0.9.0" - helm.sh/resource-policy: "keep" labels: app.kubernetes.io/part-of: "otterize" name: "clientintents.k8s.otterize.com" diff --git a/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha2/protectedservices.yaml b/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha2/protectedservices.yaml index 34397e14d..bed503f92 100644 --- a/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha2/protectedservices.yaml +++ b/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha2/protectedservices.yaml @@ -3,7 +3,6 @@ kind: "CustomResourceDefinition" metadata: annotations: controller-gen.kubebuilder.io/version: "v0.9.0" - helm.sh/resource-policy: "keep" labels: app.kubernetes.io/part-of: "otterize" name: "protectedservices.k8s.otterize.com" diff --git a/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha3/clientintents.yaml b/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha3/clientintents.yaml index 59888c228..2e5fc886f 100644 --- a/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha3/clientintents.yaml +++ b/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha3/clientintents.yaml @@ -3,7 +3,6 @@ kind: "CustomResourceDefinition" metadata: annotations: controller-gen.kubebuilder.io/version: "v0.9.0" - helm.sh/resource-policy: "keep" labels: app.kubernetes.io/part-of: "otterize" name: "clientintents.k8s.otterize.com" @@ -72,6 +71,10 @@ spec: items: type: "string" type: "array" + azureRoles: + items: + type: "string" + type: "array" databaseResources: items: properties: @@ -93,6 +96,10 @@ spec: - "databaseName" type: "object" type: "array" + gcpPermissions: + items: + type: "string" + type: "array" internet: properties: domains: @@ -142,6 +149,8 @@ spec: - "kafka" - "database" - "aws" + - "gcp" + - "azure" - "internet" type: "string" type: "object" diff --git a/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha3/protectedservices.yaml b/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha3/protectedservices.yaml index f7c9ba73c..3da277bc3 100644 --- a/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha3/protectedservices.yaml +++ b/crd-catalog/otterize/helm-charts/k8s.otterize.com/v1alpha3/protectedservices.yaml @@ -3,7 +3,6 @@ kind: "CustomResourceDefinition" metadata: annotations: controller-gen.kubebuilder.io/version: "v0.9.0" - helm.sh/resource-policy: "keep" labels: app.kubernetes.io/part-of: "otterize" name: "protectedservices.k8s.otterize.com" diff --git a/crd-catalog/percona/percona-postgresql-operator/pgv2.percona.com/v2/perconapgclusters.yaml b/crd-catalog/percona/percona-postgresql-operator/pgv2.percona.com/v2/perconapgclusters.yaml index 0977e99f0..188d911fd 100644 --- a/crd-catalog/percona/percona-postgresql-operator/pgv2.percona.com/v2/perconapgclusters.yaml +++ b/crd-catalog/percona/percona-postgresql-operator/pgv2.percona.com/v2/perconapgclusters.yaml @@ -713,6 +713,94 @@ spec: description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" + securityContext: + description: "SecurityContext defines the security settings for PGBackRest pod." + properties: + fsGroup: + description: "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: \n 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + fsGroupChangePolicy: + description: "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used. Note that this field cannot be set when spec.os.name is windows." + type: "string" + runAsGroup: + description: "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + runAsNonRoot: + description: "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + type: "boolean" + runAsUser: + description: "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + seLinuxOptions: + description: "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + properties: + level: + description: "Level is SELinux level label that applies to the container." + type: "string" + role: + description: "Role is a SELinux role label that applies to the container." + type: "string" + type: + description: "Type is a SELinux type label that applies to the container." + type: "string" + user: + description: "User is a SELinux user label that applies to the container." + type: "string" + type: "object" + seccompProfile: + description: "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows." + properties: + localhostProfile: + description: "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type." + type: "string" + type: + description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied." + type: "string" + required: + - "type" + type: "object" + supplementalGroups: + description: "A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows." + items: + format: "int64" + type: "integer" + type: "array" + sysctls: + description: "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows." + items: + description: "Sysctl defines a kernel parameter to be set" + properties: + name: + description: "Name of a property to set" + type: "string" + value: + description: "Value of a property to set" + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" + windowsOptions: + description: "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux." + properties: + gmsaCredentialSpec: + description: "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field." + type: "string" + gmsaCredentialSpecName: + description: "GMSACredentialSpecName is the name of the GMSA credential spec to use." + type: "string" + hostProcess: + description: "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true." + type: "boolean" + runAsUserName: + description: "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + type: "string" + type: "object" + type: "object" tolerations: description: "Tolerations of pgBackRest backup Job pods. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration" items: @@ -1284,6 +1372,94 @@ spec: description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" + securityContext: + description: "SecurityContext defines the security settings for PGBackRest pod." + properties: + fsGroup: + description: "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: \n 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + fsGroupChangePolicy: + description: "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used. Note that this field cannot be set when spec.os.name is windows." + type: "string" + runAsGroup: + description: "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + runAsNonRoot: + description: "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + type: "boolean" + runAsUser: + description: "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + seLinuxOptions: + description: "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + properties: + level: + description: "Level is SELinux level label that applies to the container." + type: "string" + role: + description: "Role is a SELinux role label that applies to the container." + type: "string" + type: + description: "Type is a SELinux type label that applies to the container." + type: "string" + user: + description: "User is a SELinux user label that applies to the container." + type: "string" + type: "object" + seccompProfile: + description: "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows." + properties: + localhostProfile: + description: "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type." + type: "string" + type: + description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied." + type: "string" + required: + - "type" + type: "object" + supplementalGroups: + description: "A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows." + items: + format: "int64" + type: "integer" + type: "array" + sysctls: + description: "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows." + items: + description: "Sysctl defines a kernel parameter to be set" + properties: + name: + description: "Name of a property to set" + type: "string" + value: + description: "Value of a property to set" + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" + windowsOptions: + description: "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux." + properties: + gmsaCredentialSpec: + description: "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field." + type: "string" + gmsaCredentialSpecName: + description: "GMSACredentialSpecName is the name of the GMSA credential spec to use." + type: "string" + hostProcess: + description: "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true." + type: "boolean" + runAsUserName: + description: "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + type: "string" + type: "object" + type: "object" sshConfigMap: description: "ConfigMap containing custom SSH configuration. Deprecated: Repository hosts use mTLS for encryption, authentication, and authorization." properties: @@ -5395,6 +5571,94 @@ spec: description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" + securityContext: + description: "SecurityContext defines the security settings for a PostgreSQL pod." + properties: + fsGroup: + description: "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: \n 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + fsGroupChangePolicy: + description: "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used. Note that this field cannot be set when spec.os.name is windows." + type: "string" + runAsGroup: + description: "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + runAsNonRoot: + description: "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + type: "boolean" + runAsUser: + description: "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + seLinuxOptions: + description: "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + properties: + level: + description: "Level is SELinux level label that applies to the container." + type: "string" + role: + description: "Role is a SELinux role label that applies to the container." + type: "string" + type: + description: "Type is a SELinux type label that applies to the container." + type: "string" + user: + description: "User is a SELinux user label that applies to the container." + type: "string" + type: "object" + seccompProfile: + description: "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows." + properties: + localhostProfile: + description: "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type." + type: "string" + type: + description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied." + type: "string" + required: + - "type" + type: "object" + supplementalGroups: + description: "A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows." + items: + format: "int64" + type: "integer" + type: "array" + sysctls: + description: "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows." + items: + description: "Sysctl defines a kernel parameter to be set" + properties: + name: + description: "Name of a property to set" + type: "string" + value: + description: "Value of a property to set" + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" + windowsOptions: + description: "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux." + properties: + gmsaCredentialSpec: + description: "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field." + type: "string" + gmsaCredentialSpecName: + description: "GMSACredentialSpecName is the name of the GMSA credential spec to use." + type: "string" + hostProcess: + description: "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true." + type: "boolean" + runAsUserName: + description: "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + type: "string" + type: "object" + type: "object" sidecars: description: "Custom sidecars for PostgreSQL instance pods. Changing this value causes PostgreSQL to restart." items: @@ -7445,6 +7709,94 @@ spec: description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" + securityContext: + description: "SecurityContext defines the security settings for PGBouncer pods." + properties: + fsGroup: + description: "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: \n 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + fsGroupChangePolicy: + description: "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used. Note that this field cannot be set when spec.os.name is windows." + type: "string" + runAsGroup: + description: "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + runAsNonRoot: + description: "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + type: "boolean" + runAsUser: + description: "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + format: "int64" + type: "integer" + seLinuxOptions: + description: "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + properties: + level: + description: "Level is SELinux level label that applies to the container." + type: "string" + role: + description: "Role is a SELinux role label that applies to the container." + type: "string" + type: + description: "Type is a SELinux type label that applies to the container." + type: "string" + user: + description: "User is a SELinux user label that applies to the container." + type: "string" + type: "object" + seccompProfile: + description: "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows." + properties: + localhostProfile: + description: "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type." + type: "string" + type: + description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied." + type: "string" + required: + - "type" + type: "object" + supplementalGroups: + description: "A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows." + items: + format: "int64" + type: "integer" + type: "array" + sysctls: + description: "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows." + items: + description: "Sysctl defines a kernel parameter to be set" + properties: + name: + description: "Name of a property to set" + type: "string" + value: + description: "Value of a property to set" + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" + windowsOptions: + description: "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux." + properties: + gmsaCredentialSpec: + description: "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field." + type: "string" + gmsaCredentialSpecName: + description: "GMSACredentialSpecName is the name of the GMSA credential spec to use." + type: "string" + hostProcess: + description: "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true." + type: "boolean" + runAsUserName: + description: "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + type: "string" + type: "object" + type: "object" sidecars: description: "Custom sidecars for a PgBouncer pod. Changing this value causes PgBouncer to restart." items: diff --git a/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqlbackups.yaml b/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqlbackups.yaml index 21a656edf..4389c7d43 100644 --- a/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqlbackups.yaml +++ b/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqlbackups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "perconaservermysqlbackups.ps.percona.com" spec: group: "ps.percona.com" diff --git a/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqlrestores.yaml b/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqlrestores.yaml index 394a50d97..7034a79f0 100644 --- a/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqlrestores.yaml +++ b/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqlrestores.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "perconaservermysqlrestores.ps.percona.com" spec: group: "ps.percona.com" diff --git a/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqls.yaml b/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqls.yaml index aad483b1f..a4968f1ee 100644 --- a/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqls.yaml +++ b/crd-catalog/percona/percona-server-mysql-operator/ps.percona.com/v1alpha1/perconaservermysqls.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "perconaservermysqls.ps.percona.com" spec: group: "ps.percona.com" diff --git a/crd-catalog/projectcalico/calico/crd.projectcalico.org/v1/felixconfigurations.yaml b/crd-catalog/projectcalico/calico/crd.projectcalico.org/v1/felixconfigurations.yaml index 6f1dc2acb..a10d468e4 100644 --- a/crd-catalog/projectcalico/calico/crd.projectcalico.org/v1/felixconfigurations.yaml +++ b/crd-catalog/projectcalico/calico/crd.projectcalico.org/v1/felixconfigurations.yaml @@ -165,8 +165,14 @@ spec: type: "string" debugDisableLogDropping: type: "boolean" + debugHost: + description: "DebugHost is the host IP or hostname to bind the debug port to. Only used if DebugPort is set. [Default:localhost]" + type: "string" debugMemoryProfilePath: type: "string" + debugPort: + description: "DebugPort if set, enables Felix's debug HTTP port, which allows memory and CPU profiles to be retrieved. The debug port is not secure, it should not be exposed to the internet." + type: "integer" debugSimulateCalcGraphHangAfter: pattern: "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$" type: "string" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/alertmanagers.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/alertmanagers.yaml index 58edeb61b..bbbade3f1 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/alertmanagers.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/alertmanagers.yaml @@ -1960,6 +1960,11 @@ spec: - "name" type: "object" type: "array" + enableFeatures: + description: "Enable access to Alertmanager feature flags. By default, no features are enabled. Enabling features which are disabled by default is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice. \n It requires Alertmanager >= 0.27.0." + items: + type: "string" + type: "array" externalUrl: description: "The external URL the Alertmanager instances will be available under. This is necessary to generate correct URLs. This is necessary if Alertmanager is not served from root of a DNS name." type: "string" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheuses.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheuses.yaml index 4a4d54093..34b44437b 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheuses.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheuses.yaml @@ -3726,12 +3726,14 @@ spec: properties: batchSendDeadline: description: "BatchSendDeadline is the maximum time a sample will wait in buffer." + pattern: "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$" type: "string" capacity: description: "Capacity is the number of samples to buffer per shard before we start dropping them." type: "integer" maxBackoff: description: "MaxBackoff is the maximum retry delay." + pattern: "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$" type: "string" maxRetries: description: "MaxRetries is the maximum number of times to retry a batch on recoverable errors." @@ -3744,6 +3746,7 @@ spec: type: "integer" minBackoff: description: "MinBackoff is the initial retry delay. Gets doubled for every retry." + pattern: "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$" type: "string" minShards: description: "MinShards is the minimum number of shards, i.e. amount of concurrency." diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/prometheusagents.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/prometheusagents.yaml index ae2380af1..a311147fc 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/prometheusagents.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/prometheusagents.yaml @@ -3081,12 +3081,14 @@ spec: properties: batchSendDeadline: description: "BatchSendDeadline is the maximum time a sample will wait in buffer." + pattern: "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$" type: "string" capacity: description: "Capacity is the number of samples to buffer per shard before we start dropping them." type: "integer" maxBackoff: description: "MaxBackoff is the maximum retry delay." + pattern: "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$" type: "string" maxRetries: description: "MaxRetries is the maximum number of times to retry a batch on recoverable errors." @@ -3099,6 +3101,7 @@ spec: type: "integer" minBackoff: description: "MinBackoff is the initial retry delay. Gets doubled for every retry." + pattern: "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$" type: "string" minShards: description: "MinShards is the minimum number of shards, i.e. amount of concurrency." diff --git a/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellclusters.yaml b/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellclusters.yaml index db3f0d07c..4cecba38c 100644 --- a/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellclusters.yaml +++ b/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellclusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "tinkerbellclusters.infrastructure.cluster.x-k8s.io" spec: group: "infrastructure.cluster.x-k8s.io" @@ -30,10 +30,10 @@ spec: description: "TinkerbellCluster is the Schema for the tinkerbellclusters API." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -41,7 +41,7 @@ spec: description: "TinkerbellClusterSpec defines the desired state of TinkerbellCluster." properties: controlPlaneEndpoint: - description: "ControlPlaneEndpoint is a required field by ClusterAPI v1beta1. \n See https://cluster-api.sigs.k8s.io/developer/architecture/controllers/cluster.html for more details." + description: "ControlPlaneEndpoint is a required field by ClusterAPI v1beta1.\n\n\nSee https://cluster-api.sigs.k8s.io/developer/architecture/controllers/cluster.html\nfor more details." properties: host: description: "The hostname on which the API server is serving." @@ -56,17 +56,17 @@ spec: type: "object" imageLookupBaseRegistry: default: "ghcr.io/tinkerbell/cluster-api-provider-tinkerbell" - description: "ImageLookupBaseRegistry is the base Registry URL that is used for pulling images, if not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell." + description: "ImageLookupBaseRegistry is the base Registry URL that is used for pulling images,\nif not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell." type: "string" imageLookupFormat: - description: "ImageLookupFormat is the URL naming format to use for machine images when a machine does not specify. When set, this will be used for all cluster machines unless a machine specifies a different ImageLookupFormat. Supports substitutions for {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with the basse URL, OS distribution, OS version, and kubernetes version, respectively. BaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell (the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default), OSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro (if known), and the kubernetes version as defined by the packages produced by kubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default image format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will attempt to pull the image from that location. See also: https://golang.org/pkg/text/template/" + description: "ImageLookupFormat is the URL naming format to use for machine images when\na machine does not specify. When set, this will be used for all cluster machines\nunless a machine specifies a different ImageLookupFormat. Supports substitutions\nfor {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with\nthe basse URL, OS distribution, OS version, and kubernetes version, respectively.\nBaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell\n(the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default),\nOSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro\n(if known), and the kubernetes version as defined by the packages produced by\nkubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default\nimage format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will\nattempt to pull the image from that location. See also: https://golang.org/pkg/text/template/" type: "string" imageLookupOSDistro: default: "ubuntu" - description: "ImageLookupOSDistro is the name of the OS distro to use when fetching machine images, if not set it will default to ubuntu." + description: "ImageLookupOSDistro is the name of the OS distro to use when fetching machine images,\nif not set it will default to ubuntu." type: "string" imageLookupOSVersion: - description: "ImageLookupOSVersion is the version of the OS distribution to use when fetching machine images. If not set it will default based on ImageLookupOSDistro." + description: "ImageLookupOSVersion is the version of the OS distribution to use when fetching machine\nimages. If not set it will default based on ImageLookupOSDistro." type: "string" type: "object" status: diff --git a/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellmachines.yaml b/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellmachines.yaml index 2efcd2d1a..73ae0ed9b 100644 --- a/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellmachines.yaml +++ b/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellmachines.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "tinkerbellmachines.infrastructure.cluster.x-k8s.io" spec: group: "infrastructure.cluster.x-k8s.io" @@ -42,10 +42,10 @@ spec: description: "TinkerbellMachine is the Schema for the tinkerbellmachines API." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -56,9 +56,9 @@ spec: description: "HardwareAffinity allows filtering for hardware." properties: preferred: - description: "Preferred are the preferred hardware affinity terms. Hardware matching these terms are preferred according to the weights provided, but are not required." + description: "Preferred are the preferred hardware affinity terms. Hardware matching these terms are preferred according to the\nweights provided, but are not required." items: - description: "WeightedHardwareAffinityTerm is a HardwareAffinityTerm with an associated weight. The weights of all the matched WeightedHardwareAffinityTerm fields are added per-hardware to find the most preferred hardware." + description: "WeightedHardwareAffinityTerm is a HardwareAffinityTerm with an associated weight. The weights of all the matched\nWeightedHardwareAffinityTerm fields are added per-hardware to find the most preferred hardware." properties: hardwareAffinityTerm: description: "HardwareAffinityTerm is the term associated with the corresponding weight." @@ -69,16 +69,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -90,7 +90,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -109,7 +109,7 @@ spec: type: "object" type: "array" required: - description: "Required are the required hardware affinity terms. The terms are OR'd together, hardware must match one term to be considered." + description: "Required are the required hardware affinity terms. The terms are OR'd together, hardware must match one term to\nbe considered." items: description: "HardwareAffinityTerm is used to select for a particular existing hardware resource." properties: @@ -119,16 +119,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -140,7 +140,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -150,24 +150,24 @@ spec: type: "array" type: "object" hardwareName: - description: "Those fields are set programmatically, but they cannot be re-constructed from \"state of the world\", so we put them in spec instead of status." + description: "Those fields are set programmatically, but they cannot be re-constructed from \"state of the world\", so\nwe put them in spec instead of status." type: "string" imageLookupBaseRegistry: - description: "ImageLookupBaseRegistry is the base Registry URL that is used for pulling images, if not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell." + description: "ImageLookupBaseRegistry is the base Registry URL that is used for pulling images,\nif not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell." type: "string" imageLookupFormat: - description: "ImageLookupFormat is the URL naming format to use for machine images when a machine does not specify. When set, this will be used for all cluster machines unless a machine specifies a different ImageLookupFormat. Supports substitutions for {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with the basse URL, OS distribution, OS version, and kubernetes version, respectively. BaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell (the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default), OSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro (if known), and the kubernetes version as defined by the packages produced by kubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default image format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will attempt to pull the image from that location. See also: https://golang.org/pkg/text/template/" + description: "ImageLookupFormat is the URL naming format to use for machine images when\na machine does not specify. When set, this will be used for all cluster machines\nunless a machine specifies a different ImageLookupFormat. Supports substitutions\nfor {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with\nthe basse URL, OS distribution, OS version, and kubernetes version, respectively.\nBaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell\n(the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default),\nOSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro\n(if known), and the kubernetes version as defined by the packages produced by\nkubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default\nimage format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will\nattempt to pull the image from that location. See also: https://golang.org/pkg/text/template/" type: "string" imageLookupOSDistro: - description: "ImageLookupOSDistro is the name of the OS distro to use when fetching machine images, if not set it will default to ubuntu." + description: "ImageLookupOSDistro is the name of the OS distro to use when fetching machine images,\nif not set it will default to ubuntu." type: "string" imageLookupOSVersion: - description: "ImageLookupOSVersion is the version of the OS distribution to use when fetching machine images. If not set it will default based on ImageLookupOSDistro." + description: "ImageLookupOSVersion is the version of the OS distribution to use when fetching machine\nimages. If not set it will default based on ImageLookupOSDistro." type: "string" providerID: type: "string" templateOverride: - description: "TemplateOverride overrides the default Tinkerbell template used by CAPT. You can learn more about Tinkerbell templates here: https://docs.tinkerbell.org/templates/" + description: "TemplateOverride overrides the default Tinkerbell template used by CAPT.\nYou can learn more about Tinkerbell templates here: https://docs.tinkerbell.org/templates/" type: "string" type: "object" status: @@ -190,10 +190,10 @@ spec: type: "object" type: "array" errorMessage: - description: "ErrorMessage will be set in the event that there is a terminal problem reconciling the Machine and will contain a more verbose string suitable for logging and human consumption. \n This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. \n Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output." + description: "ErrorMessage will be set in the event that there is a terminal problem\nreconciling the Machine and will contain a more verbose string suitable\nfor logging and human consumption.\n\n\nThis field should not be set for transitive errors that a controller\nfaces that are expected to be fixed automatically over\ntime (like service outages), but instead indicate that something is\nfundamentally wrong with the Machine's spec or the configuration of\nthe controller, and that manual intervention is required. Examples\nof terminal errors would be invalid combinations of settings in the\nspec, values that are unsupported by the controller, or the\nresponsible controller itself being critically misconfigured.\n\n\nAny transient errors that occur during the reconciliation of Machines\ncan be added as events to the Machine object and/or logged in the\ncontroller's output." type: "string" errorReason: - description: "Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output." + description: "Any transient errors that occur during the reconciliation of Machines\ncan be added as events to the Machine object and/or logged in the\ncontroller's output." type: "string" instanceStatus: description: "InstanceStatus is the status of the Tinkerbell device instance for this machine." diff --git a/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellmachinetemplates.yaml b/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellmachinetemplates.yaml index 881b6c0ac..f77be4f0d 100644 --- a/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellmachinetemplates.yaml +++ b/crd-catalog/tinkerbell/cluster-api-provider-tinkerbell/infrastructure.cluster.x-k8s.io/v1beta1/tinkerbellmachinetemplates.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.10.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "tinkerbellmachinetemplates.infrastructure.cluster.x-k8s.io" spec: group: "infrastructure.cluster.x-k8s.io" @@ -21,10 +21,10 @@ spec: description: "TinkerbellMachineTemplate is the Schema for the tinkerbellmachinetemplates API." properties: apiVersion: - description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: "string" kind: - description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -41,9 +41,9 @@ spec: description: "HardwareAffinity allows filtering for hardware." properties: preferred: - description: "Preferred are the preferred hardware affinity terms. Hardware matching these terms are preferred according to the weights provided, but are not required." + description: "Preferred are the preferred hardware affinity terms. Hardware matching these terms are preferred according to the\nweights provided, but are not required." items: - description: "WeightedHardwareAffinityTerm is a HardwareAffinityTerm with an associated weight. The weights of all the matched WeightedHardwareAffinityTerm fields are added per-hardware to find the most preferred hardware." + description: "WeightedHardwareAffinityTerm is a HardwareAffinityTerm with an associated weight. The weights of all the matched\nWeightedHardwareAffinityTerm fields are added per-hardware to find the most preferred hardware." properties: hardwareAffinityTerm: description: "HardwareAffinityTerm is the term associated with the corresponding weight." @@ -54,16 +54,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -75,7 +75,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -94,7 +94,7 @@ spec: type: "object" type: "array" required: - description: "Required are the required hardware affinity terms. The terms are OR'd together, hardware must match one term to be considered." + description: "Required are the required hardware affinity terms. The terms are OR'd together, hardware must match one term to\nbe considered." items: description: "HardwareAffinityTerm is used to select for a particular existing hardware resource." properties: @@ -104,16 +104,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -125,7 +125,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -135,24 +135,24 @@ spec: type: "array" type: "object" hardwareName: - description: "Those fields are set programmatically, but they cannot be re-constructed from \"state of the world\", so we put them in spec instead of status." + description: "Those fields are set programmatically, but they cannot be re-constructed from \"state of the world\", so\nwe put them in spec instead of status." type: "string" imageLookupBaseRegistry: - description: "ImageLookupBaseRegistry is the base Registry URL that is used for pulling images, if not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell." + description: "ImageLookupBaseRegistry is the base Registry URL that is used for pulling images,\nif not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell." type: "string" imageLookupFormat: - description: "ImageLookupFormat is the URL naming format to use for machine images when a machine does not specify. When set, this will be used for all cluster machines unless a machine specifies a different ImageLookupFormat. Supports substitutions for {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with the basse URL, OS distribution, OS version, and kubernetes version, respectively. BaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell (the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default), OSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro (if known), and the kubernetes version as defined by the packages produced by kubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default image format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will attempt to pull the image from that location. See also: https://golang.org/pkg/text/template/" + description: "ImageLookupFormat is the URL naming format to use for machine images when\na machine does not specify. When set, this will be used for all cluster machines\nunless a machine specifies a different ImageLookupFormat. Supports substitutions\nfor {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with\nthe basse URL, OS distribution, OS version, and kubernetes version, respectively.\nBaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell\n(the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default),\nOSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro\n(if known), and the kubernetes version as defined by the packages produced by\nkubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default\nimage format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will\nattempt to pull the image from that location. See also: https://golang.org/pkg/text/template/" type: "string" imageLookupOSDistro: - description: "ImageLookupOSDistro is the name of the OS distro to use when fetching machine images, if not set it will default to ubuntu." + description: "ImageLookupOSDistro is the name of the OS distro to use when fetching machine images,\nif not set it will default to ubuntu." type: "string" imageLookupOSVersion: - description: "ImageLookupOSVersion is the version of the OS distribution to use when fetching machine images. If not set it will default based on ImageLookupOSDistro." + description: "ImageLookupOSVersion is the version of the OS distribution to use when fetching machine\nimages. If not set it will default based on ImageLookupOSDistro." type: "string" providerID: type: "string" templateOverride: - description: "TemplateOverride overrides the default Tinkerbell template used by CAPT. You can learn more about Tinkerbell templates here: https://docs.tinkerbell.org/templates/" + description: "TemplateOverride overrides the default Tinkerbell template used by CAPT.\nYou can learn more about Tinkerbell templates here: https://docs.tinkerbell.org/templates/" type: "string" type: "object" required: diff --git a/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificateauthorities.rs b/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificateauthorities.rs index fc26ddfda..ba8da1eeb 100644 --- a/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificateauthorities.rs +++ b/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificateauthorities.rs @@ -5,70 +5,136 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; -/// CertificateAuthoritySpec defines the desired state of CertificateAuthority. -/// Contains information about your private certificate authority (CA). Your private CA can issue and revoke X.509 digital certificates. Digital certificates verify that the entity named in the certificate Subject field owns or controls the public key contained in the Subject Public Key Info field. Call the CreateCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html) action to create your private CA. You must then call the GetCertificateAuthorityCertificate (https://docs.aws.amazon.com/privateca/latest/APIReference/API_GetCertificateAuthorityCertificate.html) action to retrieve a private CA certificate signing request (CSR). Sign the CSR with your Amazon Web Services Private CA-hosted or on-premises root or subordinate CA certificate. Call the ImportCertificateAuthorityCertificate (https://docs.aws.amazon.com/privateca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html) action to import the signed certificate into Certificate Manager (ACM). +/// CertificateAuthoritySpec defines the desired state of CertificateAuthority. +/// +/// +/// Contains information about your private certificate authority (CA). Your +/// private CA can issue and revoke X.509 digital certificates. Digital certificates +/// verify that the entity named in the certificate Subject field owns or controls +/// the public key contained in the Subject Public Key Info field. Call the CreateCertificateAuthority +/// (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html) +/// action to create your private CA. You must then call the GetCertificateAuthorityCertificate +/// (https://docs.aws.amazon.com/privateca/latest/APIReference/API_GetCertificateAuthorityCertificate.html) +/// action to retrieve a private CA certificate signing request (CSR). Sign the +/// CSR with your Amazon Web Services Private CA-hosted or on-premises root or +/// subordinate CA certificate. Call the ImportCertificateAuthorityCertificate +/// (https://docs.aws.amazon.com/privateca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html) +/// action to import the signed certificate into Certificate Manager (ACM). #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "acmpca.services.k8s.aws", version = "v1alpha1", kind = "CertificateAuthority", plural = "certificateauthorities")] #[kube(namespaced)] #[kube(status = "CertificateAuthorityStatus")] #[kube(schema = "disabled")] pub struct CertificateAuthoritySpec { - /// Name and bit size of the private key algorithm, the name of the signing algorithm, and X.500 certificate subject information. + /// Name and bit size of the private key algorithm, the name of the signing algorithm, + /// and X.500 certificate subject information. #[serde(rename = "certificateAuthorityConfiguration")] pub certificate_authority_configuration: CertificateAuthorityCertificateAuthorityConfiguration, /// The type of the certificate authority. #[serde(rename = "certificateAuthorityType")] pub certificate_authority_type: String, - /// Specifies a cryptographic key management compliance standard used for handling CA keys. - /// Default: FIPS_140_2_LEVEL_3_OR_HIGHER - /// Some Amazon Web Services Regions do not support the default. When creating a CA in these Regions, you must provide FIPS_140_2_LEVEL_2_OR_HIGHER as the argument for KeyStorageSecurityStandard. Failure to do this results in an InvalidArgsException with the message, "A certificate authority cannot be created in this region with the specified security standard." - /// For information about security standard support in various Regions, see Storage and security compliance of Amazon Web Services Private CA private keys (https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys). + /// Specifies a cryptographic key management compliance standard used for handling + /// CA keys. + /// + /// + /// Default: FIPS_140_2_LEVEL_3_OR_HIGHER + /// + /// + /// Some Amazon Web Services Regions do not support the default. When creating + /// a CA in these Regions, you must provide FIPS_140_2_LEVEL_2_OR_HIGHER as the + /// argument for KeyStorageSecurityStandard. Failure to do this results in an + /// InvalidArgsException with the message, "A certificate authority cannot be + /// created in this region with the specified security standard." + /// + /// + /// For information about security standard support in various Regions, see Storage + /// and security compliance of Amazon Web Services Private CA private keys (https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys). #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyStorageSecurityStandard")] pub key_storage_security_standard: Option, - /// Contains information to enable Online Certificate Status Protocol (OCSP) support, to enable a certificate revocation list (CRL), to enable both, or to enable neither. The default is for both certificate validation mechanisms to be disabled. - /// The following requirements apply to revocation configurations. - /// * A configuration disabling CRLs or OCSP must contain only the Enabled=False parameter, and will fail if other parameters such as CustomCname or ExpirationInDays are included. - /// * In a CRL configuration, the S3BucketName parameter must conform to Amazon S3 bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). - /// * A configuration containing a custom Canonical Name (CNAME) parameter for CRLs or OCSP must conform to RFC2396 (https://www.ietf.org/rfc/rfc2396.txt) restrictions on the use of special characters in a CNAME. - /// * In a CRL or OCSP configuration, the value of a CNAME parameter must not include a protocol prefix such as "http://" or "https://". - /// For more information, see the OcspConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_OcspConfiguration.html) and CrlConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CrlConfiguration.html) types. + /// Contains information to enable Online Certificate Status Protocol (OCSP) + /// support, to enable a certificate revocation list (CRL), to enable both, or + /// to enable neither. The default is for both certificate validation mechanisms + /// to be disabled. + /// + /// + /// The following requirements apply to revocation configurations. + /// + /// + /// * A configuration disabling CRLs or OCSP must contain only the Enabled=False + /// parameter, and will fail if other parameters such as CustomCname or ExpirationInDays + /// are included. + /// + /// + /// * In a CRL configuration, the S3BucketName parameter must conform to Amazon + /// S3 bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). + /// + /// + /// * A configuration containing a custom Canonical Name (CNAME) parameter + /// for CRLs or OCSP must conform to RFC2396 (https://www.ietf.org/rfc/rfc2396.txt) + /// restrictions on the use of special characters in a CNAME. + /// + /// + /// * In a CRL or OCSP configuration, the value of a CNAME parameter must + /// not include a protocol prefix such as "http://" or "https://". + /// + /// + /// For more information, see the OcspConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_OcspConfiguration.html) + /// and CrlConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CrlConfiguration.html) + /// types. #[serde(default, skip_serializing_if = "Option::is_none", rename = "revocationConfiguration")] pub revocation_configuration: Option, - /// Key-value pairs that will be attached to the new private CA. You can associate up to 50 tags with a private CA. For information using tags with IAM to manage permissions, see Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). + /// Key-value pairs that will be attached to the new private CA. You can associate + /// up to 50 tags with a private CA. For information using tags with IAM to manage + /// permissions, see Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). #[serde(default, skip_serializing_if = "Option::is_none")] pub tags: Option>, - /// Specifies whether the CA issues general-purpose certificates that typically require a revocation mechanism, or short-lived certificates that may optionally omit revocation because they expire quickly. Short-lived certificate validity is limited to seven days. - /// The default value is GENERAL_PURPOSE. + /// Specifies whether the CA issues general-purpose certificates that typically + /// require a revocation mechanism, or short-lived certificates that may optionally + /// omit revocation because they expire quickly. Short-lived certificate validity + /// is limited to seven days. + /// + /// + /// The default value is GENERAL_PURPOSE. #[serde(default, skip_serializing_if = "Option::is_none", rename = "usageMode")] pub usage_mode: Option, } -/// Name and bit size of the private key algorithm, the name of the signing algorithm, and X.500 certificate subject information. +/// Name and bit size of the private key algorithm, the name of the signing algorithm, +/// and X.500 certificate subject information. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfiguration { - /// Describes the certificate extensions to be added to the certificate signing request (CSR). + /// Describes the certificate extensions to be added to the certificate signing + /// request (CSR). #[serde(default, skip_serializing_if = "Option::is_none", rename = "csrExtensions")] pub csr_extensions: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyAlgorithm")] pub key_algorithm: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "signingAlgorithm")] pub signing_algorithm: Option, - /// Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. + /// Contains information about the certificate subject. The Subject field in + /// the certificate identifies the entity that owns or controls the public key + /// in the certificate. The entity can be a user, computer, device, or service. + /// The Subject must contain an X.500 distinguished name (DN). A DN is a sequence + /// of relative distinguished names (RDNs). The RDNs are separated by commas + /// in the certificate. #[serde(default, skip_serializing_if = "Option::is_none")] pub subject: Option, } -/// Describes the certificate extensions to be added to the certificate signing request (CSR). +/// Describes the certificate extensions to be added to the certificate signing +/// request (CSR). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensions { - /// Defines one or more purposes for which the key contained in the certificate can be used. Default value for each option is false. + /// Defines one or more purposes for which the key contained in the certificate + /// can be used. Default value for each option is false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyUsage")] pub key_usage: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "subjectInformationAccess")] pub subject_information_access: Option>, } -/// Defines one or more purposes for which the key contained in the certificate can be used. Default value for each option is false. +/// Defines one or more purposes for which the key contained in the certificate +/// can be used. Default value for each option is false. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsKeyUsage { #[serde(default, skip_serializing_if = "Option::is_none", rename = "crlSign")] @@ -91,31 +157,46 @@ pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsKey pub non_repudiation: Option, } -/// Provides access information used by the authorityInfoAccess and subjectInfoAccess extensions described in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). +/// Provides access information used by the authorityInfoAccess and subjectInfoAccess +/// extensions described in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSubjectInformationAccess { - /// Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). Only one of the following naming options should be provided. Providing more than one option results in an InvalidArgsException error. + /// Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). + /// Only one of the following naming options should be provided. Providing more + /// than one option results in an InvalidArgsException error. #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessLocation")] pub access_location: Option, - /// Describes the type and format of extension access. Only one of CustomObjectIdentifier or AccessMethodType may be provided. Providing both results in InvalidArgsException. + /// Describes the type and format of extension access. Only one of CustomObjectIdentifier + /// or AccessMethodType may be provided. Providing both results in InvalidArgsException. #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessMethod")] pub access_method: Option, } -/// Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). Only one of the following naming options should be provided. Providing more than one option results in an InvalidArgsException error. +/// Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). +/// Only one of the following naming options should be provided. Providing more +/// than one option results in an InvalidArgsException error. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSubjectInformationAccessAccessLocation { - /// Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. + /// Contains information about the certificate subject. The Subject field in + /// the certificate identifies the entity that owns or controls the public key + /// in the certificate. The entity can be a user, computer, device, or service. + /// The Subject must contain an X.500 distinguished name (DN). A DN is a sequence + /// of relative distinguished names (RDNs). The RDNs are separated by commas + /// in the certificate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "directoryName")] pub directory_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsName")] pub dns_name: Option, - /// Describes an Electronic Data Interchange (EDI) entity as described in as defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) in RFC 5280. + /// Describes an Electronic Data Interchange (EDI) entity as described in as + /// defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) + /// in RFC 5280. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ediPartyName")] pub edi_party_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipAddress")] pub ip_address: Option, - /// Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) and value. The OID must satisfy the regular expression shown below. For more information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). + /// Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) + /// and value. The OID must satisfy the regular expression shown below. For more + /// information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). #[serde(default, skip_serializing_if = "Option::is_none", rename = "otherName")] pub other_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "registeredID")] @@ -126,7 +207,12 @@ pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSub pub uniform_resource_identifier: Option, } -/// Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. +/// Contains information about the certificate subject. The Subject field in +/// the certificate identifies the entity that owns or controls the public key +/// in the certificate. The entity can be a user, computer, device, or service. +/// The Subject must contain an X.500 distinguished name (DN). A DN is a sequence +/// of relative distinguished names (RDNs). The RDNs are separated by commas +/// in the certificate. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSubjectInformationAccessAccessLocationDirectoryName { #[serde(default, skip_serializing_if = "Option::is_none", rename = "commonName")] @@ -170,7 +256,9 @@ pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSub pub value: Option, } -/// Describes an Electronic Data Interchange (EDI) entity as described in as defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) in RFC 5280. +/// Describes an Electronic Data Interchange (EDI) entity as described in as +/// defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) +/// in RFC 5280. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSubjectInformationAccessAccessLocationEdiPartyName { #[serde(default, skip_serializing_if = "Option::is_none", rename = "nameAssigner")] @@ -179,7 +267,9 @@ pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSub pub party_name: Option, } -/// Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) and value. The OID must satisfy the regular expression shown below. For more information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). +/// Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) +/// and value. The OID must satisfy the regular expression shown below. For more +/// information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSubjectInformationAccessAccessLocationOtherName { #[serde(default, skip_serializing_if = "Option::is_none", rename = "typeID")] @@ -188,7 +278,8 @@ pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSub pub value: Option, } -/// Describes the type and format of extension access. Only one of CustomObjectIdentifier or AccessMethodType may be provided. Providing both results in InvalidArgsException. +/// Describes the type and format of extension access. Only one of CustomObjectIdentifier +/// or AccessMethodType may be provided. Providing both results in InvalidArgsException. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSubjectInformationAccessAccessMethod { #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessMethodType")] @@ -197,7 +288,12 @@ pub struct CertificateAuthorityCertificateAuthorityConfigurationCsrExtensionsSub pub custom_object_identifier: Option, } -/// Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. +/// Contains information about the certificate subject. The Subject field in +/// the certificate identifies the entity that owns or controls the public key +/// in the certificate. The entity can be a user, computer, device, or service. +/// The Subject must contain an X.500 distinguished name (DN). A DN is a sequence +/// of relative distinguished names (RDNs). The RDNs are separated by commas +/// in the certificate. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityCertificateAuthorityConfigurationSubject { #[serde(default, skip_serializing_if = "Option::is_none", rename = "commonName")] @@ -241,57 +337,202 @@ pub struct CertificateAuthorityCertificateAuthorityConfigurationSubjectCustomAtt pub value: Option, } -/// Contains information to enable Online Certificate Status Protocol (OCSP) support, to enable a certificate revocation list (CRL), to enable both, or to enable neither. The default is for both certificate validation mechanisms to be disabled. -/// The following requirements apply to revocation configurations. -/// * A configuration disabling CRLs or OCSP must contain only the Enabled=False parameter, and will fail if other parameters such as CustomCname or ExpirationInDays are included. -/// * In a CRL configuration, the S3BucketName parameter must conform to Amazon S3 bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). -/// * A configuration containing a custom Canonical Name (CNAME) parameter for CRLs or OCSP must conform to RFC2396 (https://www.ietf.org/rfc/rfc2396.txt) restrictions on the use of special characters in a CNAME. -/// * In a CRL or OCSP configuration, the value of a CNAME parameter must not include a protocol prefix such as "http://" or "https://". -/// For more information, see the OcspConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_OcspConfiguration.html) and CrlConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CrlConfiguration.html) types. +/// Contains information to enable Online Certificate Status Protocol (OCSP) +/// support, to enable a certificate revocation list (CRL), to enable both, or +/// to enable neither. The default is for both certificate validation mechanisms +/// to be disabled. +/// +/// +/// The following requirements apply to revocation configurations. +/// +/// +/// * A configuration disabling CRLs or OCSP must contain only the Enabled=False +/// parameter, and will fail if other parameters such as CustomCname or ExpirationInDays +/// are included. +/// +/// +/// * In a CRL configuration, the S3BucketName parameter must conform to Amazon +/// S3 bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). +/// +/// +/// * A configuration containing a custom Canonical Name (CNAME) parameter +/// for CRLs or OCSP must conform to RFC2396 (https://www.ietf.org/rfc/rfc2396.txt) +/// restrictions on the use of special characters in a CNAME. +/// +/// +/// * In a CRL or OCSP configuration, the value of a CNAME parameter must +/// not include a protocol prefix such as "http://" or "https://". +/// +/// +/// For more information, see the OcspConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_OcspConfiguration.html) +/// and CrlConfiguration (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CrlConfiguration.html) +/// types. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityRevocationConfiguration { - /// Contains configuration information for a certificate revocation list (CRL). Your private certificate authority (CA) creates base CRLs. Delta CRLs are not supported. You can enable CRLs for your new or an existing private CA by setting the Enabled parameter to true. Your private CA writes CRLs to an S3 bucket that you specify in the S3BucketName parameter. You can hide the name of your bucket by specifying a value for the CustomCname parameter. Your private CA copies the CNAME or the S3 bucket name to the CRL Distribution Points extension of each certificate it issues. Your S3 bucket policy must give write permission to Amazon Web Services Private CA. - /// Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your CRLs (https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption). - /// Your private CA uses the value in the ExpirationInDays parameter to calculate the nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's expiration date or when a certificate is revoked. When a certificate is revoked, it appears in the CRL until the certificate expires, and then in one additional CRL after expiration, and it always appears in the audit report. - /// A CRL is typically updated approximately 30 minutes after a certificate is revoked. If for any reason a CRL update fails, Amazon Web Services Private CA makes further attempts every 15 minutes. - /// CRLs contain the following fields: - /// * Version: The current version number defined in RFC 5280 is V2. The integer value is 0x1. - /// * Signature Algorithm: The name of the algorithm used to sign the CRL. - /// * Issuer: The X.500 distinguished name of your private CA that issued the CRL. - /// * Last Update: The issue date and time of this CRL. - /// * Next Update: The day and time by which the next CRL will be issued. - /// * Revoked Certificates: List of revoked certificates. Each list item contains the following information. Serial Number: The serial number, in hexadecimal format, of the revoked certificate. Revocation Date: Date and time the certificate was revoked. CRL Entry Extensions: Optional extensions for the CRL entry. X509v3 CRL Reason Code: Reason the certificate was revoked. - /// * CRL Extensions: Optional extensions for the CRL. X509v3 Authority Key Identifier: Identifies the public key associated with the private key used to sign the certificate. X509v3 CRL Number:: Decimal sequence number for the CRL. - /// * Signature Algorithm: Algorithm used by your private CA to sign the CRL. - /// * Signature Value: Signature computed over the CRL. - /// Certificate revocation lists created by Amazon Web Services Private CA are DER-encoded. You can use the following OpenSSL command to list a CRL. - /// openssl crl -inform DER -text -in crl_path -noout - /// For more information, see Planning a certificate revocation list (CRL) (https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html) in the Amazon Web Services Private Certificate Authority User Guide + /// Contains configuration information for a certificate revocation list (CRL). + /// Your private certificate authority (CA) creates base CRLs. Delta CRLs are + /// not supported. You can enable CRLs for your new or an existing private CA + /// by setting the Enabled parameter to true. Your private CA writes CRLs to + /// an S3 bucket that you specify in the S3BucketName parameter. You can hide + /// the name of your bucket by specifying a value for the CustomCname parameter. + /// Your private CA copies the CNAME or the S3 bucket name to the CRL Distribution + /// Points extension of each certificate it issues. Your S3 bucket policy must + /// give write permission to Amazon Web Services Private CA. + /// + /// + /// Amazon Web Services Private CA assets that are stored in Amazon S3 can be + /// protected with encryption. For more information, see Encrypting Your CRLs + /// (https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption). + /// + /// + /// Your private CA uses the value in the ExpirationInDays parameter to calculate + /// the nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's + /// expiration date or when a certificate is revoked. When a certificate is revoked, + /// it appears in the CRL until the certificate expires, and then in one additional + /// CRL after expiration, and it always appears in the audit report. + /// + /// + /// A CRL is typically updated approximately 30 minutes after a certificate is + /// revoked. If for any reason a CRL update fails, Amazon Web Services Private + /// CA makes further attempts every 15 minutes. + /// + /// + /// CRLs contain the following fields: + /// + /// + /// * Version: The current version number defined in RFC 5280 is V2. The integer + /// value is 0x1. + /// + /// + /// * Signature Algorithm: The name of the algorithm used to sign the CRL. + /// + /// + /// * Issuer: The X.500 distinguished name of your private CA that issued + /// the CRL. + /// + /// + /// * Last Update: The issue date and time of this CRL. + /// + /// + /// * Next Update: The day and time by which the next CRL will be issued. + /// + /// + /// * Revoked Certificates: List of revoked certificates. Each list item contains + /// the following information. Serial Number: The serial number, in hexadecimal + /// format, of the revoked certificate. Revocation Date: Date and time the + /// certificate was revoked. CRL Entry Extensions: Optional extensions for + /// the CRL entry. X509v3 CRL Reason Code: Reason the certificate was revoked. + /// + /// + /// * CRL Extensions: Optional extensions for the CRL. X509v3 Authority Key + /// Identifier: Identifies the public key associated with the private key + /// used to sign the certificate. X509v3 CRL Number:: Decimal sequence number + /// for the CRL. + /// + /// + /// * Signature Algorithm: Algorithm used by your private CA to sign the CRL. + /// + /// + /// * Signature Value: Signature computed over the CRL. + /// + /// + /// Certificate revocation lists created by Amazon Web Services Private CA are + /// DER-encoded. You can use the following OpenSSL command to list a CRL. + /// + /// + /// openssl crl -inform DER -text -in crl_path -noout + /// + /// + /// For more information, see Planning a certificate revocation list (CRL) (https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html) + /// in the Amazon Web Services Private Certificate Authority User Guide #[serde(default, skip_serializing_if = "Option::is_none", rename = "crlConfiguration")] pub crl_configuration: Option, - /// Contains information to enable and configure Online Certificate Status Protocol (OCSP) for validating certificate revocation status. - /// When you revoke a certificate, OCSP responses may take up to 60 minutes to reflect the new status. + /// Contains information to enable and configure Online Certificate Status Protocol + /// (OCSP) for validating certificate revocation status. + /// + /// + /// When you revoke a certificate, OCSP responses may take up to 60 minutes to + /// reflect the new status. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ocspConfiguration")] pub ocsp_configuration: Option, } -/// Contains configuration information for a certificate revocation list (CRL). Your private certificate authority (CA) creates base CRLs. Delta CRLs are not supported. You can enable CRLs for your new or an existing private CA by setting the Enabled parameter to true. Your private CA writes CRLs to an S3 bucket that you specify in the S3BucketName parameter. You can hide the name of your bucket by specifying a value for the CustomCname parameter. Your private CA copies the CNAME or the S3 bucket name to the CRL Distribution Points extension of each certificate it issues. Your S3 bucket policy must give write permission to Amazon Web Services Private CA. -/// Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your CRLs (https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption). -/// Your private CA uses the value in the ExpirationInDays parameter to calculate the nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's expiration date or when a certificate is revoked. When a certificate is revoked, it appears in the CRL until the certificate expires, and then in one additional CRL after expiration, and it always appears in the audit report. -/// A CRL is typically updated approximately 30 minutes after a certificate is revoked. If for any reason a CRL update fails, Amazon Web Services Private CA makes further attempts every 15 minutes. -/// CRLs contain the following fields: -/// * Version: The current version number defined in RFC 5280 is V2. The integer value is 0x1. -/// * Signature Algorithm: The name of the algorithm used to sign the CRL. -/// * Issuer: The X.500 distinguished name of your private CA that issued the CRL. -/// * Last Update: The issue date and time of this CRL. -/// * Next Update: The day and time by which the next CRL will be issued. -/// * Revoked Certificates: List of revoked certificates. Each list item contains the following information. Serial Number: The serial number, in hexadecimal format, of the revoked certificate. Revocation Date: Date and time the certificate was revoked. CRL Entry Extensions: Optional extensions for the CRL entry. X509v3 CRL Reason Code: Reason the certificate was revoked. -/// * CRL Extensions: Optional extensions for the CRL. X509v3 Authority Key Identifier: Identifies the public key associated with the private key used to sign the certificate. X509v3 CRL Number:: Decimal sequence number for the CRL. -/// * Signature Algorithm: Algorithm used by your private CA to sign the CRL. -/// * Signature Value: Signature computed over the CRL. -/// Certificate revocation lists created by Amazon Web Services Private CA are DER-encoded. You can use the following OpenSSL command to list a CRL. -/// openssl crl -inform DER -text -in crl_path -noout -/// For more information, see Planning a certificate revocation list (CRL) (https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html) in the Amazon Web Services Private Certificate Authority User Guide +/// Contains configuration information for a certificate revocation list (CRL). +/// Your private certificate authority (CA) creates base CRLs. Delta CRLs are +/// not supported. You can enable CRLs for your new or an existing private CA +/// by setting the Enabled parameter to true. Your private CA writes CRLs to +/// an S3 bucket that you specify in the S3BucketName parameter. You can hide +/// the name of your bucket by specifying a value for the CustomCname parameter. +/// Your private CA copies the CNAME or the S3 bucket name to the CRL Distribution +/// Points extension of each certificate it issues. Your S3 bucket policy must +/// give write permission to Amazon Web Services Private CA. +/// +/// +/// Amazon Web Services Private CA assets that are stored in Amazon S3 can be +/// protected with encryption. For more information, see Encrypting Your CRLs +/// (https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption). +/// +/// +/// Your private CA uses the value in the ExpirationInDays parameter to calculate +/// the nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's +/// expiration date or when a certificate is revoked. When a certificate is revoked, +/// it appears in the CRL until the certificate expires, and then in one additional +/// CRL after expiration, and it always appears in the audit report. +/// +/// +/// A CRL is typically updated approximately 30 minutes after a certificate is +/// revoked. If for any reason a CRL update fails, Amazon Web Services Private +/// CA makes further attempts every 15 minutes. +/// +/// +/// CRLs contain the following fields: +/// +/// +/// * Version: The current version number defined in RFC 5280 is V2. The integer +/// value is 0x1. +/// +/// +/// * Signature Algorithm: The name of the algorithm used to sign the CRL. +/// +/// +/// * Issuer: The X.500 distinguished name of your private CA that issued +/// the CRL. +/// +/// +/// * Last Update: The issue date and time of this CRL. +/// +/// +/// * Next Update: The day and time by which the next CRL will be issued. +/// +/// +/// * Revoked Certificates: List of revoked certificates. Each list item contains +/// the following information. Serial Number: The serial number, in hexadecimal +/// format, of the revoked certificate. Revocation Date: Date and time the +/// certificate was revoked. CRL Entry Extensions: Optional extensions for +/// the CRL entry. X509v3 CRL Reason Code: Reason the certificate was revoked. +/// +/// +/// * CRL Extensions: Optional extensions for the CRL. X509v3 Authority Key +/// Identifier: Identifies the public key associated with the private key +/// used to sign the certificate. X509v3 CRL Number:: Decimal sequence number +/// for the CRL. +/// +/// +/// * Signature Algorithm: Algorithm used by your private CA to sign the CRL. +/// +/// +/// * Signature Value: Signature computed over the CRL. +/// +/// +/// Certificate revocation lists created by Amazon Web Services Private CA are +/// DER-encoded. You can use the following OpenSSL command to list a CRL. +/// +/// +/// openssl crl -inform DER -text -in crl_path -noout +/// +/// +/// For more information, see Planning a certificate revocation list (CRL) (https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html) +/// in the Amazon Web Services Private Certificate Authority User Guide #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityRevocationConfigurationCrlConfiguration { #[serde(default, skip_serializing_if = "Option::is_none", rename = "customCNAME")] @@ -306,8 +547,12 @@ pub struct CertificateAuthorityRevocationConfigurationCrlConfiguration { pub s3_object_acl: Option, } -/// Contains information to enable and configure Online Certificate Status Protocol (OCSP) for validating certificate revocation status. -/// When you revoke a certificate, OCSP responses may take up to 60 minutes to reflect the new status. +/// Contains information to enable and configure Online Certificate Status Protocol +/// (OCSP) for validating certificate revocation status. +/// +/// +/// When you revoke a certificate, OCSP responses may take up to 60 minutes to +/// reflect the new status. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityRevocationConfigurationOcspConfiguration { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -316,7 +561,12 @@ pub struct CertificateAuthorityRevocationConfigurationOcspConfiguration { pub ocsp_custom_cname: Option, } -/// Tags are labels that you can use to identify and organize your private CAs. Each tag consists of a key and an optional value. You can associate up to 50 tags with a private CA. To add one or more tags to a private CA, call the TagCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_TagCertificateAuthority.html) action. To remove a tag, call the UntagCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_UntagCertificateAuthority.html) action. +/// Tags are labels that you can use to identify and organize your private CAs. +/// Each tag consists of a key and an optional value. You can associate up to +/// 50 tags with a private CA. To add one or more tags to a private CA, call +/// the TagCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_TagCertificateAuthority.html) +/// action. To remove a tag, call the UntagCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_UntagCertificateAuthority.html) +/// action. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityTags { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -328,30 +578,47 @@ pub struct CertificateAuthorityTags { /// CertificateAuthorityStatus defines the observed state of CertificateAuthority #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub csr: Option, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityStatusConditions { /// Last time the condition transitioned from one status to another. diff --git a/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificateauthorityactivations.rs b/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificateauthorityactivations.rs index 562e51e58..ffb216228 100644 --- a/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificateauthorityactivations.rs +++ b/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificateauthorityactivations.rs @@ -12,25 +12,43 @@ use serde::{Serialize, Deserialize}; #[kube(status = "CertificateAuthorityActivationStatus")] #[kube(schema = "disabled")] pub struct CertificateAuthorityActivationSpec { - /// SecretKeyReference combines a k8s corev1.SecretReference with a specific key within the referred-to Secret + /// SecretKeyReference combines a k8s corev1.SecretReference with a + /// specific key within the referred-to Secret pub certificate: CertificateAuthorityActivationCertificate, - /// The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html). This must be of the form: - /// arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 + /// The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority + /// (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html). + /// This must be of the form: + /// + /// + /// arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 #[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateAuthorityARN")] pub certificate_authority_arn: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateAuthorityRef")] pub certificate_authority_ref: Option, - /// A PEM-encoded file that contains all of your certificates, other than the certificate you're importing, chaining up to your root CA. Your Amazon Web Services Private CA-hosted or on-premises root certificate is the last in the chain, and each certificate in the chain signs the one preceding. - /// This parameter must be supplied when you import a subordinate CA. When you import a root CA, there is no chain. + /// A PEM-encoded file that contains all of your certificates, other than the + /// certificate you're importing, chaining up to your root CA. Your Amazon Web + /// Services Private CA-hosted or on-premises root certificate is the last in + /// the chain, and each certificate in the chain signs the one preceding. + /// + /// + /// This parameter must be supplied when you import a subordinate CA. When you + /// import a root CA, there is no chain. #[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateChain")] pub certificate_chain: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub status: Option, } -/// SecretKeyReference combines a k8s corev1.SecretReference with a specific key within the referred-to Secret +/// SecretKeyReference combines a k8s corev1.SecretReference with a +/// specific key within the referred-to Secret #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityActivationCertificate { /// Key is the key within the secret @@ -43,16 +61,24 @@ pub struct CertificateAuthorityActivationCertificate { pub namespace: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityActivationCertificateAuthorityRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityActivationCertificateAuthorityRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -62,28 +88,45 @@ pub struct CertificateAuthorityActivationCertificateAuthorityRefFrom { /// CertificateAuthorityActivationStatus defines the observed state of CertificateAuthorityActivation #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityActivationStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityActivationStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateAuthorityActivationStatusConditions { /// Last time the condition transitioned from one status to another. diff --git a/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificates.rs b/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificates.rs index ca02546d2..543614d0f 100644 --- a/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificates.rs +++ b/kube-custom-resources-rs/src/acmpca_services_k8s_aws/v1alpha1/certificates.rs @@ -12,60 +12,156 @@ use serde::{Serialize, Deserialize}; #[kube(status = "CertificateStatus")] #[kube(schema = "disabled")] pub struct CertificateSpec { - /// Specifies X.509 certificate information to be included in the issued certificate. An APIPassthrough or APICSRPassthrough template variant must be selected, or else this parameter is ignored. For more information about using these templates, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html). - /// If conflicting or duplicate certificate information is supplied during certificate issuance, Amazon Web Services Private CA applies order of operation rules (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations) to determine what information is used. + /// Specifies X.509 certificate information to be included in the issued certificate. + /// An APIPassthrough or APICSRPassthrough template variant must be selected, + /// or else this parameter is ignored. For more information about using these + /// templates, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html). + /// + /// + /// If conflicting or duplicate certificate information is supplied during certificate + /// issuance, Amazon Web Services Private CA applies order of operation rules + /// (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations) + /// to determine what information is used. #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiPassthrough")] pub api_passthrough: Option, - /// The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html). This must be of the form: - /// arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 + /// The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority + /// (https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html). + /// This must be of the form: + /// + /// + /// arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 #[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateAuthorityARN")] pub certificate_authority_arn: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateAuthorityRef")] pub certificate_authority_ref: Option, - /// The certificate signing request (CSR) for the certificate you want to issue. As an example, you can use the following OpenSSL command to create the CSR and a 2048 bit RSA private key. - /// openssl req -new -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr - /// If you have a configuration file, you can then use the following OpenSSL command. The usr_cert block in the configuration file contains your X509 version 3 extensions. - /// openssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr - /// Note: A CSR must provide either a subject name or a subject alternative name or the request will be rejected. + /// The certificate signing request (CSR) for the certificate you want to issue. + /// As an example, you can use the following OpenSSL command to create the CSR + /// and a 2048 bit RSA private key. + /// + /// + /// openssl req -new -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem + /// -out csr/test_cert_.csr + /// + /// + /// If you have a configuration file, you can then use the following OpenSSL + /// command. The usr_cert block in the configuration file contains your X509 + /// version 3 extensions. + /// + /// + /// openssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey rsa:2048 + /// -days 365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr + /// + /// + /// Note: A CSR must provide either a subject name or a subject alternative name + /// or the request will be rejected. #[serde(default, skip_serializing_if = "Option::is_none")] pub csr: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "csrRef")] pub csr_ref: Option, - /// The name of the algorithm that will be used to sign the certificate to be issued. - /// This parameter should not be confused with the SigningAlgorithm parameter used to sign a CSR in the CreateCertificateAuthority action. - /// The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. + /// The name of the algorithm that will be used to sign the certificate to be + /// issued. + /// + /// + /// This parameter should not be confused with the SigningAlgorithm parameter + /// used to sign a CSR in the CreateCertificateAuthority action. + /// + /// + /// The specified signing algorithm family (RSA or ECDSA) must match the algorithm + /// family of the CA's secret key. #[serde(rename = "signingAlgorithm")] pub signing_algorithm: String, - /// Specifies a custom configuration template to use when issuing a certificate. If this parameter is not provided, Amazon Web Services Private CA defaults to the EndEntityCertificate/V1 template. For CA certificates, you should choose the shortest path length that meets your needs. The path length is indicated by the PathLenN portion of the ARN, where N is the CA depth (https://docs.aws.amazon.com/privateca/latest/userguide/PcaTerms.html#terms-cadepth). - /// Note: The CA depth configured on a subordinate CA certificate must not exceed the limit set by its parents in the CA hierarchy. - /// For a list of TemplateArn values supported by Amazon Web Services Private CA, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html). + /// Specifies a custom configuration template to use when issuing a certificate. + /// If this parameter is not provided, Amazon Web Services Private CA defaults + /// to the EndEntityCertificate/V1 template. For CA certificates, you should + /// choose the shortest path length that meets your needs. The path length is + /// indicated by the PathLenN portion of the ARN, where N is the CA depth (https://docs.aws.amazon.com/privateca/latest/userguide/PcaTerms.html#terms-cadepth). + /// + /// + /// Note: The CA depth configured on a subordinate CA certificate must not exceed + /// the limit set by its parents in the CA hierarchy. + /// + /// + /// For a list of TemplateArn values supported by Amazon Web Services Private + /// CA, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html). #[serde(default, skip_serializing_if = "Option::is_none", rename = "templateARN")] pub template_arn: Option, - /// Information describing the end of the validity period of the certificate. This parameter sets the “Not After” date for the certificate. - /// Certificate validity is the period of time during which a certificate is valid. Validity can be expressed as an explicit date and time when the certificate expires, or as a span of time after issuance, stated in days, months, or years. For more information, see Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) in RFC 5280. - /// This value is unaffected when ValidityNotBefore is also specified. For example, if Validity is set to 20 days in the future, the certificate will expire 20 days from issuance time regardless of the ValidityNotBefore value. - /// The end of the validity period configured on a certificate must not exceed the limit set on its parents in the CA hierarchy. + /// Information describing the end of the validity period of the certificate. + /// This parameter sets the “Not After” date for the certificate. + /// + /// + /// Certificate validity is the period of time during which a certificate is + /// valid. Validity can be expressed as an explicit date and time when the certificate + /// expires, or as a span of time after issuance, stated in days, months, or + /// years. For more information, see Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) + /// in RFC 5280. + /// + /// + /// This value is unaffected when ValidityNotBefore is also specified. For example, + /// if Validity is set to 20 days in the future, the certificate will expire + /// 20 days from issuance time regardless of the ValidityNotBefore value. + /// + /// + /// The end of the validity period configured on a certificate must not exceed + /// the limit set on its parents in the CA hierarchy. pub validity: CertificateValidity, - /// Information describing the start of the validity period of the certificate. This parameter sets the “Not Before" date for the certificate. - /// By default, when issuing a certificate, Amazon Web Services Private CA sets the "Not Before" date to the issuance time minus 60 minutes. This compensates for clock inconsistencies across computer systems. The ValidityNotBefore parameter can be used to customize the “Not Before” value. - /// Unlike the Validity parameter, the ValidityNotBefore parameter is optional. - /// The ValidityNotBefore value is expressed as an explicit date and time, using the Validity type value ABSOLUTE. For more information, see Validity (https://docs.aws.amazon.com/privateca/latest/APIReference/API_Validity.html) in this API reference and Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) in RFC 5280. + /// Information describing the start of the validity period of the certificate. + /// This parameter sets the “Not Before" date for the certificate. + /// + /// + /// By default, when issuing a certificate, Amazon Web Services Private CA sets + /// the "Not Before" date to the issuance time minus 60 minutes. This compensates + /// for clock inconsistencies across computer systems. The ValidityNotBefore + /// parameter can be used to customize the “Not Before” value. + /// + /// + /// Unlike the Validity parameter, the ValidityNotBefore parameter is optional. + /// + /// + /// The ValidityNotBefore value is expressed as an explicit date and time, using + /// the Validity type value ABSOLUTE. For more information, see Validity (https://docs.aws.amazon.com/privateca/latest/APIReference/API_Validity.html) + /// in this API reference and Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) + /// in RFC 5280. #[serde(default, skip_serializing_if = "Option::is_none", rename = "validityNotBefore")] pub validity_not_before: Option, } -/// Specifies X.509 certificate information to be included in the issued certificate. An APIPassthrough or APICSRPassthrough template variant must be selected, or else this parameter is ignored. For more information about using these templates, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html). -/// If conflicting or duplicate certificate information is supplied during certificate issuance, Amazon Web Services Private CA applies order of operation rules (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations) to determine what information is used. +/// Specifies X.509 certificate information to be included in the issued certificate. +/// An APIPassthrough or APICSRPassthrough template variant must be selected, +/// or else this parameter is ignored. For more information about using these +/// templates, see Understanding Certificate Templates (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html). +/// +/// +/// If conflicting or duplicate certificate information is supplied during certificate +/// issuance, Amazon Web Services Private CA applies order of operation rules +/// (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations) +/// to determine what information is used. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthrough { /// Contains X.509 extension information for a certificate. #[serde(default, skip_serializing_if = "Option::is_none")] pub extensions: Option, - /// Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. + /// Contains information about the certificate subject. The Subject field in + /// the certificate identifies the entity that owns or controls the public key + /// in the certificate. The entity can be a user, computer, device, or service. + /// The Subject must contain an X.500 distinguished name (DN). A DN is a sequence + /// of relative distinguished names (RDNs). The RDNs are separated by commas + /// in the certificate. #[serde(default, skip_serializing_if = "Option::is_none")] pub subject: Option, } @@ -79,7 +175,8 @@ pub struct CertificateApiPassthroughExtensions { pub custom_extensions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "extendedKeyUsage")] pub extended_key_usage: Option>, - /// Defines one or more purposes for which the key contained in the certificate can be used. Default value for each option is false. + /// Defines one or more purposes for which the key contained in the certificate + /// can be used. Default value for each option is false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyUsage")] pub key_usage: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "subjectAlternativeNames")] @@ -95,25 +192,34 @@ pub struct CertificateApiPassthroughExtensionsCertificatePolicies { pub policy_qualifiers: Option>, } -/// Modifies the CertPolicyId of a PolicyInformation object with a qualifier. Amazon Web Services Private CA supports the certification practice statement (CPS) qualifier. +/// Modifies the CertPolicyId of a PolicyInformation object with a qualifier. +/// Amazon Web Services Private CA supports the certification practice statement +/// (CPS) qualifier. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughExtensionsCertificatePoliciesPolicyQualifiers { #[serde(default, skip_serializing_if = "Option::is_none", rename = "policyQualifierID")] pub policy_qualifier_id: Option, - /// Defines a PolicyInformation qualifier. Amazon Web Services Private CA supports the certification practice statement (CPS) qualifier (https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4) defined in RFC 5280. + /// Defines a PolicyInformation qualifier. Amazon Web Services Private CA supports + /// the certification practice statement (CPS) qualifier (https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4) + /// defined in RFC 5280. #[serde(default, skip_serializing_if = "Option::is_none")] pub qualifier: Option, } -/// Defines a PolicyInformation qualifier. Amazon Web Services Private CA supports the certification practice statement (CPS) qualifier (https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4) defined in RFC 5280. +/// Defines a PolicyInformation qualifier. Amazon Web Services Private CA supports +/// the certification practice statement (CPS) qualifier (https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4) +/// defined in RFC 5280. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughExtensionsCertificatePoliciesPolicyQualifiersQualifier { #[serde(default, skip_serializing_if = "Option::is_none", rename = "cpsURI")] pub cps_uri: Option, } -/// Specifies the X.509 extension information for a certificate. -/// Extensions present in CustomExtensions follow the ApiPassthrough template rules (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations). +/// Specifies the X.509 extension information for a certificate. +/// +/// +/// Extensions present in CustomExtensions follow the ApiPassthrough template +/// rules (https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html#template-order-of-operations). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughExtensionsCustomExtensions { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -124,7 +230,8 @@ pub struct CertificateApiPassthroughExtensionsCustomExtensions { pub value: Option, } -/// Specifies additional purposes for which the certified public key may be used other than basic purposes indicated in the KeyUsage extension. +/// Specifies additional purposes for which the certified public key may be used +/// other than basic purposes indicated in the KeyUsage extension. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughExtensionsExtendedKeyUsage { #[serde(default, skip_serializing_if = "Option::is_none", rename = "extendedKeyUsageObjectIdentifier")] @@ -133,7 +240,8 @@ pub struct CertificateApiPassthroughExtensionsExtendedKeyUsage { pub extended_key_usage_type: Option, } -/// Defines one or more purposes for which the key contained in the certificate can be used. Default value for each option is false. +/// Defines one or more purposes for which the key contained in the certificate +/// can be used. Default value for each option is false. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughExtensionsKeyUsage { #[serde(default, skip_serializing_if = "Option::is_none", rename = "crlSign")] @@ -156,20 +264,31 @@ pub struct CertificateApiPassthroughExtensionsKeyUsage { pub non_repudiation: Option, } -/// Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). Only one of the following naming options should be provided. Providing more than one option results in an InvalidArgsException error. +/// Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280). +/// Only one of the following naming options should be provided. Providing more +/// than one option results in an InvalidArgsException error. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughExtensionsSubjectAlternativeNames { - /// Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. + /// Contains information about the certificate subject. The Subject field in + /// the certificate identifies the entity that owns or controls the public key + /// in the certificate. The entity can be a user, computer, device, or service. + /// The Subject must contain an X.500 distinguished name (DN). A DN is a sequence + /// of relative distinguished names (RDNs). The RDNs are separated by commas + /// in the certificate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "directoryName")] pub directory_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsName")] pub dns_name: Option, - /// Describes an Electronic Data Interchange (EDI) entity as described in as defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) in RFC 5280. + /// Describes an Electronic Data Interchange (EDI) entity as described in as + /// defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) + /// in RFC 5280. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ediPartyName")] pub edi_party_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipAddress")] pub ip_address: Option, - /// Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) and value. The OID must satisfy the regular expression shown below. For more information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). + /// Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) + /// and value. The OID must satisfy the regular expression shown below. For more + /// information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). #[serde(default, skip_serializing_if = "Option::is_none", rename = "otherName")] pub other_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "registeredID")] @@ -180,7 +299,12 @@ pub struct CertificateApiPassthroughExtensionsSubjectAlternativeNames { pub uniform_resource_identifier: Option, } -/// Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. +/// Contains information about the certificate subject. The Subject field in +/// the certificate identifies the entity that owns or controls the public key +/// in the certificate. The entity can be a user, computer, device, or service. +/// The Subject must contain an X.500 distinguished name (DN). A DN is a sequence +/// of relative distinguished names (RDNs). The RDNs are separated by commas +/// in the certificate. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughExtensionsSubjectAlternativeNamesDirectoryName { #[serde(default, skip_serializing_if = "Option::is_none", rename = "commonName")] @@ -224,7 +348,9 @@ pub struct CertificateApiPassthroughExtensionsSubjectAlternativeNamesDirectoryNa pub value: Option, } -/// Describes an Electronic Data Interchange (EDI) entity as described in as defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) in RFC 5280. +/// Describes an Electronic Data Interchange (EDI) entity as described in as +/// defined in Subject Alternative Name (https://datatracker.ietf.org/doc/html/rfc5280) +/// in RFC 5280. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughExtensionsSubjectAlternativeNamesEdiPartyName { #[serde(default, skip_serializing_if = "Option::is_none", rename = "nameAssigner")] @@ -233,7 +359,9 @@ pub struct CertificateApiPassthroughExtensionsSubjectAlternativeNamesEdiPartyNam pub party_name: Option, } -/// Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) and value. The OID must satisfy the regular expression shown below. For more information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). +/// Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) +/// and value. The OID must satisfy the regular expression shown below. For more +/// information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughExtensionsSubjectAlternativeNamesOtherName { #[serde(default, skip_serializing_if = "Option::is_none", rename = "typeID")] @@ -242,7 +370,12 @@ pub struct CertificateApiPassthroughExtensionsSubjectAlternativeNamesOtherName { pub value: Option, } -/// Contains information about the certificate subject. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. +/// Contains information about the certificate subject. The Subject field in +/// the certificate identifies the entity that owns or controls the public key +/// in the certificate. The entity can be a user, computer, device, or service. +/// The Subject must contain an X.500 distinguished name (DN). A DN is a sequence +/// of relative distinguished names (RDNs). The RDNs are separated by commas +/// in the certificate. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateApiPassthroughSubject { #[serde(default, skip_serializing_if = "Option::is_none", rename = "commonName")] @@ -286,42 +419,72 @@ pub struct CertificateApiPassthroughSubjectCustomAttributes { pub value: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateCertificateAuthorityRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateCertificateAuthorityRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateCsrRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateCsrRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// Information describing the end of the validity period of the certificate. This parameter sets the “Not After” date for the certificate. -/// Certificate validity is the period of time during which a certificate is valid. Validity can be expressed as an explicit date and time when the certificate expires, or as a span of time after issuance, stated in days, months, or years. For more information, see Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) in RFC 5280. -/// This value is unaffected when ValidityNotBefore is also specified. For example, if Validity is set to 20 days in the future, the certificate will expire 20 days from issuance time regardless of the ValidityNotBefore value. -/// The end of the validity period configured on a certificate must not exceed the limit set on its parents in the CA hierarchy. +/// Information describing the end of the validity period of the certificate. +/// This parameter sets the “Not After” date for the certificate. +/// +/// +/// Certificate validity is the period of time during which a certificate is +/// valid. Validity can be expressed as an explicit date and time when the certificate +/// expires, or as a span of time after issuance, stated in days, months, or +/// years. For more information, see Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) +/// in RFC 5280. +/// +/// +/// This value is unaffected when ValidityNotBefore is also specified. For example, +/// if Validity is set to 20 days in the future, the certificate will expire +/// 20 days from issuance time regardless of the ValidityNotBefore value. +/// +/// +/// The end of the validity period configured on a certificate must not exceed +/// the limit set on its parents in the CA hierarchy. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateValidity { #[serde(default, skip_serializing_if = "Option::is_none", rename = "type_")] @@ -330,10 +493,23 @@ pub struct CertificateValidity { pub value: Option, } -/// Information describing the start of the validity period of the certificate. This parameter sets the “Not Before" date for the certificate. -/// By default, when issuing a certificate, Amazon Web Services Private CA sets the "Not Before" date to the issuance time minus 60 minutes. This compensates for clock inconsistencies across computer systems. The ValidityNotBefore parameter can be used to customize the “Not Before” value. -/// Unlike the Validity parameter, the ValidityNotBefore parameter is optional. -/// The ValidityNotBefore value is expressed as an explicit date and time, using the Validity type value ABSOLUTE. For more information, see Validity (https://docs.aws.amazon.com/privateca/latest/APIReference/API_Validity.html) in this API reference and Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) in RFC 5280. +/// Information describing the start of the validity period of the certificate. +/// This parameter sets the “Not Before" date for the certificate. +/// +/// +/// By default, when issuing a certificate, Amazon Web Services Private CA sets +/// the "Not Before" date to the issuance time minus 60 minutes. This compensates +/// for clock inconsistencies across computer systems. The ValidityNotBefore +/// parameter can be used to customize the “Not Before” value. +/// +/// +/// Unlike the Validity parameter, the ValidityNotBefore parameter is optional. +/// +/// +/// The ValidityNotBefore value is expressed as an explicit date and time, using +/// the Validity type value ABSOLUTE. For more information, see Validity (https://docs.aws.amazon.com/privateca/latest/APIReference/API_Validity.html) +/// in this API reference and Validity (https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5) +/// in RFC 5280. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateValidityNotBefore { #[serde(default, skip_serializing_if = "Option::is_none", rename = "type_")] @@ -345,28 +521,45 @@ pub struct CertificateValidityNotBefore { /// CertificateStatus defines the observed state of Certificate #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CertificateStatusConditions { /// Last time the condition transitioned from one status to another. diff --git a/kube-custom-resources-rs/src/apps_3scale_net/v1alpha1/apimanagers.rs b/kube-custom-resources-rs/src/apps_3scale_net/v1alpha1/apimanagers.rs index c29c1fe93..3d44687e9 100644 --- a/kube-custom-resources-rs/src/apps_3scale_net/v1alpha1/apimanagers.rs +++ b/kube-custom-resources-rs/src/apps_3scale_net/v1alpha1/apimanagers.rs @@ -26,8 +26,6 @@ pub struct APIManagerSpec { pub high_availability: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")] pub image_pull_secrets: Option>, - #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageStreamTagImportInsecure")] - pub image_stream_tag_import_insecure: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub monitoring: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")] @@ -79,6 +77,9 @@ pub struct APIManagerApicastProductionSpec { /// CustomPolicies specifies an array of defined custome policies to be loaded #[serde(default, skip_serializing_if = "Option::is_none", rename = "customPolicies")] pub custom_policies: Option>, + /// Hpa specifies an array of defined HPA values + #[serde(default, skip_serializing_if = "Option::is_none")] + pub hpa: Option, /// HTTPProxy specifies a HTTP(S) Proxy to be used for connecting to HTTP services. Authentication is not supported. Format is ://: #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpProxy")] pub http_proxy: Option, @@ -1908,6 +1909,9 @@ pub struct APIManagerBackendListenerSpec { pub affinity: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, + /// Hpa specifies an array of defined HPA values + #[serde(default, skip_serializing_if = "Option::is_none")] + pub hpa: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub labels: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")] @@ -2900,6 +2904,9 @@ pub struct APIManagerBackendWorkerSpec { pub affinity: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, + /// Hpa specifies an array of defined HPA values + #[serde(default, skip_serializing_if = "Option::is_none")] + pub hpa: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub labels: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")] @@ -9211,7 +9218,7 @@ pub struct APIManagerStatus { /// Current state of the APIManager resource. Conditions represent the latest available observations of an object's state #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, - /// APIManager Deployment Configs + /// APIManager Deployments pub deployments: APIManagerStatusDeployments, } @@ -9233,7 +9240,7 @@ pub struct APIManagerStatusConditions { pub r#type: String, } -/// APIManager Deployment Configs +/// APIManager Deployments #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct APIManagerStatusDeployments { /// Deployments are ready to serve requests diff --git a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/configconstraints.rs b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/configconstraints.rs index 035322634..e2b15aef5 100644 --- a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/configconstraints.rs +++ b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/configconstraints.rs @@ -14,66 +14,71 @@ use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; #[kube(status = "ConfigConstraintStatus")] #[kube(schema = "disabled")] pub struct ConfigConstraintSpec { - /// The cue type name, which generates the openapi schema. + /// Top level key used to get the cue rules to validate the config file. It must exist in 'ConfigSchema' TODO (refactored to ConfigSchemaTopLevelKey) #[serde(default, skip_serializing_if = "Option::is_none", rename = "cfgSchemaTopLevelName")] pub cfg_schema_top_level_name: Option, - /// Imposes restrictions on database parameter's rule. + /// List constraints rules for each config parameters. TODO (refactored to ConfigSchema) #[serde(default, skip_serializing_if = "Option::is_none", rename = "configurationSchema")] pub configuration_schema: Option, - /// Used to monitor pod fields. + /// A set of actions for regenerating local configs. + /// It works when: - different engine roles have different config, such as redis primary & secondary - after a role switch, the local config will be regenerated with the help of DownwardActions TODO (refactored to DownwardActions) #[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPIOptions")] pub downward_api_options: Option>, - /// A list of DynamicParameter. Modifications of these parameters trigger a config dynamic reload without process restart. + /// Indicates the dynamic reload action and restart action can be merged to a restart action. + /// When a batch of parameters updates incur both restart & dynamic reload, it works as: - set to true, the two actions merged to only one restart action - set to false, the two actions cannot be merged, the actions executed in order [dynamic reload, restart] + #[serde(default, skip_serializing_if = "Option::is_none", rename = "dynamicActionCanBeMerged")] + pub dynamic_action_can_be_merged: Option, + /// Specifies the policy for selecting the parameters of dynamic reload actions. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "dynamicParameterSelectedPolicy")] + pub dynamic_parameter_selected_policy: Option, + /// A list of DynamicParameter. Modifications of dynamic parameters trigger a reload action without process restart. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dynamicParameters")] pub dynamic_parameters: Option>, - /// Indicates whether to execute hot update parameters when the pod needs to be restarted. If set to true, the controller performs the hot update and then restarts the pod. - #[serde(default, skip_serializing_if = "Option::is_none", rename = "forceHotUpdate")] - pub force_hot_update: Option, - /// Describes the format of the configuration file. The controller will: 1. Parse the configuration file 2. Analyze the modified parameters 3. Apply corresponding policies. + /// Describes the format of the config file. The controller works as follows: 1. Parse the config file 2. Get the modified parameters 3. Trigger the corresponding action #[serde(rename = "formatterConfig")] pub formatter_config: ConfigConstraintFormatterConfig, - /// Describes parameters that users are prohibited from modifying. + /// Describes parameters that are prohibited to do any modifications. #[serde(default, skip_serializing_if = "Option::is_none", rename = "immutableParameters")] pub immutable_parameters: Option>, - /// Specifies whether the process supports reload. If set, the controller determines the behavior of the engine instance based on the configuration templates. It will either restart or reload depending on whether any parameters in the StaticParameters have been modified. + /// Specifies the dynamic reload actions supported by the engine. If set, the controller call the scripts defined in the actions for a dynamic parameter upgrade. The actions are called only when the modified parameter is defined in dynamicParameters part && DynamicReloadActions != nil TODO (refactored to DynamicReloadActions) #[serde(default, skip_serializing_if = "Option::is_none", rename = "reloadOptions")] pub reload_options: Option, - /// A list of ScriptConfig. These scripts can be used by volume trigger, downward trigger, or tool image. + /// A list of ScriptConfig used by the actions defined in dynamic reload and downward actions. #[serde(default, skip_serializing_if = "Option::is_none", rename = "scriptConfigs")] pub script_configs: Option>, - /// Used to match the label on the pod. For example, a pod of the primary matches on the patroni cluster. + /// Used to match labels on the pod to do a dynamic reload TODO (refactored to DynamicReloadSelector) #[serde(default, skip_serializing_if = "Option::is_none")] pub selector: Option, - /// A list of StaticParameter. Modifications of these parameters trigger a process restart. + /// A list of StaticParameter. Modifications of static parameters trigger a process restart. #[serde(default, skip_serializing_if = "Option::is_none", rename = "staticParameters")] pub static_parameters: Option>, - /// Used to configure the init container. + /// Tools used by the dynamic reload actions. Usually it is referenced by the 'init container' for 'cp' it to a binary volume. TODO (refactored to ReloadToolsImage) #[serde(default, skip_serializing_if = "Option::is_none", rename = "toolsImageSpec")] pub tools_image_spec: Option, } -/// Imposes restrictions on database parameter's rule. +/// List constraints rules for each config parameters. TODO (refactored to ConfigSchema) #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintConfigurationSchema { /// Enables providers to verify user configurations using the CUE language. #[serde(default, skip_serializing_if = "Option::is_none")] pub cue: Option, - /// Provides a mechanism that allows providers to validate the modified parameters using JSON. + /// Transforms the schema from CUE to json for further OpenAPI validation TODO (refactored to SchemaInJson) #[serde(default, skip_serializing_if = "Option::is_none")] pub schema: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintDownwardApiOptions { - /// The command used to execute for the downward API. This field is optional. + /// The command used to execute for the downward API. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, - /// Represents a list of downward API volume files. This is a required field. + /// Represents a list of downward API volume files. pub items: Vec, - /// Specifies the mount point of the scripts file. This is a required field and must be a string of maximum length 128. + /// Specifies the mount point of the scripts file. #[serde(rename = "mountPoint")] pub mount_point: String, - /// Specifies the name of the field. This is a required field and must be a string of maximum length 63. The name should match the regex pattern `^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`. + /// Specifies the name of the field. It must be a string of maximum length 63. The name should match the regex pattern `^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`. pub name: String, } @@ -117,18 +122,27 @@ pub struct ConfigConstraintDownwardApiOptionsItemsResourceFieldRef { pub resource: String, } -/// Describes the format of the configuration file. The controller will: 1. Parse the configuration file 2. Analyze the modified parameters 3. Apply corresponding policies. +/// ConfigConstraintSpec defines the desired state of ConfigConstraint +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ConfigConstraintDynamicParameterSelectedPolicy { + #[serde(rename = "all")] + All, + #[serde(rename = "dynamic")] + Dynamic, +} + +/// Describes the format of the config file. The controller works as follows: 1. Parse the config file 2. Get the modified parameters 3. Trigger the corresponding action #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintFormatterConfig { - /// The configuration file format. Valid values are `ini`, `xml`, `yaml`, `json`, `hcl`, `dotenv`, `properties` and `toml`. Each format has its own characteristics and use cases. - /// - ini: a configuration file that consists of a text-based content with a structure and syntax comprising key–value pairs for properties, reference wiki: https://en.wikipedia.org/wiki/INI_file - xml: reference wiki: https://en.wikipedia.org/wiki/XML - yaml: a configuration file support for complex data types and structures. - json: reference wiki: https://en.wikipedia.org/wiki/JSON - hcl: The HashiCorp Configuration Language (HCL) is a configuration language authored by HashiCorp, reference url: https://www.linode.com/docs/guides/introduction-to-hcl/ - dotenv: this was a plain text file with simple key–value pairs, reference wiki: https://en.wikipedia.org/wiki/Configuration_file#MS-DOS - properties: a file extension mainly used in Java, reference wiki: https://en.wikipedia.org/wiki/.properties - toml: reference wiki: https://en.wikipedia.org/wiki/TOML - props-plus: a file extension mainly used in Java, support CamelCase(e.g: brokerMaxConnectionsPerIp) + /// The config file format. Valid values are `ini`, `xml`, `yaml`, `json`, `hcl`, `dotenv`, `properties` and `toml`. Each format has its own characteristics and use cases. + /// - ini: is a text-based content with a structure and syntax comprising key–value pairs for properties, reference wiki: https://en.wikipedia.org/wiki/INI_file - xml: refers to wiki: https://en.wikipedia.org/wiki/XML - yaml: supports for complex data types and structures. - json: refers to wiki: https://en.wikipedia.org/wiki/JSON - hcl: The HashiCorp Configuration Language (HCL) is a configuration language authored by HashiCorp, reference url: https://www.linode.com/docs/guides/introduction-to-hcl/ - dotenv: is a plain text file with simple key–value pairs, reference wiki: https://en.wikipedia.org/wiki/Configuration_file#MS-DOS - properties: a file extension mainly used in Java, reference wiki: https://en.wikipedia.org/wiki/.properties - toml: refers to wiki: https://en.wikipedia.org/wiki/TOML - props-plus: a file extension mainly used in Java, supports CamelCase(e.g: brokerMaxConnectionsPerIp) pub format: ConfigConstraintFormatterConfigFormat, /// A pointer to an IniConfig struct that holds the ini options. #[serde(default, skip_serializing_if = "Option::is_none", rename = "iniConfig")] pub ini_config: Option, } -/// Describes the format of the configuration file. The controller will: 1. Parse the configuration file 2. Analyze the modified parameters 3. Apply corresponding policies. +/// Describes the format of the config file. The controller works as follows: 1. Parse the config file 2. Get the modified parameters 3. Trigger the corresponding action #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum ConfigConstraintFormatterConfigFormat { #[serde(rename = "xml")] @@ -161,24 +175,24 @@ pub struct ConfigConstraintFormatterConfigIniConfig { pub section_name: Option, } -/// Specifies whether the process supports reload. If set, the controller determines the behavior of the engine instance based on the configuration templates. It will either restart or reload depending on whether any parameters in the StaticParameters have been modified. +/// Specifies the dynamic reload actions supported by the engine. If set, the controller call the scripts defined in the actions for a dynamic parameter upgrade. The actions are called only when the modified parameter is defined in dynamicParameters part && DynamicReloadActions != nil TODO (refactored to DynamicReloadActions) #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintReloadOptions { - /// Used to automatically perform the reload command when certain conditions are met. + /// Used to automatically perform the reload command when conditions are met. #[serde(default, skip_serializing_if = "Option::is_none", rename = "autoTrigger")] pub auto_trigger: Option, - /// Used to perform the reload command via a shell script. + /// Used to perform the reload command in shell script. #[serde(default, skip_serializing_if = "Option::is_none", rename = "shellTrigger")] pub shell_trigger: Option, - /// Used to perform the reload command via a Go template script. + /// Used to perform the reload command by Go template script. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tplScriptTrigger")] pub tpl_script_trigger: Option, - /// Used to trigger a reload by sending a specific Unix signal to the process. + /// Used to trigger a reload by sending a Unix signal to the process. #[serde(default, skip_serializing_if = "Option::is_none", rename = "unixSignalTrigger")] pub unix_signal_trigger: Option, } -/// Used to automatically perform the reload command when certain conditions are met. +/// Used to automatically perform the reload command when conditions are met. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintReloadOptionsAutoTrigger { /// The name of the process. @@ -186,41 +200,41 @@ pub struct ConfigConstraintReloadOptionsAutoTrigger { pub process_name: Option, } -/// Used to perform the reload command via a shell script. +/// Used to perform the reload command in shell script. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintReloadOptionsShellTrigger { - /// Specifies the list of strings used to execute for reload. + /// Specifies the list of commands for reload. pub command: Vec, - /// Specifies whether to synchronize updates parameters to the config manager. + /// Specifies whether to synchronize updates parameters to the config manager. Specifies two ways of controller to reload the parameter: - set to 'True', execute the reload action in sync mode, wait for the completion of reload - set to 'False', execute the reload action in async mode, just update the 'Configmap', no need to wait #[serde(default, skip_serializing_if = "Option::is_none")] pub sync: Option, } -/// Used to perform the reload command via a Go template script. +/// Used to perform the reload command by Go template script. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintReloadOptionsTplScriptTrigger { - /// Specifies the namespace where the referenced tpl script ConfigMap object resides. If left empty, it defaults to the "default" namespace. + /// Specifies the namespace where the referenced tpl script ConfigMap in. If left empty, by default in the "default" namespace. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, /// Specifies the reference to the ConfigMap that contains the script to be executed for reload. #[serde(rename = "scriptConfigMapRef")] pub script_config_map_ref: String, - /// Specifies whether to synchronize updates parameters to the config manager. + /// Specifies whether to synchronize updates parameters to the config manager. Specifies two ways of controller to reload the parameter: - set to 'True', execute the reload action in sync mode, wait for the completion of reload - set to 'False', execute the reload action in async mode, just update the 'Configmap', no need to wait #[serde(default, skip_serializing_if = "Option::is_none")] pub sync: Option, } -/// Used to trigger a reload by sending a specific Unix signal to the process. +/// Used to trigger a reload by sending a Unix signal to the process. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintReloadOptionsUnixSignalTrigger { - /// Represents the name of the process to which the Unix signal is sent. + /// Represents the name of the process that the Unix signal sent to. #[serde(rename = "processName")] pub process_name: String, /// Represents a valid Unix signal. Refer to the following URL for a list of all Unix signals: ../../pkg/configuration/configmap/handler.go:allUnixSignals pub signal: ConfigConstraintReloadOptionsUnixSignalTriggerSignal, } -/// Used to trigger a reload by sending a specific Unix signal to the process. +/// Used to trigger a reload by sending a Unix signal to the process. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum ConfigConstraintReloadOptionsUnixSignalTriggerSignal { #[serde(rename = "SIGHUP")] @@ -289,7 +303,7 @@ pub enum ConfigConstraintReloadOptionsUnixSignalTriggerSignal { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintScriptConfigs { - /// Specifies the namespace where the referenced tpl script ConfigMap object resides. If left empty, it defaults to the "default" namespace. + /// Specifies the namespace where the referenced tpl script ConfigMap in. If left empty, by default in the "default" namespace. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, /// Specifies the reference to the ConfigMap that contains the script to be executed for reload. @@ -297,7 +311,7 @@ pub struct ConfigConstraintScriptConfigs { pub script_config_map_ref: String, } -/// Used to match the label on the pod. For example, a pod of the primary matches on the patroni cluster. +/// Used to match labels on the pod to do a dynamic reload TODO (refactored to DynamicReloadSelector) #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -320,10 +334,10 @@ pub struct ConfigConstraintSelectorMatchExpressions { pub values: Option>, } -/// Used to configure the init container. +/// Tools used by the dynamic reload actions. Usually it is referenced by the 'init container' for 'cp' it to a binary volume. TODO (refactored to ReloadToolsImage) #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintToolsImageSpec { - /// Represents the location where the scripts file will be mounted. + /// Represents the point where the scripts file will be mounted. #[serde(rename = "mountPoint")] pub mount_point: String, /// Used to configure the initialization container. @@ -333,19 +347,19 @@ pub struct ConfigConstraintToolsImageSpec { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintToolsImageSpecToolConfigs { - /// Used to execute commands for init containers. + /// Commands to be executed when init containers. pub command: Vec, - /// Represents the name of the container image for the tools. + /// Represents the url of the tool container image. #[serde(default, skip_serializing_if = "Option::is_none")] pub image: Option, - /// Specifies the name of the initContainer. This must be a DNS_LABEL name. + /// Specifies the name of the initContainer. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConfigConstraintStatus { - /// Provides a description of any abnormal statuses that may be present. + /// Provides descriptions for abnormal states. #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, /// Refers to the most recent generation observed for this ConfigConstraint. This value is updated by the API Server. diff --git a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/opsrequests.rs b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/opsrequests.rs index 85517826b..5379c594e 100644 --- a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/opsrequests.rs +++ b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/opsrequests.rs @@ -108,15 +108,33 @@ pub enum OpsRequestBackupSpecDeletionPolicy { /// Specifies a custom operation as defined by OpsDefinition. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct OpsRequestCustomSpec { - /// Refers to the name of the cluster component. - #[serde(rename = "componentName")] - pub component_name: String, + /// Defines which components need to perform the actions defined by this OpsDefinition. At least one component is required. The components are identified by their name and can be merged or retained. + pub components: Vec, /// Is a reference to an OpsDefinition. #[serde(rename = "opsDefinitionRef")] pub ops_definition_ref: String, - /// Represents the input for this operation as declared in the opsDefinition.spec.parametersSchema. It will create corresponding jobs for each array element. If the param type is an array, the format must be "v1,v2,v3". + /// Defines the execution concurrency. By default, all incoming Components will be executed simultaneously. The value can be an absolute number (e.g., 5) or a percentage of desired components (e.g., 10%). The absolute number is calculated from the percentage by rounding up. For instance, if the percentage value is 10% and the components length is 1, the calculated number will be rounded up to 1. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub parallelism: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")] + pub service_account_name: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct OpsRequestCustomSpecComponents { + /// Specifies the unique identifier of the cluster component + pub name: String, + /// Represents the parameters for this operation as declared in the opsDefinition.spec.parametersSchema. #[serde(default, skip_serializing_if = "Option::is_none")] - pub params: Option>>, + pub parameters: Option>, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct OpsRequestCustomSpecComponentsParameters { + /// Specifies the identifier of the parameter as defined in the OpsDefinition. + pub name: String, + /// Holds the data associated with the parameter. If the parameter type is an array, the format should be "v1,v2,v3". + pub value: String, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] @@ -253,6 +271,8 @@ pub enum OpsRequestReconfigureConfigurationsPolicy { AutoReload, #[serde(rename = "operatorSyncUpdate")] OperatorSyncUpdate, + #[serde(rename = "dynamicReloadBeginRestart")] + DynamicReloadBeginRestart, } /// Reconfigure represents the variables required for updating a configuration. @@ -309,6 +329,8 @@ pub enum OpsRequestReconfiguresConfigurationsPolicy { AutoReload, #[serde(rename = "operatorSyncUpdate")] OperatorSyncUpdate, + #[serde(rename = "dynamicReloadBeginRestart")] + DynamicReloadBeginRestart, } /// ComponentOps represents the common variables required for operations within the scope of a component. @@ -606,6 +628,9 @@ pub struct OpsRequestStatus { /// Describes the detailed status of the OpsRequest. #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, + /// A collection of additional key-value pairs that provide supplementary information for the opsRequest. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub extras: Option>>, /// Records the last configuration before this operation took effect. #[serde(default, skip_serializing_if = "Option::is_none", rename = "lastConfiguration")] pub last_configuration: Option, @@ -637,6 +662,9 @@ pub struct OpsRequestStatusComponents { /// Describes the component phase, referencing Cluster.status.component.phase. #[serde(default, skip_serializing_if = "Option::is_none")] pub phase: Option, + /// Specifies the outcome of the preConditions check for the opsRequest. This result is crucial for determining the next steps in the operation. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preCheck")] + pub pre_check: Option, /// Describes the progress details of the component for this operation. #[serde(default, skip_serializing_if = "Option::is_none", rename = "progressDetails")] pub progress_details: Option>, @@ -661,8 +689,24 @@ pub enum OpsRequestStatusComponentsPhase { Abnormal, } +/// Specifies the outcome of the preConditions check for the opsRequest. This result is crucial for determining the next steps in the operation. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct OpsRequestStatusComponentsPreCheck { + /// Provides additional details about the preCheck operation in a human-readable format. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub message: Option, + /// Indicates whether the preCheck operation was successful or not. + pub pass: bool, +} + #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct OpsRequestStatusComponentsProgressDetails { + /// Refer to the action name of the OpsDefinition.spec.actions[*].name. either objectKey or actionName. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "actionName")] + pub action_name: Option, + /// Records the tasks associated with an action. such as Jobs/Pods that executes action. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "actionTasks")] + pub action_tasks: Option>, /// Represents the completion time of object processing. #[serde(default, skip_serializing_if = "Option::is_none", rename = "endTime")] pub end_time: Option, @@ -672,9 +716,9 @@ pub struct OpsRequestStatusComponentsProgressDetails { /// Provides a human-readable message detailing the condition of the object. #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, - /// Represents the unique key of the object. - #[serde(rename = "objectKey")] - pub object_key: String, + /// Represents the unique key of the object. either objectKey or actionName. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "objectKey")] + pub object_key: Option, /// Represents the start time of object processing. #[serde(default, skip_serializing_if = "Option::is_none", rename = "startTime")] pub start_time: Option, @@ -682,6 +726,30 @@ pub struct OpsRequestStatusComponentsProgressDetails { pub status: OpsRequestStatusComponentsProgressDetailsStatus, } +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct OpsRequestStatusComponentsProgressDetailsActionTasks { + /// Defines the namespace where the task workload is deployed. + pub namespace: String, + /// Specifies the name of the task workload. + #[serde(rename = "objectKey")] + pub object_key: String, + /// The number of retry attempts for this task. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retries: Option, + /// Indicates the current status of the task. + pub status: OpsRequestStatusComponentsProgressDetailsActionTasksStatus, + /// The name of the target pod for the task. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetPodName")] + pub target_pod_name: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum OpsRequestStatusComponentsProgressDetailsActionTasksStatus { + Processing, + Failed, + Succeed, +} + #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum OpsRequestStatusComponentsProgressDetailsStatus { Processing, @@ -917,6 +985,8 @@ pub enum OpsRequestStatusReconfiguringStatusConfigurationStatusUpdatePolicy { AutoReload, #[serde(rename = "operatorSyncUpdate")] OperatorSyncUpdate, + #[serde(rename = "dynamicReloadBeginRestart")] + DynamicReloadBeginRestart, } /// Contains the updated parameters. @@ -1018,6 +1088,8 @@ pub enum OpsRequestStatusReconfiguringStatusAsComponentConfigurationStatusUpdate AutoReload, #[serde(rename = "operatorSyncUpdate")] OperatorSyncUpdate, + #[serde(rename = "dynamicReloadBeginRestart")] + DynamicReloadBeginRestart, } /// Contains the updated parameters. diff --git a/kube-custom-resources-rs/src/asdb_aerospike_com/v1/aerospikeclusters.rs b/kube-custom-resources-rs/src/asdb_aerospike_com/v1/aerospikeclusters.rs index 150bbc2d4..5d5187285 100644 --- a/kube-custom-resources-rs/src/asdb_aerospike_com/v1/aerospikeclusters.rs +++ b/kube-custom-resources-rs/src/asdb_aerospike_com/v1/aerospikeclusters.rs @@ -25,6 +25,12 @@ pub struct AerospikeClusterSpec { pub aerospike_network_policy: Option, /// Aerospike server image pub image: String, + /// K8sNodeBlockList is a list of Kubernetes nodes which are not used for Aerospike pods. Pods are not scheduled on these nodes. Pods are migrated from these nodes if already present. This is useful for the maintenance of Kubernetes nodes. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "k8sNodeBlockList")] + pub k8s_node_block_list: Option>, + /// MaxUnavailable is the percentage/number of pods that can be allowed to go down or unavailable before application disruption. This value is used to create PodDisruptionBudget. Defaults to 1. Refer Aerospike documentation for more details. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxUnavailable")] + pub max_unavailable: Option, /// Certificates to connect to Aerospike. #[serde(default, skip_serializing_if = "Option::is_none", rename = "operatorClientCert")] pub operator_client_cert: Option, @@ -3284,12 +3290,15 @@ pub struct AerospikeClusterRackConfigRacksEffectiveStorage { /// BlockVolumePolicy contains default policies for block volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "blockVolumePolicy")] pub block_volume_policy: Option, - /// CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container. + /// CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cleanupThreads")] pub cleanup_threads: Option, /// FileSystemVolumePolicy contains default policies for filesystem volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "filesystemVolumePolicy")] pub filesystem_volume_policy: Option, + /// LocalStorageClasses contains a list of storage classes which provisions local volumes. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localStorageClasses")] + pub local_storage_classes: Option>, /// Volumes list to attach to created pods. #[serde(default, skip_serializing_if = "Option::is_none")] pub volumes: Option>, @@ -4222,12 +4231,15 @@ pub struct AerospikeClusterRackConfigRacksStorage { /// BlockVolumePolicy contains default policies for block volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "blockVolumePolicy")] pub block_volume_policy: Option, - /// CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container. + /// CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cleanupThreads")] pub cleanup_threads: Option, /// FileSystemVolumePolicy contains default policies for filesystem volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "filesystemVolumePolicy")] pub filesystem_volume_policy: Option, + /// LocalStorageClasses contains a list of storage classes which provisions local volumes. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localStorageClasses")] + pub local_storage_classes: Option>, /// Volumes list to attach to created pods. #[serde(default, skip_serializing_if = "Option::is_none")] pub volumes: Option>, @@ -4732,12 +4744,15 @@ pub struct AerospikeClusterStorage { /// BlockVolumePolicy contains default policies for block volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "blockVolumePolicy")] pub block_volume_policy: Option, - /// CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container. + /// CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cleanupThreads")] pub cleanup_threads: Option, /// FileSystemVolumePolicy contains default policies for filesystem volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "filesystemVolumePolicy")] pub filesystem_volume_policy: Option, + /// LocalStorageClasses contains a list of storage classes which provisions local volumes. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localStorageClasses")] + pub local_storage_classes: Option>, /// Volumes list to attach to created pods. #[serde(default, skip_serializing_if = "Option::is_none")] pub volumes: Option>, @@ -5226,6 +5241,12 @@ pub struct AerospikeClusterStatus { /// Aerospike server image #[serde(default, skip_serializing_if = "Option::is_none")] pub image: Option, + /// K8sNodeBlockList is a list of Kubernetes nodes which are not used for Aerospike pods. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "k8sNodeBlockList")] + pub k8s_node_block_list: Option>, + /// MaxUnavailable is the percentage/number of pods that can be allowed to go down or unavailable before application disruption. This value is used to create PodDisruptionBudget. Defaults to 1. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxUnavailable")] + pub max_unavailable: Option, /// If set true then multiple pods can be created per Kubernetes Node. This will create a NodePort service for each Pod. NodePort, as the name implies, opens a specific port on all the Kubernetes Nodes , and any traffic that is sent to this port is forwarded to the service. Here service picks a random port in range (30000-32767), so these port should be open. /// If set false then only single pod can be created per Kubernetes Node. This will create Pods using hostPort setting. The container port will be exposed to the external network at :, where the hostIP is the IP address of the Kubernetes Node where the container is running and the hostPort is the port requested by the user. Deprecated: MultiPodPerHost is now part of podSpec #[serde(default, skip_serializing_if = "Option::is_none", rename = "multiPodPerHost")] @@ -5233,11 +5254,15 @@ pub struct AerospikeClusterStatus { /// Certificates to connect to Aerospike. If omitted then certs are taken from the secret 'aerospike-secret'. #[serde(default, skip_serializing_if = "Option::is_none", rename = "operatorClientCertSpec")] pub operator_client_cert_spec: Option, + /// Phase denotes the current phase of Aerospike cluster operation. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub phase: Option, /// Additional configuration for create Aerospike pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podSpec")] pub pod_spec: Option, /// Pods has Aerospike specific status of the pods. This is map instead of the conventional map as list convention to allow each pod to patch update its own status. The map key is the name of the pod. - pub pods: BTreeMap, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub pods: Option>, /// RackConfig Configures the operator to deploy rack aware Aerospike cluster. Pods will be deployed in given racks based on given configuration #[serde(default, skip_serializing_if = "Option::is_none", rename = "rackConfig")] pub rack_config: Option, @@ -5474,6 +5499,14 @@ pub struct AerospikeClusterStatusOperatorClientCertSpecSecretCertSourceCaCertsSo pub secret_namespace: Option, } +/// AerospikeClusterStatus defines the observed state of AerospikeCluster +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum AerospikeClusterStatusPhase { + InProgress, + Completed, + Error, +} + /// Additional configuration for create Aerospike pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AerospikeClusterStatusPodSpec { @@ -8565,12 +8598,15 @@ pub struct AerospikeClusterStatusRackConfigRacksEffectiveStorage { /// BlockVolumePolicy contains default policies for block volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "blockVolumePolicy")] pub block_volume_policy: Option, - /// CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container. + /// CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cleanupThreads")] pub cleanup_threads: Option, /// FileSystemVolumePolicy contains default policies for filesystem volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "filesystemVolumePolicy")] pub filesystem_volume_policy: Option, + /// LocalStorageClasses contains a list of storage classes which provisions local volumes. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localStorageClasses")] + pub local_storage_classes: Option>, /// Volumes list to attach to created pods. #[serde(default, skip_serializing_if = "Option::is_none")] pub volumes: Option>, @@ -9503,12 +9539,15 @@ pub struct AerospikeClusterStatusRackConfigRacksStorage { /// BlockVolumePolicy contains default policies for block volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "blockVolumePolicy")] pub block_volume_policy: Option, - /// CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container. + /// CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cleanupThreads")] pub cleanup_threads: Option, /// FileSystemVolumePolicy contains default policies for filesystem volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "filesystemVolumePolicy")] pub filesystem_volume_policy: Option, + /// LocalStorageClasses contains a list of storage classes which provisions local volumes. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localStorageClasses")] + pub local_storage_classes: Option>, /// Volumes list to attach to created pods. #[serde(default, skip_serializing_if = "Option::is_none")] pub volumes: Option>, @@ -10036,12 +10075,15 @@ pub struct AerospikeClusterStatusStorage { /// BlockVolumePolicy contains default policies for block volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "blockVolumePolicy")] pub block_volume_policy: Option, - /// CleanupThreads contains maximum number of cleanup threads(dd or blkdiscard) per init container. + /// CleanupThreads contains the maximum number of cleanup threads(dd or blkdiscard) per init container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cleanupThreads")] pub cleanup_threads: Option, /// FileSystemVolumePolicy contains default policies for filesystem volumes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "filesystemVolumePolicy")] pub filesystem_volume_policy: Option, + /// LocalStorageClasses contains a list of storage classes which provisions local volumes. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localStorageClasses")] + pub local_storage_classes: Option>, /// Volumes list to attach to created pods. #[serde(default, skip_serializing_if = "Option::is_none")] pub volumes: Option>, diff --git a/kube-custom-resources-rs/src/canaries_flanksource_com/v1/canaries.rs b/kube-custom-resources-rs/src/canaries_flanksource_com/v1/canaries.rs index b530d3d8b..d5b365850 100644 --- a/kube-custom-resources-rs/src/canaries_flanksource_com/v1/canaries.rs +++ b/kube-custom-resources-rs/src/canaries_flanksource_com/v1/canaries.rs @@ -100,7 +100,8 @@ pub struct CanarySpec { pub result_mode: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub s3: Option>, - /// Schedule to run checks on. Supports all cron expression, example: '30 3-6,20-23 * * *'. For more info about cron expression syntax see https://en.wikipedia.org/wiki/Cron Also supports golang duration, can be set as '@every 1m30s' which runs the check every 1 minute and 30 seconds. + /// Schedule to run checks on. Supports all cron expression, example: '30 3-6,20-23 * * *'. For more info about cron expression syntax see https://en.wikipedia.org/wiki/Cron + /// Also supports golang duration, can be set as '@every 1m30s' which runs the check every 1 minute and 30 seconds. #[serde(default, skip_serializing_if = "Option::is_none")] pub schedule: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -145,7 +146,8 @@ pub struct CanaryAlertmanager { pub namespace: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub password: Option, - /// Relationships defines a way to link the check results to components and configs using lookup expressions. + /// Relationships defines a way to link the check results to components and configs + /// using lookup expressions. #[serde(default, skip_serializing_if = "Option::is_none")] pub relationships: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -240,7 +242,8 @@ pub struct CanaryAlertmanagerPasswordValueFromSecretKeyRef { pub name: Option, } -/// Relationships defines a way to link the check results to components and configs using lookup expressions. +/// Relationships defines a way to link the check results to components and configs +/// using lookup expressions. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CanaryAlertmanagerRelationships { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2347,10 +2350,13 @@ pub struct CanaryEc2AccessKeyValueFromSecretKeyRef { pub name: Option, } -/// LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. +/// LocalObjectReference contains enough information to let you locate the +/// referenced object inside the same namespace. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CanaryEc2CanaryRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } @@ -2664,7 +2670,8 @@ pub struct CanaryEnv { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -2679,7 +2686,9 @@ pub struct CanaryEnv { pub struct CanaryEnvConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -2687,7 +2696,8 @@ pub struct CanaryEnvConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CanaryEnvFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -2703,7 +2713,9 @@ pub struct CanaryEnvFieldRef { pub struct CanaryEnvSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -2743,7 +2755,8 @@ pub struct CanaryExec { /// Namespace to insert the check into, if different to the namespace the canary is defined, e.g. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, - /// Script can be a inline script or a path to a script that needs to be executed On windows executed via powershell and in darwin and linux executed using bash + /// Script can be a inline script or a path to a script that needs to be executed + /// On windows executed via powershell and in darwin and linux executed using bash pub script: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub test: Option, @@ -2756,7 +2769,8 @@ pub struct CanaryExec { #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CanaryExecArtifacts { - /// Path to the artifact on the check runner. Special paths: /dev/stdout & /dev/stdin + /// Path to the artifact on the check runner. + /// Special paths: /dev/stdout & /dev/stdin pub path: String, } @@ -2767,7 +2781,8 @@ pub struct CanaryExecCheckout { pub certificate: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub connection: Option, - /// Destination is the full path to where the contents of the URL should be downloaded to. If left empty, the sha256 hash of the URL will be used as the dir name. + /// Destination is the full path to where the contents of the URL should be downloaded to. + /// If left empty, the sha256 hash of the URL will be used as the dir name. #[serde(default, skip_serializing_if = "Option::is_none")] pub destination: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3388,7 +3403,8 @@ pub struct CanaryFolder { pub namespace: Option, /// Path to folder or object storage, e.g. `s3://`, `gcs://`, `/path/tp/folder` pub path: String, - /// Recursive when set to true will recursively scan the folder to list the files in it. However, symlinks are simply listed but not traversed. + /// Recursive when set to true will recursively scan the folder to list the files in it. + /// However, symlinks are simply listed but not traversed. #[serde(default, skip_serializing_if = "Option::is_none")] pub recursive: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "sftpConnection")] @@ -4923,7 +4939,8 @@ pub struct CanaryJunit { #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CanaryJunitArtifacts { - /// Path to the artifact on the check runner. Special paths: /dev/stdout & /dev/stdin + /// Path to the artifact on the check runner. + /// Special paths: /dev/stdout & /dev/stdin pub path: String, } diff --git a/kube-custom-resources-rs/src/cert_manager_io/v1/certificates.rs b/kube-custom-resources-rs/src/cert_manager_io/v1/certificates.rs index 909768c97..14e1f1ee5 100644 --- a/kube-custom-resources-rs/src/cert_manager_io/v1/certificates.rs +++ b/kube-custom-resources-rs/src/cert_manager_io/v1/certificates.rs @@ -238,6 +238,10 @@ pub struct CertificateKeystores { /// `spec.secretName` Secret resource. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CertificateKeystoresJks { + /// Alias specifies the alias of the key in the keystore, required by the JKS format. + /// If not provided, the default alias `certificate` will be used. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub alias: Option, /// Create enables JKS keystore creation for the Certificate. /// If true, a file named `keystore.jks` will be created in the target /// Secret resource, encrypted using the password stored in diff --git a/kube-custom-resources-rs/src/cilium_io/v2/ciliumclusterwidenetworkpolicies.rs b/kube-custom-resources-rs/src/cilium_io/v2/ciliumclusterwidenetworkpolicies.rs index 1d088770e..40f9888ea 100644 --- a/kube-custom-resources-rs/src/cilium_io/v2/ciliumclusterwidenetworkpolicies.rs +++ b/kube-custom-resources-rs/src/cilium_io/v2/ciliumclusterwidenetworkpolicies.rs @@ -5,6 +5,7 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; +use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; /// Spec is the desired Cilium specific rule specification. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)] @@ -122,9 +123,9 @@ pub struct CiliumClusterwideNetworkPolicyEgressIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -661,9 +662,9 @@ pub struct CiliumClusterwideNetworkPolicyEgressDenyIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -1113,9 +1114,9 @@ pub struct CiliumClusterwideNetworkPolicyIngressIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -1551,9 +1552,9 @@ pub struct CiliumClusterwideNetworkPolicyIngressDenyIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -1754,9 +1755,9 @@ pub struct CiliumClusterwideNetworkPolicysEgressIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -2293,9 +2294,9 @@ pub struct CiliumClusterwideNetworkPolicysEgressDenyIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -2745,9 +2746,9 @@ pub struct CiliumClusterwideNetworkPolicysIngressIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -3183,9 +3184,9 @@ pub struct CiliumClusterwideNetworkPolicysIngressDenyIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. diff --git a/kube-custom-resources-rs/src/cilium_io/v2/ciliumnetworkpolicies.rs b/kube-custom-resources-rs/src/cilium_io/v2/ciliumnetworkpolicies.rs index 2efdb5981..c7de58584 100644 --- a/kube-custom-resources-rs/src/cilium_io/v2/ciliumnetworkpolicies.rs +++ b/kube-custom-resources-rs/src/cilium_io/v2/ciliumnetworkpolicies.rs @@ -5,6 +5,7 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; +use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; /// Spec is the desired Cilium specific rule specification. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)] @@ -123,9 +124,9 @@ pub struct CiliumNetworkPolicyEgressIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -662,9 +663,9 @@ pub struct CiliumNetworkPolicyEgressDenyIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -1114,9 +1115,9 @@ pub struct CiliumNetworkPolicyIngressIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -1552,9 +1553,9 @@ pub struct CiliumNetworkPolicyIngressDenyIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -1755,9 +1756,9 @@ pub struct CiliumNetworkPolicysEgressIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -2294,9 +2295,9 @@ pub struct CiliumNetworkPolicysEgressDenyIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -2746,9 +2747,9 @@ pub struct CiliumNetworkPolicysIngressIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. @@ -3184,9 +3185,9 @@ pub struct CiliumNetworkPolicysIngressDenyIcmpsFields { /// Family is a IP address version. Currently, we support `IPv4` and `IPv6`. `IPv4` is set as default. #[serde(default, skip_serializing_if = "Option::is_none")] pub family: Option, - /// Type is a ICMP-type. It should be 0-255 (8bit). + /// Type is a ICMP-type. It should be an 8bit code (0-255), or it's CamelCase name (for example, "EchoReply"). Allowed ICMP types are: Ipv4: EchoReply | DestinationUnreachable | Redirect | Echo | EchoRequest | RouterAdvertisement | RouterSelection | TimeExceeded | ParameterProblem | Timestamp | TimestampReply | Photuris | ExtendedEcho Request | ExtendedEcho Reply Ipv6: DestinationUnreachable | PacketTooBig | TimeExceeded | ParameterProblem | EchoRequest | EchoReply | MulticastListenerQuery| MulticastListenerReport | MulticastListenerDone | RouterSolicitation | RouterAdvertisement | NeighborSolicitation | NeighborAdvertisement | RedirectMessage | RouterRenumbering | ICMPNodeInformationQuery | ICMPNodeInformationResponse | InverseNeighborDiscoverySolicitation | InverseNeighborDiscoveryAdvertisement | HomeAgentAddressDiscoveryRequest | HomeAgentAddressDiscoveryReply | MobilePrefixSolicitation | MobilePrefixAdvertisement | DuplicateAddressRequestCodeSuffix | DuplicateAddressConfirmationCodeSuffix | ExtendedEchoRequest | ExtendedEchoReply #[serde(rename = "type")] - pub r#type: i64, + pub r#type: IntOrString, } /// ICMPField is a ICMP field. diff --git a/kube-custom-resources-rs/src/cilium_io/v2alpha1/ciliumbgppeeringpolicies.rs b/kube-custom-resources-rs/src/cilium_io/v2alpha1/ciliumbgppeeringpolicies.rs index a91eaea2d..ca15694e4 100644 --- a/kube-custom-resources-rs/src/cilium_io/v2alpha1/ciliumbgppeeringpolicies.rs +++ b/kube-custom-resources-rs/src/cilium_io/v2alpha1/ciliumbgppeeringpolicies.rs @@ -68,6 +68,9 @@ pub struct CiliumBGPPeeringPolicyVirtualRouters { /// If empty / nil no CiliumPodIPPools will be announced. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podIPPoolSelector")] pub pod_ip_pool_selector: Option, + /// ServiceAdvertisements selects a group of BGP Advertisement(s) to advertise for the selected services. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAdvertisements")] + pub service_advertisements: Option>, /// ServiceSelector selects a group of load balancer services which this virtual router will announce. The loadBalancerClass for a service must be nil or specify a class supported by Cilium, e.g. "io.cilium/bgp-control-plane". Refer to the following document for additional details regarding load balancer classes: /// https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class /// If empty / nil no services will be announced. diff --git a/kube-custom-resources-rs/src/config_openshift_io/v1/apiservers.rs b/kube-custom-resources-rs/src/config_openshift_io/v1/apiservers.rs index 29847635e..a917b43da 100644 --- a/kube-custom-resources-rs/src/config_openshift_io/v1/apiservers.rs +++ b/kube-custom-resources-rs/src/config_openshift_io/v1/apiservers.rs @@ -136,26 +136,76 @@ pub struct APIServerServingCertsNamedCertificatesServingCertificate { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct APIServerTlsSecurityProfile { /// custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: - /// ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 + /// ciphers: + /// - ECDHE-ECDSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-AES128-GCM-SHA256 + /// - ECDHE-ECDSA-AES128-GCM-SHA256 + /// minTLSVersion: VersionTLS11 #[serde(default, skip_serializing_if = "Option::is_none")] pub custom: Option, /// intermediate is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 /// and looks like this (yaml): - /// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12 + /// ciphers: + /// - TLS_AES_128_GCM_SHA256 + /// - TLS_AES_256_GCM_SHA384 + /// - TLS_CHACHA20_POLY1305_SHA256 + /// - ECDHE-ECDSA-AES128-GCM-SHA256 + /// - ECDHE-RSA-AES128-GCM-SHA256 + /// - ECDHE-ECDSA-AES256-GCM-SHA384 + /// - ECDHE-RSA-AES256-GCM-SHA384 + /// - ECDHE-ECDSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-CHACHA20-POLY1305 + /// - DHE-RSA-AES128-GCM-SHA256 + /// - DHE-RSA-AES256-GCM-SHA384 + /// minTLSVersion: VersionTLS12 #[serde(default, skip_serializing_if = "Option::is_none")] pub intermediate: Option, /// modern is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility /// and looks like this (yaml): - /// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 - /// NOTE: Currently unsupported. + /// ciphers: + /// - TLS_AES_128_GCM_SHA256 + /// - TLS_AES_256_GCM_SHA384 + /// - TLS_CHACHA20_POLY1305_SHA256 + /// minTLSVersion: VersionTLS13 #[serde(default, skip_serializing_if = "Option::is_none")] pub modern: Option, /// old is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility /// and looks like this (yaml): - /// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10 + /// ciphers: + /// - TLS_AES_128_GCM_SHA256 + /// - TLS_AES_256_GCM_SHA384 + /// - TLS_CHACHA20_POLY1305_SHA256 + /// - ECDHE-ECDSA-AES128-GCM-SHA256 + /// - ECDHE-RSA-AES128-GCM-SHA256 + /// - ECDHE-ECDSA-AES256-GCM-SHA384 + /// - ECDHE-RSA-AES256-GCM-SHA384 + /// - ECDHE-ECDSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-CHACHA20-POLY1305 + /// - DHE-RSA-AES128-GCM-SHA256 + /// - DHE-RSA-AES256-GCM-SHA384 + /// - DHE-RSA-CHACHA20-POLY1305 + /// - ECDHE-ECDSA-AES128-SHA256 + /// - ECDHE-RSA-AES128-SHA256 + /// - ECDHE-ECDSA-AES128-SHA + /// - ECDHE-RSA-AES128-SHA + /// - ECDHE-ECDSA-AES256-SHA384 + /// - ECDHE-RSA-AES256-SHA384 + /// - ECDHE-ECDSA-AES256-SHA + /// - ECDHE-RSA-AES256-SHA + /// - DHE-RSA-AES128-SHA256 + /// - DHE-RSA-AES256-SHA256 + /// - AES128-GCM-SHA256 + /// - AES256-GCM-SHA384 + /// - AES128-SHA256 + /// - AES256-SHA256 + /// - AES128-SHA + /// - AES256-SHA + /// - DES-CBC3-SHA + /// minTLSVersion: VersionTLS10 #[serde(default, skip_serializing_if = "Option::is_none")] pub old: Option, /// type is one of Old, Intermediate, Modern or Custom. Custom provides the ability to specify individual TLS security profile parameters. Old, Intermediate and Modern are TLS security profiles based on: @@ -167,7 +217,12 @@ pub struct APIServerTlsSecurityProfile { } /// custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: -/// ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 +/// ciphers: +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// minTLSVersion: VersionTLS11 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct APIServerTlsSecurityProfileCustom { /// ciphers is used to specify the cipher algorithms that are negotiated during the TLS handshake. Operators may remove entries their operands do not support. For example, to use DES-CBC3-SHA (yaml): @@ -182,7 +237,12 @@ pub struct APIServerTlsSecurityProfileCustom { } /// custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: -/// ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 +/// ciphers: +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// minTLSVersion: VersionTLS11 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum APIServerTlsSecurityProfileCustomMinTlsVersion { #[serde(rename = "VersionTLS10")] @@ -198,7 +258,19 @@ pub enum APIServerTlsSecurityProfileCustomMinTlsVersion { /// intermediate is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 /// and looks like this (yaml): -/// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12 +/// ciphers: +/// - TLS_AES_128_GCM_SHA256 +/// - TLS_AES_256_GCM_SHA384 +/// - TLS_CHACHA20_POLY1305_SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES256-GCM-SHA384 +/// - ECDHE-RSA-AES256-GCM-SHA384 +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - DHE-RSA-AES128-GCM-SHA256 +/// - DHE-RSA-AES256-GCM-SHA384 +/// minTLSVersion: VersionTLS12 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct APIServerTlsSecurityProfileIntermediate { } @@ -206,8 +278,11 @@ pub struct APIServerTlsSecurityProfileIntermediate { /// modern is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility /// and looks like this (yaml): -/// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 -/// NOTE: Currently unsupported. +/// ciphers: +/// - TLS_AES_128_GCM_SHA256 +/// - TLS_AES_256_GCM_SHA384 +/// - TLS_CHACHA20_POLY1305_SHA256 +/// minTLSVersion: VersionTLS13 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct APIServerTlsSecurityProfileModern { } @@ -215,7 +290,37 @@ pub struct APIServerTlsSecurityProfileModern { /// old is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility /// and looks like this (yaml): -/// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10 +/// ciphers: +/// - TLS_AES_128_GCM_SHA256 +/// - TLS_AES_256_GCM_SHA384 +/// - TLS_CHACHA20_POLY1305_SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES256-GCM-SHA384 +/// - ECDHE-RSA-AES256-GCM-SHA384 +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - DHE-RSA-AES128-GCM-SHA256 +/// - DHE-RSA-AES256-GCM-SHA384 +/// - DHE-RSA-CHACHA20-POLY1305 +/// - ECDHE-ECDSA-AES128-SHA256 +/// - ECDHE-RSA-AES128-SHA256 +/// - ECDHE-ECDSA-AES128-SHA +/// - ECDHE-RSA-AES128-SHA +/// - ECDHE-ECDSA-AES256-SHA384 +/// - ECDHE-RSA-AES256-SHA384 +/// - ECDHE-ECDSA-AES256-SHA +/// - ECDHE-RSA-AES256-SHA +/// - DHE-RSA-AES128-SHA256 +/// - DHE-RSA-AES256-SHA256 +/// - AES128-GCM-SHA256 +/// - AES256-GCM-SHA384 +/// - AES128-SHA256 +/// - AES256-SHA256 +/// - AES128-SHA +/// - AES256-SHA +/// - DES-CBC3-SHA +/// minTLSVersion: VersionTLS10 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct APIServerTlsSecurityProfileOld { } diff --git a/kube-custom-resources-rs/src/dataprotection_kubeblocks_io/v1alpha1/backuppolicies.rs b/kube-custom-resources-rs/src/dataprotection_kubeblocks_io/v1alpha1/backuppolicies.rs index 7f1d7b345..e61410bbe 100644 --- a/kube-custom-resources-rs/src/dataprotection_kubeblocks_io/v1alpha1/backuppolicies.rs +++ b/kube-custom-resources-rs/src/dataprotection_kubeblocks_io/v1alpha1/backuppolicies.rs @@ -1,5 +1,5 @@ // WARNING: generated by kopium - manual changes will be overwritten -// kopium command: kopium --docs --filename=./crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backuppolicies.yaml --derive=Default --derive=PartialEq +// kopium command: kopium --docs --filename=./crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backuppolicies.yaml --derive=PartialEq // kopium version: 0.16.5 use kube::CustomResource; @@ -8,7 +8,7 @@ use std::collections::BTreeMap; use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; /// BackupPolicySpec defines the desired state of BackupPolicy -#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)] #[kube(group = "dataprotection.kubeblocks.io", version = "v1alpha1", kind = "BackupPolicy", plural = "backuppolicies")] #[kube(namespaced)] #[kube(status = "BackupPolicyStatus")] @@ -23,6 +23,9 @@ pub struct BackupPolicySpec { /// Specifies the name of BackupRepo where the backup data will be stored. If not set, data will be stored in the default backup repository. #[serde(default, skip_serializing_if = "Option::is_none", rename = "backupRepoName")] pub backup_repo_name: Option, + /// Specifies the parameters for encrypting backup data. Encryption will be disabled if the field is not set. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "encryptionConfig")] + pub encryption_config: Option, /// Specifies the directory inside the backup repository to store the backup. This path is relative to the path of the backup repository. #[serde(default, skip_serializing_if = "Option::is_none", rename = "pathPrefix")] pub path_prefix: Option, @@ -36,7 +39,7 @@ pub struct BackupPolicySpec { } /// BackupMethod defines the backup method. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethods { /// Refers to the ActionSet object that defines the backup actions. For volume snapshot backup, the actionSet is not required, the controller will use the CSI volume snapshotter to create the snapshot. #[serde(default, skip_serializing_if = "Option::is_none", rename = "actionSetName")] @@ -61,7 +64,7 @@ pub struct BackupPolicyBackupMethods { } /// EnvVar represents an environment variable present in a Container. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, @@ -74,7 +77,7 @@ pub struct BackupPolicyBackupMethodsEnv { } /// Source for the environment variable's value. Cannot be used if value is not empty. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] @@ -91,7 +94,7 @@ pub struct BackupPolicyBackupMethodsEnvValueFrom { } /// Selects a key of a ConfigMap. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, @@ -104,7 +107,7 @@ pub struct BackupPolicyBackupMethodsEnvValueFromConfigMapKeyRef { } /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] @@ -115,7 +118,7 @@ pub struct BackupPolicyBackupMethodsEnvValueFromFieldRef { } /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] @@ -128,7 +131,7 @@ pub struct BackupPolicyBackupMethodsEnvValueFromResourceFieldRef { } /// Selects a key of a secret in the pod's namespace -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, @@ -141,7 +144,7 @@ pub struct BackupPolicyBackupMethodsEnvValueFromSecretKeyRef { } /// Specifies runtime settings for the backup workload container. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsRuntimeSettings { /// Specifies the resource required by container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ #[serde(default, skip_serializing_if = "Option::is_none")] @@ -149,7 +152,7 @@ pub struct BackupPolicyBackupMethodsRuntimeSettings { } /// Specifies the resource required by container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsRuntimeSettingsResources { /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. @@ -165,14 +168,14 @@ pub struct BackupPolicyBackupMethodsRuntimeSettingsResources { } /// ResourceClaim references one entry in PodSpec.ResourceClaims. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsRuntimeSettingsResourcesClaims { /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. pub name: String, } /// Specifies the target information to back up, it will override the target in backup policy. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsTarget { /// Specifies the connection credential to connect to the target database cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionCredential")] @@ -189,7 +192,7 @@ pub struct BackupPolicyBackupMethodsTarget { } /// Specifies the connection credential to connect to the target database cluster. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsTargetConnectionCredential { /// Specifies the map key of the host in the connection credential secret. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostKey")] @@ -209,7 +212,7 @@ pub struct BackupPolicyBackupMethodsTargetConnectionCredential { } /// Used to find the target pod. The volumes of the target pod will be backed up. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsTargetPodSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] @@ -224,7 +227,7 @@ pub struct BackupPolicyBackupMethodsTargetPodSelector { } /// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsTargetPodSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, @@ -243,7 +246,7 @@ pub enum BackupPolicyBackupMethodsTargetPodSelectorStrategy { } /// Specifies the kubernetes resources to back up. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsTargetResources { /// excluded is a slice of namespaced-scoped resource type names to exclude in the kubernetes resources. The default value is empty. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -257,7 +260,7 @@ pub struct BackupPolicyBackupMethodsTargetResources { } /// A metav1.LabelSelector to filter the target kubernetes resources that need to be backed up. If not set, will do not back up any kubernetes resources. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsTargetResourcesSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] @@ -268,7 +271,7 @@ pub struct BackupPolicyBackupMethodsTargetResourcesSelector { } /// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsTargetResourcesSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, @@ -280,7 +283,7 @@ pub struct BackupPolicyBackupMethodsTargetResourcesSelectorMatchExpressions { } /// Specifies which volumes from the target should be mounted in the backup workload. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsTargetVolumes { /// Specifies the mount for the volumes specified in `volumes` section. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")] @@ -291,7 +294,7 @@ pub struct BackupPolicyBackupMethodsTargetVolumes { } /// VolumeMount describes a mounting of a Volume within a container. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyBackupMethodsTargetVolumesVolumeMounts { /// Path within the container at which the volume should be mounted. Must not contain ':'. #[serde(rename = "mountPath")] @@ -312,8 +315,43 @@ pub struct BackupPolicyBackupMethodsTargetVolumesVolumeMounts { pub sub_path_expr: Option, } +/// Specifies the parameters for encrypting backup data. Encryption will be disabled if the field is not set. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct BackupPolicyEncryptionConfig { + /// Specifies the encryption algorithm. Currently supported algorithms are: + /// - AES-128-CFB - AES-192-CFB - AES-256-CFB + pub algorithm: BackupPolicyEncryptionConfigAlgorithm, + /// Selects the key of a secret in the current namespace, the value of the secret is used as the encryption key. + #[serde(rename = "passPhraseSecretKeyRef")] + pub pass_phrase_secret_key_ref: BackupPolicyEncryptionConfigPassPhraseSecretKeyRef, +} + +/// Specifies the parameters for encrypting backup data. Encryption will be disabled if the field is not set. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum BackupPolicyEncryptionConfigAlgorithm { + #[serde(rename = "AES-128-CFB")] + Aes128Cfb, + #[serde(rename = "AES-192-CFB")] + Aes192Cfb, + #[serde(rename = "AES-256-CFB")] + Aes256Cfb, +} + +/// Selects the key of a secret in the current namespace, the value of the secret is used as the encryption key. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct BackupPolicyEncryptionConfigPassPhraseSecretKeyRef { + /// The key of the secret to select from. Must be a valid secret key. + pub key: String, + /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Specify whether the Secret or its key must be defined + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + /// Specifies the target information to back up, such as the target pod, the cluster connection credential. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyTarget { /// Specifies the connection credential to connect to the target database cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionCredential")] @@ -330,7 +368,7 @@ pub struct BackupPolicyTarget { } /// Specifies the connection credential to connect to the target database cluster. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyTargetConnectionCredential { /// Specifies the map key of the host in the connection credential secret. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostKey")] @@ -350,7 +388,7 @@ pub struct BackupPolicyTargetConnectionCredential { } /// Used to find the target pod. The volumes of the target pod will be backed up. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyTargetPodSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] @@ -365,7 +403,7 @@ pub struct BackupPolicyTargetPodSelector { } /// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyTargetPodSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, @@ -384,7 +422,7 @@ pub enum BackupPolicyTargetPodSelectorStrategy { } /// Specifies the kubernetes resources to back up. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyTargetResources { /// excluded is a slice of namespaced-scoped resource type names to exclude in the kubernetes resources. The default value is empty. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -398,7 +436,7 @@ pub struct BackupPolicyTargetResources { } /// A metav1.LabelSelector to filter the target kubernetes resources that need to be backed up. If not set, will do not back up any kubernetes resources. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyTargetResourcesSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] @@ -409,7 +447,7 @@ pub struct BackupPolicyTargetResourcesSelector { } /// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyTargetResourcesSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, @@ -421,7 +459,7 @@ pub struct BackupPolicyTargetResourcesSelectorMatchExpressions { } /// BackupPolicyStatus defines the observed state of BackupPolicy -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupPolicyStatus { /// A human-readable message indicating details about why the BackupPolicy is in this phase. #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/kube-custom-resources-rs/src/dataprotection_kubeblocks_io/v1alpha1/backups.rs b/kube-custom-resources-rs/src/dataprotection_kubeblocks_io/v1alpha1/backups.rs index 00b39af4a..d2cbaf8cf 100644 --- a/kube-custom-resources-rs/src/dataprotection_kubeblocks_io/v1alpha1/backups.rs +++ b/kube-custom-resources-rs/src/dataprotection_kubeblocks_io/v1alpha1/backups.rs @@ -1,5 +1,5 @@ // WARNING: generated by kopium - manual changes will be overwritten -// kopium command: kopium --docs --filename=./crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backups.yaml --derive=Default --derive=PartialEq +// kopium command: kopium --docs --filename=./crd-catalog/apecloud/kubeblocks/dataprotection.kubeblocks.io/v1alpha1/backups.yaml --derive=PartialEq // kopium version: 0.16.5 use kube::CustomResource; @@ -8,7 +8,7 @@ use std::collections::BTreeMap; use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; /// BackupSpec defines the desired state of Backup. -#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)] #[kube(group = "dataprotection.kubeblocks.io", version = "v1alpha1", kind = "Backup", plural = "backups")] #[kube(namespaced)] #[kube(status = "BackupStatus")] @@ -36,7 +36,7 @@ pub struct BackupSpec { } /// BackupStatus defines the observed state of Backup. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatus { /// Records the actions status for this backup. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -53,6 +53,9 @@ pub struct BackupStatus { /// Records the duration of the backup operation. When converted to a string, the format is "1h2m0.5s". #[serde(default, skip_serializing_if = "Option::is_none")] pub duration: Option, + /// Records the encryption config for this backup. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "encryptionConfig")] + pub encryption_config: Option, /// Indicates when this backup becomes eligible for garbage collection. A 'null' value implies that the backup will not be cleaned up unless manually deleted. #[serde(default, skip_serializing_if = "Option::is_none")] pub expiration: Option, @@ -94,7 +97,7 @@ pub struct BackupStatus { pub volume_snapshots: Option>, } -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusActions { /// The type of the action. #[serde(default, skip_serializing_if = "Option::is_none", rename = "actionType")] @@ -132,7 +135,7 @@ pub struct BackupStatusActions { } /// The object reference for the action. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusActionsObjectRef { /// API version of the referent. #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] @@ -158,7 +161,7 @@ pub struct BackupStatusActionsObjectRef { } /// Records the time range of backed up data, for PITR, this is the time range of recoverable data. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusActionsTimeRange { /// Records the end time of the backup, in Coordinated Universal Time (UTC). #[serde(default, skip_serializing_if = "Option::is_none")] @@ -171,7 +174,7 @@ pub struct BackupStatusActionsTimeRange { pub time_zone: Option, } -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusActionsVolumeSnapshots { /// The name of the volume snapshot content. #[serde(default, skip_serializing_if = "Option::is_none", rename = "contentName")] @@ -188,7 +191,7 @@ pub struct BackupStatusActionsVolumeSnapshots { } /// Records the backup method information for this backup. Refer to BackupMethod for more details. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethod { /// Refers to the ActionSet object that defines the backup actions. For volume snapshot backup, the actionSet is not required, the controller will use the CSI volume snapshotter to create the snapshot. #[serde(default, skip_serializing_if = "Option::is_none", rename = "actionSetName")] @@ -213,7 +216,7 @@ pub struct BackupStatusBackupMethod { } /// EnvVar represents an environment variable present in a Container. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, @@ -226,7 +229,7 @@ pub struct BackupStatusBackupMethodEnv { } /// Source for the environment variable's value. Cannot be used if value is not empty. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] @@ -243,7 +246,7 @@ pub struct BackupStatusBackupMethodEnvValueFrom { } /// Selects a key of a ConfigMap. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, @@ -256,7 +259,7 @@ pub struct BackupStatusBackupMethodEnvValueFromConfigMapKeyRef { } /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] @@ -267,7 +270,7 @@ pub struct BackupStatusBackupMethodEnvValueFromFieldRef { } /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] @@ -280,7 +283,7 @@ pub struct BackupStatusBackupMethodEnvValueFromResourceFieldRef { } /// Selects a key of a secret in the pod's namespace -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, @@ -293,7 +296,7 @@ pub struct BackupStatusBackupMethodEnvValueFromSecretKeyRef { } /// Specifies runtime settings for the backup workload container. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodRuntimeSettings { /// Specifies the resource required by container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ #[serde(default, skip_serializing_if = "Option::is_none")] @@ -301,7 +304,7 @@ pub struct BackupStatusBackupMethodRuntimeSettings { } /// Specifies the resource required by container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodRuntimeSettingsResources { /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. @@ -317,14 +320,14 @@ pub struct BackupStatusBackupMethodRuntimeSettingsResources { } /// ResourceClaim references one entry in PodSpec.ResourceClaims. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodRuntimeSettingsResourcesClaims { /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. pub name: String, } /// Specifies the target information to back up, it will override the target in backup policy. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodTarget { /// Specifies the connection credential to connect to the target database cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionCredential")] @@ -341,7 +344,7 @@ pub struct BackupStatusBackupMethodTarget { } /// Specifies the connection credential to connect to the target database cluster. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodTargetConnectionCredential { /// Specifies the map key of the host in the connection credential secret. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostKey")] @@ -361,7 +364,7 @@ pub struct BackupStatusBackupMethodTargetConnectionCredential { } /// Used to find the target pod. The volumes of the target pod will be backed up. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodTargetPodSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] @@ -376,7 +379,7 @@ pub struct BackupStatusBackupMethodTargetPodSelector { } /// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodTargetPodSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, @@ -395,7 +398,7 @@ pub enum BackupStatusBackupMethodTargetPodSelectorStrategy { } /// Specifies the kubernetes resources to back up. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodTargetResources { /// excluded is a slice of namespaced-scoped resource type names to exclude in the kubernetes resources. The default value is empty. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -409,7 +412,7 @@ pub struct BackupStatusBackupMethodTargetResources { } /// A metav1.LabelSelector to filter the target kubernetes resources that need to be backed up. If not set, will do not back up any kubernetes resources. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodTargetResourcesSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] @@ -420,7 +423,7 @@ pub struct BackupStatusBackupMethodTargetResourcesSelector { } /// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodTargetResourcesSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, @@ -432,7 +435,7 @@ pub struct BackupStatusBackupMethodTargetResourcesSelectorMatchExpressions { } /// Specifies which volumes from the target should be mounted in the backup workload. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodTargetVolumes { /// Specifies the mount for the volumes specified in `volumes` section. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")] @@ -443,7 +446,7 @@ pub struct BackupStatusBackupMethodTargetVolumes { } /// VolumeMount describes a mounting of a Volume within a container. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusBackupMethodTargetVolumesVolumeMounts { /// Path within the container at which the volume should be mounted. Must not contain ':'. #[serde(rename = "mountPath")] @@ -464,6 +467,41 @@ pub struct BackupStatusBackupMethodTargetVolumesVolumeMounts { pub sub_path_expr: Option, } +/// Records the encryption config for this backup. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct BackupStatusEncryptionConfig { + /// Specifies the encryption algorithm. Currently supported algorithms are: + /// - AES-128-CFB - AES-192-CFB - AES-256-CFB + pub algorithm: BackupStatusEncryptionConfigAlgorithm, + /// Selects the key of a secret in the current namespace, the value of the secret is used as the encryption key. + #[serde(rename = "passPhraseSecretKeyRef")] + pub pass_phrase_secret_key_ref: BackupStatusEncryptionConfigPassPhraseSecretKeyRef, +} + +/// Records the encryption config for this backup. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum BackupStatusEncryptionConfigAlgorithm { + #[serde(rename = "AES-128-CFB")] + Aes128Cfb, + #[serde(rename = "AES-192-CFB")] + Aes192Cfb, + #[serde(rename = "AES-256-CFB")] + Aes256Cfb, +} + +/// Selects the key of a secret in the current namespace, the value of the secret is used as the encryption key. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct BackupStatusEncryptionConfigPassPhraseSecretKeyRef { + /// The key of the secret to select from. Must be a valid secret key. + pub key: String, + /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Specify whether the Secret or its key must be defined + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + /// BackupStatus defines the observed state of Backup. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum BackupStatusPhase { @@ -476,7 +514,7 @@ pub enum BackupStatusPhase { } /// Records the target information for this backup. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusTarget { /// Specifies the connection credential to connect to the target database cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionCredential")] @@ -493,7 +531,7 @@ pub struct BackupStatusTarget { } /// Specifies the connection credential to connect to the target database cluster. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusTargetConnectionCredential { /// Specifies the map key of the host in the connection credential secret. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostKey")] @@ -513,7 +551,7 @@ pub struct BackupStatusTargetConnectionCredential { } /// Used to find the target pod. The volumes of the target pod will be backed up. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusTargetPodSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] @@ -528,7 +566,7 @@ pub struct BackupStatusTargetPodSelector { } /// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusTargetPodSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, @@ -547,7 +585,7 @@ pub enum BackupStatusTargetPodSelectorStrategy { } /// Specifies the kubernetes resources to back up. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusTargetResources { /// excluded is a slice of namespaced-scoped resource type names to exclude in the kubernetes resources. The default value is empty. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -561,7 +599,7 @@ pub struct BackupStatusTargetResources { } /// A metav1.LabelSelector to filter the target kubernetes resources that need to be backed up. If not set, will do not back up any kubernetes resources. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusTargetResourcesSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] @@ -572,7 +610,7 @@ pub struct BackupStatusTargetResourcesSelector { } /// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusTargetResourcesSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, @@ -584,7 +622,7 @@ pub struct BackupStatusTargetResourcesSelectorMatchExpressions { } /// Records the time range of the data backed up. For Point-in-Time Recovery (PITR), this is the time range of recoverable data. -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusTimeRange { /// Records the end time of the backup, in Coordinated Universal Time (UTC). #[serde(default, skip_serializing_if = "Option::is_none")] @@ -597,7 +635,7 @@ pub struct BackupStatusTimeRange { pub time_zone: Option, } -#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct BackupStatusVolumeSnapshots { /// The name of the volume snapshot content. #[serde(default, skip_serializing_if = "Option::is_none", rename = "contentName")] diff --git a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/clusters.rs b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/clusters.rs index b36c466d7..b4119a74a 100644 --- a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/clusters.rs +++ b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/clusters.rs @@ -115,6 +115,26 @@ pub struct ClusterEncryptionConfig { pub struct ClusterEncryptionConfigProvider { #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyARN")] pub key_arn: Option, + /// Reference field for KeyARN + #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyRef")] + pub key_ref: Option, +} + +/// Reference field for KeyARN +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterEncryptionConfigProviderKeyRef { + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) + #[serde(default, skip_serializing_if = "Option::is_none")] + pub from: Option, +} + +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterEncryptionConfigProviderKeyRefFrom { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, } /// The Kubernetes network configuration for the cluster. diff --git a/kube-custom-resources-rs/src/external_secrets_io/v1beta1/clustersecretstores.rs b/kube-custom-resources-rs/src/external_secrets_io/v1beta1/clustersecretstores.rs index 476363b61..cf59001f5 100644 --- a/kube-custom-resources-rs/src/external_secrets_io/v1beta1/clustersecretstores.rs +++ b/kube-custom-resources-rs/src/external_secrets_io/v1beta1/clustersecretstores.rs @@ -810,6 +810,10 @@ pub struct ClusterSecretStoreProviderConjurAuthApikeyUserRef { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ClusterSecretStoreProviderConjurAuthJwt { pub account: String, + /// Optional HostID for JWT authentication. This may be used depending + /// on how the Conjur JWT authenticator policy is configured. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostId")] + pub host_id: Option, /// Optional SecretRef that refers to a key in a Secret resource containing JWT token to /// authenticate with Conjur using the JWT authentication method. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] diff --git a/kube-custom-resources-rs/src/external_secrets_io/v1beta1/secretstores.rs b/kube-custom-resources-rs/src/external_secrets_io/v1beta1/secretstores.rs index 7f2e211c6..cc937550d 100644 --- a/kube-custom-resources-rs/src/external_secrets_io/v1beta1/secretstores.rs +++ b/kube-custom-resources-rs/src/external_secrets_io/v1beta1/secretstores.rs @@ -811,6 +811,10 @@ pub struct SecretStoreProviderConjurAuthApikeyUserRef { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct SecretStoreProviderConjurAuthJwt { pub account: String, + /// Optional HostID for JWT authentication. This may be used depending + /// on how the Conjur JWT authenticator policy is configured. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostId")] + pub host_id: Option, /// Optional SecretRef that refers to a key in a Secret resource containing JWT token to /// authenticate with Conjur using the JWT authentication method. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] diff --git a/kube-custom-resources-rs/src/gateway_networking_k8s_io/v1/gateways.rs b/kube-custom-resources-rs/src/gateway_networking_k8s_io/v1/gateways.rs index 393ff847b..7f5827f11 100644 --- a/kube-custom-resources-rs/src/gateway_networking_k8s_io/v1/gateways.rs +++ b/kube-custom-resources-rs/src/gateway_networking_k8s_io/v1/gateways.rs @@ -548,13 +548,14 @@ pub struct GatewayListenersTls { /// There are two possible modes: /// /// - /// - Terminate: The TLS session between the downstream client - /// and the Gateway is terminated at the Gateway. This mode requires - /// certificateRefs to be set and contain at least one element. + /// - Terminate: The TLS session between the downstream client and the + /// Gateway is terminated at the Gateway. This mode requires certificates + /// to be specified in some way, such as populating the certificateRefs + /// field. /// - Passthrough: The TLS session is NOT terminated by the Gateway. This /// implies that the Gateway can't decipher the TLS stream except for - /// the ClientHello message of the TLS protocol. - /// CertificateRefs field is ignored in this mode. + /// the ClientHello message of the TLS protocol. The certificateRefs field + /// is ignored in this mode. /// /// /// Support: Core diff --git a/kube-custom-resources-rs/src/gateway_networking_k8s_io/v1beta1/gateways.rs b/kube-custom-resources-rs/src/gateway_networking_k8s_io/v1beta1/gateways.rs index 0c72dfbeb..569a619fe 100644 --- a/kube-custom-resources-rs/src/gateway_networking_k8s_io/v1beta1/gateways.rs +++ b/kube-custom-resources-rs/src/gateway_networking_k8s_io/v1beta1/gateways.rs @@ -548,13 +548,14 @@ pub struct GatewayListenersTls { /// There are two possible modes: /// /// - /// - Terminate: The TLS session between the downstream client - /// and the Gateway is terminated at the Gateway. This mode requires - /// certificateRefs to be set and contain at least one element. + /// - Terminate: The TLS session between the downstream client and the + /// Gateway is terminated at the Gateway. This mode requires certificates + /// to be specified in some way, such as populating the certificateRefs + /// field. /// - Passthrough: The TLS session is NOT terminated by the Gateway. This /// implies that the Gateway can't decipher the TLS stream except for - /// the ClientHello message of the TLS protocol. - /// CertificateRefs field is ignored in this mode. + /// the ClientHello message of the TLS protocol. The certificateRefs field + /// is ignored in this mode. /// /// /// Support: Core diff --git a/kube-custom-resources-rs/src/hazelcast_com/v1alpha1/hazelcasts.rs b/kube-custom-resources-rs/src/hazelcast_com/v1alpha1/hazelcasts.rs index b0852a4fa..494e7a3e9 100644 --- a/kube-custom-resources-rs/src/hazelcast_com/v1alpha1/hazelcasts.rs +++ b/kube-custom-resources-rs/src/hazelcast_com/v1alpha1/hazelcasts.rs @@ -165,6 +165,11 @@ pub struct HazelcastAgent { /// Compute Resources required by the Agent container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct HazelcastAgentResources { + /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + /// This field is immutable. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub claims: Option>, /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, @@ -173,6 +178,13 @@ pub struct HazelcastAgentResources { pub requests: Option>, } +/// ResourceClaim references one entry in PodSpec.ResourceClaims. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct HazelcastAgentResourcesClaims { + /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + pub name: String, +} + #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct HazelcastDurableExecutorServices { /// Capacity of the executor task per partition. @@ -514,6 +526,11 @@ pub enum HazelcastPersistenceStartupAction { /// Compute Resources required by the Hazelcast container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct HazelcastResources { + /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + /// This field is immutable. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub claims: Option>, /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, @@ -522,6 +539,13 @@ pub struct HazelcastResources { pub requests: Option>, } +/// ResourceClaim references one entry in PodSpec.ResourceClaims. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct HazelcastResourcesClaims { + /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + pub name: String, +} + #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct HazelcastScheduledExecutorServices { /// Capacity of the executor task per partition. @@ -1002,11 +1026,11 @@ pub struct HazelcastSchedulingTopologySpreadConstraints { #[serde(default, skip_serializing_if = "Option::is_none", rename = "minDomains")] pub min_domains: Option, /// NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. - /// If this value is nil, the behavior is equivalent to the Honor policy. This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + /// If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinityPolicy")] pub node_affinity_policy: Option, /// NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. - /// If this value is nil, the behavior is equivalent to the Ignore policy. This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + /// If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeTaintsPolicy")] pub node_taints_policy: Option, /// TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a "bucket", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field. diff --git a/kube-custom-resources-rs/src/hazelcast_com/v1alpha1/managementcenters.rs b/kube-custom-resources-rs/src/hazelcast_com/v1alpha1/managementcenters.rs index 9f6d331d8..fa796d814 100644 --- a/kube-custom-resources-rs/src/hazelcast_com/v1alpha1/managementcenters.rs +++ b/kube-custom-resources-rs/src/hazelcast_com/v1alpha1/managementcenters.rs @@ -174,6 +174,11 @@ pub struct ManagementCenterPersistence { /// Compute Resources required by the MC container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ManagementCenterResources { + /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + /// This field is immutable. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub claims: Option>, /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, @@ -182,6 +187,13 @@ pub struct ManagementCenterResources { pub requests: Option>, } +/// ResourceClaim references one entry in PodSpec.ResourceClaims. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ManagementCenterResourcesClaims { + /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + pub name: String, +} + /// Scheduling details #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ManagementCenterScheduling { @@ -643,11 +655,11 @@ pub struct ManagementCenterSchedulingTopologySpreadConstraints { #[serde(default, skip_serializing_if = "Option::is_none", rename = "minDomains")] pub min_domains: Option, /// NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. - /// If this value is nil, the behavior is equivalent to the Honor policy. This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + /// If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinityPolicy")] pub node_affinity_policy: Option, /// NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. - /// If this value is nil, the behavior is equivalent to the Ignore policy. This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + /// If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeTaintsPolicy")] pub node_taints_policy: Option, /// TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a "bucket", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field. diff --git a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellclusters.rs b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellclusters.rs index 1d2ca750b..011446d2c 100644 --- a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellclusters.rs +++ b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellclusters.rs @@ -12,26 +12,46 @@ use serde::{Serialize, Deserialize}; #[kube(status = "TinkerbellClusterStatus")] #[kube(schema = "disabled")] pub struct TinkerbellClusterSpec { - /// ControlPlaneEndpoint is a required field by ClusterAPI v1beta1. - /// See https://cluster-api.sigs.k8s.io/developer/architecture/controllers/cluster.html for more details. + /// ControlPlaneEndpoint is a required field by ClusterAPI v1beta1. + /// + /// + /// See https://cluster-api.sigs.k8s.io/developer/architecture/controllers/cluster.html + /// for more details. #[serde(default, skip_serializing_if = "Option::is_none", rename = "controlPlaneEndpoint")] pub control_plane_endpoint: Option, - /// ImageLookupBaseRegistry is the base Registry URL that is used for pulling images, if not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell. + /// ImageLookupBaseRegistry is the base Registry URL that is used for pulling images, + /// if not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupBaseRegistry")] pub image_lookup_base_registry: Option, - /// ImageLookupFormat is the URL naming format to use for machine images when a machine does not specify. When set, this will be used for all cluster machines unless a machine specifies a different ImageLookupFormat. Supports substitutions for {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with the basse URL, OS distribution, OS version, and kubernetes version, respectively. BaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell (the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default), OSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro (if known), and the kubernetes version as defined by the packages produced by kubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default image format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will attempt to pull the image from that location. See also: https://golang.org/pkg/text/template/ + /// ImageLookupFormat is the URL naming format to use for machine images when + /// a machine does not specify. When set, this will be used for all cluster machines + /// unless a machine specifies a different ImageLookupFormat. Supports substitutions + /// for {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with + /// the basse URL, OS distribution, OS version, and kubernetes version, respectively. + /// BaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell + /// (the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default), + /// OSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro + /// (if known), and the kubernetes version as defined by the packages produced by + /// kubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default + /// image format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will + /// attempt to pull the image from that location. See also: https://golang.org/pkg/text/template/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupFormat")] pub image_lookup_format: Option, - /// ImageLookupOSDistro is the name of the OS distro to use when fetching machine images, if not set it will default to ubuntu. + /// ImageLookupOSDistro is the name of the OS distro to use when fetching machine images, + /// if not set it will default to ubuntu. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupOSDistro")] pub image_lookup_os_distro: Option, - /// ImageLookupOSVersion is the version of the OS distribution to use when fetching machine images. If not set it will default based on ImageLookupOSDistro. + /// ImageLookupOSVersion is the version of the OS distribution to use when fetching machine + /// images. If not set it will default based on ImageLookupOSDistro. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupOSVersion")] pub image_lookup_os_version: Option, } -/// ControlPlaneEndpoint is a required field by ClusterAPI v1beta1. -/// See https://cluster-api.sigs.k8s.io/developer/architecture/controllers/cluster.html for more details. +/// ControlPlaneEndpoint is a required field by ClusterAPI v1beta1. +/// +/// +/// See https://cluster-api.sigs.k8s.io/developer/architecture/controllers/cluster.html +/// for more details. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TinkerbellClusterControlPlaneEndpoint { /// The hostname on which the API server is serving. diff --git a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellmachines.rs b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellmachines.rs index d2f43cde4..0373d369d 100644 --- a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellmachines.rs +++ b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellmachines.rs @@ -16,24 +16,40 @@ pub struct TinkerbellMachineSpec { /// HardwareAffinity allows filtering for hardware. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hardwareAffinity")] pub hardware_affinity: Option, - /// Those fields are set programmatically, but they cannot be re-constructed from "state of the world", so we put them in spec instead of status. + /// Those fields are set programmatically, but they cannot be re-constructed from "state of the world", so + /// we put them in spec instead of status. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hardwareName")] pub hardware_name: Option, - /// ImageLookupBaseRegistry is the base Registry URL that is used for pulling images, if not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell. + /// ImageLookupBaseRegistry is the base Registry URL that is used for pulling images, + /// if not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupBaseRegistry")] pub image_lookup_base_registry: Option, - /// ImageLookupFormat is the URL naming format to use for machine images when a machine does not specify. When set, this will be used for all cluster machines unless a machine specifies a different ImageLookupFormat. Supports substitutions for {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with the basse URL, OS distribution, OS version, and kubernetes version, respectively. BaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell (the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default), OSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro (if known), and the kubernetes version as defined by the packages produced by kubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default image format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will attempt to pull the image from that location. See also: https://golang.org/pkg/text/template/ + /// ImageLookupFormat is the URL naming format to use for machine images when + /// a machine does not specify. When set, this will be used for all cluster machines + /// unless a machine specifies a different ImageLookupFormat. Supports substitutions + /// for {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with + /// the basse URL, OS distribution, OS version, and kubernetes version, respectively. + /// BaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell + /// (the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default), + /// OSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro + /// (if known), and the kubernetes version as defined by the packages produced by + /// kubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default + /// image format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will + /// attempt to pull the image from that location. See also: https://golang.org/pkg/text/template/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupFormat")] pub image_lookup_format: Option, - /// ImageLookupOSDistro is the name of the OS distro to use when fetching machine images, if not set it will default to ubuntu. + /// ImageLookupOSDistro is the name of the OS distro to use when fetching machine images, + /// if not set it will default to ubuntu. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupOSDistro")] pub image_lookup_os_distro: Option, - /// ImageLookupOSVersion is the version of the OS distribution to use when fetching machine images. If not set it will default based on ImageLookupOSDistro. + /// ImageLookupOSVersion is the version of the OS distribution to use when fetching machine + /// images. If not set it will default based on ImageLookupOSDistro. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupOSVersion")] pub image_lookup_os_version: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "providerID")] pub provider_id: Option, - /// TemplateOverride overrides the default Tinkerbell template used by CAPT. You can learn more about Tinkerbell templates here: https://docs.tinkerbell.org/templates/ + /// TemplateOverride overrides the default Tinkerbell template used by CAPT. + /// You can learn more about Tinkerbell templates here: https://docs.tinkerbell.org/templates/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "templateOverride")] pub template_override: Option, } @@ -41,15 +57,18 @@ pub struct TinkerbellMachineSpec { /// HardwareAffinity allows filtering for hardware. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TinkerbellMachineHardwareAffinity { - /// Preferred are the preferred hardware affinity terms. Hardware matching these terms are preferred according to the weights provided, but are not required. + /// Preferred are the preferred hardware affinity terms. Hardware matching these terms are preferred according to the + /// weights provided, but are not required. #[serde(default, skip_serializing_if = "Option::is_none")] pub preferred: Option>, - /// Required are the required hardware affinity terms. The terms are OR'd together, hardware must match one term to be considered. + /// Required are the required hardware affinity terms. The terms are OR'd together, hardware must match one term to + /// be considered. #[serde(default, skip_serializing_if = "Option::is_none")] pub required: Option>, } -/// WeightedHardwareAffinityTerm is a HardwareAffinityTerm with an associated weight. The weights of all the matched WeightedHardwareAffinityTerm fields are added per-hardware to find the most preferred hardware. +/// WeightedHardwareAffinityTerm is a HardwareAffinityTerm with an associated weight. The weights of all the matched +/// WeightedHardwareAffinityTerm fields are added per-hardware to find the most preferred hardware. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TinkerbellMachineHardwareAffinityPreferred { /// HardwareAffinityTerm is the term associated with the corresponding weight. @@ -73,19 +92,26 @@ pub struct TinkerbellMachineHardwareAffinityPreferredHardwareAffinityTermLabelSe /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TinkerbellMachineHardwareAffinityPreferredHardwareAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -104,19 +130,26 @@ pub struct TinkerbellMachineHardwareAffinityRequiredLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TinkerbellMachineHardwareAffinityRequiredLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -127,12 +160,29 @@ pub struct TinkerbellMachineStatus { /// Addresses contains the Tinkerbell device associated addresses. #[serde(default, skip_serializing_if = "Option::is_none")] pub addresses: Option>, - /// ErrorMessage will be set in the event that there is a terminal problem reconciling the Machine and will contain a more verbose string suitable for logging and human consumption. - /// This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured. - /// Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output. + /// ErrorMessage will be set in the event that there is a terminal problem + /// reconciling the Machine and will contain a more verbose string suitable + /// for logging and human consumption. + /// + /// + /// This field should not be set for transitive errors that a controller + /// faces that are expected to be fixed automatically over + /// time (like service outages), but instead indicate that something is + /// fundamentally wrong with the Machine's spec or the configuration of + /// the controller, and that manual intervention is required. Examples + /// of terminal errors would be invalid combinations of settings in the + /// spec, values that are unsupported by the controller, or the + /// responsible controller itself being critically misconfigured. + /// + /// + /// Any transient errors that occur during the reconciliation of Machines + /// can be added as events to the Machine object and/or logged in the + /// controller's output. #[serde(default, skip_serializing_if = "Option::is_none", rename = "errorMessage")] pub error_message: Option, - /// Any transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output. + /// Any transient errors that occur during the reconciliation of Machines + /// can be added as events to the Machine object and/or logged in the + /// controller's output. #[serde(default, skip_serializing_if = "Option::is_none", rename = "errorReason")] pub error_reason: Option, /// InstanceStatus is the status of the Tinkerbell device instance for this machine. diff --git a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellmachinetemplates.rs b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellmachinetemplates.rs index 6773288bb..51174fe3f 100644 --- a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellmachinetemplates.rs +++ b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/tinkerbellmachinetemplates.rs @@ -29,24 +29,40 @@ pub struct TinkerbellMachineTemplateTemplateSpec { /// HardwareAffinity allows filtering for hardware. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hardwareAffinity")] pub hardware_affinity: Option, - /// Those fields are set programmatically, but they cannot be re-constructed from "state of the world", so we put them in spec instead of status. + /// Those fields are set programmatically, but they cannot be re-constructed from "state of the world", so + /// we put them in spec instead of status. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hardwareName")] pub hardware_name: Option, - /// ImageLookupBaseRegistry is the base Registry URL that is used for pulling images, if not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell. + /// ImageLookupBaseRegistry is the base Registry URL that is used for pulling images, + /// if not set, the default will be to use ghcr.io/tinkerbell/cluster-api-provider-tinkerbell. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupBaseRegistry")] pub image_lookup_base_registry: Option, - /// ImageLookupFormat is the URL naming format to use for machine images when a machine does not specify. When set, this will be used for all cluster machines unless a machine specifies a different ImageLookupFormat. Supports substitutions for {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with the basse URL, OS distribution, OS version, and kubernetes version, respectively. BaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell (the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default), OSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro (if known), and the kubernetes version as defined by the packages produced by kubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default image format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will attempt to pull the image from that location. See also: https://golang.org/pkg/text/template/ + /// ImageLookupFormat is the URL naming format to use for machine images when + /// a machine does not specify. When set, this will be used for all cluster machines + /// unless a machine specifies a different ImageLookupFormat. Supports substitutions + /// for {{.BaseRegistry}}, {{.OSDistro}}, {{.OSVersion}} and {{.KubernetesVersion}} with + /// the basse URL, OS distribution, OS version, and kubernetes version, respectively. + /// BaseRegistry will be the value in ImageLookupBaseRegistry or ghcr.io/tinkerbell/cluster-api-provider-tinkerbell + /// (the default), OSDistro will be the value in ImageLookupOSDistro or ubuntu (the default), + /// OSVersion will be the value in ImageLookupOSVersion or default based on the OSDistro + /// (if known), and the kubernetes version as defined by the packages produced by + /// kubernetes/release: v1.13.0, v1.12.5-mybuild.1, or v1.17.3. For example, the default + /// image format of {{.BaseRegistry}}/{{.OSDistro}}-{{.OSVersion}}:{{.KubernetesVersion}}.gz will + /// attempt to pull the image from that location. See also: https://golang.org/pkg/text/template/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupFormat")] pub image_lookup_format: Option, - /// ImageLookupOSDistro is the name of the OS distro to use when fetching machine images, if not set it will default to ubuntu. + /// ImageLookupOSDistro is the name of the OS distro to use when fetching machine images, + /// if not set it will default to ubuntu. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupOSDistro")] pub image_lookup_os_distro: Option, - /// ImageLookupOSVersion is the version of the OS distribution to use when fetching machine images. If not set it will default based on ImageLookupOSDistro. + /// ImageLookupOSVersion is the version of the OS distribution to use when fetching machine + /// images. If not set it will default based on ImageLookupOSDistro. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageLookupOSVersion")] pub image_lookup_os_version: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "providerID")] pub provider_id: Option, - /// TemplateOverride overrides the default Tinkerbell template used by CAPT. You can learn more about Tinkerbell templates here: https://docs.tinkerbell.org/templates/ + /// TemplateOverride overrides the default Tinkerbell template used by CAPT. + /// You can learn more about Tinkerbell templates here: https://docs.tinkerbell.org/templates/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "templateOverride")] pub template_override: Option, } @@ -54,15 +70,18 @@ pub struct TinkerbellMachineTemplateTemplateSpec { /// HardwareAffinity allows filtering for hardware. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TinkerbellMachineTemplateTemplateSpecHardwareAffinity { - /// Preferred are the preferred hardware affinity terms. Hardware matching these terms are preferred according to the weights provided, but are not required. + /// Preferred are the preferred hardware affinity terms. Hardware matching these terms are preferred according to the + /// weights provided, but are not required. #[serde(default, skip_serializing_if = "Option::is_none")] pub preferred: Option>, - /// Required are the required hardware affinity terms. The terms are OR'd together, hardware must match one term to be considered. + /// Required are the required hardware affinity terms. The terms are OR'd together, hardware must match one term to + /// be considered. #[serde(default, skip_serializing_if = "Option::is_none")] pub required: Option>, } -/// WeightedHardwareAffinityTerm is a HardwareAffinityTerm with an associated weight. The weights of all the matched WeightedHardwareAffinityTerm fields are added per-hardware to find the most preferred hardware. +/// WeightedHardwareAffinityTerm is a HardwareAffinityTerm with an associated weight. The weights of all the matched +/// WeightedHardwareAffinityTerm fields are added per-hardware to find the most preferred hardware. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TinkerbellMachineTemplateTemplateSpecHardwareAffinityPreferred { /// HardwareAffinityTerm is the term associated with the corresponding weight. @@ -86,19 +105,26 @@ pub struct TinkerbellMachineTemplateTemplateSpecHardwareAffinityPreferredHardwar /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TinkerbellMachineTemplateTemplateSpecHardwareAffinityPreferredHardwareAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -117,19 +143,26 @@ pub struct TinkerbellMachineTemplateTemplateSpecHardwareAffinityRequiredLabelSel /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TinkerbellMachineTemplateTemplateSpecHardwareAffinityRequiredLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } diff --git a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspheremachines.rs b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspheremachines.rs index 331d9a864..50cb584d2 100644 --- a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspheremachines.rs +++ b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspheremachines.rs @@ -133,7 +133,7 @@ pub struct VSphereMachineNetworkDevices { /// Gateway4 is the IPv4 gateway used by this device. #[serde(default, skip_serializing_if = "Option::is_none")] pub gateway6: Option, - /// IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4 and DHCP6 are both false. + /// IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4, DHCP6 and SkipIPAllocation are false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipAddrs")] pub ip_addrs: Option>, /// MACAddr is the MAC address used by this device. It is generally a good idea to omit this field and allow a MAC address to be generated. Please note that this value must use the VMware OUI to work with the in-tree vSphere cloud provider. @@ -154,6 +154,9 @@ pub struct VSphereMachineNetworkDevices { /// SearchDomains is a list of search domains used when resolving IP addresses with DNS. #[serde(default, skip_serializing_if = "Option::is_none", rename = "searchDomains")] pub search_domains: Option>, + /// SkipIPAllocation allows the device to not have IP address or DHCP configured. This is suitable for devices for which IP allocation is handled externally, eg. using Multus CNI. If true, CAPV will not verify IP address allocation. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "skipIPAllocation")] + pub skip_ip_allocation: Option, } /// TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace. diff --git a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspheremachinetemplates.rs b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspheremachinetemplates.rs index 48fc8362a..7deb9e8d4 100644 --- a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspheremachinetemplates.rs +++ b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspheremachinetemplates.rs @@ -160,7 +160,7 @@ pub struct VSphereMachineTemplateTemplateSpecNetworkDevices { /// Gateway4 is the IPv4 gateway used by this device. #[serde(default, skip_serializing_if = "Option::is_none")] pub gateway6: Option, - /// IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4 and DHCP6 are both false. + /// IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4, DHCP6 and SkipIPAllocation are false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipAddrs")] pub ip_addrs: Option>, /// MACAddr is the MAC address used by this device. It is generally a good idea to omit this field and allow a MAC address to be generated. Please note that this value must use the VMware OUI to work with the in-tree vSphere cloud provider. @@ -181,6 +181,9 @@ pub struct VSphereMachineTemplateTemplateSpecNetworkDevices { /// SearchDomains is a list of search domains used when resolving IP addresses with DNS. #[serde(default, skip_serializing_if = "Option::is_none", rename = "searchDomains")] pub search_domains: Option>, + /// SkipIPAllocation allows the device to not have IP address or DHCP configured. This is suitable for devices for which IP allocation is handled externally, eg. using Multus CNI. If true, CAPV will not verify IP address allocation. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "skipIPAllocation")] + pub skip_ip_allocation: Option, } /// TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace. diff --git a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspherevms.rs b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspherevms.rs index 6a0033524..45207da70 100644 --- a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspherevms.rs +++ b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/vspherevms.rs @@ -159,7 +159,7 @@ pub struct VSphereVMNetworkDevices { /// Gateway4 is the IPv4 gateway used by this device. #[serde(default, skip_serializing_if = "Option::is_none")] pub gateway6: Option, - /// IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4 and DHCP6 are both false. + /// IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign to this device. IP addresses must also specify the segment length in CIDR notation. Required when DHCP4, DHCP6 and SkipIPAllocation are false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipAddrs")] pub ip_addrs: Option>, /// MACAddr is the MAC address used by this device. It is generally a good idea to omit this field and allow a MAC address to be generated. Please note that this value must use the VMware OUI to work with the in-tree vSphere cloud provider. @@ -180,6 +180,9 @@ pub struct VSphereVMNetworkDevices { /// SearchDomains is a list of search domains used when resolving IP addresses with DNS. #[serde(default, skip_serializing_if = "Option::is_none", rename = "searchDomains")] pub search_domains: Option>, + /// SkipIPAllocation allows the device to not have IP address or DHCP configured. This is suitable for devices for which IP allocation is handled externally, eg. using Multus CNI. If true, CAPV will not verify IP address allocation. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "skipIPAllocation")] + pub skip_ip_allocation: Option, } /// TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace. diff --git a/kube-custom-resources-rs/src/k8s_otterize_com/v1alpha3/clientintents.rs b/kube-custom-resources-rs/src/k8s_otterize_com/v1alpha3/clientintents.rs index e6a5010de..bf2417e72 100644 --- a/kube-custom-resources-rs/src/k8s_otterize_com/v1alpha3/clientintents.rs +++ b/kube-custom-resources-rs/src/k8s_otterize_com/v1alpha3/clientintents.rs @@ -22,8 +22,12 @@ pub struct ClientIntentsCalls { pub http_resources: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "awsActions")] pub aws_actions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "azureRoles")] + pub azure_roles: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseResources")] pub database_resources: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gcpPermissions")] + pub gcp_permissions: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub internet: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "kafkaTopics")] @@ -76,6 +80,10 @@ pub enum ClientIntentsCallsType { Database, #[serde(rename = "aws")] Aws, + #[serde(rename = "gcp")] + Gcp, + #[serde(rename = "azure")] + Azure, #[serde(rename = "internet")] Internet, } diff --git a/kube-custom-resources-rs/src/kamaji_clastix_io/v1alpha1/tenantcontrolplanes.rs b/kube-custom-resources-rs/src/kamaji_clastix_io/v1alpha1/tenantcontrolplanes.rs index 3dcb1f98c..94918ee4f 100644 --- a/kube-custom-resources-rs/src/kamaji_clastix_io/v1alpha1/tenantcontrolplanes.rs +++ b/kube-custom-resources-rs/src/kamaji_clastix_io/v1alpha1/tenantcontrolplanes.rs @@ -66,7 +66,7 @@ pub struct TenantControlPlaneAddonsKonnectivity { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct TenantControlPlaneAddonsKonnectivityAgent { - /// ExtraArgs allows adding additional arguments to said component. + /// ExtraArgs allows adding additional arguments to said component. WARNING - This option can override existing konnectivity parameters and cause konnectivity components to misbehave in unxpected ways. Only modify if you know what you are doing. #[serde(default, skip_serializing_if = "Option::is_none", rename = "extraArgs")] pub extra_args: Option>, /// AgentImage defines the container image for Konnectivity's agent. @@ -79,7 +79,7 @@ pub struct TenantControlPlaneAddonsKonnectivityAgent { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct TenantControlPlaneAddonsKonnectivityServer { - /// ExtraArgs allows adding additional arguments to said component. + /// ExtraArgs allows adding additional arguments to said component. WARNING - This option can override existing konnectivity parameters and cause konnectivity components to misbehave in unxpected ways. Only modify if you know what you are doing. #[serde(default, skip_serializing_if = "Option::is_none", rename = "extraArgs")] pub extra_args: Option>, /// Container image used by the Konnectivity server. @@ -163,7 +163,7 @@ pub struct TenantControlPlaneControlPlaneDeployment { /// If specified, the Tenant Control Plane pod's scheduling constraints. More info: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/ #[serde(default, skip_serializing_if = "Option::is_none")] pub affinity: Option, - /// ExtraArgs allows adding additional arguments to the Control Plane components, such as kube-apiserver, controller-manager, and scheduler. + /// ExtraArgs allows adding additional arguments to the Control Plane components, such as kube-apiserver, controller-manager, and scheduler. WARNING - This option can override existing parameters and cause components to misbehave in unxpected ways. Only modify if you know what you are doing. #[serde(default, skip_serializing_if = "Option::is_none", rename = "extraArgs")] pub extra_args: Option, /// NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ @@ -3323,7 +3323,7 @@ pub struct TenantControlPlaneControlPlaneDeploymentAffinityPodAntiAffinityRequir pub values: Option>, } -/// ExtraArgs allows adding additional arguments to the Control Plane components, such as kube-apiserver, controller-manager, and scheduler. +/// ExtraArgs allows adding additional arguments to the Control Plane components, such as kube-apiserver, controller-manager, and scheduler. WARNING - This option can override existing parameters and cause components to misbehave in unxpected ways. Only modify if you know what you are doing. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct TenantControlPlaneControlPlaneDeploymentExtraArgs { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiServer")] diff --git a/kube-custom-resources-rs/src/keda_sh/v1alpha1/clustertriggerauthentications.rs b/kube-custom-resources-rs/src/keda_sh/v1alpha1/clustertriggerauthentications.rs index 2dbd78955..df6697bf7 100644 --- a/kube-custom-resources-rs/src/keda_sh/v1alpha1/clustertriggerauthentications.rs +++ b/kube-custom-resources-rs/src/keda_sh/v1alpha1/clustertriggerauthentications.rs @@ -116,11 +116,17 @@ pub struct ClusterTriggerAuthenticationAwsSecretManagerCredentialsAccessTokenVal /// mechanism #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ClusterTriggerAuthenticationAwsSecretManagerPodIdentity { + /// Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")] + pub identity_authority_host: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")] pub identity_id: Option, /// IdentityOwner configures which identity has to be used during auto discovery, keda or the scaled workload. Mutually exclusive with roleArn #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")] pub identity_owner: Option, + /// Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")] + pub identity_tenant_id: Option, /// PodIdentityProvider contains the list of providers pub provider: ClusterTriggerAuthenticationAwsSecretManagerPodIdentityProvider, /// RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner @@ -224,11 +230,17 @@ pub struct ClusterTriggerAuthenticationAzureKeyVaultCredentialsClientSecretValue /// mechanism #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ClusterTriggerAuthenticationAzureKeyVaultPodIdentity { + /// Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")] + pub identity_authority_host: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")] pub identity_id: Option, /// IdentityOwner configures which identity has to be used during auto discovery, keda or the scaled workload. Mutually exclusive with roleArn #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")] pub identity_owner: Option, + /// Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")] + pub identity_tenant_id: Option, /// PodIdentityProvider contains the list of providers pub provider: ClusterTriggerAuthenticationAzureKeyVaultPodIdentityProvider, /// RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner @@ -329,11 +341,17 @@ pub struct ClusterTriggerAuthenticationGcpSecretManagerCredentialsClientSecretVa /// mechanism #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ClusterTriggerAuthenticationGcpSecretManagerPodIdentity { + /// Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")] + pub identity_authority_host: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")] pub identity_id: Option, /// IdentityOwner configures which identity has to be used during auto discovery, keda or the scaled workload. Mutually exclusive with roleArn #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")] pub identity_owner: Option, + /// Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")] + pub identity_tenant_id: Option, /// PodIdentityProvider contains the list of providers pub provider: ClusterTriggerAuthenticationGcpSecretManagerPodIdentityProvider, /// RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner @@ -439,11 +457,17 @@ pub struct ClusterTriggerAuthenticationHashiCorpVaultSecretsPkiData { /// mechanism #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ClusterTriggerAuthenticationPodIdentity { + /// Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")] + pub identity_authority_host: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")] pub identity_id: Option, /// IdentityOwner configures which identity has to be used during auto discovery, keda or the scaled workload. Mutually exclusive with roleArn #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")] pub identity_owner: Option, + /// Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")] + pub identity_tenant_id: Option, /// PodIdentityProvider contains the list of providers pub provider: ClusterTriggerAuthenticationPodIdentityProvider, /// RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner diff --git a/kube-custom-resources-rs/src/keda_sh/v1alpha1/triggerauthentications.rs b/kube-custom-resources-rs/src/keda_sh/v1alpha1/triggerauthentications.rs index 9efcadfcb..3eff96c10 100644 --- a/kube-custom-resources-rs/src/keda_sh/v1alpha1/triggerauthentications.rs +++ b/kube-custom-resources-rs/src/keda_sh/v1alpha1/triggerauthentications.rs @@ -117,11 +117,17 @@ pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessTokenValueFromS /// mechanism #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct TriggerAuthenticationAwsSecretManagerPodIdentity { + /// Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")] + pub identity_authority_host: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")] pub identity_id: Option, /// IdentityOwner configures which identity has to be used during auto discovery, keda or the scaled workload. Mutually exclusive with roleArn #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")] pub identity_owner: Option, + /// Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")] + pub identity_tenant_id: Option, /// PodIdentityProvider contains the list of providers pub provider: TriggerAuthenticationAwsSecretManagerPodIdentityProvider, /// RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner @@ -225,11 +231,17 @@ pub struct TriggerAuthenticationAzureKeyVaultCredentialsClientSecretValueFromSec /// mechanism #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct TriggerAuthenticationAzureKeyVaultPodIdentity { + /// Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")] + pub identity_authority_host: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")] pub identity_id: Option, /// IdentityOwner configures which identity has to be used during auto discovery, keda or the scaled workload. Mutually exclusive with roleArn #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")] pub identity_owner: Option, + /// Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")] + pub identity_tenant_id: Option, /// PodIdentityProvider contains the list of providers pub provider: TriggerAuthenticationAzureKeyVaultPodIdentityProvider, /// RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner @@ -330,11 +342,17 @@ pub struct TriggerAuthenticationGcpSecretManagerCredentialsClientSecretValueFrom /// mechanism #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct TriggerAuthenticationGcpSecretManagerPodIdentity { + /// Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")] + pub identity_authority_host: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")] pub identity_id: Option, /// IdentityOwner configures which identity has to be used during auto discovery, keda or the scaled workload. Mutually exclusive with roleArn #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")] pub identity_owner: Option, + /// Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")] + pub identity_tenant_id: Option, /// PodIdentityProvider contains the list of providers pub provider: TriggerAuthenticationGcpSecretManagerPodIdentityProvider, /// RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner @@ -440,11 +458,17 @@ pub struct TriggerAuthenticationHashiCorpVaultSecretsPkiData { /// mechanism #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct TriggerAuthenticationPodIdentity { + /// Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")] + pub identity_authority_host: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")] pub identity_id: Option, /// IdentityOwner configures which identity has to be used during auto discovery, keda or the scaled workload. Mutually exclusive with roleArn #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")] pub identity_owner: Option, + /// Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set + #[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")] + pub identity_tenant_id: Option, /// PodIdentityProvider contains the list of providers pub provider: TriggerAuthenticationPodIdentityProvider, /// RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner diff --git a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1alpha1/clusteroutputs.rs b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1alpha1/clusteroutputs.rs index dd67053d9..c222c6589 100644 --- a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1alpha1/clusteroutputs.rs +++ b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1alpha1/clusteroutputs.rs @@ -72,6 +72,10 @@ pub struct ClusterOutputSpec { pub sumologic: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub syslog: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "vmwareLogInsight")] + pub vmware_log_insight: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "vmwareLogIntelligence")] + pub vmware_log_intelligence: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -7614,6 +7618,434 @@ pub struct ClusterOutputSyslogTrustedCaPathValueFromSecretKeyRef { pub optional: Option, } +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsight { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub agent_id: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub authentication: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub buffer: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub ca_file: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub config_param: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flatten_hashes: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flatten_hashes_separator: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub host: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub http_conn_debug: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub http_method: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub log_text_keys: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub max_batch_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub password: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub port: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub raise_on_error: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub rate_limit_msec: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub request_retries: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub request_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub scheme: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub serializer: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub shorten_keys: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub ssl_verify: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub username: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogInsightAuthentication { + #[serde(rename = "nil")] + Nil, + #[serde(rename = "basic")] + Basic, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightBuffer { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_full_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_records: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub compress: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub delayed_commit_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disable_chunk_backup: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disabled: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_at_shutdown: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_burst_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_count: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub overflow_action: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queue_limit_length: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queued_chunks_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_exponential_backoff_base: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_forever: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_times: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_randomize: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_secondary_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_type: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub tags: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_use_utc: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_zone: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub total_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFile { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFileMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFileMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFileValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFileValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogInsightHttpMethod { + #[serde(rename = "post")] + Post, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPassword { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPasswordMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPasswordMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPasswordValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPasswordValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogInsightScheme { + #[serde(rename = "http")] + Http, + #[serde(rename = "https")] + Https, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogInsightSerializer { + #[serde(rename = "json")] + Json, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsername { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsernameMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsernameMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsernameValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsernameValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligence { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub buffer: Option, + pub endpoint_url: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub format: Option, + pub headers: ClusterOutputVmwareLogIntelligenceHeaders, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub http_compress: Option, + pub verify_ssl: bool, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceBuffer { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_full_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_records: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub compress: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub delayed_commit_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disable_chunk_backup: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disabled: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_at_shutdown: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_burst_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_count: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub overflow_action: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queue_limit_length: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queued_chunks_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_exponential_backoff_base: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_forever: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_times: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_randomize: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_secondary_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_type: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub tags: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_use_utc: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_zone: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub total_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceFormat { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub add_newline: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub message_key: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogIntelligenceFormatType { + #[serde(rename = "out_file")] + OutFile, + #[serde(rename = "json")] + Json, + #[serde(rename = "ltsv")] + Ltsv, + #[serde(rename = "csv")] + Csv, + #[serde(rename = "msgpack")] + Msgpack, + #[serde(rename = "hash")] + Hash, + #[serde(rename = "single_value")] + SingleValue, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeaders { + pub authorization: ClusterOutputVmwareLogIntelligenceHeadersAuthorization, + pub content_type: String, + pub structure: String, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorization { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorizationMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorizationMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorizationValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorizationValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterOutputStatus { #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/clusteroutputs.rs b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/clusteroutputs.rs index 08e4d5066..125162244 100644 --- a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/clusteroutputs.rs +++ b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/clusteroutputs.rs @@ -72,6 +72,10 @@ pub struct ClusterOutputSpec { pub sumologic: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub syslog: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "vmwareLogInsight")] + pub vmware_log_insight: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "vmwareLogIntelligence")] + pub vmware_log_intelligence: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -7614,6 +7618,434 @@ pub struct ClusterOutputSyslogTrustedCaPathValueFromSecretKeyRef { pub optional: Option, } +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsight { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub agent_id: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub authentication: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub buffer: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub ca_file: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub config_param: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flatten_hashes: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flatten_hashes_separator: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub host: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub http_conn_debug: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub http_method: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub log_text_keys: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub max_batch_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub password: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub port: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub raise_on_error: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub rate_limit_msec: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub request_retries: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub request_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub scheme: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub serializer: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub shorten_keys: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub ssl_verify: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub username: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogInsightAuthentication { + #[serde(rename = "nil")] + Nil, + #[serde(rename = "basic")] + Basic, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightBuffer { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_full_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_records: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub compress: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub delayed_commit_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disable_chunk_backup: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disabled: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_at_shutdown: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_burst_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_count: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub overflow_action: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queue_limit_length: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queued_chunks_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_exponential_backoff_base: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_forever: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_times: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_randomize: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_secondary_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_type: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub tags: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_use_utc: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_zone: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub total_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFile { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFileMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFileMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFileValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightCaFileValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogInsightHttpMethod { + #[serde(rename = "post")] + Post, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPassword { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPasswordMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPasswordMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPasswordValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightPasswordValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogInsightScheme { + #[serde(rename = "http")] + Http, + #[serde(rename = "https")] + Https, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogInsightSerializer { + #[serde(rename = "json")] + Json, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsername { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsernameMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsernameMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsernameValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogInsightUsernameValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligence { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub buffer: Option, + pub endpoint_url: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub format: Option, + pub headers: ClusterOutputVmwareLogIntelligenceHeaders, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub http_compress: Option, + pub verify_ssl: bool, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceBuffer { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_full_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_records: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub compress: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub delayed_commit_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disable_chunk_backup: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disabled: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_at_shutdown: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_burst_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_count: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub overflow_action: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queue_limit_length: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queued_chunks_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_exponential_backoff_base: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_forever: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_times: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_randomize: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_secondary_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_type: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub tags: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_use_utc: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_zone: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub total_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceFormat { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub add_newline: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub message_key: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterOutputVmwareLogIntelligenceFormatType { + #[serde(rename = "out_file")] + OutFile, + #[serde(rename = "json")] + Json, + #[serde(rename = "ltsv")] + Ltsv, + #[serde(rename = "csv")] + Csv, + #[serde(rename = "msgpack")] + Msgpack, + #[serde(rename = "hash")] + Hash, + #[serde(rename = "single_value")] + SingleValue, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeaders { + pub authorization: ClusterOutputVmwareLogIntelligenceHeadersAuthorization, + pub content_type: String, + pub structure: String, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorization { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorizationMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorizationMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorizationValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterOutputVmwareLogIntelligenceHeadersAuthorizationValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterOutputStatus { #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/outputs.rs b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/outputs.rs index 852049034..762d207e2 100644 --- a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/outputs.rs +++ b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/outputs.rs @@ -70,6 +70,10 @@ pub struct OutputSpec { pub sumologic: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub syslog: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "vmwareLogInsight")] + pub vmware_log_insight: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "vmwareLogIntelligence")] + pub vmware_log_intelligence: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -7612,6 +7616,434 @@ pub struct OutputSyslogTrustedCaPathValueFromSecretKeyRef { pub optional: Option, } +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsight { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub agent_id: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub authentication: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub buffer: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub ca_file: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub config_param: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flatten_hashes: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flatten_hashes_separator: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub host: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub http_conn_debug: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub http_method: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub log_text_keys: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub max_batch_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub password: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub port: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub raise_on_error: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub rate_limit_msec: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub request_retries: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub request_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub scheme: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub serializer: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub shorten_keys: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub ssl_verify: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub username: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum OutputVmwareLogInsightAuthentication { + #[serde(rename = "nil")] + Nil, + #[serde(rename = "basic")] + Basic, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightBuffer { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_full_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_records: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub compress: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub delayed_commit_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disable_chunk_backup: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disabled: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_at_shutdown: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_burst_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_count: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub overflow_action: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queue_limit_length: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queued_chunks_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_exponential_backoff_base: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_forever: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_times: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_randomize: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_secondary_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_type: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub tags: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_use_utc: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_zone: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub total_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightCaFile { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightCaFileMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightCaFileMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightCaFileValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightCaFileValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum OutputVmwareLogInsightHttpMethod { + #[serde(rename = "post")] + Post, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightPassword { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightPasswordMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightPasswordMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightPasswordValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightPasswordValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum OutputVmwareLogInsightScheme { + #[serde(rename = "http")] + Http, + #[serde(rename = "https")] + Https, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum OutputVmwareLogInsightSerializer { + #[serde(rename = "json")] + Json, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightUsername { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightUsernameMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightUsernameMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightUsernameValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogInsightUsernameValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogIntelligence { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub buffer: Option, + pub endpoint_url: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub format: Option, + pub headers: OutputVmwareLogIntelligenceHeaders, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub http_compress: Option, + pub verify_ssl: bool, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogIntelligenceBuffer { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_full_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_records: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub chunk_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub compress: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub delayed_commit_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disable_chunk_backup: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub disabled: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_at_shutdown: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_burst_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_count: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flush_thread_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub overflow_action: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queue_limit_length: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub queued_chunks_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_exponential_backoff_base: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_forever: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_interval: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_max_times: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_randomize: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_secondary_threshold: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_timeout: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_type: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub retry_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub tags: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_use_utc: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_wait: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub timekey_zone: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub total_limit_size: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogIntelligenceFormat { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub add_newline: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub message_key: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum OutputVmwareLogIntelligenceFormatType { + #[serde(rename = "out_file")] + OutFile, + #[serde(rename = "json")] + Json, + #[serde(rename = "ltsv")] + Ltsv, + #[serde(rename = "csv")] + Csv, + #[serde(rename = "msgpack")] + Msgpack, + #[serde(rename = "hash")] + Hash, + #[serde(rename = "single_value")] + SingleValue, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogIntelligenceHeaders { + pub authorization: OutputVmwareLogIntelligenceHeadersAuthorization, + pub content_type: String, + pub structure: String, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogIntelligenceHeadersAuthorization { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountFrom")] + pub mount_from: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogIntelligenceHeadersAuthorizationMountFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogIntelligenceHeadersAuthorizationMountFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogIntelligenceHeadersAuthorizationValueFrom { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct OutputVmwareLogIntelligenceHeadersAuthorizationValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct OutputStatus { #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngclusteroutputs.rs b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngclusteroutputs.rs index 42cb80dfd..75449083b 100644 --- a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngclusteroutputs.rs +++ b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngclusteroutputs.rs @@ -91,6 +91,8 @@ pub struct SyslogNGClusterOutputElasticsearch { #[serde(default, skip_serializing_if = "Option::is_none")] pub retries: Option, #[serde(default, skip_serializing_if = "Option::is_none")] + pub template: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] pub time_reopen: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub timeout: Option, diff --git a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngoutputs.rs b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngoutputs.rs index 16e9571cb..ceabc3314 100644 --- a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngoutputs.rs +++ b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngoutputs.rs @@ -89,6 +89,8 @@ pub struct SyslogNGOutputElasticsearch { #[serde(default, skip_serializing_if = "Option::is_none")] pub retries: Option, #[serde(default, skip_serializing_if = "Option::is_none")] + pub template: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] pub time_reopen: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub timeout: Option, diff --git a/kube-custom-resources-rs/src/loki_grafana_com/v1/alertingrules.rs b/kube-custom-resources-rs/src/loki_grafana_com/v1/alertingrules.rs index e4a1929e3..9a9a28f9e 100644 --- a/kube-custom-resources-rs/src/loki_grafana_com/v1/alertingrules.rs +++ b/kube-custom-resources-rs/src/loki_grafana_com/v1/alertingrules.rs @@ -24,7 +24,8 @@ pub struct AlertingRuleSpec { /// AlertingRuleGroup defines a group of Loki alerting rules. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct AlertingRuleGroups { - /// Interval defines the time interval between evaluation of the given alerting rule. + /// Interval defines the time interval between evaluation of the given + /// alerting rule. #[serde(default, skip_serializing_if = "Option::is_none")] pub interval: Option, /// Limit defines the number of alerts an alerting rule can produce. 0 is no limit. @@ -45,9 +46,12 @@ pub struct AlertingRuleGroupsRules { /// Annotations to add to each alert. #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, - /// The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + /// The LogQL expression to evaluate. Every evaluation cycle this is + /// evaluated at the current time, and all resultant time series become + /// pending/firing alerts. pub expr: String, - /// Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. + /// Alerts are considered firing once they have been returned for this long. + /// Alerts which have not yet fired for long enough are considered pending. #[serde(default, skip_serializing_if = "Option::is_none", rename = "for")] pub r#for: Option, /// Labels to add to each alert. @@ -63,31 +67,71 @@ pub struct AlertingRuleStatus { pub conditions: Option>, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct AlertingRuleStatusConditions { - /// lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + /// lastTransitionTime is the last time the condition transitioned from one status to another. + /// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. #[serde(rename = "lastTransitionTime")] pub last_transition_time: String, - /// message is a human readable message indicating details about the transition. This may be an empty string. + /// message is a human readable message indicating details about the transition. + /// This may be an empty string. pub message: String, - /// observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + /// observedGeneration represents the .metadata.generation that the condition was set based upon. + /// For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + /// with respect to the current state of the instance. #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")] pub observed_generation: Option, - /// reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + /// reason contains a programmatic identifier indicating the reason for the condition's last transition. + /// Producers of specific condition types may define expected values and meanings for this field, + /// and whether the values are considered a guaranteed API. + /// The value should be a CamelCase string. + /// This field may not be empty. pub reason: String, /// status of the condition, one of True, False, Unknown. pub status: AlertingRuleStatusConditionsStatus, - /// type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + /// type of condition in CamelCase or in foo.example.com/CamelCase. + /// --- + /// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + /// useful (see .node.status.conditions), the ability to deconflict is important. + /// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) #[serde(rename = "type")] pub r#type: String, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum AlertingRuleStatusConditionsStatus { True, diff --git a/kube-custom-resources-rs/src/loki_grafana_com/v1/lokistacks.rs b/kube-custom-resources-rs/src/loki_grafana_com/v1/lokistacks.rs index 6440af44c..302757183 100644 --- a/kube-custom-resources-rs/src/loki_grafana_com/v1/lokistacks.rs +++ b/kube-custom-resources-rs/src/loki_grafana_com/v1/lokistacks.rs @@ -19,7 +19,8 @@ pub struct LokiStackSpec { /// Limits defines the limits to be applied to log stream processing. #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option, - /// ManagementState defines if the CR should be managed by the operator or not. Default is managed. + /// ManagementState defines if the CR should be managed by the operator or not. + /// Default is managed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "managementState")] pub management_state: Option, /// Proxy defines the spec for the object proxy to configure cluster proxy information. @@ -28,7 +29,8 @@ pub struct LokiStackSpec { /// Replication defines the configuration for Loki data replication. #[serde(default, skip_serializing_if = "Option::is_none")] pub replication: Option, - /// Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD. ReplicationFactor defines the policy for log stream replication. + /// Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD. + /// ReplicationFactor defines the policy for log stream replication. #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicationFactor")] pub replication_factor: Option, /// Rules defines the spec for the ruler component. @@ -63,11 +65,17 @@ pub struct LokiStackHashRing { /// MemberList configuration spec #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackHashRingMemberlist { - /// EnableIPv6 enables IPv6 support for the memberlist based hash ring. - /// Currently this also forces the instanceAddrType to podIP to avoid local address lookup for the memberlist. + /// EnableIPv6 enables IPv6 support for the memberlist based hash ring. + /// + /// + /// Currently this also forces the instanceAddrType to podIP to avoid local address lookup + /// for the memberlist. #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableIPv6")] pub enable_i_pv6: Option, - /// InstanceAddrType defines the type of address to use to advertise to the ring. Defaults to the first address from any private network interfaces of the current pod. Alternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598) are not available. + /// InstanceAddrType defines the type of address to use to advertise to the ring. + /// Defaults to the first address from any private network interfaces of the current pod. + /// Alternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598) + /// are not available. #[serde(default, skip_serializing_if = "Option::is_none", rename = "instanceAddrType")] pub instance_addr_type: Option, } @@ -116,28 +124,35 @@ pub struct LokiStackLimitsGlobal { /// IngestionLimits defines the limits applied on ingested log streams. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackLimitsGlobalIngestion { - /// IngestionBurstSize defines the local rate-limited sample size per distributor replica. It should be set to the set at least to the maximum logs size expected in a single push request. + /// IngestionBurstSize defines the local rate-limited sample size per + /// distributor replica. It should be set to the set at least to the + /// maximum logs size expected in a single push request. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingestionBurstSize")] pub ingestion_burst_size: Option, /// IngestionRate defines the sample size per second. Units MB. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingestionRate")] pub ingestion_rate: Option, - /// MaxGlobalStreamsPerTenant defines the maximum number of active streams per tenant, across the cluster. + /// MaxGlobalStreamsPerTenant defines the maximum number of active streams + /// per tenant, across the cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxGlobalStreamsPerTenant")] pub max_global_streams_per_tenant: Option, - /// MaxLabelNameLength defines the maximum number of characters allowed for label keys in log streams. + /// MaxLabelNameLength defines the maximum number of characters allowed + /// for label keys in log streams. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelNameLength")] pub max_label_name_length: Option, - /// MaxLabelNamesPerSeries defines the maximum number of label names per series in each log stream. + /// MaxLabelNamesPerSeries defines the maximum number of label names per series + /// in each log stream. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelNamesPerSeries")] pub max_label_names_per_series: Option, - /// MaxLabelValueLength defines the maximum number of characters allowed for label values in log streams. + /// MaxLabelValueLength defines the maximum number of characters allowed + /// for label values in log streams. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelValueLength")] pub max_label_value_length: Option, /// MaxLineSize defines the maximum line size on ingestion path. Units in Bytes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLineSize")] pub max_line_size: Option, - /// PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should target applying automatic stream sharding. Units MB. + /// PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should + /// target applying automatic stream sharding. Units MB. #[serde(default, skip_serializing_if = "Option::is_none", rename = "perStreamDesiredRate")] pub per_stream_desired_rate: Option, /// PerStreamRateLimit defines the maximum byte rate per second per stream. Units MB. @@ -154,13 +169,16 @@ pub struct LokiStackLimitsGlobalQueries { /// CardinalityLimit defines the cardinality limit for index queries. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cardinalityLimit")] pub cardinality_limit: Option, - /// MaxChunksPerQuery defines the maximum number of chunks that can be fetched by a single query. + /// MaxChunksPerQuery defines the maximum number of chunks + /// that can be fetched by a single query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxChunksPerQuery")] pub max_chunks_per_query: Option, - /// MaxEntriesLimitsPerQuery defines the maximum number of log entries that will be returned for a query. + /// MaxEntriesLimitsPerQuery defines the maximum number of log entries + /// that will be returned for a query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxEntriesLimitPerQuery")] pub max_entries_limit_per_query: Option, - /// MaxQuerySeries defines the maximum of unique series that is returned by a metric query. + /// MaxQuerySeries defines the maximum of unique series + /// that is returned by a metric query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxQuerySeries")] pub max_query_series: Option, /// Timeout when querying ingesters or storage during the execution of a query request. @@ -207,28 +225,35 @@ pub struct LokiStackLimitsTenants { /// IngestionLimits defines the limits applied on ingested log streams. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackLimitsTenantsIngestion { - /// IngestionBurstSize defines the local rate-limited sample size per distributor replica. It should be set to the set at least to the maximum logs size expected in a single push request. + /// IngestionBurstSize defines the local rate-limited sample size per + /// distributor replica. It should be set to the set at least to the + /// maximum logs size expected in a single push request. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingestionBurstSize")] pub ingestion_burst_size: Option, /// IngestionRate defines the sample size per second. Units MB. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingestionRate")] pub ingestion_rate: Option, - /// MaxGlobalStreamsPerTenant defines the maximum number of active streams per tenant, across the cluster. + /// MaxGlobalStreamsPerTenant defines the maximum number of active streams + /// per tenant, across the cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxGlobalStreamsPerTenant")] pub max_global_streams_per_tenant: Option, - /// MaxLabelNameLength defines the maximum number of characters allowed for label keys in log streams. + /// MaxLabelNameLength defines the maximum number of characters allowed + /// for label keys in log streams. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelNameLength")] pub max_label_name_length: Option, - /// MaxLabelNamesPerSeries defines the maximum number of label names per series in each log stream. + /// MaxLabelNamesPerSeries defines the maximum number of label names per series + /// in each log stream. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelNamesPerSeries")] pub max_label_names_per_series: Option, - /// MaxLabelValueLength defines the maximum number of characters allowed for label values in log streams. + /// MaxLabelValueLength defines the maximum number of characters allowed + /// for label values in log streams. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelValueLength")] pub max_label_value_length: Option, /// MaxLineSize defines the maximum line size on ingestion path. Units in Bytes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLineSize")] pub max_line_size: Option, - /// PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should target applying automatic stream sharding. Units MB. + /// PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should + /// target applying automatic stream sharding. Units MB. #[serde(default, skip_serializing_if = "Option::is_none", rename = "perStreamDesiredRate")] pub per_stream_desired_rate: Option, /// PerStreamRateLimit defines the maximum byte rate per second per stream. Units MB. @@ -248,13 +273,16 @@ pub struct LokiStackLimitsTenantsQueries { /// CardinalityLimit defines the cardinality limit for index queries. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cardinalityLimit")] pub cardinality_limit: Option, - /// MaxChunksPerQuery defines the maximum number of chunks that can be fetched by a single query. + /// MaxChunksPerQuery defines the maximum number of chunks + /// that can be fetched by a single query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxChunksPerQuery")] pub max_chunks_per_query: Option, - /// MaxEntriesLimitsPerQuery defines the maximum number of log entries that will be returned for a query. + /// MaxEntriesLimitsPerQuery defines the maximum number of log entries + /// that will be returned for a query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxEntriesLimitPerQuery")] pub max_entries_limit_per_query: Option, - /// MaxQuerySeries defines the maximum of unique series that is returned by a metric query. + /// MaxQuerySeries defines the maximum of unique series + /// that is returned by a metric query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxQuerySeries")] pub max_query_series: Option, /// Timeout when querying ingesters or storage during the execution of a query request. @@ -328,7 +356,8 @@ pub struct LokiStackReplication { /// Factor defines the policy for log stream replication. #[serde(default, skip_serializing_if = "Option::is_none")] pub factor: Option, - /// Zones defines an array of ZoneSpec that the scheduler will try to satisfy. IMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones. + /// Zones defines an array of ZoneSpec that the scheduler will try to satisfy. + /// IMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones. #[serde(default, skip_serializing_if = "Option::is_none")] pub zones: Option>, } @@ -349,56 +378,74 @@ pub struct LokiStackReplicationZones { pub struct LokiStackRules { /// Enabled defines a flag to enable/disable the ruler component pub enabled: bool, - /// Namespaces to be selected for PrometheusRules discovery. If unspecified, only the same namespace as the LokiStack object is in is used. + /// Namespaces to be selected for PrometheusRules discovery. If unspecified, only + /// the same namespace as the LokiStack object is in is used. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// A selector to select which LokiRules to mount for loading alerting/recording rules from. + /// A selector to select which LokiRules to mount for loading alerting/recording + /// rules from. #[serde(default, skip_serializing_if = "Option::is_none")] pub selector: Option, } -/// Namespaces to be selected for PrometheusRules discovery. If unspecified, only the same namespace as the LokiStack object is in is used. +/// Namespaces to be selected for PrometheusRules discovery. If unspecified, only +/// the same namespace as the LokiStack object is in is used. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackRulesNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackRulesNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A selector to select which LokiRules to mount for loading alerting/recording rules from. +/// A selector to select which LokiRules to mount for loading alerting/recording +/// rules from. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackRulesSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackRulesSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -422,24 +469,29 @@ pub struct LokiStackStorage { /// Schemas for reading and writing logs. #[serde(default, skip_serializing_if = "Option::is_none")] pub schemas: Option>, - /// Secret for object storage authentication. Name of a secret in the same namespace as the LokiStack custom resource. + /// Secret for object storage authentication. + /// Name of a secret in the same namespace as the LokiStack custom resource. pub secret: LokiStackStorageSecret, /// TLS configuration for reaching the object storage endpoint. #[serde(default, skip_serializing_if = "Option::is_none")] pub tls: Option, } -/// ObjectStorageSchema defines the requirements needed to configure a new storage schema. +/// ObjectStorageSchema defines the requirements needed to configure a new +/// storage schema. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStorageSchemas { - /// EffectiveDate is the date in UTC that the schema will be applied on. To ensure readibility of logs, this date should be before the current date in UTC. + /// EffectiveDate is the date in UTC that the schema will be applied on. + /// To ensure readibility of logs, this date should be before the current + /// date in UTC. #[serde(rename = "effectiveDate")] pub effective_date: String, /// Version for writing and reading logs. pub version: LokiStackStorageSchemasVersion, } -/// ObjectStorageSchema defines the requirements needed to configure a new storage schema. +/// ObjectStorageSchema defines the requirements needed to configure a new +/// storage schema. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum LokiStackStorageSchemasVersion { #[serde(rename = "v11")] @@ -450,9 +502,15 @@ pub enum LokiStackStorageSchemasVersion { V13, } -/// Secret for object storage authentication. Name of a secret in the same namespace as the LokiStack custom resource. +/// Secret for object storage authentication. +/// Name of a secret in the same namespace as the LokiStack custom resource. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStorageSecret { + /// CredentialMode can be used to set the desired credential mode for authenticating with the object storage. + /// If this is not set, then the operator tries to infer the credential mode from the provided secret and its + /// own configuration. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialMode")] + pub credential_mode: Option, /// Name of a secret in the namespace configured for object storage secrets. pub name: String, /// Type of object storage that should be used @@ -460,7 +518,20 @@ pub struct LokiStackStorageSecret { pub r#type: LokiStackStorageSecretType, } -/// Secret for object storage authentication. Name of a secret in the same namespace as the LokiStack custom resource. +/// Secret for object storage authentication. +/// Name of a secret in the same namespace as the LokiStack custom resource. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum LokiStackStorageSecretCredentialMode { + #[serde(rename = "static")] + Static, + #[serde(rename = "token")] + Token, + #[serde(rename = "managed")] + Managed, +} + +/// Secret for object storage authentication. +/// Name of a secret in the same namespace as the LokiStack custom resource. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum LokiStackStorageSecretType { #[serde(rename = "azure")] @@ -478,10 +549,13 @@ pub enum LokiStackStorageSecretType { /// TLS configuration for reaching the object storage endpoint. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStorageTls { - /// Key is the data key of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. If empty, it defaults to "service-ca.crt". + /// Key is the data key of a ConfigMap containing a CA certificate. + /// It needs to be in the same namespace as the LokiStack custom resource. + /// If empty, it defaults to "service-ca.crt". #[serde(default, skip_serializing_if = "Option::is_none", rename = "caKey")] pub ca_key: Option, - /// CA is the name of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. + /// CA is the name of a ConfigMap containing a CA certificate. + /// It needs to be in the same namespace as the LokiStack custom resource. #[serde(rename = "caName")] pub ca_name: String, } @@ -518,27 +592,45 @@ pub struct LokiStackTemplate { /// Compactor defines the compaction component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactor { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, - /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. + /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods + /// of a component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. +/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods +/// of a component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorPodAntiAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the anti-affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling anti-affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the anti-affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the anti-affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -549,7 +641,8 @@ pub struct LokiStackTemplateCompactorPodAntiAffinityPreferredDuringSchedulingIgn /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: LokiStackTemplateCompactorPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } @@ -559,13 +652,24 @@ pub struct LokiStackTemplateCompactorPodAntiAffinityPreferredDuringSchedulingIgn /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -576,59 +680,93 @@ pub struct LokiStackTemplateCompactorPodAntiAffinityPreferredDuringSchedulingIgn /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -639,62 +777,90 @@ pub struct LokiStackTemplateCompactorPodAntiAffinityRequiredDuringSchedulingIgno /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -702,27 +868,45 @@ pub struct LokiStackTemplateCompactorTolerations { /// Distributor defines the distributor component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributor { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, - /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. + /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods + /// of a component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. +/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods +/// of a component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorPodAntiAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the anti-affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling anti-affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the anti-affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the anti-affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -733,7 +917,8 @@ pub struct LokiStackTemplateDistributorPodAntiAffinityPreferredDuringSchedulingI /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: LokiStackTemplateDistributorPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } @@ -743,13 +928,24 @@ pub struct LokiStackTemplateDistributorPodAntiAffinityPreferredDuringSchedulingI /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -760,59 +956,93 @@ pub struct LokiStackTemplateDistributorPodAntiAffinityPreferredDuringSchedulingI /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -823,62 +1053,90 @@ pub struct LokiStackTemplateDistributorPodAntiAffinityRequiredDuringSchedulingIg /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -886,27 +1144,45 @@ pub struct LokiStackTemplateDistributorTolerations { /// Gateway defines the lokistack gateway component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGateway { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, - /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. + /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods + /// of a component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. +/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods +/// of a component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayPodAntiAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the anti-affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling anti-affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the anti-affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the anti-affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -917,7 +1193,8 @@ pub struct LokiStackTemplateGatewayPodAntiAffinityPreferredDuringSchedulingIgnor /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: LokiStackTemplateGatewayPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } @@ -927,13 +1204,24 @@ pub struct LokiStackTemplateGatewayPodAntiAffinityPreferredDuringSchedulingIgnor /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -944,59 +1232,93 @@ pub struct LokiStackTemplateGatewayPodAntiAffinityPreferredDuringSchedulingIgnor /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1007,62 +1329,90 @@ pub struct LokiStackTemplateGatewayPodAntiAffinityRequiredDuringSchedulingIgnore /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -1070,27 +1420,45 @@ pub struct LokiStackTemplateGatewayTolerations { /// IndexGateway defines the index gateway component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGateway { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, - /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. + /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods + /// of a component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. +/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods +/// of a component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayPodAntiAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the anti-affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling anti-affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the anti-affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the anti-affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -1101,7 +1469,8 @@ pub struct LokiStackTemplateIndexGatewayPodAntiAffinityPreferredDuringScheduling /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: LokiStackTemplateIndexGatewayPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } @@ -1111,13 +1480,24 @@ pub struct LokiStackTemplateIndexGatewayPodAntiAffinityPreferredDuringScheduling /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1128,59 +1508,93 @@ pub struct LokiStackTemplateIndexGatewayPodAntiAffinityPreferredDuringScheduling /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1191,62 +1605,90 @@ pub struct LokiStackTemplateIndexGatewayPodAntiAffinityRequiredDuringSchedulingI /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -1254,27 +1696,45 @@ pub struct LokiStackTemplateIndexGatewayTolerations { /// Ingester defines the ingester component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngester { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, - /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. + /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods + /// of a component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. +/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods +/// of a component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterPodAntiAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the anti-affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling anti-affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the anti-affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the anti-affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -1285,7 +1745,8 @@ pub struct LokiStackTemplateIngesterPodAntiAffinityPreferredDuringSchedulingIgno /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: LokiStackTemplateIngesterPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } @@ -1295,13 +1756,24 @@ pub struct LokiStackTemplateIngesterPodAntiAffinityPreferredDuringSchedulingIgno /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1312,59 +1784,93 @@ pub struct LokiStackTemplateIngesterPodAntiAffinityPreferredDuringSchedulingIgno /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1375,62 +1881,90 @@ pub struct LokiStackTemplateIngesterPodAntiAffinityRequiredDuringSchedulingIgnor /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -1438,27 +1972,45 @@ pub struct LokiStackTemplateIngesterTolerations { /// Querier defines the querier component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerier { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, - /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. + /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods + /// of a component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. +/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods +/// of a component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierPodAntiAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the anti-affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling anti-affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the anti-affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the anti-affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -1469,7 +2021,8 @@ pub struct LokiStackTemplateQuerierPodAntiAffinityPreferredDuringSchedulingIgnor /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: LokiStackTemplateQuerierPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } @@ -1479,13 +2032,24 @@ pub struct LokiStackTemplateQuerierPodAntiAffinityPreferredDuringSchedulingIgnor /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1496,59 +2060,93 @@ pub struct LokiStackTemplateQuerierPodAntiAffinityPreferredDuringSchedulingIgnor /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1559,62 +2157,90 @@ pub struct LokiStackTemplateQuerierPodAntiAffinityRequiredDuringSchedulingIgnore /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -1622,27 +2248,45 @@ pub struct LokiStackTemplateQuerierTolerations { /// QueryFrontend defines the query frontend component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontend { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, - /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. + /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods + /// of a component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. +/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods +/// of a component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendPodAntiAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the anti-affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling anti-affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the anti-affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the anti-affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -1653,7 +2297,8 @@ pub struct LokiStackTemplateQueryFrontendPodAntiAffinityPreferredDuringSchedulin /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: LokiStackTemplateQueryFrontendPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } @@ -1663,13 +2308,24 @@ pub struct LokiStackTemplateQueryFrontendPodAntiAffinityPreferredDuringSchedulin /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1680,59 +2336,93 @@ pub struct LokiStackTemplateQueryFrontendPodAntiAffinityPreferredDuringSchedulin /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1743,62 +2433,90 @@ pub struct LokiStackTemplateQueryFrontendPodAntiAffinityRequiredDuringScheduling /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -1806,27 +2524,45 @@ pub struct LokiStackTemplateQueryFrontendTolerations { /// Ruler defines the ruler component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRuler { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, - /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. + /// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods + /// of a component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods of a component. +/// PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods +/// of a component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerPodAntiAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the anti-affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling anti-affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the anti-affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the anti-affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -1837,7 +2573,8 @@ pub struct LokiStackTemplateRulerPodAntiAffinityPreferredDuringSchedulingIgnored /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: LokiStackTemplateRulerPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } @@ -1847,13 +2584,24 @@ pub struct LokiStackTemplateRulerPodAntiAffinityPreferredDuringSchedulingIgnored /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1864,59 +2612,93 @@ pub struct LokiStackTemplateRulerPodAntiAffinityPreferredDuringSchedulingIgnored /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } @@ -1927,62 +2709,90 @@ pub struct LokiStackTemplateRulerPodAntiAffinityRequiredDuringSchedulingIgnoredD /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -2030,10 +2840,13 @@ pub struct LokiStackTenantsAuthenticationMTls { /// CA defines the spec for the custom CA for tenant's authentication. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTenantsAuthenticationMTlsCa { - /// Key is the data key of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. If empty, it defaults to "service-ca.crt". + /// Key is the data key of a ConfigMap containing a CA certificate. + /// It needs to be in the same namespace as the LokiStack custom resource. + /// If empty, it defaults to "service-ca.crt". #[serde(default, skip_serializing_if = "Option::is_none", rename = "caKey")] pub ca_key: Option, - /// CA is the name of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. + /// CA is the name of a ConfigMap containing a CA certificate. + /// It needs to be in the same namespace as the LokiStack custom resource. #[serde(rename = "caName")] pub ca_name: String, } @@ -2063,10 +2876,13 @@ pub struct LokiStackTenantsAuthenticationOidc { /// IssuerCA defines the spec for the issuer CA for tenant's authentication. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTenantsAuthenticationOidcIssuerCa { - /// Key is the data key of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. If empty, it defaults to "service-ca.crt". + /// Key is the data key of a ConfigMap containing a CA certificate. + /// It needs to be in the same namespace as the LokiStack custom resource. + /// If empty, it defaults to "service-ca.crt". #[serde(default, skip_serializing_if = "Option::is_none", rename = "caKey")] pub ca_key: Option, - /// CA is the name of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. + /// CA is the name of a ConfigMap containing a CA certificate. + /// It needs to be in the same namespace as the LokiStack custom resource. #[serde(rename = "caName")] pub ca_name: String, } @@ -2149,8 +2965,14 @@ pub enum LokiStackTenantsMode { /// Openshift defines the configuration specific to Openshift modes. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTenantsOpenshift { - /// AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator. Setting this to an empty array disables admin groups. - /// By default the following groups are considered admin-groups: - system:cluster-admins - cluster-admin - dedicated-admin + /// AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator. + /// Setting this to an empty array disables admin groups. + /// + /// + /// By default the following groups are considered admin-groups: + /// - system:cluster-admins + /// - cluster-admin + /// - dedicated-admin #[serde(default, skip_serializing_if = "Option::is_none", rename = "adminGroups")] pub admin_groups: Option>, } @@ -2158,18 +2980,21 @@ pub struct LokiStackTenantsOpenshift { /// LokiStack CR spec Status. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatus { - /// Components provides summary of all Loki pod status grouped per component. + /// Components provides summary of all Loki pod status grouped + /// per component. #[serde(default, skip_serializing_if = "Option::is_none")] pub components: Option, /// Conditions of the Loki deployment health. #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, - /// Storage provides summary of all changes that have occurred to the storage configuration. + /// Storage provides summary of all changes that have occurred + /// to the storage configuration. #[serde(default, skip_serializing_if = "Option::is_none")] pub storage: Option, } -/// Components provides summary of all Loki pod status grouped per component. +/// Components provides summary of all Loki pod status grouped +/// per component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatusComponents { /// Compactor is a map to the pod status of the compactor pod. @@ -2198,31 +3023,71 @@ pub struct LokiStackStatusComponents { pub ruler: Option>, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatusConditions { - /// lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + /// lastTransitionTime is the last time the condition transitioned from one status to another. + /// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. #[serde(rename = "lastTransitionTime")] pub last_transition_time: String, - /// message is a human readable message indicating details about the transition. This may be an empty string. + /// message is a human readable message indicating details about the transition. + /// This may be an empty string. pub message: String, - /// observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + /// observedGeneration represents the .metadata.generation that the condition was set based upon. + /// For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + /// with respect to the current state of the instance. #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")] pub observed_generation: Option, - /// reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + /// reason contains a programmatic identifier indicating the reason for the condition's last transition. + /// Producers of specific condition types may define expected values and meanings for this field, + /// and whether the values are considered a guaranteed API. + /// The value should be a CamelCase string. + /// This field may not be empty. pub reason: String, /// status of the condition, one of True, False, Unknown. pub status: LokiStackStatusConditionsStatus, - /// type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + /// type of condition in CamelCase or in foo.example.com/CamelCase. + /// --- + /// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + /// useful (see .node.status.conditions), the ability to deconflict is important. + /// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) #[serde(rename = "type")] pub r#type: String, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum LokiStackStatusConditionsStatus { True, @@ -2230,18 +3095,21 @@ pub enum LokiStackStatusConditionsStatus { Unknown, } -/// Storage provides summary of all changes that have occurred to the storage configuration. +/// Storage provides summary of all changes that have occurred +/// to the storage configuration. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatusStorage { /// CredentialMode contains the authentication mode used for accessing the object storage. #[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialMode")] pub credential_mode: Option, - /// Schemas is a list of schemas which have been applied to the LokiStack. + /// Schemas is a list of schemas which have been applied + /// to the LokiStack. #[serde(default, skip_serializing_if = "Option::is_none")] pub schemas: Option>, } -/// Storage provides summary of all changes that have occurred to the storage configuration. +/// Storage provides summary of all changes that have occurred +/// to the storage configuration. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum LokiStackStatusStorageCredentialMode { #[serde(rename = "static")] @@ -2252,17 +3120,21 @@ pub enum LokiStackStatusStorageCredentialMode { Managed, } -/// ObjectStorageSchema defines the requirements needed to configure a new storage schema. +/// ObjectStorageSchema defines the requirements needed to configure a new +/// storage schema. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatusStorageSchemas { - /// EffectiveDate is the date in UTC that the schema will be applied on. To ensure readibility of logs, this date should be before the current date in UTC. + /// EffectiveDate is the date in UTC that the schema will be applied on. + /// To ensure readibility of logs, this date should be before the current + /// date in UTC. #[serde(rename = "effectiveDate")] pub effective_date: String, /// Version for writing and reading logs. pub version: LokiStackStatusStorageSchemasVersion, } -/// ObjectStorageSchema defines the requirements needed to configure a new storage schema. +/// ObjectStorageSchema defines the requirements needed to configure a new +/// storage schema. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum LokiStackStatusStorageSchemasVersion { #[serde(rename = "v11")] diff --git a/kube-custom-resources-rs/src/loki_grafana_com/v1/recordingrules.rs b/kube-custom-resources-rs/src/loki_grafana_com/v1/recordingrules.rs index 69c0621f9..4997a5359 100644 --- a/kube-custom-resources-rs/src/loki_grafana_com/v1/recordingrules.rs +++ b/kube-custom-resources-rs/src/loki_grafana_com/v1/recordingrules.rs @@ -24,7 +24,8 @@ pub struct RecordingRuleSpec { /// RecordingRuleGroup defines a group of Loki recording rules. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RecordingRuleGroups { - /// Interval defines the time interval between evaluation of the given recoding rule. + /// Interval defines the time interval between evaluation of the given + /// recoding rule. #[serde(default, skip_serializing_if = "Option::is_none")] pub interval: Option, /// Limit defines the number of series a recording rule can produce. 0 is no limit. @@ -39,7 +40,9 @@ pub struct RecordingRuleGroups { /// RecordingRuleGroupSpec defines the spec for a Loki recording rule. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RecordingRuleGroupsRules { - /// The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + /// The LogQL expression to evaluate. Every evaluation cycle this is + /// evaluated at the current time, and all resultant time series become + /// pending/firing alerts. pub expr: String, /// Labels to add to each recording rule. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -57,31 +60,71 @@ pub struct RecordingRuleStatus { pub conditions: Option>, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RecordingRuleStatusConditions { - /// lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + /// lastTransitionTime is the last time the condition transitioned from one status to another. + /// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. #[serde(rename = "lastTransitionTime")] pub last_transition_time: String, - /// message is a human readable message indicating details about the transition. This may be an empty string. + /// message is a human readable message indicating details about the transition. + /// This may be an empty string. pub message: String, - /// observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + /// observedGeneration represents the .metadata.generation that the condition was set based upon. + /// For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + /// with respect to the current state of the instance. #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")] pub observed_generation: Option, - /// reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + /// reason contains a programmatic identifier indicating the reason for the condition's last transition. + /// Producers of specific condition types may define expected values and meanings for this field, + /// and whether the values are considered a guaranteed API. + /// The value should be a CamelCase string. + /// This field may not be empty. pub reason: String, /// status of the condition, one of True, False, Unknown. pub status: RecordingRuleStatusConditionsStatus, - /// type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + /// type of condition in CamelCase or in foo.example.com/CamelCase. + /// --- + /// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + /// useful (see .node.status.conditions), the ability to deconflict is important. + /// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) #[serde(rename = "type")] pub r#type: String, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RecordingRuleStatusConditionsStatus { True, diff --git a/kube-custom-resources-rs/src/loki_grafana_com/v1/rulerconfigs.rs b/kube-custom-resources-rs/src/loki_grafana_com/v1/rulerconfigs.rs index ebfd07612..3f237c917 100644 --- a/kube-custom-resources-rs/src/loki_grafana_com/v1/rulerconfigs.rs +++ b/kube-custom-resources-rs/src/loki_grafana_com/v1/rulerconfigs.rs @@ -42,7 +42,9 @@ pub struct RulerConfigAlertmanager { /// If enabled, then requests to Alertmanager use the v2 API. #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableV2")] pub enable_v2: Option, - /// List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as a separate group in the configuration. Multiple Alertmanagers in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery). + /// List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as + /// a separate group in the configuration. Multiple Alertmanagers in HA per group can be + /// supported by using DNS resolution (See EnableDNSDiscovery). pub endpoints: Vec, /// Additional labels to add to all alerts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "externalLabels")] @@ -131,7 +133,8 @@ pub struct RulerConfigAlertmanagerNotificationQueue { /// Capacity of the queue for notifications to be sent to the Alertmanager. #[serde(default, skip_serializing_if = "Option::is_none")] pub capacity: Option, - /// Minimum duration between alert and restored "for" state. This is maintained only for alerts with configured "for" time greater than the grace period. + /// Minimum duration between alert and restored "for" state. This is maintained + /// only for alerts with configured "for" time greater than the grace period. #[serde(default, skip_serializing_if = "Option::is_none", rename = "forGracePeriod")] pub for_grace_period: Option, /// Max time to tolerate outage for restoring "for" state of alert. @@ -145,7 +148,9 @@ pub struct RulerConfigAlertmanagerNotificationQueue { pub timeout: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RulerConfigAlertmanagerRelabelConfigs { /// Action to perform based on regex matching. Default is 'replace' @@ -157,21 +162,27 @@ pub struct RulerConfigAlertmanagerRelabelConfigs { /// Regular expression against which the extracted value is matched. Default is '(.*)' #[serde(default, skip_serializing_if = "Option::is_none")] pub regex: Option, - /// Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1' + /// Replacement value against which a regex replace is performed if the + /// regular expression matches. Regex capture groups are available. Default is '$1' #[serde(default, skip_serializing_if = "Option::is_none")] pub replacement: Option, /// Separator placed between concatenated source label values. default is ';'. #[serde(default, skip_serializing_if = "Option::is_none")] pub separator: Option, - /// The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. + /// The source labels select values from existing labels. Their content is concatenated + /// using the configured separator and matched against the configured regular expression + /// for the replace, keep, and drop actions. #[serde(rename = "sourceLabels")] pub source_labels: Vec, - /// Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available. + /// Label to which the resulting value is written in a replace action. + /// It is mandatory for replace actions. Regex capture groups are available. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLabel")] pub target_label: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RulerConfigAlertmanagerRelabelConfigsAction { #[serde(rename = "drop")] @@ -210,7 +221,9 @@ pub struct RulerConfigOverridesAlertmanager { /// If enabled, then requests to Alertmanager use the v2 API. #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableV2")] pub enable_v2: Option, - /// List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as a separate group in the configuration. Multiple Alertmanagers in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery). + /// List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as + /// a separate group in the configuration. Multiple Alertmanagers in HA per group can be + /// supported by using DNS resolution (See EnableDNSDiscovery). pub endpoints: Vec, /// Additional labels to add to all alerts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "externalLabels")] @@ -299,7 +312,8 @@ pub struct RulerConfigOverridesAlertmanagerNotificationQueue { /// Capacity of the queue for notifications to be sent to the Alertmanager. #[serde(default, skip_serializing_if = "Option::is_none")] pub capacity: Option, - /// Minimum duration between alert and restored "for" state. This is maintained only for alerts with configured "for" time greater than the grace period. + /// Minimum duration between alert and restored "for" state. This is maintained + /// only for alerts with configured "for" time greater than the grace period. #[serde(default, skip_serializing_if = "Option::is_none", rename = "forGracePeriod")] pub for_grace_period: Option, /// Max time to tolerate outage for restoring "for" state of alert. @@ -313,7 +327,9 @@ pub struct RulerConfigOverridesAlertmanagerNotificationQueue { pub timeout: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RulerConfigOverridesAlertmanagerRelabelConfigs { /// Action to perform based on regex matching. Default is 'replace' @@ -325,21 +341,27 @@ pub struct RulerConfigOverridesAlertmanagerRelabelConfigs { /// Regular expression against which the extracted value is matched. Default is '(.*)' #[serde(default, skip_serializing_if = "Option::is_none")] pub regex: Option, - /// Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1' + /// Replacement value against which a regex replace is performed if the + /// regular expression matches. Regex capture groups are available. Default is '$1' #[serde(default, skip_serializing_if = "Option::is_none")] pub replacement: Option, /// Separator placed between concatenated source label values. default is ';'. #[serde(default, skip_serializing_if = "Option::is_none")] pub separator: Option, - /// The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. + /// The source labels select values from existing labels. Their content is concatenated + /// using the configured separator and matched against the configured regular expression + /// for the replace, keep, and drop actions. #[serde(rename = "sourceLabels")] pub source_labels: Vec, - /// Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available. + /// Label to which the resulting value is written in a replace action. + /// It is mandatory for replace actions. Regex capture groups are available. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLabel")] pub target_label: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RulerConfigOverridesAlertmanagerRelabelConfigsAction { #[serde(rename = "drop")] @@ -413,7 +435,9 @@ pub enum RulerConfigRemoteWriteClientAuthorization { Header, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RulerConfigRemoteWriteClientRelabelConfigs { /// Action to perform based on regex matching. Default is 'replace' @@ -425,21 +449,27 @@ pub struct RulerConfigRemoteWriteClientRelabelConfigs { /// Regular expression against which the extracted value is matched. Default is '(.*)' #[serde(default, skip_serializing_if = "Option::is_none")] pub regex: Option, - /// Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1' + /// Replacement value against which a regex replace is performed if the + /// regular expression matches. Regex capture groups are available. Default is '$1' #[serde(default, skip_serializing_if = "Option::is_none")] pub replacement: Option, /// Separator placed between concatenated source label values. default is ';'. #[serde(default, skip_serializing_if = "Option::is_none")] pub separator: Option, - /// The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. + /// The source labels select values from existing labels. Their content is concatenated + /// using the configured separator and matched against the configured regular expression + /// for the replace, keep, and drop actions. #[serde(rename = "sourceLabels")] pub source_labels: Vec, - /// Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available. + /// Label to which the resulting value is written in a replace action. + /// It is mandatory for replace actions. Regex capture groups are available. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLabel")] pub target_label: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RulerConfigRemoteWriteClientRelabelConfigsAction { #[serde(rename = "drop")] @@ -492,31 +522,71 @@ pub struct RulerConfigStatus { pub conditions: Option>, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RulerConfigStatusConditions { - /// lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + /// lastTransitionTime is the last time the condition transitioned from one status to another. + /// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. #[serde(rename = "lastTransitionTime")] pub last_transition_time: String, - /// message is a human readable message indicating details about the transition. This may be an empty string. + /// message is a human readable message indicating details about the transition. + /// This may be an empty string. pub message: String, - /// observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + /// observedGeneration represents the .metadata.generation that the condition was set based upon. + /// For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + /// with respect to the current state of the instance. #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")] pub observed_generation: Option, - /// reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + /// reason contains a programmatic identifier indicating the reason for the condition's last transition. + /// Producers of specific condition types may define expected values and meanings for this field, + /// and whether the values are considered a guaranteed API. + /// The value should be a CamelCase string. + /// This field may not be empty. pub reason: String, /// status of the condition, one of True, False, Unknown. pub status: RulerConfigStatusConditionsStatus, - /// type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + /// type of condition in CamelCase or in foo.example.com/CamelCase. + /// --- + /// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + /// useful (see .node.status.conditions), the ability to deconflict is important. + /// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) #[serde(rename = "type")] pub r#type: String, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RulerConfigStatusConditionsStatus { True, diff --git a/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/alertingrules.rs b/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/alertingrules.rs index 692fb2fb5..9a4268d24 100644 --- a/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/alertingrules.rs +++ b/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/alertingrules.rs @@ -24,7 +24,8 @@ pub struct AlertingRuleSpec { /// AlertingRuleGroup defines a group of Loki alerting rules. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct AlertingRuleGroups { - /// Interval defines the time interval between evaluation of the given alerting rule. + /// Interval defines the time interval between evaluation of the given + /// alerting rule. #[serde(default, skip_serializing_if = "Option::is_none")] pub interval: Option, /// Limit defines the number of alerts an alerting rule can produce. 0 is no limit. @@ -45,9 +46,12 @@ pub struct AlertingRuleGroupsRules { /// Annotations to add to each alert. #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, - /// The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + /// The LogQL expression to evaluate. Every evaluation cycle this is + /// evaluated at the current time, and all resultant time series become + /// pending/firing alerts. pub expr: String, - /// Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. + /// Alerts are considered firing once they have been returned for this long. + /// Alerts which have not yet fired for long enough are considered pending. #[serde(default, skip_serializing_if = "Option::is_none", rename = "for")] pub r#for: Option, /// Labels to add to each alert. @@ -63,31 +67,71 @@ pub struct AlertingRuleStatus { pub conditions: Option>, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct AlertingRuleStatusConditions { - /// lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + /// lastTransitionTime is the last time the condition transitioned from one status to another. + /// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. #[serde(rename = "lastTransitionTime")] pub last_transition_time: String, - /// message is a human readable message indicating details about the transition. This may be an empty string. + /// message is a human readable message indicating details about the transition. + /// This may be an empty string. pub message: String, - /// observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + /// observedGeneration represents the .metadata.generation that the condition was set based upon. + /// For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + /// with respect to the current state of the instance. #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")] pub observed_generation: Option, - /// reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + /// reason contains a programmatic identifier indicating the reason for the condition's last transition. + /// Producers of specific condition types may define expected values and meanings for this field, + /// and whether the values are considered a guaranteed API. + /// The value should be a CamelCase string. + /// This field may not be empty. pub reason: String, /// status of the condition, one of True, False, Unknown. pub status: AlertingRuleStatusConditionsStatus, - /// type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + /// type of condition in CamelCase or in foo.example.com/CamelCase. + /// --- + /// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + /// useful (see .node.status.conditions), the ability to deconflict is important. + /// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) #[serde(rename = "type")] pub r#type: String, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum AlertingRuleStatusConditionsStatus { True, diff --git a/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/lokistacks.rs b/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/lokistacks.rs index 1b815d522..ea77126d9 100644 --- a/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/lokistacks.rs +++ b/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/lokistacks.rs @@ -16,7 +16,8 @@ pub struct LokiStackSpec { /// Limits defines the per-tenant limits to be applied to log stream processing and the per-tenant the config overrides. #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option, - /// ManagementState defines if the CR should be managed by the operator or not. Default is managed. + /// ManagementState defines if the CR should be managed by the operator or not. + /// Default is managed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "managementState")] pub management_state: Option, /// ReplicationFactor defines the policy for log stream replication. @@ -65,22 +66,28 @@ pub struct LokiStackLimitsGlobal { /// IngestionLimits defines the limits applied on ingested log streams. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackLimitsGlobalIngestion { - /// IngestionBurstSize defines the local rate-limited sample size per distributor replica. It should be set to the set at least to the maximum logs size expected in a single push request. + /// IngestionBurstSize defines the local rate-limited sample size per + /// distributor replica. It should be set to the set at least to the + /// maximum logs size expected in a single push request. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingestionBurstSize")] pub ingestion_burst_size: Option, /// IngestionRate defines the sample size per second. Units MB. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingestionRate")] pub ingestion_rate: Option, - /// MaxGlobalStreamsPerTenant defines the maximum number of active streams per tenant, across the cluster. + /// MaxGlobalStreamsPerTenant defines the maximum number of active streams + /// per tenant, across the cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxGlobalStreamsPerTenant")] pub max_global_streams_per_tenant: Option, - /// MaxLabelNameLength defines the maximum number of characters allowed for label keys in log streams. + /// MaxLabelNameLength defines the maximum number of characters allowed + /// for label keys in log streams. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelNameLength")] pub max_label_name_length: Option, - /// MaxLabelNamesPerSeries defines the maximum number of label names per series in each log stream. + /// MaxLabelNamesPerSeries defines the maximum number of label names per series + /// in each log stream. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelNamesPerSeries")] pub max_label_names_per_series: Option, - /// MaxLabelValueLength defines the maximum number of characters allowed for label values in log streams. + /// MaxLabelValueLength defines the maximum number of characters allowed + /// for label values in log streams. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelValueLength")] pub max_label_value_length: Option, /// MaxLineSize defines the maximum line size on ingestion path. Units in Bytes. @@ -91,13 +98,16 @@ pub struct LokiStackLimitsGlobalIngestion { /// QueryLimits defines the limit applied on querying log streams. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackLimitsGlobalQueries { - /// MaxChunksPerQuery defines the maximum number of chunks that can be fetched by a single query. + /// MaxChunksPerQuery defines the maximum number of chunks + /// that can be fetched by a single query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxChunksPerQuery")] pub max_chunks_per_query: Option, - /// MaxEntriesLimitsPerQuery defines the maximum number of log entries that will be returned for a query. + /// MaxEntriesLimitsPerQuery defines the maximum number of log entries + /// that will be returned for a query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxEntriesLimitPerQuery")] pub max_entries_limit_per_query: Option, - /// MaxQuerySeries defines the maximum of unique series that is returned by a metric query. + /// MaxQuerySeries defines the maximum of unique series + /// that is returned by a metric query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxQuerySeries")] pub max_query_series: Option, } @@ -116,22 +126,28 @@ pub struct LokiStackLimitsTenants { /// IngestionLimits defines the limits applied on ingested log streams. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackLimitsTenantsIngestion { - /// IngestionBurstSize defines the local rate-limited sample size per distributor replica. It should be set to the set at least to the maximum logs size expected in a single push request. + /// IngestionBurstSize defines the local rate-limited sample size per + /// distributor replica. It should be set to the set at least to the + /// maximum logs size expected in a single push request. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingestionBurstSize")] pub ingestion_burst_size: Option, /// IngestionRate defines the sample size per second. Units MB. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingestionRate")] pub ingestion_rate: Option, - /// MaxGlobalStreamsPerTenant defines the maximum number of active streams per tenant, across the cluster. + /// MaxGlobalStreamsPerTenant defines the maximum number of active streams + /// per tenant, across the cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxGlobalStreamsPerTenant")] pub max_global_streams_per_tenant: Option, - /// MaxLabelNameLength defines the maximum number of characters allowed for label keys in log streams. + /// MaxLabelNameLength defines the maximum number of characters allowed + /// for label keys in log streams. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelNameLength")] pub max_label_name_length: Option, - /// MaxLabelNamesPerSeries defines the maximum number of label names per series in each log stream. + /// MaxLabelNamesPerSeries defines the maximum number of label names per series + /// in each log stream. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelNamesPerSeries")] pub max_label_names_per_series: Option, - /// MaxLabelValueLength defines the maximum number of characters allowed for label values in log streams. + /// MaxLabelValueLength defines the maximum number of characters allowed + /// for label values in log streams. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLabelValueLength")] pub max_label_value_length: Option, /// MaxLineSize defines the maximum line size on ingestion path. Units in Bytes. @@ -142,13 +158,16 @@ pub struct LokiStackLimitsTenantsIngestion { /// QueryLimits defines the limit applied on querying log streams. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackLimitsTenantsQueries { - /// MaxChunksPerQuery defines the maximum number of chunks that can be fetched by a single query. + /// MaxChunksPerQuery defines the maximum number of chunks + /// that can be fetched by a single query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxChunksPerQuery")] pub max_chunks_per_query: Option, - /// MaxEntriesLimitsPerQuery defines the maximum number of log entries that will be returned for a query. + /// MaxEntriesLimitsPerQuery defines the maximum number of log entries + /// that will be returned for a query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxEntriesLimitPerQuery")] pub max_entries_limit_per_query: Option, - /// MaxQuerySeries defines the maximum of unique series that is returned by a metric query. + /// MaxQuerySeries defines the maximum of unique series + /// that is returned by a metric query. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxQuerySeries")] pub max_query_series: Option, } @@ -165,56 +184,74 @@ pub enum LokiStackManagementState { pub struct LokiStackRules { /// Enabled defines a flag to enable/disable the ruler component pub enabled: bool, - /// Namespaces to be selected for PrometheusRules discovery. If unspecified, only the same namespace as the LokiStack object is in is used. + /// Namespaces to be selected for PrometheusRules discovery. If unspecified, only + /// the same namespace as the LokiStack object is in is used. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// A selector to select which LokiRules to mount for loading alerting/recording rules from. + /// A selector to select which LokiRules to mount for loading alerting/recording + /// rules from. #[serde(default, skip_serializing_if = "Option::is_none")] pub selector: Option, } -/// Namespaces to be selected for PrometheusRules discovery. If unspecified, only the same namespace as the LokiStack object is in is used. +/// Namespaces to be selected for PrometheusRules discovery. If unspecified, only +/// the same namespace as the LokiStack object is in is used. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackRulesNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackRulesNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A selector to select which LokiRules to mount for loading alerting/recording rules from. +/// A selector to select which LokiRules to mount for loading alerting/recording +/// rules from. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackRulesSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackRulesSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -236,24 +273,29 @@ pub struct LokiStackStorage { /// Schemas for reading and writing logs. #[serde(default, skip_serializing_if = "Option::is_none")] pub schemas: Option>, - /// Secret for object storage authentication. Name of a secret in the same namespace as the LokiStack custom resource. + /// Secret for object storage authentication. + /// Name of a secret in the same namespace as the LokiStack custom resource. pub secret: LokiStackStorageSecret, /// TLS configuration for reaching the object storage endpoint. #[serde(default, skip_serializing_if = "Option::is_none")] pub tls: Option, } -/// ObjectStorageSchema defines the requirements needed to configure a new storage schema. +/// ObjectStorageSchema defines the requirements needed to configure a new +/// storage schema. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStorageSchemas { - /// EffectiveDate is the date in UTC that the schema will be applied on. To ensure readibility of logs, this date should be before the current date in UTC. + /// EffectiveDate is the date in UTC that the schema will be applied on. + /// To ensure readibility of logs, this date should be before the current + /// date in UTC. #[serde(rename = "effectiveDate")] pub effective_date: String, /// Version for writing and reading logs. pub version: LokiStackStorageSchemasVersion, } -/// ObjectStorageSchema defines the requirements needed to configure a new storage schema. +/// ObjectStorageSchema defines the requirements needed to configure a new +/// storage schema. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum LokiStackStorageSchemasVersion { #[serde(rename = "v11")] @@ -262,7 +304,8 @@ pub enum LokiStackStorageSchemasVersion { V12, } -/// Secret for object storage authentication. Name of a secret in the same namespace as the LokiStack custom resource. +/// Secret for object storage authentication. +/// Name of a secret in the same namespace as the LokiStack custom resource. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStorageSecret { /// Name of a secret in the namespace configured for object storage secrets. @@ -272,7 +315,8 @@ pub struct LokiStackStorageSecret { pub r#type: LokiStackStorageSecretType, } -/// Secret for object storage authentication. Name of a secret in the same namespace as the LokiStack custom resource. +/// Secret for object storage authentication. +/// Name of a secret in the same namespace as the LokiStack custom resource. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum LokiStackStorageSecretType { #[serde(rename = "azure")] @@ -288,7 +332,8 @@ pub enum LokiStackStorageSecretType { /// TLS configuration for reaching the object storage endpoint. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStorageTls { - /// CA is the name of a ConfigMap containing a CA certificate. It needs to be in the same namespace as the LokiStack custom resource. + /// CA is the name of a ConfigMap containing a CA certificate. + /// It needs to be in the same namespace as the LokiStack custom resource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "caName")] pub ca_name: Option, } @@ -325,33 +370,45 @@ pub struct LokiStackTemplate { /// Compactor defines the compaction component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactor { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateCompactorTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -359,33 +416,45 @@ pub struct LokiStackTemplateCompactorTolerations { /// Distributor defines the distributor component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributor { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateDistributorTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -393,33 +462,45 @@ pub struct LokiStackTemplateDistributorTolerations { /// Gateway defines the lokistack gateway component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGateway { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateGatewayTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -427,33 +508,45 @@ pub struct LokiStackTemplateGatewayTolerations { /// IndexGateway defines the index gateway component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGateway { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIndexGatewayTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -461,33 +554,45 @@ pub struct LokiStackTemplateIndexGatewayTolerations { /// Ingester defines the ingester component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngester { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateIngesterTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -495,33 +600,45 @@ pub struct LokiStackTemplateIngesterTolerations { /// Querier defines the querier component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerier { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQuerierTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -529,33 +646,45 @@ pub struct LokiStackTemplateQuerierTolerations { /// QueryFrontend defines the query frontend component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontend { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateQueryFrontendTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -563,33 +692,45 @@ pub struct LokiStackTemplateQueryFrontendTolerations { /// Ruler defines the ruler component spec. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRuler { - /// NodeSelector defines the labels required by a node to schedule the component onto it. + /// NodeSelector defines the labels required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Replicas defines the number of replica pods of the component. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// Tolerations defines the tolerations required by a node to schedule the component onto it. + /// Tolerations defines the tolerations required by a node to schedule + /// the component onto it. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackTemplateRulerTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -715,18 +856,21 @@ pub enum LokiStackTenantsMode { /// LokiStackStatus defines the observed state of LokiStack #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatus { - /// Components provides summary of all Loki pod status grouped per component. + /// Components provides summary of all Loki pod status grouped + /// per component. #[serde(default, skip_serializing_if = "Option::is_none")] pub components: Option, /// Conditions of the Loki deployment health. #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, - /// Storage provides summary of all changes that have occurred to the storage configuration. + /// Storage provides summary of all changes that have occurred + /// to the storage configuration. #[serde(default, skip_serializing_if = "Option::is_none")] pub storage: Option, } -/// Components provides summary of all Loki pod status grouped per component. +/// Components provides summary of all Loki pod status grouped +/// per component. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatusComponents { /// Compactor is a map to the pod status of the compactor pod. @@ -755,31 +899,71 @@ pub struct LokiStackStatusComponents { pub ruler: Option>, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatusConditions { - /// lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + /// lastTransitionTime is the last time the condition transitioned from one status to another. + /// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. #[serde(rename = "lastTransitionTime")] pub last_transition_time: String, - /// message is a human readable message indicating details about the transition. This may be an empty string. + /// message is a human readable message indicating details about the transition. + /// This may be an empty string. pub message: String, - /// observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + /// observedGeneration represents the .metadata.generation that the condition was set based upon. + /// For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + /// with respect to the current state of the instance. #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")] pub observed_generation: Option, - /// reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + /// reason contains a programmatic identifier indicating the reason for the condition's last transition. + /// Producers of specific condition types may define expected values and meanings for this field, + /// and whether the values are considered a guaranteed API. + /// The value should be a CamelCase string. + /// This field may not be empty. pub reason: String, /// status of the condition, one of True, False, Unknown. pub status: LokiStackStatusConditionsStatus, - /// type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + /// type of condition in CamelCase or in foo.example.com/CamelCase. + /// --- + /// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + /// useful (see .node.status.conditions), the ability to deconflict is important. + /// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) #[serde(rename = "type")] pub r#type: String, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum LokiStackStatusConditionsStatus { True, @@ -787,25 +971,31 @@ pub enum LokiStackStatusConditionsStatus { Unknown, } -/// Storage provides summary of all changes that have occurred to the storage configuration. +/// Storage provides summary of all changes that have occurred +/// to the storage configuration. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatusStorage { - /// Schemas is a list of schemas which have been applied to the LokiStack. + /// Schemas is a list of schemas which have been applied + /// to the LokiStack. #[serde(default, skip_serializing_if = "Option::is_none")] pub schemas: Option>, } -/// ObjectStorageSchema defines the requirements needed to configure a new storage schema. +/// ObjectStorageSchema defines the requirements needed to configure a new +/// storage schema. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct LokiStackStatusStorageSchemas { - /// EffectiveDate is the date in UTC that the schema will be applied on. To ensure readibility of logs, this date should be before the current date in UTC. + /// EffectiveDate is the date in UTC that the schema will be applied on. + /// To ensure readibility of logs, this date should be before the current + /// date in UTC. #[serde(rename = "effectiveDate")] pub effective_date: String, /// Version for writing and reading logs. pub version: LokiStackStatusStorageSchemasVersion, } -/// ObjectStorageSchema defines the requirements needed to configure a new storage schema. +/// ObjectStorageSchema defines the requirements needed to configure a new +/// storage schema. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum LokiStackStatusStorageSchemasVersion { #[serde(rename = "v11")] diff --git a/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/recordingrules.rs b/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/recordingrules.rs index 9d9971487..44bb02a4a 100644 --- a/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/recordingrules.rs +++ b/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/recordingrules.rs @@ -23,7 +23,8 @@ pub struct RecordingRuleSpec { /// RecordingRuleGroup defines a group of Loki recording rules. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RecordingRuleGroups { - /// Interval defines the time interval between evaluation of the given recoding rule. + /// Interval defines the time interval between evaluation of the given + /// recoding rule. #[serde(default, skip_serializing_if = "Option::is_none")] pub interval: Option, /// Limit defines the number of series a recording rule can produce. 0 is no limit. @@ -38,7 +39,9 @@ pub struct RecordingRuleGroups { /// RecordingRuleGroupSpec defines the spec for a Loki recording rule. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RecordingRuleGroupsRules { - /// The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + /// The LogQL expression to evaluate. Every evaluation cycle this is + /// evaluated at the current time, and all resultant time series become + /// pending/firing alerts. pub expr: String, /// The name of the time series to output to. Must be a valid metric name. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -53,31 +56,71 @@ pub struct RecordingRuleStatus { pub conditions: Option>, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RecordingRuleStatusConditions { - /// lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + /// lastTransitionTime is the last time the condition transitioned from one status to another. + /// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. #[serde(rename = "lastTransitionTime")] pub last_transition_time: String, - /// message is a human readable message indicating details about the transition. This may be an empty string. + /// message is a human readable message indicating details about the transition. + /// This may be an empty string. pub message: String, - /// observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + /// observedGeneration represents the .metadata.generation that the condition was set based upon. + /// For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + /// with respect to the current state of the instance. #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")] pub observed_generation: Option, - /// reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + /// reason contains a programmatic identifier indicating the reason for the condition's last transition. + /// Producers of specific condition types may define expected values and meanings for this field, + /// and whether the values are considered a guaranteed API. + /// The value should be a CamelCase string. + /// This field may not be empty. pub reason: String, /// status of the condition, one of True, False, Unknown. pub status: RecordingRuleStatusConditionsStatus, - /// type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + /// type of condition in CamelCase or in foo.example.com/CamelCase. + /// --- + /// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + /// useful (see .node.status.conditions), the ability to deconflict is important. + /// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) #[serde(rename = "type")] pub r#type: String, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RecordingRuleStatusConditionsStatus { True, diff --git a/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/rulerconfigs.rs b/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/rulerconfigs.rs index 4e7e50af1..f00879acd 100644 --- a/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/rulerconfigs.rs +++ b/kube-custom-resources-rs/src/loki_grafana_com/v1beta1/rulerconfigs.rs @@ -42,7 +42,9 @@ pub struct RulerConfigAlertmanager { /// If enabled, then requests to Alertmanager use the v2 API. #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableV2")] pub enable_v2: Option, - /// List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as a separate group in the configuration. Multiple Alertmanagers in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery). + /// List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as + /// a separate group in the configuration. Multiple Alertmanagers in HA per group can be + /// supported by using DNS resolution (See EnableDNSDiscovery). pub endpoints: Vec, /// Additional labels to add to all alerts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "externalLabels")] @@ -131,7 +133,8 @@ pub struct RulerConfigAlertmanagerNotificationQueue { /// Capacity of the queue for notifications to be sent to the Alertmanager. #[serde(default, skip_serializing_if = "Option::is_none")] pub capacity: Option, - /// Minimum duration between alert and restored "for" state. This is maintained only for alerts with configured "for" time greater than the grace period. + /// Minimum duration between alert and restored "for" state. This is maintained + /// only for alerts with configured "for" time greater than the grace period. #[serde(default, skip_serializing_if = "Option::is_none", rename = "forGracePeriod")] pub for_grace_period: Option, /// Max time to tolerate outage for restoring "for" state of alert. @@ -145,7 +148,9 @@ pub struct RulerConfigAlertmanagerNotificationQueue { pub timeout: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RulerConfigAlertmanagerRelabelConfigs { /// Action to perform based on regex matching. Default is 'replace' @@ -157,21 +162,27 @@ pub struct RulerConfigAlertmanagerRelabelConfigs { /// Regular expression against which the extracted value is matched. Default is '(.*)' #[serde(default, skip_serializing_if = "Option::is_none")] pub regex: Option, - /// Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1' + /// Replacement value against which a regex replace is performed if the + /// regular expression matches. Regex capture groups are available. Default is '$1' #[serde(default, skip_serializing_if = "Option::is_none")] pub replacement: Option, /// Separator placed between concatenated source label values. default is ';'. #[serde(default, skip_serializing_if = "Option::is_none")] pub separator: Option, - /// The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. + /// The source labels select values from existing labels. Their content is concatenated + /// using the configured separator and matched against the configured regular expression + /// for the replace, keep, and drop actions. #[serde(rename = "sourceLabels")] pub source_labels: Vec, - /// Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available. + /// Label to which the resulting value is written in a replace action. + /// It is mandatory for replace actions. Regex capture groups are available. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLabel")] pub target_label: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RulerConfigAlertmanagerRelabelConfigsAction { #[serde(rename = "drop")] @@ -210,7 +221,9 @@ pub struct RulerConfigOverridesAlertmanager { /// If enabled, then requests to Alertmanager use the v2 API. #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableV2")] pub enable_v2: Option, - /// List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as a separate group in the configuration. Multiple Alertmanagers in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery). + /// List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as + /// a separate group in the configuration. Multiple Alertmanagers in HA per group can be + /// supported by using DNS resolution (See EnableDNSDiscovery). pub endpoints: Vec, /// Additional labels to add to all alerts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "externalLabels")] @@ -299,7 +312,8 @@ pub struct RulerConfigOverridesAlertmanagerNotificationQueue { /// Capacity of the queue for notifications to be sent to the Alertmanager. #[serde(default, skip_serializing_if = "Option::is_none")] pub capacity: Option, - /// Minimum duration between alert and restored "for" state. This is maintained only for alerts with configured "for" time greater than the grace period. + /// Minimum duration between alert and restored "for" state. This is maintained + /// only for alerts with configured "for" time greater than the grace period. #[serde(default, skip_serializing_if = "Option::is_none", rename = "forGracePeriod")] pub for_grace_period: Option, /// Max time to tolerate outage for restoring "for" state of alert. @@ -313,7 +327,9 @@ pub struct RulerConfigOverridesAlertmanagerNotificationQueue { pub timeout: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RulerConfigOverridesAlertmanagerRelabelConfigs { /// Action to perform based on regex matching. Default is 'replace' @@ -325,21 +341,27 @@ pub struct RulerConfigOverridesAlertmanagerRelabelConfigs { /// Regular expression against which the extracted value is matched. Default is '(.*)' #[serde(default, skip_serializing_if = "Option::is_none")] pub regex: Option, - /// Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1' + /// Replacement value against which a regex replace is performed if the + /// regular expression matches. Regex capture groups are available. Default is '$1' #[serde(default, skip_serializing_if = "Option::is_none")] pub replacement: Option, /// Separator placed between concatenated source label values. default is ';'. #[serde(default, skip_serializing_if = "Option::is_none")] pub separator: Option, - /// The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. + /// The source labels select values from existing labels. Their content is concatenated + /// using the configured separator and matched against the configured regular expression + /// for the replace, keep, and drop actions. #[serde(rename = "sourceLabels")] pub source_labels: Vec, - /// Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available. + /// Label to which the resulting value is written in a replace action. + /// It is mandatory for replace actions. Regex capture groups are available. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLabel")] pub target_label: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RulerConfigOverridesAlertmanagerRelabelConfigsAction { #[serde(rename = "drop")] @@ -413,7 +435,9 @@ pub enum RulerConfigRemoteWriteClientAuthorization { Header, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RulerConfigRemoteWriteClientRelabelConfigs { /// Action to perform based on regex matching. Default is 'replace' @@ -425,21 +449,27 @@ pub struct RulerConfigRemoteWriteClientRelabelConfigs { /// Regular expression against which the extracted value is matched. Default is '(.*)' #[serde(default, skip_serializing_if = "Option::is_none")] pub regex: Option, - /// Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1' + /// Replacement value against which a regex replace is performed if the + /// regular expression matches. Regex capture groups are available. Default is '$1' #[serde(default, skip_serializing_if = "Option::is_none")] pub replacement: Option, /// Separator placed between concatenated source label values. default is ';'. #[serde(default, skip_serializing_if = "Option::is_none")] pub separator: Option, - /// The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. + /// The source labels select values from existing labels. Their content is concatenated + /// using the configured separator and matched against the configured regular expression + /// for the replace, keep, and drop actions. #[serde(rename = "sourceLabels")] pub source_labels: Vec, - /// Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available. + /// Label to which the resulting value is written in a replace action. + /// It is mandatory for replace actions. Regex capture groups are available. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLabel")] pub target_label: Option, } -/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `` and `` sections of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +/// RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. +/// It defines `` and `` sections of Prometheus configuration. +/// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RulerConfigRemoteWriteClientRelabelConfigsAction { #[serde(rename = "drop")] @@ -492,31 +522,71 @@ pub struct RulerConfigStatus { pub conditions: Option>, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct RulerConfigStatusConditions { - /// lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + /// lastTransitionTime is the last time the condition transitioned from one status to another. + /// This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. #[serde(rename = "lastTransitionTime")] pub last_transition_time: String, - /// message is a human readable message indicating details about the transition. This may be an empty string. + /// message is a human readable message indicating details about the transition. + /// This may be an empty string. pub message: String, - /// observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + /// observedGeneration represents the .metadata.generation that the condition was set based upon. + /// For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + /// with respect to the current state of the instance. #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")] pub observed_generation: Option, - /// reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + /// reason contains a programmatic identifier indicating the reason for the condition's last transition. + /// Producers of specific condition types may define expected values and meanings for this field, + /// and whether the values are considered a guaranteed API. + /// The value should be a CamelCase string. + /// This field may not be empty. pub reason: String, /// status of the condition, one of True, False, Unknown. pub status: RulerConfigStatusConditionsStatus, - /// type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + /// type of condition in CamelCase or in foo.example.com/CamelCase. + /// --- + /// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + /// useful (see .node.status.conditions), the ability to deconflict is important. + /// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) #[serde(rename = "type")] pub r#type: String, } -/// Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, -/// type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` -/// // other fields } +/// Condition contains details for one aspect of the current state of this API Resource. +/// --- +/// This struct is intended for direct use as an array at the field path .status.conditions. For example, +/// +/// +/// type FooStatus struct{ +/// // Represents the observations of a foo's current state. +/// // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" +/// // +patchMergeKey=type +/// // +patchStrategy=merge +/// // +listType=map +/// // +listMapKey=type +/// Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` +/// +/// +/// // other fields +/// } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum RulerConfigStatusConditionsStatus { True, diff --git a/kube-custom-resources-rs/src/machineconfiguration_openshift_io/v1/kubeletconfigs.rs b/kube-custom-resources-rs/src/machineconfiguration_openshift_io/v1/kubeletconfigs.rs index ea24d30e9..46574491f 100644 --- a/kube-custom-resources-rs/src/machineconfiguration_openshift_io/v1/kubeletconfigs.rs +++ b/kube-custom-resources-rs/src/machineconfiguration_openshift_io/v1/kubeletconfigs.rs @@ -54,26 +54,76 @@ pub struct KubeletConfigMachineConfigPoolSelectorMatchExpressions { #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct KubeletConfigTlsSecurityProfile { /// custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: - /// ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 + /// ciphers: + /// - ECDHE-ECDSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-AES128-GCM-SHA256 + /// - ECDHE-ECDSA-AES128-GCM-SHA256 + /// minTLSVersion: VersionTLS11 #[serde(default, skip_serializing_if = "Option::is_none")] pub custom: Option, /// intermediate is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 /// and looks like this (yaml): - /// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12 + /// ciphers: + /// - TLS_AES_128_GCM_SHA256 + /// - TLS_AES_256_GCM_SHA384 + /// - TLS_CHACHA20_POLY1305_SHA256 + /// - ECDHE-ECDSA-AES128-GCM-SHA256 + /// - ECDHE-RSA-AES128-GCM-SHA256 + /// - ECDHE-ECDSA-AES256-GCM-SHA384 + /// - ECDHE-RSA-AES256-GCM-SHA384 + /// - ECDHE-ECDSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-CHACHA20-POLY1305 + /// - DHE-RSA-AES128-GCM-SHA256 + /// - DHE-RSA-AES256-GCM-SHA384 + /// minTLSVersion: VersionTLS12 #[serde(default, skip_serializing_if = "Option::is_none")] pub intermediate: Option, /// modern is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility /// and looks like this (yaml): - /// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 - /// NOTE: Currently unsupported. + /// ciphers: + /// - TLS_AES_128_GCM_SHA256 + /// - TLS_AES_256_GCM_SHA384 + /// - TLS_CHACHA20_POLY1305_SHA256 + /// minTLSVersion: VersionTLS13 #[serde(default, skip_serializing_if = "Option::is_none")] pub modern: Option, /// old is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility /// and looks like this (yaml): - /// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10 + /// ciphers: + /// - TLS_AES_128_GCM_SHA256 + /// - TLS_AES_256_GCM_SHA384 + /// - TLS_CHACHA20_POLY1305_SHA256 + /// - ECDHE-ECDSA-AES128-GCM-SHA256 + /// - ECDHE-RSA-AES128-GCM-SHA256 + /// - ECDHE-ECDSA-AES256-GCM-SHA384 + /// - ECDHE-RSA-AES256-GCM-SHA384 + /// - ECDHE-ECDSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-CHACHA20-POLY1305 + /// - DHE-RSA-AES128-GCM-SHA256 + /// - DHE-RSA-AES256-GCM-SHA384 + /// - DHE-RSA-CHACHA20-POLY1305 + /// - ECDHE-ECDSA-AES128-SHA256 + /// - ECDHE-RSA-AES128-SHA256 + /// - ECDHE-ECDSA-AES128-SHA + /// - ECDHE-RSA-AES128-SHA + /// - ECDHE-ECDSA-AES256-SHA384 + /// - ECDHE-RSA-AES256-SHA384 + /// - ECDHE-ECDSA-AES256-SHA + /// - ECDHE-RSA-AES256-SHA + /// - DHE-RSA-AES128-SHA256 + /// - DHE-RSA-AES256-SHA256 + /// - AES128-GCM-SHA256 + /// - AES256-GCM-SHA384 + /// - AES128-SHA256 + /// - AES256-SHA256 + /// - AES128-SHA + /// - AES256-SHA + /// - DES-CBC3-SHA + /// minTLSVersion: VersionTLS10 #[serde(default, skip_serializing_if = "Option::is_none")] pub old: Option, /// type is one of Old, Intermediate, Modern or Custom. Custom provides the ability to specify individual TLS security profile parameters. Old, Intermediate and Modern are TLS security profiles based on: @@ -85,7 +135,12 @@ pub struct KubeletConfigTlsSecurityProfile { } /// custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: -/// ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 +/// ciphers: +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// minTLSVersion: VersionTLS11 #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct KubeletConfigTlsSecurityProfileCustom { /// ciphers is used to specify the cipher algorithms that are negotiated during the TLS handshake. Operators may remove entries their operands do not support. For example, to use DES-CBC3-SHA (yaml): @@ -100,7 +155,12 @@ pub struct KubeletConfigTlsSecurityProfileCustom { } /// custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: -/// ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 +/// ciphers: +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// minTLSVersion: VersionTLS11 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum KubeletConfigTlsSecurityProfileCustomMinTlsVersion { #[serde(rename = "VersionTLS10")] @@ -116,7 +176,19 @@ pub enum KubeletConfigTlsSecurityProfileCustomMinTlsVersion { /// intermediate is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 /// and looks like this (yaml): -/// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12 +/// ciphers: +/// - TLS_AES_128_GCM_SHA256 +/// - TLS_AES_256_GCM_SHA384 +/// - TLS_CHACHA20_POLY1305_SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES256-GCM-SHA384 +/// - ECDHE-RSA-AES256-GCM-SHA384 +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - DHE-RSA-AES128-GCM-SHA256 +/// - DHE-RSA-AES256-GCM-SHA384 +/// minTLSVersion: VersionTLS12 #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct KubeletConfigTlsSecurityProfileIntermediate { } @@ -124,8 +196,11 @@ pub struct KubeletConfigTlsSecurityProfileIntermediate { /// modern is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility /// and looks like this (yaml): -/// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 -/// NOTE: Currently unsupported. +/// ciphers: +/// - TLS_AES_128_GCM_SHA256 +/// - TLS_AES_256_GCM_SHA384 +/// - TLS_CHACHA20_POLY1305_SHA256 +/// minTLSVersion: VersionTLS13 #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct KubeletConfigTlsSecurityProfileModern { } @@ -133,7 +208,37 @@ pub struct KubeletConfigTlsSecurityProfileModern { /// old is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility /// and looks like this (yaml): -/// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10 +/// ciphers: +/// - TLS_AES_128_GCM_SHA256 +/// - TLS_AES_256_GCM_SHA384 +/// - TLS_CHACHA20_POLY1305_SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES256-GCM-SHA384 +/// - ECDHE-RSA-AES256-GCM-SHA384 +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - DHE-RSA-AES128-GCM-SHA256 +/// - DHE-RSA-AES256-GCM-SHA384 +/// - DHE-RSA-CHACHA20-POLY1305 +/// - ECDHE-ECDSA-AES128-SHA256 +/// - ECDHE-RSA-AES128-SHA256 +/// - ECDHE-ECDSA-AES128-SHA +/// - ECDHE-RSA-AES128-SHA +/// - ECDHE-ECDSA-AES256-SHA384 +/// - ECDHE-RSA-AES256-SHA384 +/// - ECDHE-ECDSA-AES256-SHA +/// - ECDHE-RSA-AES256-SHA +/// - DHE-RSA-AES128-SHA256 +/// - DHE-RSA-AES256-SHA256 +/// - AES128-GCM-SHA256 +/// - AES256-GCM-SHA384 +/// - AES128-SHA256 +/// - AES256-SHA256 +/// - AES128-SHA +/// - AES256-SHA +/// - DES-CBC3-SHA +/// minTLSVersion: VersionTLS10 #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct KubeletConfigTlsSecurityProfileOld { } diff --git a/kube-custom-resources-rs/src/minio_min_io/v2/tenants.rs b/kube-custom-resources-rs/src/minio_min_io/v2/tenants.rs index 1853f7878..df7636de7 100644 --- a/kube-custom-resources-rs/src/minio_min_io/v2/tenants.rs +++ b/kube-custom-resources-rs/src/minio_min_io/v2/tenants.rs @@ -1512,6 +1512,8 @@ pub struct TenantKes { pub annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientCertSecret")] pub client_cert_secret: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerSecurityContext")] + pub container_security_context: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "externalCertSecret")] @@ -1853,6 +1855,72 @@ pub struct TenantKesClientCertSecret { pub r#type: Option, } +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct TenantKesContainerSecurityContext { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")] + pub allow_privilege_escalation: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub capabilities: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub privileged: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")] + pub proc_mount: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")] + pub read_only_root_filesystem: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")] + pub run_as_group: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")] + pub run_as_non_root: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")] + pub run_as_user: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")] + pub se_linux_options: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")] + pub seccomp_profile: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")] + pub windows_options: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct TenantKesContainerSecurityContextCapabilities { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub add: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub drop: Option>, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct TenantKesContainerSecurityContextSeLinuxOptions { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub level: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub role: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub user: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct TenantKesContainerSecurityContextSeccompProfile { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")] + pub localhost_profile: Option, + #[serde(rename = "type")] + pub r#type: String, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct TenantKesContainerSecurityContextWindowsOptions { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")] + pub gmsa_credential_spec: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")] + pub gmsa_credential_spec_name: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")] + pub host_process: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")] + pub run_as_user_name: Option, +} + #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TenantKesEnv { pub name: String, diff --git a/kube-custom-resources-rs/src/monitoring_coreos_com/v1/alertmanagers.rs b/kube-custom-resources-rs/src/monitoring_coreos_com/v1/alertmanagers.rs index 9505537cd..b366e70ad 100644 --- a/kube-custom-resources-rs/src/monitoring_coreos_com/v1/alertmanagers.rs +++ b/kube-custom-resources-rs/src/monitoring_coreos_com/v1/alertmanagers.rs @@ -64,6 +64,10 @@ pub struct AlertmanagerSpec { /// Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an Alertmanager pod. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch. The current container names are: `alertmanager` and `config-reloader`. Overriding containers is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice. #[serde(default, skip_serializing_if = "Option::is_none")] pub containers: Option>, + /// Enable access to Alertmanager feature flags. By default, no features are enabled. Enabling features which are disabled by default is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice. + /// It requires Alertmanager >= 0.27.0. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableFeatures")] + pub enable_features: Option>, /// The external URL the Alertmanager instances will be available under. This is necessary to generate correct URLs. This is necessary if Alertmanager is not served from root of a DNS name. #[serde(default, skip_serializing_if = "Option::is_none", rename = "externalUrl")] pub external_url: Option, diff --git a/kube-custom-resources-rs/src/operator_openshift_io/v1/ingresscontrollers.rs b/kube-custom-resources-rs/src/operator_openshift_io/v1/ingresscontrollers.rs index 71cc88473..b519acb17 100644 --- a/kube-custom-resources-rs/src/operator_openshift_io/v1/ingresscontrollers.rs +++ b/kube-custom-resources-rs/src/operator_openshift_io/v1/ingresscontrollers.rs @@ -939,26 +939,76 @@ pub struct IngressControllerRouteSelectorMatchExpressions { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressControllerTlsSecurityProfile { /// custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: - /// ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 + /// ciphers: + /// - ECDHE-ECDSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-AES128-GCM-SHA256 + /// - ECDHE-ECDSA-AES128-GCM-SHA256 + /// minTLSVersion: VersionTLS11 #[serde(default, skip_serializing_if = "Option::is_none")] pub custom: Option, /// intermediate is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 /// and looks like this (yaml): - /// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12 + /// ciphers: + /// - TLS_AES_128_GCM_SHA256 + /// - TLS_AES_256_GCM_SHA384 + /// - TLS_CHACHA20_POLY1305_SHA256 + /// - ECDHE-ECDSA-AES128-GCM-SHA256 + /// - ECDHE-RSA-AES128-GCM-SHA256 + /// - ECDHE-ECDSA-AES256-GCM-SHA384 + /// - ECDHE-RSA-AES256-GCM-SHA384 + /// - ECDHE-ECDSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-CHACHA20-POLY1305 + /// - DHE-RSA-AES128-GCM-SHA256 + /// - DHE-RSA-AES256-GCM-SHA384 + /// minTLSVersion: VersionTLS12 #[serde(default, skip_serializing_if = "Option::is_none")] pub intermediate: Option, /// modern is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility /// and looks like this (yaml): - /// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 - /// NOTE: Currently unsupported. + /// ciphers: + /// - TLS_AES_128_GCM_SHA256 + /// - TLS_AES_256_GCM_SHA384 + /// - TLS_CHACHA20_POLY1305_SHA256 + /// minTLSVersion: VersionTLS13 #[serde(default, skip_serializing_if = "Option::is_none")] pub modern: Option, /// old is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility /// and looks like this (yaml): - /// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10 + /// ciphers: + /// - TLS_AES_128_GCM_SHA256 + /// - TLS_AES_256_GCM_SHA384 + /// - TLS_CHACHA20_POLY1305_SHA256 + /// - ECDHE-ECDSA-AES128-GCM-SHA256 + /// - ECDHE-RSA-AES128-GCM-SHA256 + /// - ECDHE-ECDSA-AES256-GCM-SHA384 + /// - ECDHE-RSA-AES256-GCM-SHA384 + /// - ECDHE-ECDSA-CHACHA20-POLY1305 + /// - ECDHE-RSA-CHACHA20-POLY1305 + /// - DHE-RSA-AES128-GCM-SHA256 + /// - DHE-RSA-AES256-GCM-SHA384 + /// - DHE-RSA-CHACHA20-POLY1305 + /// - ECDHE-ECDSA-AES128-SHA256 + /// - ECDHE-RSA-AES128-SHA256 + /// - ECDHE-ECDSA-AES128-SHA + /// - ECDHE-RSA-AES128-SHA + /// - ECDHE-ECDSA-AES256-SHA384 + /// - ECDHE-RSA-AES256-SHA384 + /// - ECDHE-ECDSA-AES256-SHA + /// - ECDHE-RSA-AES256-SHA + /// - DHE-RSA-AES128-SHA256 + /// - DHE-RSA-AES256-SHA256 + /// - AES128-GCM-SHA256 + /// - AES256-GCM-SHA384 + /// - AES128-SHA256 + /// - AES256-SHA256 + /// - AES128-SHA + /// - AES256-SHA + /// - DES-CBC3-SHA + /// minTLSVersion: VersionTLS10 #[serde(default, skip_serializing_if = "Option::is_none")] pub old: Option, /// type is one of Old, Intermediate, Modern or Custom. Custom provides the ability to specify individual TLS security profile parameters. Old, Intermediate and Modern are TLS security profiles based on: @@ -970,7 +1020,12 @@ pub struct IngressControllerTlsSecurityProfile { } /// custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: -/// ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 +/// ciphers: +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// minTLSVersion: VersionTLS11 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressControllerTlsSecurityProfileCustom { /// ciphers is used to specify the cipher algorithms that are negotiated during the TLS handshake. Operators may remove entries their operands do not support. For example, to use DES-CBC3-SHA (yaml): @@ -985,7 +1040,12 @@ pub struct IngressControllerTlsSecurityProfileCustom { } /// custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: -/// ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 +/// ciphers: +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// minTLSVersion: VersionTLS11 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum IngressControllerTlsSecurityProfileCustomMinTlsVersion { #[serde(rename = "VersionTLS10")] @@ -1001,7 +1061,19 @@ pub enum IngressControllerTlsSecurityProfileCustomMinTlsVersion { /// intermediate is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 /// and looks like this (yaml): -/// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12 +/// ciphers: +/// - TLS_AES_128_GCM_SHA256 +/// - TLS_AES_256_GCM_SHA384 +/// - TLS_CHACHA20_POLY1305_SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES256-GCM-SHA384 +/// - ECDHE-RSA-AES256-GCM-SHA384 +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - DHE-RSA-AES128-GCM-SHA256 +/// - DHE-RSA-AES256-GCM-SHA384 +/// minTLSVersion: VersionTLS12 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressControllerTlsSecurityProfileIntermediate { } @@ -1009,8 +1081,11 @@ pub struct IngressControllerTlsSecurityProfileIntermediate { /// modern is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility /// and looks like this (yaml): -/// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 -/// NOTE: Currently unsupported. +/// ciphers: +/// - TLS_AES_128_GCM_SHA256 +/// - TLS_AES_256_GCM_SHA384 +/// - TLS_CHACHA20_POLY1305_SHA256 +/// minTLSVersion: VersionTLS13 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressControllerTlsSecurityProfileModern { } @@ -1018,7 +1093,37 @@ pub struct IngressControllerTlsSecurityProfileModern { /// old is a TLS security profile based on: /// https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility /// and looks like this (yaml): -/// ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10 +/// ciphers: +/// - TLS_AES_128_GCM_SHA256 +/// - TLS_AES_256_GCM_SHA384 +/// - TLS_CHACHA20_POLY1305_SHA256 +/// - ECDHE-ECDSA-AES128-GCM-SHA256 +/// - ECDHE-RSA-AES128-GCM-SHA256 +/// - ECDHE-ECDSA-AES256-GCM-SHA384 +/// - ECDHE-RSA-AES256-GCM-SHA384 +/// - ECDHE-ECDSA-CHACHA20-POLY1305 +/// - ECDHE-RSA-CHACHA20-POLY1305 +/// - DHE-RSA-AES128-GCM-SHA256 +/// - DHE-RSA-AES256-GCM-SHA384 +/// - DHE-RSA-CHACHA20-POLY1305 +/// - ECDHE-ECDSA-AES128-SHA256 +/// - ECDHE-RSA-AES128-SHA256 +/// - ECDHE-ECDSA-AES128-SHA +/// - ECDHE-RSA-AES128-SHA +/// - ECDHE-ECDSA-AES256-SHA384 +/// - ECDHE-RSA-AES256-SHA384 +/// - ECDHE-ECDSA-AES256-SHA +/// - ECDHE-RSA-AES256-SHA +/// - DHE-RSA-AES128-SHA256 +/// - DHE-RSA-AES256-SHA256 +/// - AES128-GCM-SHA256 +/// - AES256-GCM-SHA384 +/// - AES128-SHA256 +/// - AES256-SHA256 +/// - AES128-SHA +/// - AES256-SHA +/// - DES-CBC3-SHA +/// minTLSVersion: VersionTLS10 #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressControllerTlsSecurityProfileOld { } diff --git a/kube-custom-resources-rs/src/operator_victoriametrics_com/v1beta1/vmrules.rs b/kube-custom-resources-rs/src/operator_victoriametrics_com/v1beta1/vmrules.rs index 0eee97076..bc7d418fb 100644 --- a/kube-custom-resources-rs/src/operator_victoriametrics_com/v1beta1/vmrules.rs +++ b/kube-custom-resources-rs/src/operator_victoriametrics_com/v1beta1/vmrules.rs @@ -23,24 +23,41 @@ pub struct VMRuleGroups { /// Concurrency defines how many rules execute at once. #[serde(default, skip_serializing_if = "Option::is_none")] pub concurrency: Option, - /// ExtraFilterLabels optional list of label filters applied to every rule's request withing a group. Is compatible only with VM datasource. See more details at https://docs.victoriametrics.com#prometheus-querying-api-enhancements Deprecated, use params instead + /// ExtraFilterLabels optional list of label filters applied to every rule's + /// request withing a group. Is compatible only with VM datasource. + /// See more details at https://docs.victoriametrics.com#prometheus-querying-api-enhancements + /// Deprecated, use params instead #[serde(default, skip_serializing_if = "Option::is_none")] pub extra_filter_labels: Option>, - /// Headers contains optional HTTP headers added to each rule request Must be in form `header-name: value` For example: headers: - "CustomHeader: foo" - "CustomHeader2: bar" + /// Headers contains optional HTTP headers added to each rule request + /// Must be in form `header-name: value` + /// For example: + /// headers: + /// - "CustomHeader: foo" + /// - "CustomHeader2: bar" #[serde(default, skip_serializing_if = "Option::is_none")] pub headers: Option>, /// evaluation interval for group #[serde(default, skip_serializing_if = "Option::is_none")] pub interval: Option, - /// Labels optional list of labels added to every rule within a group. It has priority over the external labels. Labels are commonly used for adding environment or tenant-specific tag. + /// Labels optional list of labels added to every rule within a group. + /// It has priority over the external labels. + /// Labels are commonly used for adding environment + /// or tenant-specific tag. #[serde(default, skip_serializing_if = "Option::is_none")] pub labels: Option>, - /// Limit the number of alerts an alerting rule and series a recording rule can produce + /// Limit the number of alerts an alerting rule and series a recording + /// rule can produce #[serde(default, skip_serializing_if = "Option::is_none")] pub limit: Option, /// Name of group pub name: String, - /// NotifierHeaders contains optional HTTP headers added to each alert request which will send to notifier Must be in form `header-name: value` For example: headers: - "CustomHeader: foo" - "CustomHeader2: bar" + /// NotifierHeaders contains optional HTTP headers added to each alert request which will send to notifier + /// Must be in form `header-name: value` + /// For example: + /// headers: + /// - "CustomHeader: foo" + /// - "CustomHeader2: bar" #[serde(default, skip_serializing_if = "Option::is_none")] pub notifier_headers: Option>, /// Params optional HTTP URL parameters added to each rule request @@ -48,10 +65,12 @@ pub struct VMRuleGroups { pub params: Option>, /// Rules list of alert rules pub rules: Vec, - /// Tenant id for group, can be used only with enterprise version of vmalert See more details at https://docs.victoriametrics.com/vmalert.html#multitenancy + /// Tenant id for group, can be used only with enterprise version of vmalert + /// See more details at https://docs.victoriametrics.com/vmalert.html#multitenancy #[serde(default, skip_serializing_if = "Option::is_none")] pub tenant: Option, - /// Type defines datasource type for enterprise version of vmalert possible values - prometheus,graphite + /// Type defines datasource type for enterprise version of vmalert + /// possible values - prometheus,graphite #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] pub r#type: Option, } @@ -65,16 +84,20 @@ pub struct VMRuleGroupsRules { /// Annotations will be added to rule configuration #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, - /// Debug enables logging for rule it useful for tracking + /// Debug enables logging for rule + /// it useful for tracking #[serde(default, skip_serializing_if = "Option::is_none")] pub debug: Option, /// Expr is query, that will be evaluated at dataSource #[serde(default, skip_serializing_if = "Option::is_none")] pub expr: Option, - /// For evaluation interval in time.Duration format 30s, 1m, 1h or nanoseconds + /// For evaluation interval in time.Duration format + /// 30s, 1m, 1h or nanoseconds #[serde(default, skip_serializing_if = "Option::is_none", rename = "for")] pub r#for: Option, - /// KeepFiringFor will make alert continue firing for this long even when the alerting expression no longer has results. Use time.Duration format, 30s, 1m, 1h or nanoseconds + /// KeepFiringFor will make alert continue firing for this long + /// even when the alerting expression no longer has results. + /// Use time.Duration format, 30s, 1m, 1h or nanoseconds #[serde(default, skip_serializing_if = "Option::is_none")] pub keep_firing_for: Option, /// Labels will be added to rule configuration @@ -83,7 +106,8 @@ pub struct VMRuleGroupsRules { /// Record represents a query, that will be recorded to dataSource #[serde(default, skip_serializing_if = "Option::is_none")] pub record: Option, - /// UpdateEntriesLimit defines max number of rule's state updates stored in memory. Overrides `-rule.updateEntriesLimit` in vmalert. + /// UpdateEntriesLimit defines max number of rule's state updates stored in memory. + /// Overrides `-rule.updateEntriesLimit` in vmalert. #[serde(default, skip_serializing_if = "Option::is_none")] pub update_entries_limit: Option, } diff --git a/kube-custom-resources-rs/src/operator_victoriametrics_com/v1beta1/vmusers.rs b/kube-custom-resources-rs/src/operator_victoriametrics_com/v1beta1/vmusers.rs index e75eed833..3944fe917 100644 --- a/kube-custom-resources-rs/src/operator_victoriametrics_com/v1beta1/vmusers.rs +++ b/kube-custom-resources-rs/src/operator_victoriametrics_com/v1beta1/vmusers.rs @@ -16,28 +16,40 @@ pub struct VMUserSpec { /// BearerToken Authorization header value for accessing protected endpoint. #[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerToken")] pub bearer_token: Option, - /// DefaultURLs backend url for non-matching paths filter usually used for default backend with error message + /// DefaultURLs backend url for non-matching paths filter + /// usually used for default backend with error message #[serde(default, skip_serializing_if = "Option::is_none")] pub default_url: Option>, /// DisableSecretCreation skips related secret creation for vmuser #[serde(default, skip_serializing_if = "Option::is_none")] pub disable_secret_creation: Option, - /// DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend. See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details. + /// DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend. + /// See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details. #[serde(default, skip_serializing_if = "Option::is_none")] pub drop_src_path_prefix_parts: Option, - /// GeneratePassword instructs operator to generate password for user if spec.password if empty. + /// GeneratePassword instructs operator to generate password for user + /// if spec.password if empty. #[serde(default, skip_serializing_if = "Option::is_none", rename = "generatePassword")] pub generate_password: Option, - /// Headers represent additional http headers, that vmauth uses in form of ["header_key: header_value"] multiple values for header key: ["header_key: value1,value2"] it's available since 1.68.0 version of vmauth + /// Headers represent additional http headers, that vmauth uses + /// in form of ["header_key: header_value"] + /// multiple values for header key: + /// ["header_key: value1,value2"] + /// it's available since 1.68.0 version of vmauth #[serde(default, skip_serializing_if = "Option::is_none")] pub headers: Option>, - /// IPFilters defines per target src ip filters supported only with enterprise version of vmauth https://docs.victoriametrics.com/vmauth.html#ip-filters + /// IPFilters defines per target src ip filters + /// supported only with enterprise version of vmauth + /// https://docs.victoriametrics.com/vmauth.html#ip-filters #[serde(default, skip_serializing_if = "Option::is_none")] pub ip_filters: Option, - /// LoadBalancingPolicy defines load balancing policy to use for backend urls. Supported policies: least_loaded, first_available. See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default "least_loaded") + /// LoadBalancingPolicy defines load balancing policy to use for backend urls. + /// Supported policies: least_loaded, first_available. + /// See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default "least_loaded") #[serde(default, skip_serializing_if = "Option::is_none")] pub load_balancing_policy: Option, - /// MaxConcurrentRequests defines max concurrent requests per user 300 is default value for vmauth + /// MaxConcurrentRequests defines max concurrent requests per user + /// 300 is default value for vmauth #[serde(default, skip_serializing_if = "Option::is_none")] pub max_concurrent_requests: Option, /// MetricLabels - additional labels for metrics exported by vmauth for given user. @@ -52,27 +64,36 @@ pub struct VMUserSpec { /// PasswordRef allows fetching password from user-create secret by its name and key. #[serde(default, skip_serializing_if = "Option::is_none", rename = "passwordRef")] pub password_ref: Option, - /// ResponseHeaders represent additional http headers, that vmauth adds for request response in form of ["header_key: header_value"] multiple values for header key: ["header_key: value1,value2"] it's available since 1.93.0 version of vmauth + /// ResponseHeaders represent additional http headers, that vmauth adds for request response + /// in form of ["header_key: header_value"] + /// multiple values for header key: + /// ["header_key: value1,value2"] + /// it's available since 1.93.0 version of vmauth #[serde(default, skip_serializing_if = "Option::is_none")] pub response_headers: Option>, - /// RetryStatusCodes defines http status codes in numeric format for request retries e.g. [429,503] + /// RetryStatusCodes defines http status codes in numeric format for request retries + /// e.g. [429,503] #[serde(default, skip_serializing_if = "Option::is_none")] pub retry_status_codes: Option>, /// TargetRefs - reference to endpoints, which user may access. #[serde(rename = "targetRefs")] pub target_refs: Vec, - /// TLSInsecureSkipVerify - whether to skip TLS verification when connecting to backend over HTTPS. See https://docs.victoriametrics.com/vmauth.html#backend-tls-setup + /// TLSInsecureSkipVerify - whether to skip TLS verification when connecting to backend over HTTPS. + /// See https://docs.victoriametrics.com/vmauth.html#backend-tls-setup #[serde(default, skip_serializing_if = "Option::is_none")] pub tls_insecure_skip_verify: Option, /// TokenRef allows fetching token from user-created secrets by its name and key. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tokenRef")] pub token_ref: Option, - /// UserName basic auth user name for accessing protected endpoint, will be replaced with metadata.name of VMUser if omitted. + /// UserName basic auth user name for accessing protected endpoint, + /// will be replaced with metadata.name of VMUser if omitted. #[serde(default, skip_serializing_if = "Option::is_none")] pub username: Option, } -/// IPFilters defines per target src ip filters supported only with enterprise version of vmauth https://docs.victoriametrics.com/vmauth.html#ip-filters +/// IPFilters defines per target src ip filters +/// supported only with enterprise version of vmauth +/// https://docs.victoriametrics.com/vmauth.html#ip-filters #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct VMUserIpFilters { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -95,7 +116,9 @@ pub enum VMUserLoadBalancingPolicy { pub struct VMUserPasswordRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -103,44 +126,67 @@ pub struct VMUserPasswordRef { pub optional: Option, } -/// TargetRef describes target for user traffic forwarding. one of target types can be chosen: crd or static per targetRef. user can define multiple targetRefs with different ref Types. +/// TargetRef describes target for user traffic forwarding. +/// one of target types can be chosen: +/// crd or static per targetRef. +/// user can define multiple targetRefs with different ref Types. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct VMUserTargetRefs { - /// CRD describes exist operator's CRD object, operator generates access url based on CRD params. + /// CRD describes exist operator's CRD object, + /// operator generates access url based on CRD params. #[serde(default, skip_serializing_if = "Option::is_none")] pub crd: Option, - /// DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend. See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details. + /// DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend. + /// See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix for more details. #[serde(default, skip_serializing_if = "Option::is_none")] pub drop_src_path_prefix_parts: Option, - /// Headers represent additional http headers, that vmauth uses in form of ["header_key: header_value"] multiple values for header key: ["header_key: value1,value2"] it's available since 1.68.0 version of vmauth + /// Headers represent additional http headers, that vmauth uses + /// in form of ["header_key: header_value"] + /// multiple values for header key: + /// ["header_key: value1,value2"] + /// it's available since 1.68.0 version of vmauth #[serde(default, skip_serializing_if = "Option::is_none")] pub headers: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub hosts: Option>, - /// LoadBalancingPolicy defines load balancing policy to use for backend urls. Supported policies: least_loaded, first_available. See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default "least_loaded") + /// LoadBalancingPolicy defines load balancing policy to use for backend urls. + /// Supported policies: least_loaded, first_available. + /// See https://docs.victoriametrics.com/vmauth.html#load-balancing for more details (default "least_loaded") #[serde(default, skip_serializing_if = "Option::is_none")] pub load_balancing_policy: Option, /// Paths - matched path to route. #[serde(default, skip_serializing_if = "Option::is_none")] pub paths: Option>, - /// ResponseHeaders represent additional http headers, that vmauth adds for request response in form of ["header_key: header_value"] multiple values for header key: ["header_key: value1,value2"] it's available since 1.93.0 version of vmauth + /// ResponseHeaders represent additional http headers, that vmauth adds for request response + /// in form of ["header_key: header_value"] + /// multiple values for header key: + /// ["header_key: value1,value2"] + /// it's available since 1.93.0 version of vmauth #[serde(default, skip_serializing_if = "Option::is_none")] pub response_headers: Option>, - /// RetryStatusCodes defines http status codes in numeric format for request retries Can be defined per target or at VMUser.spec level e.g. [429,503] + /// RetryStatusCodes defines http status codes in numeric format for request retries + /// Can be defined per target or at VMUser.spec level + /// e.g. [429,503] #[serde(default, skip_serializing_if = "Option::is_none")] pub retry_status_codes: Option>, - /// Static - user defined url for traffic forward, for instance http://vmsingle:8429 + /// Static - user defined url for traffic forward, + /// for instance http://vmsingle:8429 #[serde(default, skip_serializing_if = "Option::is_none", rename = "static")] pub r#static: Option, - /// QueryParams []string `json:"queryParams,omitempty"` TargetPathSuffix allows to add some suffix to the target path It allows to hide tenant configuration from user with crd as ref. it also may contain any url encoded params. + /// QueryParams []string `json:"queryParams,omitempty"` + /// TargetPathSuffix allows to add some suffix to the target path + /// It allows to hide tenant configuration from user with crd as ref. + /// it also may contain any url encoded params. #[serde(default, skip_serializing_if = "Option::is_none")] pub target_path_suffix: Option, } -/// CRD describes exist operator's CRD object, operator generates access url based on CRD params. +/// CRD describes exist operator's CRD object, +/// operator generates access url based on CRD params. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct VMUserTargetRefsCrd { - /// Kind one of: VMAgent VMAlert VMCluster VMSingle or VMAlertManager + /// Kind one of: + /// VMAgent VMAlert VMCluster VMSingle or VMAlertManager pub kind: String, /// Name target CRD object name pub name: String, @@ -148,7 +194,10 @@ pub struct VMUserTargetRefsCrd { pub namespace: String, } -/// TargetRef describes target for user traffic forwarding. one of target types can be chosen: crd or static per targetRef. user can define multiple targetRefs with different ref Types. +/// TargetRef describes target for user traffic forwarding. +/// one of target types can be chosen: +/// crd or static per targetRef. +/// user can define multiple targetRefs with different ref Types. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum VMUserTargetRefsLoadBalancingPolicy { #[serde(rename = "least_loaded")] @@ -157,7 +206,8 @@ pub enum VMUserTargetRefsLoadBalancingPolicy { FirstAvailable, } -/// Static - user defined url for traffic forward, for instance http://vmsingle:8429 +/// Static - user defined url for traffic forward, +/// for instance http://vmsingle:8429 #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct VMUserTargetRefsStatic { /// URL http url for given staticRef. @@ -173,7 +223,9 @@ pub struct VMUserTargetRefsStatic { pub struct VMUserTokenRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined diff --git a/kube-custom-resources-rs/src/pgv2_percona_com/v2/perconapgclusters.rs b/kube-custom-resources-rs/src/pgv2_percona_com/v2/perconapgclusters.rs index c4c3dbb45..0ca835b62 100644 --- a/kube-custom-resources-rs/src/pgv2_percona_com/v2/perconapgclusters.rs +++ b/kube-custom-resources-rs/src/pgv2_percona_com/v2/perconapgclusters.rs @@ -257,6 +257,9 @@ pub struct PerconaPGClusterBackupsPgbackrestJobs { /// Resource limits for backup jobs. Includes manual, scheduled and replica create backups #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, + /// SecurityContext defines the security settings for PGBackRest pod. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")] + pub security_context: Option, /// Tolerations of pgBackRest backup Job pods. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, @@ -694,6 +697,98 @@ pub struct PerconaPGClusterBackupsPgbackrestJobsResourcesClaims { pub name: String, } +/// SecurityContext defines the security settings for PGBackRest pod. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestJobsSecurityContext { + /// A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: + /// 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- + /// If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")] + pub fs_group: Option, + /// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")] + pub fs_group_change_policy: Option, + /// The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")] + pub run_as_group: Option, + /// Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")] + pub run_as_non_root: Option, + /// The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")] + pub run_as_user: Option, + /// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")] + pub se_linux_options: Option, + /// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")] + pub seccomp_profile: Option, + /// A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")] + pub supplemental_groups: Option>, + /// Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub sysctls: Option>, + /// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")] + pub windows_options: Option, +} + +/// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestJobsSecurityContextSeLinuxOptions { + /// Level is SELinux level label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub level: Option, + /// Role is a SELinux role label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub role: Option, + /// Type is a SELinux type label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, + /// User is a SELinux user label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub user: Option, +} + +/// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestJobsSecurityContextSeccompProfile { + /// localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is "Localhost". Must NOT be set for any other type. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")] + pub localhost_profile: Option, + /// type indicates which kind of seccomp profile will be applied. Valid options are: + /// Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + #[serde(rename = "type")] + pub r#type: String, +} + +/// Sysctl defines a kernel parameter to be set +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestJobsSecurityContextSysctls { + /// Name of a property to set + pub name: String, + /// Value of a property to set + pub value: String, +} + +/// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestJobsSecurityContextWindowsOptions { + /// GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")] + pub gmsa_credential_spec: Option, + /// GMSACredentialSpecName is the name of the GMSA credential spec to use. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")] + pub gmsa_credential_spec_name: Option, + /// HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")] + pub host_process: Option, + /// The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")] + pub run_as_user_name: Option, +} + /// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct PerconaPGClusterBackupsPgbackrestJobsTolerations { @@ -746,6 +841,9 @@ pub struct PerconaPGClusterBackupsPgbackrestRepoHost { /// Resource requirements for a pgBackRest repository host #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, + /// SecurityContext defines the security settings for PGBackRest pod. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")] + pub security_context: Option, /// ConfigMap containing custom SSH configuration. Deprecated: Repository hosts use mTLS for encryption, authentication, and authorization. #[serde(default, skip_serializing_if = "Option::is_none", rename = "sshConfigMap")] pub ssh_config_map: Option, @@ -1189,6 +1287,98 @@ pub struct PerconaPGClusterBackupsPgbackrestRepoHostResourcesClaims { pub name: String, } +/// SecurityContext defines the security settings for PGBackRest pod. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestRepoHostSecurityContext { + /// A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: + /// 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- + /// If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")] + pub fs_group: Option, + /// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")] + pub fs_group_change_policy: Option, + /// The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")] + pub run_as_group: Option, + /// Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")] + pub run_as_non_root: Option, + /// The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")] + pub run_as_user: Option, + /// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")] + pub se_linux_options: Option, + /// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")] + pub seccomp_profile: Option, + /// A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")] + pub supplemental_groups: Option>, + /// Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub sysctls: Option>, + /// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")] + pub windows_options: Option, +} + +/// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestRepoHostSecurityContextSeLinuxOptions { + /// Level is SELinux level label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub level: Option, + /// Role is a SELinux role label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub role: Option, + /// Type is a SELinux type label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, + /// User is a SELinux user label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub user: Option, +} + +/// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestRepoHostSecurityContextSeccompProfile { + /// localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is "Localhost". Must NOT be set for any other type. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")] + pub localhost_profile: Option, + /// type indicates which kind of seccomp profile will be applied. Valid options are: + /// Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + #[serde(rename = "type")] + pub r#type: String, +} + +/// Sysctl defines a kernel parameter to be set +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestRepoHostSecurityContextSysctls { + /// Name of a property to set + pub name: String, + /// Value of a property to set + pub value: String, +} + +/// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterBackupsPgbackrestRepoHostSecurityContextWindowsOptions { + /// GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")] + pub gmsa_credential_spec: Option, + /// GMSACredentialSpecName is the name of the GMSA credential spec to use. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")] + pub gmsa_credential_spec_name: Option, + /// HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")] + pub host_process: Option, + /// The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")] + pub run_as_user_name: Option, +} + /// ConfigMap containing custom SSH configuration. Deprecated: Repository hosts use mTLS for encryption, authentication, and authorization. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct PerconaPGClusterBackupsPgbackrestRepoHostSshConfigMap { @@ -3526,6 +3716,9 @@ pub struct PerconaPGClusterInstances { /// Compute resources of a PostgreSQL container. #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, + /// SecurityContext defines the security settings for a PostgreSQL pod. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")] + pub security_context: Option, /// Custom sidecars for PostgreSQL instance pods. Changing this value causes PostgreSQL to restart. #[serde(default, skip_serializing_if = "Option::is_none")] pub sidecars: Option>, @@ -4863,6 +5056,98 @@ pub struct PerconaPGClusterInstancesResourcesClaims { pub name: String, } +/// SecurityContext defines the security settings for a PostgreSQL pod. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterInstancesSecurityContext { + /// A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: + /// 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- + /// If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")] + pub fs_group: Option, + /// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")] + pub fs_group_change_policy: Option, + /// The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")] + pub run_as_group: Option, + /// Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")] + pub run_as_non_root: Option, + /// The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")] + pub run_as_user: Option, + /// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")] + pub se_linux_options: Option, + /// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")] + pub seccomp_profile: Option, + /// A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")] + pub supplemental_groups: Option>, + /// Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub sysctls: Option>, + /// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")] + pub windows_options: Option, +} + +/// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterInstancesSecurityContextSeLinuxOptions { + /// Level is SELinux level label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub level: Option, + /// Role is a SELinux role label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub role: Option, + /// Type is a SELinux type label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, + /// User is a SELinux user label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub user: Option, +} + +/// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterInstancesSecurityContextSeccompProfile { + /// localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is "Localhost". Must NOT be set for any other type. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")] + pub localhost_profile: Option, + /// type indicates which kind of seccomp profile will be applied. Valid options are: + /// Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + #[serde(rename = "type")] + pub r#type: String, +} + +/// Sysctl defines a kernel parameter to be set +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterInstancesSecurityContextSysctls { + /// Name of a property to set + pub name: String, + /// Value of a property to set + pub value: String, +} + +/// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterInstancesSecurityContextWindowsOptions { + /// GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")] + pub gmsa_credential_spec: Option, + /// GMSACredentialSpecName is the name of the GMSA credential spec to use. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")] + pub gmsa_credential_spec_name: Option, + /// HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")] + pub host_process: Option, + /// The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")] + pub run_as_user_name: Option, +} + /// A single application container that you want to run within a pod. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct PerconaPGClusterInstancesSidecars { @@ -6078,6 +6363,9 @@ pub struct PerconaPGClusterProxyPgBouncer { /// Compute resources of a PgBouncer container. Changing this value causes PgBouncer to restart. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, + /// SecurityContext defines the security settings for PGBouncer pods. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")] + pub security_context: Option, /// Custom sidecars for a PgBouncer pod. Changing this value causes PgBouncer to restart. #[serde(default, skip_serializing_if = "Option::is_none")] pub sidecars: Option>, @@ -6727,6 +7015,98 @@ pub struct PerconaPGClusterProxyPgBouncerResourcesClaims { pub name: String, } +/// SecurityContext defines the security settings for PGBouncer pods. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterProxyPgBouncerSecurityContext { + /// A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: + /// 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- + /// If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")] + pub fs_group: Option, + /// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")] + pub fs_group_change_policy: Option, + /// The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")] + pub run_as_group: Option, + /// Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")] + pub run_as_non_root: Option, + /// The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")] + pub run_as_user: Option, + /// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")] + pub se_linux_options: Option, + /// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")] + pub seccomp_profile: Option, + /// A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")] + pub supplemental_groups: Option>, + /// Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub sysctls: Option>, + /// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")] + pub windows_options: Option, +} + +/// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterProxyPgBouncerSecurityContextSeLinuxOptions { + /// Level is SELinux level label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub level: Option, + /// Role is a SELinux role label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub role: Option, + /// Type is a SELinux type label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, + /// User is a SELinux user label that applies to the container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub user: Option, +} + +/// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterProxyPgBouncerSecurityContextSeccompProfile { + /// localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is "Localhost". Must NOT be set for any other type. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")] + pub localhost_profile: Option, + /// type indicates which kind of seccomp profile will be applied. Valid options are: + /// Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + #[serde(rename = "type")] + pub r#type: String, +} + +/// Sysctl defines a kernel parameter to be set +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterProxyPgBouncerSecurityContextSysctls { + /// Name of a property to set + pub name: String, + /// Value of a property to set + pub value: String, +} + +/// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct PerconaPGClusterProxyPgBouncerSecurityContextWindowsOptions { + /// GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")] + pub gmsa_credential_spec: Option, + /// GMSACredentialSpecName is the name of the GMSA credential spec to use. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")] + pub gmsa_credential_spec_name: Option, + /// HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")] + pub host_process: Option, + /// The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")] + pub run_as_user_name: Option, +} + /// A single application container that you want to run within a pod. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct PerconaPGClusterProxyPgBouncerSidecars { diff --git a/kube-custom-resources-rs/src/registry_devfile_io/v1alpha1/devfileregistries.rs b/kube-custom-resources-rs/src/registry_devfile_io/v1alpha1/devfileregistries.rs index 066dc02c9..ef02e5981 100644 --- a/kube-custom-resources-rs/src/registry_devfile_io/v1alpha1/devfileregistries.rs +++ b/kube-custom-resources-rs/src/registry_devfile_io/v1alpha1/devfileregistries.rs @@ -56,11 +56,17 @@ pub struct DevfileRegistryDevfileIndex { /// Sets the image pull policy for the container #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")] pub image_pull_policy: Option, + /// Sets the memory limit for the container + #[serde(default, skip_serializing_if = "Option::is_none", rename = "memoryLimit")] + pub memory_limit: Option, } /// DevfileRegistrySpecK8sOnly defines the desired state of the kubernetes-only fields of the DevfileRegistry #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DevfileRegistryK8s { + /// Ingress class for a Kubernetes cluster. Defaults to nginx. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressClass")] + pub ingress_class: Option, /// Ingress domain for a Kubernetes cluster. This MUST be explicitly specified on Kubernetes. There are no defaults #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressDomain")] pub ingress_domain: Option, @@ -75,6 +81,9 @@ pub struct DevfileRegistryOciRegistry { /// Sets the image pull policy for the container #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")] pub image_pull_policy: Option, + /// Sets the memory limit for the container + #[serde(default, skip_serializing_if = "Option::is_none", rename = "memoryLimit")] + pub memory_limit: Option, } /// Sets the registry viewer container spec to be deployed on the Devfile Registry @@ -86,6 +95,9 @@ pub struct DevfileRegistryRegistryViewer { /// Sets the image pull policy for the container #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")] pub image_pull_policy: Option, + /// Sets the memory limit for the container + #[serde(default, skip_serializing_if = "Option::is_none", rename = "memoryLimit")] + pub memory_limit: Option, } /// DevfileRegistrySpecStorage defines the desired state of the storage for the DevfileRegistry diff --git a/kube-custom-resources-rs/src/slo_koordinator_sh/v1alpha1/nodeslos.rs b/kube-custom-resources-rs/src/slo_koordinator_sh/v1alpha1/nodeslos.rs index 2f146e6a5..1ba3adab4 100644 --- a/kube-custom-resources-rs/src/slo_koordinator_sh/v1alpha1/nodeslos.rs +++ b/kube-custom-resources-rs/src/slo_koordinator_sh/v1alpha1/nodeslos.rs @@ -163,6 +163,9 @@ pub struct NodeSLOResourceQosStrategyBeClassBlkioQosBlocksIoCfg { /// Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatency")] pub read_latency: Option, + /// the read latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatencyPercent")] + pub read_latency_percent: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeBPS")] pub write_bps: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeIOPS")] @@ -170,6 +173,9 @@ pub struct NodeSLOResourceQosStrategyBeClassBlkioQosBlocksIoCfg { /// the write latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatency")] pub write_latency: Option, + /// the write latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatencyPercent")] + pub write_latency_percent: Option, } /// CPUQOSCfg stores node-level config of cpu qos @@ -307,6 +313,9 @@ pub struct NodeSLOResourceQosStrategyCgroupRootBlkioQosBlocksIoCfg { /// Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatency")] pub read_latency: Option, + /// the read latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatencyPercent")] + pub read_latency_percent: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeBPS")] pub write_bps: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeIOPS")] @@ -314,6 +323,9 @@ pub struct NodeSLOResourceQosStrategyCgroupRootBlkioQosBlocksIoCfg { /// the write latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatency")] pub write_latency: Option, + /// the write latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatencyPercent")] + pub write_latency_percent: Option, } /// CPUQOSCfg stores node-level config of cpu qos @@ -451,6 +463,9 @@ pub struct NodeSLOResourceQosStrategyLsClassBlkioQosBlocksIoCfg { /// Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatency")] pub read_latency: Option, + /// the read latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatencyPercent")] + pub read_latency_percent: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeBPS")] pub write_bps: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeIOPS")] @@ -458,6 +473,9 @@ pub struct NodeSLOResourceQosStrategyLsClassBlkioQosBlocksIoCfg { /// the write latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatency")] pub write_latency: Option, + /// the write latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatencyPercent")] + pub write_latency_percent: Option, } /// CPUQOSCfg stores node-level config of cpu qos @@ -595,6 +613,9 @@ pub struct NodeSLOResourceQosStrategyLsrClassBlkioQosBlocksIoCfg { /// Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatency")] pub read_latency: Option, + /// the read latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatencyPercent")] + pub read_latency_percent: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeBPS")] pub write_bps: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeIOPS")] @@ -602,6 +623,9 @@ pub struct NodeSLOResourceQosStrategyLsrClassBlkioQosBlocksIoCfg { /// the write latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatency")] pub write_latency: Option, + /// the write latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatencyPercent")] + pub write_latency_percent: Option, } /// CPUQOSCfg stores node-level config of cpu qos @@ -695,6 +719,9 @@ pub struct NodeSLOResourceQosStrategyPolicies { /// applied policy for the CPU QoS, default = "groupIdentity" #[serde(default, skip_serializing_if = "Option::is_none", rename = "cpuPolicy")] pub cpu_policy: Option, + /// applied policy for the Net QoS, default = "tc" + #[serde(default, skip_serializing_if = "Option::is_none", rename = "netQOSPolicy")] + pub net_qos_policy: Option, } /// ResourceQOS for system pods @@ -747,6 +774,9 @@ pub struct NodeSLOResourceQosStrategySystemClassBlkioQosBlocksIoCfg { /// Configure the weight-based throttling feature of blk-iocost Only used for RootClass After blk-iocost is enabled, the kernel calculates the proportion of requests that exceed the read or write latency threshold out of all requests. When the proportion is greater than the read or write latency percentile (95%), the kernel considers the disk to be saturated and reduces the rate at which requests are sent to the disk. the read latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatency")] pub read_latency: Option, + /// the read latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readLatencyPercent")] + pub read_latency_percent: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeBPS")] pub write_bps: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeIOPS")] @@ -754,6 +784,9 @@ pub struct NodeSLOResourceQosStrategySystemClassBlkioQosBlocksIoCfg { /// the write latency threshold. Unit: microseconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatency")] pub write_latency: Option, + /// the write latency percentile + #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeLatencyPercent")] + pub write_latency_percent: Option, } /// CPUQOSCfg stores node-level config of cpu qos diff --git a/kube-custom-resources-rs/src/tests_testkube_io/v1/testexecutions.rs b/kube-custom-resources-rs/src/tests_testkube_io/v1/testexecutions.rs index 1f038af52..c81ded109 100644 --- a/kube-custom-resources-rs/src/tests_testkube_io/v1/testexecutions.rs +++ b/kube-custom-resources-rs/src/tests_testkube_io/v1/testexecutions.rs @@ -56,6 +56,9 @@ pub struct TestExecutionExecutionRequest { /// test execution labels #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionLabels")] pub execution_labels: Option>, + /// namespace for test execution (Pro edition only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionNamespace")] + pub execution_namespace: Option, /// http proxy for executor containers #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpProxy")] pub http_proxy: Option, @@ -103,6 +106,9 @@ pub struct TestExecutionExecutionRequest { /// pod request body #[serde(default, skip_serializing_if = "Option::is_none", rename = "slavePodRequest")] pub slave_pod_request: Option, + /// run scripts using source command (container executor only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceScripts")] + pub source_scripts: Option, /// whether to start execution sync or async #[serde(default, skip_serializing_if = "Option::is_none")] pub sync: Option, @@ -434,6 +440,9 @@ pub struct TestExecutionStatusLatestExecution { /// execute post run script before scraping (prebuilt executor only) #[serde(default, skip_serializing_if = "Option::is_none", rename = "executePostRunScriptBeforeScraping")] pub execute_post_run_script_before_scraping: Option, + /// namespace for test execution (Pro edition only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionNamespace")] + pub execution_namespace: Option, /// execution result returned from executor #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionResult")] pub execution_result: Option, @@ -464,6 +473,9 @@ pub struct TestExecutionStatusLatestExecution { /// pod request body #[serde(default, skip_serializing_if = "Option::is_none", rename = "slavePodRequest")] pub slave_pod_request: Option, + /// run scripts using source command (container executor only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceScripts")] + pub source_scripts: Option, /// test start time #[serde(default, skip_serializing_if = "Option::is_none", rename = "startTime")] pub start_time: Option, diff --git a/kube-custom-resources-rs/src/tests_testkube_io/v1/testsuiteexecutions.rs b/kube-custom-resources-rs/src/tests_testkube_io/v1/testsuiteexecutions.rs index b96f7afff..8ad57f8bd 100644 --- a/kube-custom-resources-rs/src/tests_testkube_io/v1/testsuiteexecutions.rs +++ b/kube-custom-resources-rs/src/tests_testkube_io/v1/testsuiteexecutions.rs @@ -349,6 +349,9 @@ pub struct TestSuiteExecutionStatusLatestExecutionExecuteStepResultsExecuteExecu /// execute post run script before scraping (prebuilt executor only) #[serde(default, skip_serializing_if = "Option::is_none", rename = "executePostRunScriptBeforeScraping")] pub execute_post_run_script_before_scraping: Option, + /// namespace for test execution (Pro edition only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionNamespace")] + pub execution_namespace: Option, /// execution result returned from executor #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionResult")] pub execution_result: Option, @@ -379,6 +382,9 @@ pub struct TestSuiteExecutionStatusLatestExecutionExecuteStepResultsExecuteExecu /// pod request body #[serde(default, skip_serializing_if = "Option::is_none", rename = "slavePodRequest")] pub slave_pod_request: Option, + /// run scripts using source command (container executor only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceScripts")] + pub source_scripts: Option, /// test start time #[serde(default, skip_serializing_if = "Option::is_none", rename = "startTime")] pub start_time: Option, @@ -909,6 +915,9 @@ pub struct TestSuiteExecutionStatusLatestExecutionStepResultsExecution { /// execute post run script before scraping (prebuilt executor only) #[serde(default, skip_serializing_if = "Option::is_none", rename = "executePostRunScriptBeforeScraping")] pub execute_post_run_script_before_scraping: Option, + /// namespace for test execution (Pro edition only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionNamespace")] + pub execution_namespace: Option, /// execution result returned from executor #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionResult")] pub execution_result: Option, @@ -939,6 +948,9 @@ pub struct TestSuiteExecutionStatusLatestExecutionStepResultsExecution { /// pod request body #[serde(default, skip_serializing_if = "Option::is_none", rename = "slavePodRequest")] pub slave_pod_request: Option, + /// run scripts using source command (container executor only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceScripts")] + pub source_scripts: Option, /// test start time #[serde(default, skip_serializing_if = "Option::is_none", rename = "startTime")] pub start_time: Option, diff --git a/kube-custom-resources-rs/src/tests_testkube_io/v3/tests.rs b/kube-custom-resources-rs/src/tests_testkube_io/v3/tests.rs index b7f82a2f0..c24c43bd8 100644 --- a/kube-custom-resources-rs/src/tests_testkube_io/v3/tests.rs +++ b/kube-custom-resources-rs/src/tests_testkube_io/v3/tests.rs @@ -173,6 +173,9 @@ pub struct TestExecutionRequest { /// test execution labels #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionLabels")] pub execution_labels: Option>, + /// namespace for test execution (Pro edition only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "executionNamespace")] + pub execution_namespace: Option, /// http proxy for executor containers #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpProxy")] pub http_proxy: Option, @@ -229,6 +232,9 @@ pub struct TestExecutionRequest { /// pod request body #[serde(default, skip_serializing_if = "Option::is_none", rename = "slavePodRequest")] pub slave_pod_request: Option, + /// run scripts using source command (container executor only) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceScripts")] + pub source_scripts: Option, /// whether to start execution sync or async #[serde(default, skip_serializing_if = "Option::is_none")] pub sync: Option, diff --git a/kube-custom-resources-rs/src/tests_testkube_io/v3/testsuites.rs b/kube-custom-resources-rs/src/tests_testkube_io/v3/testsuites.rs index fe5f3d3df..d2c25b520 100644 --- a/kube-custom-resources-rs/src/tests_testkube_io/v3/testsuites.rs +++ b/kube-custom-resources-rs/src/tests_testkube_io/v3/testsuites.rs @@ -107,12 +107,6 @@ pub struct TestSuiteAfterExecuteExecutionRequest { /// job template extensions reference #[serde(default, skip_serializing_if = "Option::is_none", rename = "jobTemplateReference")] pub job_template_reference: Option, - /// test execution custom name - #[serde(default, skip_serializing_if = "Option::is_none")] - pub name: Option, - /// test kubernetes namespace (\"testkube\" when not set) - #[serde(default, skip_serializing_if = "Option::is_none")] - pub namespace: Option, /// negative test will fail the execution if it is a success and it will succeed if it is a failure #[serde(default, skip_serializing_if = "Option::is_none", rename = "negativeTest")] pub negative_test: Option, @@ -315,12 +309,6 @@ pub struct TestSuiteBeforeExecuteExecutionRequest { /// job template extensions reference #[serde(default, skip_serializing_if = "Option::is_none", rename = "jobTemplateReference")] pub job_template_reference: Option, - /// test execution custom name - #[serde(default, skip_serializing_if = "Option::is_none")] - pub name: Option, - /// test kubernetes namespace (\"testkube\" when not set) - #[serde(default, skip_serializing_if = "Option::is_none")] - pub namespace: Option, /// negative test will fail the execution if it is a success and it will succeed if it is a failure #[serde(default, skip_serializing_if = "Option::is_none", rename = "negativeTest")] pub negative_test: Option, @@ -664,12 +652,6 @@ pub struct TestSuiteStepsExecuteExecutionRequest { /// job template extensions reference #[serde(default, skip_serializing_if = "Option::is_none", rename = "jobTemplateReference")] pub job_template_reference: Option, - /// test execution custom name - #[serde(default, skip_serializing_if = "Option::is_none")] - pub name: Option, - /// test kubernetes namespace (\"testkube\" when not set) - #[serde(default, skip_serializing_if = "Option::is_none")] - pub namespace: Option, /// negative test will fail the execution if it is a success and it will succeed if it is a failure #[serde(default, skip_serializing_if = "Option::is_none", rename = "negativeTest")] pub negative_test: Option,