diff --git a/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/reaadb_crd.yaml b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/reaadb_crd.yaml new file mode 100644 index 000000000..0c8fd8ae1 --- /dev/null +++ b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/reaadb_crd.yaml @@ -0,0 +1,766 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: redisenterpriseactiveactivedatabases.app.redislabs.com + labels: + app: redis-enterprise +spec: + group: app.redislabs.com + names: + kind: RedisEnterpriseActiveActiveDatabase + listKind: RedisEnterpriseActiveActiveDatabaseList + plural: redisenterpriseactiveactivedatabases + singular: redisenterpriseactiveactivedatabase + shortNames: + - reaadb + preserveUnknownFields: false + scope: Namespaced + versions: + - name: v1alpha1 + served: true + storage: true + additionalPrinterColumns: + - jsonPath: .status.status + name: Status + type: string + - jsonPath: .status.specStatus + name: Spec Status + type: string + - jsonPath: .status.linkedRedbs[*] + name: Linked REDBs + type: string + - jsonPath: .status.replicationStatus + name: Replication Status + type: string + subresources: + status: {} + schema: + openAPIV3Schema: + description: RedisEnterpriseActiveActiveDatabase is the Schema for the redisenterpriseactiveactivedatabase + API + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + status: + description: RedisEnterpriseActiveActiveDatabaseStatus defines the observed + state of RedisEnterpriseActiveActiveDatabase + properties: + status: + description: The status of the active active database. + type: string + specStatus: + description: Whether the desired specification is valid + type: string + linkedRedbs: + description: The linked REDBs. + items: + type: string + type: array + participatingClusters: + description: The list of instances/ clusters statuses. + items: + description: Status of participating cluster. + properties: + name: + description: The name of the remote cluster CR that is linked. + type: string + id: + description: The corresponding ID of the instance in the active-active database. + format: int64 + type: integer + replicationStatus: + description: The replication status of the participating cluster + enum: + - up + - down + type: string + required: + - name + type: object + type: array + guid: + description: The active-active database corresponding GUID. + type: string + lastTaskUid: + description: The last active-active database task UID. + type: string + redisEnterpriseCluster: + description: The Redis Enterprise Cluster Object this Resource is associated + with + type: string + replicationStatus: + description: The overall replication status + enum: + - up + - down + type: string + secretsStatus: + description: The status of the secrets + items: + description: Status of secrets. + properties: + name: + description: The name of the secret. + type: string + status: + description: The status of the secret. + enum: + - Valid + - Invalid + type: string + required: + - name + type: object + type: array + type: object + spec: + description: RedisEnterpriseActiveActiveDatabaseSpec defines the desired + state of RedisEnterpriseActiveActiveDatabase + properties: + redisEnterpriseCluster: + description: Connection to Redis Enterprise Cluster + properties: + name: + description: The name of the Redis Enterprise Cluster where the + database should be stored. + type: string + required: + - name + type: object + participatingClusters: + description: The list of instances/ clusters specifications and configurations. + items: + properties: + name: + description: The name of the remote cluster CR to link. + type: string + required: + - name + type: object + type: array + globalConfigurations: + description: The Active-Active database global configurations, + contains the global properties for each of the participating clusters/ instances databases within the Active-Active database. + properties: + activeActive: + description: Connection/ association to the Active-Active database. + properties: + name: + description: 'The the corresponding Active-Active database name, + Redis Enterprise Active Active Database custom resource name, + this Resource is associated with. In case this resource is + created manually at the active active database creation this + field must be filled via the user, otherwise, the operator + will assign this field automatically. Note: this feature is + currently unsupported.' + type: string + participatingClusterName: + description: 'The corresponding participating cluster name, + Redis Enterprise Remote Cluster custom resource name, in the + Active-Active database, In case this resource is created manually + at the active active database creation this field must be + filled via the user, otherwise, the operator will assign this + field automatically. Note: this feature is currently unsupported.' + type: string + required: + - name + - participatingClusterName + type: object + alertSettings: + description: Settings for database alerts + properties: + bdb_backup_delayed: + description: Periodic backup has been delayed for longer than + specified threshold value [minutes] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_crdt_src_high_syncer_lag: + description: Active-active source - sync lag is higher than + specified threshold value [seconds] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_crdt_src_syncer_connection_error: + description: Active-active source - sync has connection error + while trying to connect replica source + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_crdt_src_syncer_general_error: + description: Active-active source - sync encountered in general + error + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_high_latency: + description: Latency is higher than specified threshold value + [micro-sec] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_high_throughput: + description: Throughput is higher than specified threshold + value [requests / sec.] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_long_running_action: + description: An alert for state-machines that are running + for too long + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_low_throughput: + description: Throughput is lower than specified threshold + value [requests / sec.] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_ram_dataset_overhead: + description: Dataset RAM overhead of a shard has reached the + threshold value [% of its RAM limit] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_ram_values: + description: Percent of values kept in a shard's RAM is lower + than [% of its key count] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_replica_src_high_syncer_lag: + description: Replica-of source - sync lag is higher than specified + threshold value [seconds] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_replica_src_syncer_connection_error: + description: Replica-of source - sync has connection error + while trying to connect replica source + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_shard_num_ram_values: + description: Number of values kept in a shard's RAM is lower + than [values] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + bdb_size: + description: Dataset size has reached the threshold value + [% of the memory limit] + properties: + enabled: + description: Alert enabled or disabled + type: boolean + threshold: + description: Threshold for alert going on/off + type: string + required: + - enabled + - threshold + type: object + type: object + backup: + description: Target for automatic database backups. + properties: + abs: + properties: + absSecretName: + description: The name of the secret that holds ABS credentials. + The secret must contain the keys "AccountName" and "AccountKey", + and these must hold the corresponding credentials + type: string + container: + description: Azure Blob Storage container name. + type: string + subdir: + description: Optional. Azure Blob Storage subdir under + container. + type: string + required: + - absSecretName + - container + type: object + ftp: + properties: + url: + description: a URI of the "ftps://[USER[:PASSWORD]@]HOST[:PORT]/PATH[/]" + format + type: string + required: + - url + type: object + gcs: + description: GoogleStorage + properties: + bucketName: + description: Google Storage bucket name. + type: string + gcsSecretName: + description: The name of the secret that holds the Google + Cloud Storage credentials. The secret must contain the + keys "CLIENT_ID", "PRIVATE_KEY", "PRIVATE_KEY_ID", "CLIENT_EMAIL" + and these must hold the corresponding credentials. The + keys should correspond to the values in the key JSON. + type: string + subdir: + description: Optional. Google Storage subdir under bucket. + type: string + required: + - bucketName + - gcsSecretName + type: object + interval: + description: Backup Interval in seconds + type: integer + mount: + description: MountPointStorage + properties: + path: + description: Path to the local mount point. You must create + the mount point on all nodes, and the redislabs:redislabs + user must have read and write permissions on the local + mount point. + type: string + required: + - path + type: object + s3: + properties: + awsSecretName: + description: The name of the secret that holds the AWS + credentials. The secret must contain the keys "AWS_ACCESS_KEY_ID" + and "AWS_SECRET_ACCESS_KEY", and these must hold the + corresponding credentials. + type: string + bucketName: + description: Amazon S3 bucket name. + type: string + subdir: + description: Optional. Amazon S3 subdir under bucket. + type: string + required: + - awsSecretName + - bucketName + type: object + sftp: + properties: + sftp_url: + description: SFTP url + type: string + sftpSecretName: + description: The name of the secret that holds SFTP credentials. + The secret must contain the "Key" key, which is the + SSH private key for connecting to the sftp server. + type: string + required: + - sftpSecretName + - sftp_url + type: object + swift: + properties: + auth_url: + description: Swift service authentication URL. + type: string + container: + description: Swift object store container for storing + the backup files. + type: string + prefix: + description: Optional. Prefix (path) of backup files in + the swift container. + type: string + swiftSecretName: + description: 'The name of the secret that holds Swift + credentials. The secret must contain the keys "Key" + and "User", and these must hold the corresponding credentials: + service access key and service user name (pattern for + the latter does not allow special characters &,<,>,")' + type: string + required: + - auth_url + - container + - swiftSecretName + type: object + type: object + clientAuthenticationCertificates: + description: The Secrets containing TLS Client Certificate to + use for Authentication + items: + type: string + type: array + dataInternodeEncryption: + description: Internode encryption (INE) setting. An optional boolean + setting, overriding a similar cluster-wide policy. If set to + False, INE is guaranteed to be turned off for this DB (regardless + of cluster-wide policy). If set to True, INE will be turned + on, unless the capability is not supported by the DB ( in such + a case we will get an error and database creation will fail). + If left unspecified, will be disabled if internode encryption + is not supported by the DB (regardless of cluster default). + Deleting this property after explicitly setting its value shall + have no effect. + type: boolean + databasePort: + description: Database port number. TCP port on which the database + is available. Will be generated automatically if omitted. can + not be changed after creation + type: integer + databaseSecretName: + description: The name of the secret that holds the password + to the database (redis databases only). + If secret does not exist, it will be created. + To define the password, create an opaque secret and set the name in the spec. + The password will be taken from the value of the 'password' key. + Use an empty string as value within the secret to disable authentication for the database. + Notes - For Active-Active databases this secret will not be automatically created, + and also, memcached databases must not be set with a value, + and a secret/password will not be automatically created for them. + Use the memcachedSaslSecretName field to set authentication parameters for memcached databases. + type: string + defaultUser: + description: Is connecting with a default user allowed? If disabled, + the DatabaseSecret will not be created or updated + type: boolean + evictionPolicy: + description: Database eviction policy. see more https://docs.redislabs.com/latest/rs/administering/database-operations/eviction-policy/ + type: string + isRof: + description: Whether it is an RoF database or not. Applicable + only for databases of type "REDIS". Assumed to be false if left + blank. + type: boolean + memcachedSaslSecretName: + description: Credentials used for binary authentication in memcached + databases. The credentials should be saved as an opaque secret + and the name of that secret should be configured using this + field. For username, use 'username' as the key and the actual + username as the value. For password, use 'password' as the key + and the actual password as the value. Note that connections + are not encrypted. + type: string + memorySize: + description: memory size of database. use formats like 100MB, + 0.1GB. minimum value in 100MB. When redis on flash (RoF) is + enabled, this value refers to RAM+Flash memory, and it must + not be below 1GB. + type: string + modulesList: + description: List of modules associated with database. + Note - For Active-Active databases this feature is currently in preview. For + this feature to take effect for Active-Active databases, set a boolean environment variable + with the name "ENABLE_ALPHA_FEATURES" to True. This variable can + be set via the redis-enterprise-operator pod spec, or through the + operator-environment-config Config Map. + items: + description: 'Redis Enterprise Module: https://redislabs.com/redis-enterprise/modules/' + properties: + config: + description: Module command line arguments e.g. VKEY_MAX_ENTITY_COUNT + 30 + type: string + name: + description: The module's name e.g "ft" for redissearch + type: string + uid: + description: Module's uid - do not set, for system use only + nolint:staticcheck // custom json tag unknown to the linter + type: string + version: + description: Module's semantic version e.g "1.6.12" - optional only in REDB, must be set in REAADB + type: string + required: + - name + type: object + type: array + ossCluster: + description: OSS Cluster mode option. Note that not all client + libraries support OSS cluster mode. + type: boolean + persistence: + description: Database on-disk persistence policy + enum: + - disabled + - aofEverySecond + - aofAlways + - snapshotEvery1Hour + - snapshotEvery6Hour + - snapshotEvery12Hour + type: string + proxyPolicy: + description: 'The policy used for proxy binding to the endpoint. + Supported proxy policies are: single/all-master-shards/all-nodes + When left blank, the default value will be chosen according + to the value of ossCluster - single if disabled, all-master-shards + when enabled' + type: string + rackAware: + description: 'Whether database should be rack aware. This improves + availability - more information: https://docs.redislabs.com/latest/rs/concepts/high-availability/rack-zone-awareness/' + type: boolean + redisEnterpriseCluster: + description: Connection to Redis Enterprise Cluster + properties: + name: + description: The name of the Redis Enterprise Cluster where + the database should be stored. + type: string + required: + - name + type: object + redisVersion: + description: Redis OSS version. + Version can be specified via prefix, + or via channels - for existing databases - Upgrade + Redis OSS version. For new databases - the version which the + database will be created with. If set to 'major' - will always + upgrade to the most recent major Redis version. If set to 'latest' + - will always upgrade to the most recent Redis version. Depends + on 'redisUpgradePolicy' - if you want to set the value to 'latest' + for some databases, you must set redisUpgradePolicy on the cluster + before. Possible values are 'major' or 'latest' When using upgrade + - make sure to backup the database before. This value is used + only for database type 'redis' + type: string + upgradeSpec: + description: Specifications for DB upgrade. + properties: + upgradeModulesToLatest: + description: Upgrades the modules to the latest version that supportes the DB version during a DB upgrade action, to upgrade the DB version view the 'redisVersion' field. + Note - This field is currently not supported for Active-Active databases. + type: boolean + required: + - upgradeModulesToLatest + type: object + replicaSources: + description: What databases to replicate from + items: + properties: + clientKeySecret: + description: 'Secret that defines the client certificate + and key used by the syncer in the target database cluster. + The secret must have 2 keys in its map: "cert" which is + the PEM encoded certificate, and "key" which is the PEM + encoded private key.' + type: string + compression: + description: GZIP compression level (0-6) to use for replication. + type: integer + replicaSourceName: + description: The name of the resource from which the source + database URI is derived. The type of resource must match + the type specified in the ReplicaSourceType field. + type: string + replicaSourceType: + description: The type of resource from which the source + database URI is derived. If set to 'SECRET', the source + database URI is derived from the secret named in the ReplicaSourceName + field. The secret must have a key named 'uri' that defines + the URI of the source database in the form of 'redis://...'. + The type of secret (kubernetes, vault, ...) is determined + by the secret mechanism used by the underlying REC object. + If set to 'REDB', the source database URI is derived from + the RedisEnterpriseDatabase resource named in the ReplicaSourceName + field. + type: string + serverCertSecret: + description: 'Secret that defines the server certificate + used by the proxy in the source database cluster. The + secret must have 1 key in its map: "cert" which is the + PEM encoded certificate.' + type: string + tlsSniName: + description: TLS SNI name to use for the replication link. + type: string + required: + - replicaSourceName + - replicaSourceType + type: object + type: array + replication: + description: In-memory database replication. When enabled, database + will have replica shard for every master - leading to higher + availability. Defaults to false. + type: boolean + resp3: + description: Whether this database supports RESP3 protocol. + Note - Deleting this property after explicitly setting its value shall have no effect. + Please view the corresponding field in RS doc for more info. + type: boolean + rofRamSize: + description: The size of the RAM portion of an RoF database. Similarly + to "memorySize" use formats like 100MB, 0.1GB It must be at + least 10% of combined memory size (RAM+Flash), as specified + by "memorySize". + type: string + rolesPermissions: + description: List of Redis Enteprise ACL and Role bindings to + apply + items: + description: Redis Enterprise Role and ACL Binding + properties: + acl: + description: 'Acl Name of RolePermissionType (note: use + exact name of the ACL from the Redis Enterprise ACL list, + case sensitive)' + type: string + role: + description: 'Role Name of RolePermissionType (note: use + exact name of the role from the Redis Enterprise role + list, case sensitive)' + type: string + type: + description: Type of Redis Enterprise Database Role Permission + type: string + required: + - acl + - role + - type + type: object + type: array + shardingEnabled: + description: Toggles database sharding for REAADBs (Active Active + databases) and enabled by default. This field is blocked for REDB + (non-Active Active databases) and sharding is toggled via the shardCount + field - when shardCount is 1 this is disabled otherwise enabled. + type: boolean + shardCount: + description: Number of database server-side shards + type: integer + shardsPlacement: + description: Control the density of shards - should they reside + on as few or as many nodes as possible. Available options are + "dense" or "sparse". If left unset, defaults to "dense". + type: string + tlsMode: + description: Require SSL authenticated and encrypted connections + to the database. enabled - all incoming connections to the Database + must use SSL. disabled - no incoming connection to the Database + should use SSL. replica_ssl - databases that replicate from + this one need to use SSL. + enum: + - disabled + - enabled + - replica_ssl + type: string + type: + description: The type of the database. + enum: + - redis + - memcached + type: string + type: object + required: + - participatingClusters + type: object + type: object diff --git a/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/rec_crd.yaml b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/rec_crd.yaml new file mode 100644 index 000000000..202741fec --- /dev/null +++ b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/rec_crd.yaml @@ -0,0 +1,14858 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + labels: + app: redis-enterprise + name: redisenterpriseclusters.app.redislabs.com +spec: + group: app.redislabs.com + names: + kind: RedisEnterpriseCluster + listKind: RedisEnterpriseClusterList + plural: redisenterpriseclusters + shortNames: + - rec + singular: redisenterprisecluster + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.nodes + name: Nodes + type: string + - jsonPath: .spec.redisEnterpriseImageSpec.versionTag + name: Version + type: string + - jsonPath: .status.state + name: State + type: string + - jsonPath: .status.specStatus + name: Spec Status + type: string + - jsonPath: .status.licenseStatus.licenseState + name: License State + type: string + - jsonPath: .status.licenseStatus.shardsLimit + name: Shards Limit + type: string + - jsonPath: .status.licenseStatus.expirationDate + name: License Expiration Date + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: RedisEnterpriseCluster is the Schema for the redisenterpriseclusters + API + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + description: RedisEnterpriseClusterSpec defines the desired state of RedisEnterpriseCluster + properties: + activeActive: + description: Specification for ActiveActive setup. At most one of + ingressOrRouteSpec or activeActive fields can be set at the same + time. + properties: + apiIngressUrl: + description: RS API URL + type: string + dbIngressSuffix: + description: DB ENDPOINT SUFFIX - will be used to set the db host. + ingress Creates a host name so + it should be unique if more than one db is created on the cluster + with the same name + type: string + ingressAnnotations: + additionalProperties: + type: string + description: Used for ingress controllers such as ha-proxy or + nginx in GKE + type: object + method: + description: Used to distinguish between different platforms implementation + enum: + - openShiftRoute + - ingress + type: string + required: + - apiIngressUrl + - dbIngressSuffix + - method + type: object + antiAffinityAdditionalTopologyKeys: + description: Additional antiAffinity terms in order to support installation + on different zones/vcenters + items: + type: string + type: array + backup: + description: Cluster-wide backup configurations + properties: + s3: + description: Configurations for backups to s3 and s3-compatible + storage + properties: + caCertificateSecretName: + description: Secret name that holds the S3 CA certificate, + which contains the TLS certificate mapped to the key in + the secret 'cert' + type: string + url: + description: Specifies the URL for S3 export and import + type: string + type: object + type: object + bootstrapperImageSpec: + description: Specification for Bootstrapper container image + properties: + digestHash: + description: 'The digest hash of the container image to pull. + When specified, the container image is pulled according to the + digest hash instead of the image tag. The versionTag field must + also be specified with the image tag matching this digest hash. + Note: This field is only supported for OLM deployments.' + type: string + imagePullPolicy: + description: The image pull policy to be applied to the container + image. One of Always, Never, IfNotPresent. + type: string + repository: + description: The repository (name) of the container image to be + deployed. + type: string + versionTag: + description: The tag of the container image to be deployed. + type: string + type: object + bootstrapperResources: + description: Compute resource requirements for bootstrapper containers + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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-compute-resources-container/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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-compute-resources-container/' + type: object + type: object + certificates: + description: RS Cluster Certificates. Used to modify the certificates + used by the cluster. See the "RSClusterCertificates" struct described + above to see the supported certificates. + properties: + apiCertificateSecretName: + description: Secret name to use for cluster's API certificate. + If left blank, a cluster-provided certificate will be used. + type: string + cmCertificateSecretName: + description: Secret name to use for cluster's CM (Cluster Manager) + certificate. If left blank, a cluster-provided certificate will + be used. + type: string + ldapClientCertificateSecretName: + description: Secret name to use for cluster's LDAP client certificate. + If left blank, LDAP client certificate authentication will be + disabled. + type: string + metricsExporterCertificateSecretName: + description: Secret name to use for cluster's Metrics Exporter + certificate. If left blank, a cluster-provided certificate will + be used. + type: string + proxyCertificateSecretName: + description: Secret name to use for cluster's Proxy certificate. + If left blank, a cluster-provided certificate will be used. + type: string + syncerCertificateSecretName: + description: Secret name to use for cluster's Syncer certificate. + If left blank, a cluster-provided certificate will be used. + type: string + type: object + clusterCredentialSecretName: + description: Secret Name/Path to use for Cluster Credentials. To be + used only if ClusterCredentialSecretType is vault. If left blank, + will use cluster name. + type: string + clusterCredentialSecretRole: + description: Used only if ClusterCredentialSecretType is vault, to + define vault role to be used. If blank, defaults to "redis-enterprise-operator" + type: string + clusterCredentialSecretType: + description: Type of Secret to use for ClusterCredential, Vault, Kuberetes,... + If left blank, will default ot kubernetes secrets + enum: + - vault + - kubernetes + type: string + clusterRecovery: + description: ClusterRecovery initiates cluster recovery when set to + true. Note that this field is cleared automatically after the cluster + is recovered + type: boolean + containerTimezone: + description: Container timezone configuration. While the default timezone + on all containers is UTC, this setting can be used to set the timezone + on services rigger/bootstrapper/RS containers. You can either propagate + the hosts timezone to RS pods or set it manually via timezoneName. + properties: + propagateHost: + description: Identifies that container timezone should be in sync + with the host, this option mounts a hostPath volume onto RS + pods that could be restricted in some systems. + type: object + timezoneName: + description: POSIX-style timezone name as a string to be passed + as EnvVar to RE pods, e.g. "Europe/London". + type: string + type: object + createServiceAccount: + description: Whether to create service account + type: boolean + dataInternodeEncryption: + description: Internode encryption (INE) cluster wide policy. An optional + boolean setting. Specifies if INE should be on/off for new created + REDBs. May be overridden for specific REDB via similar setting, + please view the similar setting for REDB for more info. + type: boolean + encryptPkeys: + description: 'Private key encryption Possible values: true/false' + type: boolean + enforceIPv4: + description: Sets ENFORCE_IPV4 environment variable + type: boolean + extraEnvVars: + description: 'ADVANCED USAGE: use carefully. Add environment variables + to RS StatefulSet''s containers.' + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + extraLabels: + additionalProperties: + type: string + description: Labels that the user defines for their convenience + type: object + hostAliases: + description: Adds hostAliases entries to the Redis Enterprise pods + items: + description: HostAlias holds the mapping between IP and hostnames + that will be injected as an entry in the pod's hosts file. + properties: + hostnames: + description: Hostnames for the above IP address. + items: + type: string + type: array + ip: + description: IP address of the host file entry. + type: string + type: object + type: array + ingressOrRouteSpec: + description: Access configurations for the Redis Enterprise Cluster + and Databases. At most one of ingressOrRouteSpec or activeActive + fields can be set at the same time. + properties: + apiFqdnUrl: + description: RS API URL + type: string + dbFqdnSuffix: + description: DB ENDPOINT SUFFIX - will be used to set the db host + ingress . Creates a host name so it + should be unique if more than one db is created on the cluster + with the same name + type: string + ingressAnnotations: + additionalProperties: + type: string + description: Additional annotations to set on ingress resources + created by the operator + type: object + method: + description: Used to distinguish between different platforms implementation. + enum: + - openShiftRoute + - ingress + - istio + type: string + required: + - apiFqdnUrl + - dbFqdnSuffix + - method + type: object + ldap: + description: Cluster-level LDAP configuration, such as server addresses, + protocol, authentication and query settings. + properties: + authenticationQuery: + description: Configuration of authentication queries, mapping + between the username, provided to the cluster for authentication, + and the LDAP Distinguished Name. + properties: + query: + description: Configuration for a search query. Mutually exclusive + with the 'template' field. The substring '%u' in the query + filter will be replaced with the username. + properties: + base: + description: The Distinguished Name of the entry at which + to start the search, e.g., 'ou=dev,dc=example,dc=com'. + type: string + filter: + description: An RFC-4515 string representation of the + filter to apply in the search. For an authentication + query, the substring '%u' will be replaced with the + username, e.g., '(cn=%u)'. For an authorization query, + the substring '%D' will be replaced with the user's + Distinguished Name, e.g., '(members=%D)'. + type: string + scope: + description: 'The search scope for an LDAP query. One + of: BaseObject, SingleLevel, WholeSubtree' + enum: + - BaseObject + - SingleLevel + - WholeSubtree + type: string + required: + - base + - filter + - scope + type: object + template: + description: Configuration for a template query. Mutually + exclusive with the 'query' field. The substring '%u' will + be replaced with the username, e.g., 'cn=%u,ou=dev,dc=example,dc=com'. + type: string + type: object + authorizationQuery: + description: Configuration of authorization queries, mapping between + a user's Distinguished Name and its group memberships. + properties: + attribute: + description: Configuration for an attribute query. Mutually + exclusive with the 'query' field. Holds the name of an attribute + of the LDAP user entity that contains a list of the groups + that the user belongs to, e.g., 'memberOf'. + type: string + query: + description: Configuration for a search query. Mutually exclusive + with the 'attribute' field. The substring '%D' in the query + filter will be replaced with the user's Distinguished Name. + properties: + base: + description: The Distinguished Name of the entry at which + to start the search, e.g., 'ou=dev,dc=example,dc=com'. + type: string + filter: + description: An RFC-4515 string representation of the + filter to apply in the search. For an authentication + query, the substring '%u' will be replaced with the + username, e.g., '(cn=%u)'. For an authorization query, + the substring '%D' will be replaced with the user's + Distinguished Name, e.g., '(members=%D)'. + type: string + scope: + description: 'The search scope for an LDAP query. One + of: BaseObject, SingleLevel, WholeSubtree' + enum: + - BaseObject + - SingleLevel + - WholeSubtree + type: string + required: + - base + - filter + - scope + type: object + type: object + bindCredentialsSecretName: + description: Name of a secret within the same namespace, holding + the credentials used to communicate with the LDAP server for + authentication queries. The secret must have a key named 'dn' + with the Distinguished Name of the user to execute the query, + and 'password' with its password. If left blank, credentials-based + authentication is disabled. + type: string + caCertificateSecretName: + description: Name of a secret within the same namespace, holding + a PEM-encoded CA certificate for validating the TLS connection + to the LDAP server. The secret must have a key named 'cert' + with the certificate data. This field is applicable only when + the protocol is LDAPS or STARTTLS. + type: string + cacheTTLSeconds: + description: The maximum TTL of cached entries. + type: integer + enabledForControlPlane: + description: Whether to enable LDAP for control plane access. + Disabled by default. + type: boolean + enabledForDataPlane: + description: Whether to enable LDAP for data plane access. Disabled + by default. + type: boolean + protocol: + description: 'Specifies the LDAP protocol to use. One of: LDAP, + LDAPS, STARTTLS.' + enum: + - LDAP + - LDAPS + - STARTTLS + type: string + servers: + description: One or more LDAP servers. If multiple servers are + specified, they must all share an identical organization tree + structure. + items: + description: Address of an LDAP server. + properties: + host: + description: Host name of the LDAP server + type: string + port: + description: Port number of the LDAP server. If unspecified, + defaults to 389 for LDAP and STARTTLS protocols, and 636 + for LDAPS protocol. + format: int32 + type: integer + required: + - host + type: object + type: array + required: + - authenticationQuery + - authorizationQuery + - protocol + - servers + type: object + license: + description: Redis Enterprise License + type: string + licenseSecretName: + description: K8s secret or Vault Secret Name/Path to use for Cluster + License. When left blank, the license is read from the "license" + field. Note that you can't specify non-empty values in both "license" + and "licenseSecretName", only one of these fields can be used to + pass the license string. The license needs to be stored under the + key "license". + type: string + nodeSelector: + additionalProperties: + type: string + description: Selector for nodes that could fit Redis Enterprise pod + type: object + nodes: + description: Number of Redis Enterprise nodes (pods) + format: int32 + type: integer + ocspConfiguration: + description: An API object that represents the cluster's OCSP configuration. + To enable OCSP, the cluster's proxy certificate should contain the + OCSP responder URL. + properties: + ocspFunctionality: + description: Whether to enable/disable OCSP mechanism for the + cluster. + type: boolean + queryFrequency: + description: Determines the interval (in seconds) in which the + control plane will poll the OCSP responder for a new status + for the server certificate. Minimum value is 60. Maximum value + is 86400. + type: integer + recoveryFrequency: + description: Determines the interval (in seconds) in which the + control plane will poll the OCSP responder for a new status + for the server certificate when the current staple is invalid. + Minimum value is 60. Maximum value is 86400. + type: integer + recoveryMaxTries: + description: Determines the maximum number for the OCSP recovery + attempts. After max number of tries passed, the control plane + will revert back to the regular frequency. Minimum value is + 1. Maximum value is 100. + type: integer + responseTimeout: + description: Determines the time interval (in seconds) for which + the request waits for a response from the OCSP responder. Minimum + value is 1. Maximum value is 60. + type: integer + type: object + persistentSpec: + description: Specification for Redis Enterprise Cluster persistence + properties: + enablePersistentVolumeResize: + description: Whether to enable PersistentVolumes resize. Disabled + by default. Read the instruction in pvc_expansion readme carefully + before using this feature. + type: boolean + enabled: + description: Whether to add persistent volume to Redis Enterprise + pods + type: boolean + storageClassName: + description: Storage class for persistent volume in Redis Enterprise + pods. Leave empty to use the default. If using the default this + way, make sure the Kubernetes Cluster has a default Storage + Class configured. This can be done by running a `kubectl get + storageclass` and see if one of the Storage Classes' names contains + a `(default)` mark. + type: string + volumeSize: + anyOf: + - type: integer + - type: string + description: To enable resizing after creating the cluster - please + follow the instructions in the pvc_expansion readme + 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 + podAnnotations: + additionalProperties: + type: string + description: annotations for the service rigger and redis enterprise + pods + type: object + podAntiAffinity: + description: 'Override for the default anti-affinity rules of the + Redis Enterprise pods. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#an-example-of-a-pod-that-uses-pod-affinity' + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podSecurityPolicyName: + description: "DEPRECATED PodSecurityPolicy support is removed in Kubernetes + v1.25 and the use of this field is invalid for use when running + on Kubernetes v1.25+. Future versions of the RedisEnterpriseCluster + API will remove support for this field altogether. For migration + instructions, see https://kubernetes.io/docs/tasks/configure-pod-container/migrate-from-psp/ + \n Name of pod security policy to use on pods" + type: string + podStartingPolicy: + description: Mitigation setting for STS pods stuck in "ContainerCreating" + properties: + enabled: + description: Whether to detect and attempt to mitigate pod startup + issues + type: boolean + startingThresholdSeconds: + description: Time in seconds to wait for a pod to be stuck while + starting up before action is taken. If set to 0, will be treated + as if disabled. + format: int32 + type: integer + required: + - enabled + - startingThresholdSeconds + type: object + podTolerations: + description: 'Tolerations that are added to all managed pods. More + information: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/' + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + priorityClassName: + description: Adds the priority class to pods managed by the operator + type: string + pullSecrets: + description: 'PullSecrets is an optional list of references to secrets + in the same namespace to use for pulling any of the images. If specified, + these secrets will be passed to individual puller implementations + for them to use. More info: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/' + items: + properties: + name: + description: Secret name + type: string + type: object + type: array + rackAwarenessNodeLabel: + description: Node label that specifies rack ID - if specified, will + create rack aware cluster. Rack awareness requires node label must + exist on all nodes. Additionally, operator needs a special cluster + role with permission to list nodes. + type: string + redisEnterpriseAdditionalPodSpecAttributes: + description: ADVANCED USAGE USE AT YOUR OWN RISK - specify pod attributes + that are required for the statefulset - Redis Enterprise pods. Pod + attributes managed by the operator might override these settings. + Also make sure the attributes are supported by the K8s version running + on the cluster - the operator does not validate that. + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostUsers: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + os: + properties: + name: + type: string + required: + - name + type: object + overhead: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + resourceClaims: + items: + properties: + name: + type: string + source: + properties: + resourceClaimName: + type: string + resourceClaimTemplateName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + schedulingGates: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + 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 + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + serviceAccountName: + type: string + setHostnameAsFQDN: + type: boolean + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - 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 + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + redisEnterpriseIPFamily: + description: Reserved, future use, only for use if instructed by Redis. + IPFamily dictates what IP family to choose for pods' internal and + external communication. + enum: + - IPv4 + - IPv6 + type: string + redisEnterpriseImageSpec: + description: Specification for Redis Enterprise container image + properties: + digestHash: + description: 'The digest hash of the container image to pull. + When specified, the container image is pulled according to the + digest hash instead of the image tag. The versionTag field must + also be specified with the image tag matching this digest hash. + Note: This field is only supported for OLM deployments.' + type: string + imagePullPolicy: + description: The image pull policy to be applied to the container + image. One of Always, Never, IfNotPresent. + type: string + repository: + description: The repository (name) of the container image to be + deployed. + type: string + versionTag: + description: The tag of the container image to be deployed. + type: string + type: object + redisEnterpriseNodeResources: + description: Compute resource requirements for Redis Enterprise containers + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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-compute-resources-container/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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-compute-resources-container/' + type: object + type: object + redisEnterprisePodAnnotations: + additionalProperties: + type: string + description: annotations for redis enterprise pod + type: object + redisEnterpriseServicesConfiguration: + description: RS Cluster optional services settings + properties: + cmServer: + properties: + operatingMode: + description: Whether to enable/disable the CM server + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + crdbCoordinator: + properties: + operatingMode: + description: Whether to enable/disable the crdb coordinator + process + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + crdbWorker: + properties: + operatingMode: + description: Whether to enable/disable the crdb worker processes + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + mdnsServer: + properties: + operatingMode: + description: Whether to enable/disable the Multicast DNS server + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + pdnsServer: + properties: + operatingMode: + description: Whether to enable/disable the pdns server + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + saslauthd: + properties: + operatingMode: + description: Whether to enable/disable the saslauthd service + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + statsArchiver: + properties: + operatingMode: + description: Whether to enable/disable the stats archiver + service + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + type: object + redisEnterpriseServicesRiggerImageSpec: + description: Specification for Services Rigger container image + properties: + digestHash: + description: 'The digest hash of the container image to pull. + When specified, the container image is pulled according to the + digest hash instead of the image tag. The versionTag field must + also be specified with the image tag matching this digest hash. + Note: This field is only supported for OLM deployments.' + type: string + imagePullPolicy: + description: The image pull policy to be applied to the container + image. One of Always, Never, IfNotPresent. + type: string + repository: + description: The repository (name) of the container image to be + deployed. + type: string + versionTag: + description: The tag of the container image to be deployed. + type: string + type: object + redisEnterpriseServicesRiggerResources: + description: Compute resource requirements for Services Rigger pod + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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-compute-resources-container/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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-compute-resources-container/' + type: object + type: object + redisEnterpriseTerminationGracePeriodSeconds: + description: The TerminationGracePeriodSeconds value for the (STS + created) REC pods + format: int64 + type: integer + redisEnterpriseVolumeMounts: + description: 'additional volume mounts within the redis enterprise + containers. More info: https://kubernetes.io/docs/concepts/storage/volumes/' + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + redisOnFlashSpec: + description: Stores configurations specific to redis on flash. If + provided, the cluster will be capable of creating redis on flash + databases. + properties: + bigStoreDriver: + enum: + - rocksdb + - speedb + type: string + enabled: + type: boolean + flashDiskSize: + anyOf: + - type: integer + - 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 + flashStorageEngine: + enum: + - rocksdb + type: string + storageClassName: + type: string + required: + - enabled + - storageClassName + type: object + redisUpgradePolicy: + description: 'Redis upgrade policy to be set on the Redis Enterprise + Cluster. Possible values: major/latest This value is used by the + cluster to choose the Redis version of the database when an upgrade + is performed. The Redis Enterprise Cluster includes multiple versions + of OSS Redis that can be used for databases.' + enum: + - major + - latest + type: string + resp3Default: + description: Whether databases will turn on RESP3 compatibility upon + database upgrade. Note - Deleting this property after explicitly + setting its value shall have no effect. Please view the corresponding + field in RS doc for more info. + type: boolean + serviceAccountName: + description: Name of the service account to use + type: string + services: + description: Customization options for operator-managed service resources + created for Redis Enterprise clusters and databases + properties: + apiService: + description: Customization options for the REC API service. + properties: + type: + description: Type of service to create for the REC API service. + Defaults to ClusterIP service, if not specified otherwise. + enum: + - ClusterIP + - NodePort + - LoadBalancer + type: string + type: object + servicesAnnotations: + additionalProperties: + type: string + description: Global additional annotations to set on service resources + created by the operator. The specified annotations will not + override annotations that already exist and didn't originate + from the operator. + type: object + type: object + servicesRiggerSpec: + description: Specification for service rigger + properties: + databaseServiceType: + description: Service types for access to databases. should be + a comma separated list. The possible values are cluster_ip, + headless and load_balancer. + type: string + extraEnvVars: + items: + description: 'EnvVar represents an environment variable present + in a Container. More info: https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/' + properties: + name: + description: Name of the environment variable. + type: string + value: + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the referent + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: Selects a field of the pod + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + 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 + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + podAnnotations: + additionalProperties: + type: string + description: annotations for the service rigger pod + type: object + serviceNaming: + description: Used to determine how to name the services created + automatically when a database is created. When bdb_name is used, + the database name will be also used for the service name. When + redis-port is used, the service will be named redis-. + enum: + - bdb_name + - redis-port + type: string + servicesRiggerAdditionalPodSpecAttributes: + description: ADVANCED USAGE USE AT YOUR OWN RISK - specify pod + attributes that are required for the rigger deployment pod. + Pod attributes managed by the operator might override these + settings (Containers, serviceAccountName, podTolerations, ImagePullSecrets, + nodeSelector, PriorityClassName, PodSecurityContext). Also make + sure the attributes are supported by the K8s version running + on the cluster - the operator does not validate that. + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostUsers: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + os: + properties: + name: + type: string + required: + - name + type: object + overhead: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + resourceClaims: + items: + properties: + name: + type: string + source: + properties: + resourceClaimName: + type: string + resourceClaimTemplateName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + schedulingGates: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + 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 + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + serviceAccountName: + type: string + setHostnameAsFQDN: + type: boolean + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - 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 + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + sideContainersSpec: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + slaveHA: + description: Slave high availability mechanism configuration. + properties: + slaveHAGracePeriod: + description: Time in seconds between when a node fails, and when + slave high availability mechanism starts relocating shards. + If set to 0, will not affect cluster configuration. + format: int32 + type: integer + required: + - slaveHAGracePeriod + type: object + uiAnnotations: + additionalProperties: + type: string + description: Annotations for Redis Enterprise UI service. This annotations + will override the overlapping global annotations set under spec.services.servicesAnnotations + The specified annotations will not override annotations that already + exist and didn't originate from the operator, except for the 'redis.io/last-keys' + annotation which is reserved. + type: object + uiServiceType: + description: Type of service used to expose Redis Enterprise UI (https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) + enum: + - ClusterIP + - NodePort + - LoadBalancer + - ExternalName + type: string + upgradeSpec: + description: Specification for upgrades of Redis Enterprise + properties: + autoUpgradeRedisEnterprise: + description: Whether to upgrade Redis Enterprise automatically + when operator is upgraded + type: boolean + required: + - autoUpgradeRedisEnterprise + type: object + username: + description: Username for the admin user of Redis Enterprise + type: string + vaultCASecret: + description: K8s secret name containing Vault's CA cert - defaults + to "vault-ca-cert" + type: string + volumes: + description: additional volumes + items: + description: 'Volume represents a named volume in a pod that may + be accessed by any container in the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes' + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - 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 + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + required: + - sources + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + status: + properties: + bundledDatabaseVersions: + description: Versions of open source databases bundled by Redis Enterprise + Software - please note that in order to use a specific version it + should be supported by the ‘upgradePolicy’ - ‘major’ or ‘latest’ + according to the desired version (major/minor) + items: + properties: + dbType: + type: string + major: + type: boolean + version: + type: string + required: + - dbType + - version + type: object + type: array + ingressOrRouteMethodStatus: + description: The ingressOrRouteSpec/ActiveActive spec method that + exist + type: string + licenseStatus: + properties: + activationDate: + type: string + expirationDate: + type: string + licenseState: + type: string + shardsLimit: + type: integer + type: object + managedAPIs: + description: Indicates cluster APIs that are being managed by the + operator. This only applies to cluster APIs which are optionally-managed + by the operator, such as cluster LDAP configuration. Most other + APIs are automatically managed by the operator, and are not listed + here. + properties: + ldap: + description: Indicate whether cluster LDAP configuration is managed + by the operator. When this is enabled, the operator will reconcile + the cluster LDAP configuration according to the '.spec.ldap' + field in the RedisEnterpriseCluster resource. + type: boolean + type: object + modules: + items: + properties: + displayName: + type: string + name: + type: string + versions: + items: + type: string + type: array + type: object + type: array + ocspStatus: + description: An API object that represents the cluster's OCSP status + properties: + certStatus: + description: Indicates the proxy certificate status - GOOD/REVOKED/UNKNOWN. + type: string + nextUpdate: + description: The time at or before which newer information will + be available about the status of the certificate (if available) + type: string + producedAt: + description: The time at which the OCSP responder signed this + response. + type: string + responderUrl: + description: The OCSP responder url from which this status came + from. + type: string + revocationTime: + description: The time at which the certificate was revoked or + placed on hold. + type: string + thisUpdate: + description: The most recent time at which the status being indicated + is known by the responder to have been correct. + type: string + type: object + persistenceStatus: + description: The status of the Persistent Volume Claims that are used + for Redis Enterprise Cluster persistence. The status will correspond + to the status of one or more of the PVCs (failed/resizing if one + of them is in resize or failed to resize) + properties: + status: + description: The current status of the PVCs + type: string + succeeded: + description: The number of PVCs that are provisioned with the + expected size + type: string + type: object + redisEnterpriseIPFamily: + type: string + specStatus: + type: string + state: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.nodes + name: Nodes + type: string + - jsonPath: .spec.redisEnterpriseImageSpec.versionTag + name: Version + type: string + - jsonPath: .status.state + name: State + type: string + - jsonPath: .status.specStatus + name: Spec Status + type: string + - jsonPath: .status.licenseStatus.licenseState + name: License State + type: string + - jsonPath: .status.licenseStatus.shardsLimit + name: Shards Limit + type: string + - jsonPath: .status.licenseStatus.expirationDate + name: License Expiration Date + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + activeActive: + properties: + apiIngressUrl: + type: string + dbIngressSuffix: + type: string + ingressAnnotations: + additionalProperties: + type: string + type: object + method: + enum: + - openShiftRoute + - ingress + - istio + type: string + required: + - apiIngressUrl + - dbIngressSuffix + - method + type: object + antiAffinityAdditionalTopologyKeys: + items: + type: string + type: array + backup: + properties: + s3: + properties: + caCertificateSecretName: + type: string + url: + type: string + type: object + type: object + bootstrapperImageSpec: + properties: + digestHash: + type: string + imagePullPolicy: + type: string + repository: + type: string + versionTag: + type: string + type: object + bootstrapperResources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + certificates: + properties: + apiCertificateSecretName: + type: string + cmCertificateSecretName: + type: string + ldapClientCertificateSecretName: + type: string + metricsExporterCertificateSecretName: + type: string + proxyCertificateSecretName: + type: string + syncerCertificateSecretName: + type: string + type: object + clusterCredentialSecretName: + type: string + clusterCredentialSecretRole: + type: string + clusterCredentialSecretType: + enum: + - vault + - kubernetes + type: string + clusterRecovery: + type: boolean + containerTimezone: + properties: + propagateHost: + type: object + timezoneName: + type: string + type: object + createServiceAccount: + type: boolean + dataInternodeEncryption: + type: boolean + encryptPkeys: + type: boolean + enforceIPv4: + type: boolean + extraEnvVars: + description: 'ADVANCED USAGE: use carefully. Add environment variables + to RS StatefulSet''s containers.' + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + extraLabels: + additionalProperties: + type: string + type: object + hostAliases: + description: Adds hostAliases entries to the Redis Enterprise pods + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + ingressOrRouteSpec: + properties: + apiFqdnUrl: + type: string + dbFqdnSuffix: + type: string + ingressAnnotations: + additionalProperties: + type: string + type: object + method: + enum: + - openShiftRoute + - ingress + - istio + type: string + required: + - apiFqdnUrl + - dbFqdnSuffix + - method + type: object + ldap: + properties: + authenticationQuery: + properties: + query: + properties: + base: + type: string + filter: + type: string + scope: + enum: + - BaseObject + - SingleLevel + - WholeSubtree + type: string + required: + - base + - filter + - scope + type: object + template: + type: string + type: object + authorizationQuery: + properties: + attribute: + type: string + query: + properties: + base: + type: string + filter: + type: string + scope: + enum: + - BaseObject + - SingleLevel + - WholeSubtree + type: string + required: + - base + - filter + - scope + type: object + type: object + bindCredentialsSecretName: + type: string + caCertificateSecretName: + type: string + cacheTTLSeconds: + type: integer + enabledForControlPlane: + type: boolean + enabledForDataPlane: + type: boolean + protocol: + enum: + - LDAP + - LDAPS + - STARTTLS + type: string + servers: + items: + properties: + host: + type: string + port: + format: int32 + type: integer + required: + - host + type: object + type: array + required: + - authenticationQuery + - authorizationQuery + - protocol + - servers + type: object + license: + type: string + licenseSecretName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + nodes: + format: int32 + type: integer + ocspConfiguration: + properties: + ocspFunctionality: + type: boolean + queryFrequency: + type: integer + recoveryFrequency: + type: integer + recoveryMaxTries: + type: integer + responseTimeout: + type: integer + type: object + persistentSpec: + properties: + enablePersistentVolumeResize: + type: boolean + enabled: + type: boolean + storageClassName: + type: string + volumeSize: + anyOf: + - type: integer + - 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 + type: object + podAnnotations: + additionalProperties: + type: string + description: annotations for the service rigger and redis enterprise + pods + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podSecurityPolicyName: + type: string + podStartingPolicy: + properties: + enabled: + type: boolean + startingThresholdSeconds: + format: int32 + type: integer + required: + - enabled + - startingThresholdSeconds + type: object + podTolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + priorityClassName: + type: string + pullSecrets: + items: + properties: + name: + type: string + type: object + type: array + rackAwarenessNodeLabel: + type: string + redisEnterpriseAdditionalPodSpecAttributes: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostUsers: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + os: + properties: + name: + type: string + required: + - name + type: object + overhead: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + resourceClaims: + items: + properties: + name: + type: string + source: + properties: + resourceClaimName: + type: string + resourceClaimTemplateName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + schedulingGates: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + 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 + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + serviceAccountName: + type: string + setHostnameAsFQDN: + type: boolean + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - 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 + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + redisEnterpriseIPFamily: + enum: + - IPv4 + - IPv6 + type: string + redisEnterpriseImageSpec: + properties: + digestHash: + type: string + imagePullPolicy: + type: string + repository: + type: string + versionTag: + type: string + type: object + redisEnterpriseNodeResources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + redisEnterprisePodAnnotations: + additionalProperties: + type: string + description: annotations for redis enterprise pod + type: object + redisEnterpriseServicesConfiguration: + properties: + cmServer: + properties: + operatingMode: + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + crdbCoordinator: + properties: + operatingMode: + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + crdbWorker: + properties: + operatingMode: + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + mdnsServer: + properties: + operatingMode: + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + pdnsServer: + properties: + operatingMode: + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + saslauthd: + properties: + operatingMode: + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + statsArchiver: + properties: + operatingMode: + enum: + - enabled + - disabled + type: string + required: + - operatingMode + type: object + type: object + redisEnterpriseServicesRiggerImageSpec: + properties: + digestHash: + type: string + imagePullPolicy: + type: string + repository: + type: string + versionTag: + type: string + type: object + redisEnterpriseServicesRiggerResources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + redisEnterpriseTerminationGracePeriodSeconds: + format: int64 + type: integer + redisEnterpriseVolumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + redisOnFlashSpec: + properties: + bigStoreDriver: + enum: + - rocksdb + - speedb + type: string + enabled: + type: boolean + flashDiskSize: + anyOf: + - type: integer + - 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 + flashStorageEngine: + enum: + - rocksdb + type: string + storageClassName: + type: string + required: + - enabled + - storageClassName + type: object + redisUpgradePolicy: + enum: + - major + - latest + type: string + resp3Default: + type: boolean + serviceAccountName: + type: string + services: + properties: + apiService: + properties: + type: + enum: + - ClusterIP + - NodePort + - LoadBalancer + type: string + type: object + servicesAnnotations: + additionalProperties: + type: string + type: object + type: object + servicesRiggerSpec: + properties: + databaseServiceType: + type: string + extraEnvVars: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + podAnnotations: + additionalProperties: + type: string + description: annotations for the service rigger pod + type: object + serviceNaming: + description: Used to determine how to name the services created + automatically when a database is created. When bdb_name is used, + the database name will be also used for the service name. When + redis-port is used, the service will be named redis-. + enum: + - bdb_name + - redis-port + type: string + servicesRiggerAdditionalPodSpecAttributes: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostUsers: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + os: + properties: + name: + type: string + required: + - name + type: object + overhead: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + resourceClaims: + items: + properties: + name: + type: string + source: + properties: + resourceClaimName: + type: string + resourceClaimTemplateName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + schedulingGates: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + 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 + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + serviceAccountName: + type: string + setHostnameAsFQDN: + type: boolean + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - 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 + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + sideContainersSpec: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: set + limits: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - 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 + type: object + type: object + securityContext: + 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 + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + slaveHA: + properties: + slaveHAGracePeriod: + format: int32 + type: integer + required: + - slaveHAGracePeriod + type: object + uiAnnotations: + additionalProperties: + type: string + type: object + uiServiceType: + enum: + - ClusterIP + - NodePort + - LoadBalancer + - ExternalName + type: string + upgradeSpec: + properties: + autoUpgradeRedisEnterprise: + type: boolean + required: + - autoUpgradeRedisEnterprise + type: object + username: + type: string + vaultCASecret: + type: string + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - 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 + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + required: + - sources + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + status: + properties: + bundledDatabaseVersions: + items: + properties: + dbType: + type: string + major: + type: boolean + version: + type: string + required: + - dbType + - version + type: object + type: array + ingressOrRouteMethodStatus: + type: string + licenseStatus: + properties: + activationDate: + type: string + expirationDate: + type: string + licenseState: + type: string + shardsLimit: + type: integer + type: object + managedAPIs: + properties: + ldap: + type: boolean + type: object + modules: + items: + properties: + displayName: + type: string + name: + type: string + versions: + items: + type: string + type: array + type: object + type: array + ocspStatus: + properties: + certStatus: + type: string + nextUpdate: + type: string + producedAt: + type: string + responderUrl: + type: string + revocationTime: + type: string + thisUpdate: + type: string + type: object + persistenceStatus: + properties: + status: + type: string + succeeded: + type: string + type: object + redisEnterpriseIPFamily: + type: string + specStatus: + type: string + state: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/redb_crd.yaml b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/redb_crd.yaml new file mode 100644 index 000000000..b5bb057e3 --- /dev/null +++ b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/redb_crd.yaml @@ -0,0 +1,739 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + labels: + app: redis-enterprise + name: redisenterprisedatabases.app.redislabs.com +spec: + group: app.redislabs.com + names: + kind: RedisEnterpriseDatabase + listKind: RedisEnterpriseDatabaseList + plural: redisenterprisedatabases + shortNames: + - redb + singular: redisenterprisedatabase + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.version + name: Version + type: string + - jsonPath: .status.internalEndpoints[*].port + name: Port + type: string + - jsonPath: .status.redisEnterpriseCluster + name: Cluster + type: string + - jsonPath: .status.shardStatuses.active + name: Shards + type: string + - jsonPath: .status.status + name: Status + type: string + - jsonPath: .status.specStatus + name: Spec Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: RedisEnterpriseDatabase is the Schema for the redisenterprisedatabases + API + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + description: RedisEnterpriseDatabaseSpec defines the desired state of + RedisEnterpriseDatabase + properties: + alertSettings: + description: Settings for database alerts + properties: + bdb_backup_delayed: + description: Periodic backup has been delayed for longer than + specified threshold value [minutes]. -Note threshold is commented + (allow string/int/float and support backwards compatibility) + but is required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_crdt_src_high_syncer_lag: + description: Active-active source - sync lag is higher than specified + threshold value [seconds] -Note threshold is commented (allow + string/int/float and support backwards compatibility) but is + required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_crdt_src_syncer_connection_error: + description: Active-active source - sync has connection error + while trying to connect replica source -Note threshold is commented + (allow string/int/float and support backwards compatibility) + but is required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_crdt_src_syncer_general_error: + description: Active-active source - sync encountered in general + error -Note threshold is commented (allow string/int/float and + support backwards compatibility) but is required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_high_latency: + description: Latency is higher than specified threshold value + [micro-sec] -Note threshold is commented (allow string/int/float + and support backwards compatibility) but is required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_high_throughput: + description: Throughput is higher than specified threshold value + [requests / sec.] -Note threshold is commented (allow string/int/float + and support backwards compatibility) but is required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_long_running_action: + description: An alert for state-machines that are running for + too long -Note threshold is commented (allow string/int/float + and support backwards compatibility) but is required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_low_throughput: + description: Throughput is lower than specified threshold value + [requests / sec.] -Note threshold is commented (allow string/int/float + and support backwards compatibility) but is required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_ram_dataset_overhead: + description: Dataset RAM overhead of a shard has reached the threshold + value [% of its RAM limit] -Note threshold is commented (allow + string/int/float and support backwards compatibility) but is + required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_ram_values: + description: Percent of values kept in a shard's RAM is lower + than [% of its key count] -Note threshold is commented (allow + string/int/float and support backwards compatibility) but is + required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_replica_src_high_syncer_lag: + description: Replica-of source - sync lag is higher than specified + threshold value [seconds] -Note threshold is commented (allow + string/int/float and support backwards compatibility) but is + required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_replica_src_syncer_connection_error: + description: Replica-of source - sync has connection error while + trying to connect replica source -Note threshold is commented + (allow string/int/float and support backwards compatibility) + but is required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_shard_num_ram_values: + description: Number of values kept in a shard's RAM is lower than + [values] -Note threshold is commented (allow string/int/float + and support backwards compatibility) but is required + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + bdb_size: + description: 'Dataset size has reached the threshold value [% + of the memory limit] expected fields: -Note threshold is commented + (allow string/int/float and support backwards compatibility) + but is required' + properties: + enabled: + description: Alert enabled or disabled + type: boolean + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + backup: + description: Target for automatic database backups. + properties: + abs: + properties: + absSecretName: + description: The name of the K8s secret that holds ABS credentials. + The secret must contain the keys "AccountName" and "AccountKey", + and these must hold the corresponding credentials + type: string + container: + description: Azure Blob Storage container name. + type: string + subdir: + description: Optional. Azure Blob Storage subdir under container. + type: string + required: + - absSecretName + - container + type: object + ftp: + properties: + url: + description: a URI of the ftps://[USER[:PASSWORD]@]HOST[:PORT]/PATH[/] + pattern: ftps?://(([^@]+)@)?([^@/:]+)(:(\d+))?([/\.]/?[^@/\.]+)*?/?$ + type: string + required: + - url + type: object + gcs: + description: GoogleStorage + properties: + bucketName: + description: Google Storage bucket name. + type: string + gcsSecretName: + description: The name of the K8s secret that holds the Google + Cloud Storage credentials. The secret must contain the keys + "CLIENT_ID", "PRIVATE_KEY", "PRIVATE_KEY_ID", "CLIENT_EMAIL" + and these must hold the corresponding credentials. The keys + should correspond to the values in the key JSON. + type: string + subdir: + description: Optional. Google Storage subdir under bucket. + type: string + required: + - bucketName + - gcsSecretName + type: object + interval: + description: Backup Interval in seconds + type: integer + mount: + description: MountPointStorage + properties: + path: + description: Path to the local mount point. You must create + the mount point on all nodes, and the redislabs:redislabs + user must have read and write permissions on the local mount + point. + type: string + required: + - path + type: object + s3: + properties: + awsSecretName: + description: The name of the K8s secret that holds the AWS + credentials. The secret must contain the keys "AWS_ACCESS_KEY_ID" + and "AWS_SECRET_ACCESS_KEY", and these must hold the corresponding + credentials. + type: string + bucketName: + description: Amazon S3 bucket name. + type: string + subdir: + description: Optional. Amazon S3 subdir under bucket. + type: string + required: + - awsSecretName + - bucketName + type: object + sftp: + properties: + sftp_url: + description: SFTP url + pattern: ^sftp://(([^@]+)@)?([^@/:]+)(:(\d+))?(/([^@/\.]+[/\.]?)*)?$ + type: string + sftpSecretName: + description: The name of the K8s secret that holds SFTP credentials. + The secret must contain the "Key" key, which is the SSH + private key for connecting to the sftp server. + type: string + required: + - sftpSecretName + - sftp_url + type: object + swift: + properties: + auth_url: + description: Swift service authentication URL. + pattern: ^https?://(([^@]+)@)?([^@/:]+)(:(\d+))?([/\.]([^@/\.]+))*?/?$ + type: string + container: + description: Swift object store container for storing the + backup files. + type: string + prefix: + description: Optional. Prefix (path) of backup files in the + swift container. + type: string + swiftSecretName: + description: 'The name of the K8s secret that holds Swift + credentials. The secret must contain the keys "Key" and + "User", and these must hold the corresponding credentials: + service access key and service user name (pattern for the + latter does not allow special characters &,<,>,")' + type: string + required: + - auth_url + - container + - swiftSecretName + type: object + type: object + clientAuthenticationCertificates: + description: The Secrets containing TLS Client Certificate to use + for Authentication + items: + type: string + type: array + dataInternodeEncryption: + description: Internode encryption (INE) setting. An optional boolean + setting, overriding a similar cluster-wide policy. If set to False, + INE is guaranteed to be turned off for this DB (regardless of cluster-wide + policy). If set to True, INE will be turned on, unless the capability + is not supported by the DB ( in such a case we will get an error + and database creation will fail). If left unspecified, will be disabled + if internode encryption is not supported by the DB (regardless of + cluster default). Deleting this property after explicitly setting + its value shall have no effect. + type: boolean + databasePort: + description: Database port number. TCP port on which the database + is available. Will be generated automatically if omitted. can not + be changed after creation + type: integer + databaseSecretName: + description: The name of the secret that holds the password to the + database (redis databases only). If secret does not exist, it will + be created. To define the password, create an opaque secret and + set the name in the spec. The password will be taken from the value + of the 'password' key. Use an empty string as value within the secret + to disable authentication for the database. Notes - For Active-Active + databases this secret will not be automatically created, and also, + memcached databases must not be set with a value, and a secret/password + will not be automatically created for them. Use the memcachedSaslSecretName + field to set authentication parameters for memcached databases. + type: string + defaultUser: + description: Is connecting with a default user allowed? + type: boolean + evictionPolicy: + description: Database eviction policy. see more https://docs.redislabs.com/latest/rs/administering/database-operations/eviction-policy/ + type: string + isRof: + description: Whether it is an RoF database or not. Applicable only + for databases of type "REDIS". Assumed to be false if left blank. + type: boolean + memcachedSaslSecretName: + description: Credentials used for binary authentication in memcached + databases. The credentials should be saved as an opaque secret and + the name of that secret should be configured using this field. For + username, use 'username' as the key and the actual username as the + value. For password, use 'password' as the key and the actual password + as the value. Note that connections are not encrypted. + type: string + memorySize: + description: memory size of database. use formats like 100MB, 0.1GB. + minimum value in 100MB. When redis on flash (RoF) is enabled, this + value refers to RAM+Flash memory, and it must not be below 1GB. + type: string + modulesList: + description: List of modules associated with database. Note - For + Active-Active databases this feature is currently in preview. For + this feature to take effect for Active-Active databases, set a boolean + environment variable with the name "ENABLE_ALPHA_FEATURES" to True. + This variable can be set via the redis-enterprise-operator pod spec, + or through the operator-environment-config Config Map. + items: + description: 'Redis Enterprise Module: https://redislabs.com/redis-enterprise/modules/' + properties: + config: + description: Module command line arguments e.g. VKEY_MAX_ENTITY_COUNT + 30 + type: string + name: + description: The module's name e.g "ft" for redissearch + type: string + version: + description: Module's semantic version e.g "1.6.12" - optional + only in REDB, must be set in REAADB + type: string + required: + - name + type: object + type: array + ossCluster: + description: OSS Cluster mode option. Note that not all client libraries + support OSS cluster mode. + type: boolean + persistence: + description: Database on-disk persistence policy + enum: + - disabled + - aofEverySecond + - aofAlways + - snapshotEvery1Hour + - snapshotEvery6Hour + - snapshotEvery12Hour + type: string + proxyPolicy: + description: 'The policy used for proxy binding to the endpoint. Supported + proxy policies are: single/all-master-shards/all-nodes When left + blank, the default value will be chosen according to the value of + ossCluster - single if disabled, all-master-shards when enabled' + type: string + rackAware: + description: 'Whether database should be rack aware. This improves + availability - more information: https://docs.redislabs.com/latest/rs/concepts/high-availability/rack-zone-awareness/' + type: boolean + redisEnterpriseCluster: + description: Connection to Redis Enterprise Cluster + properties: + name: + description: The name of the Redis Enterprise Cluster where the + database should be stored. + type: string + required: + - name + type: object + redisVersion: + description: Redis OSS version. Version can be specified via + prefix, or via channels - for existing databases - Upgrade Redis + OSS version. For new databases - the version which the database + will be created with. If set to 'major' - will always upgrade to + the most recent major Redis version. If set to 'latest' - will always + upgrade to the most recent Redis version. Depends on 'redisUpgradePolicy' + - if you want to set the value to 'latest' for some databases, you + must set redisUpgradePolicy on the cluster before. Possible values + are 'major' or 'latest' When using upgrade - make sure to backup + the database before. This value is used only for database type 'redis' + type: string + replicaSources: + description: What databases to replicate from + items: + properties: + clientKeySecret: + description: 'Secret that defines the client certificate and + key used by the syncer in the target database cluster. The + secret must have 2 keys in its map: "cert" which is the PEM + encoded certificate, and "key" which is the PEM encoded private + key.' + type: string + compression: + description: GZIP compression level (0-6) to use for replication. + type: integer + replicaSourceName: + description: The name of the resource from which the source + database URI is derived. The type of resource must match the + type specified in the ReplicaSourceType field. + type: string + replicaSourceType: + description: The type of resource from which the source database + URI is derived. If set to 'SECRET', the source database URI + is derived from the secret named in the ReplicaSourceName + field. The secret must have a key named 'uri' that defines + the URI of the source database in the form of 'redis://...'. + The type of secret (kubernetes, vault, ...) is determined + by the secret mechanism used by the underlying REC object. + If set to 'REDB', the source database URI is derived from + the RedisEnterpriseDatabase resource named in the ReplicaSourceName + field. + type: string + serverCertSecret: + description: 'Secret that defines the server certificate used + by the proxy in the source database cluster. The secret must + have 1 key in its map: "cert" which is the PEM encoded certificate.' + type: string + tlsSniName: + description: TLS SNI name to use for the replication link. + type: string + required: + - replicaSourceName + - replicaSourceType + type: object + type: array + replication: + description: In-memory database replication. When enabled, database + will have replica shard for every master - leading to higher availability. + Defaults to false. + type: boolean + resp3: + description: Whether this database supports RESP3 protocol. Note - + Deleting this property after explicitly setting its value shall + have no effect. Please view the corresponding field in RS doc for + more info. + type: boolean + rofRamSize: + description: The size of the RAM portion of an RoF database. Similarly + to "memorySize" use formats like 100MB, 0.1GB. It must be at least + 10% of combined memory size (RAM and Flash), as specified by "memorySize". + type: string + rolesPermissions: + description: List of Redis Enteprise ACL and Role bindings to apply + items: + description: Redis Enterprise Role and ACL Binding + properties: + acl: + description: Acl Name of RolePermissionType + type: string + role: + description: Role Name of RolePermissionType + type: string + type: + description: Type of Redis Enterprise Database Role Permission + type: string + required: + - acl + - role + - type + type: object + type: array + shardCount: + description: Number of database server-side shards + type: integer + shardingEnabled: + description: Toggles database sharding for REAADBs (Active Active + databases) and enabled by default. This field is blocked for REDB + (non-Active Active databases) and sharding is toggled via the shardCount + field - when shardCount is 1 this is disabled otherwise enabled. + type: boolean + shardsPlacement: + description: Control the density of shards - should they reside on + as few or as many nodes as possible. Available options are "dense" + or "sparse". If left unset, defaults to "dense". + enum: + - dense + - sparse + type: string + tlsMode: + description: Require SSL authenticated and encrypted connections to + the database. enabled - all incoming connections to the Database + must use SSL. disabled - no incoming connection to the Database + should use SSL. replica_ssl - databases that replicate from this + one need to use SSL. + enum: + - disabled + - enabled + - replica_ssl + type: string + type: + description: The type of the database (redis or memcached). Defaults + to "redis". + enum: + - redis + - memcached + type: string + upgradeSpec: + description: Specifications for DB upgrade. + properties: + upgradeModulesToLatest: + description: Upgrades the modules to the latest version that supportes + the DB version during a DB upgrade action, to upgrade the DB + version view the 'redisVersion' field. Notes - All modules must + be without specifing the version. in addition, This field is + currently not supported for Active-Active databases. + type: boolean + required: + - upgradeModulesToLatest + type: object + type: object + status: + description: RedisEnterpriseDatabaseStatus defines the observed state + of RedisEnterpriseDatabase + properties: + activeActive: + description: Connection/ association to the Active-Active database. + properties: + name: + description: 'The the corresponding Active-Active database name, + Redis Enterprise Active Active Database custom resource name, + this Resource is associated with. In case this resource is created + manually at the active active database creation this field must + be filled via the user, otherwise, the operator will assign + this field automatically. Note: this feature is currently unsupported.' + type: string + participatingClusterName: + description: 'The corresponding participating cluster name, Redis + Enterprise Remote Cluster custom resource name, in the Active-Active + database, In case this resource is created manually at the active + active database creation this field must be filled via the user, + otherwise, the operator will assign this field automatically. + Note: this feature is currently unsupported.' + type: string + required: + - name + - participatingClusterName + type: object + backupInfo: + description: Information on the database's periodic backup + properties: + backupFailureReason: + description: Reason of last failed backup process + type: string + backupHistory: + description: Backup history retention policy (number of days, + 0 is forever) + type: integer + backupInterval: + description: Interval in seconds in which automatic backup will + be initiated + type: integer + backupIntervalOffset: + description: Offset (in seconds) from round backup interval when + automatic backup will be initiated (should be less than backup_interval) + type: integer + backupProgressPercentage: + description: Database scheduled periodic backup progress (percentage) + type: integer + backupStatus: + description: Status of scheduled periodic backup process + type: string + lastBackupTime: + description: Time of last successful backup + type: string + type: object + createdTime: + description: Time when the database was created + type: string + databaseUID: + description: Database UID provided by redis enterprise + type: string + internalEndpoints: + description: Endpoints listed internally by the Redis Enterprise Cluster. + Can be used to correlate a ReplicaSourceStatus entry. + items: + properties: + host: + description: Hostname assigned to the database + type: string + port: + description: Database port name + type: integer + type: object + type: array + lastActionStatus: + description: Status of the last action done by operator on this database + type: string + lastActionUid: + description: UID of the last action done by operator on this database + type: string + lastUpdated: + description: Time when the database was last updated + type: string + observedGeneration: + description: 'The generation (built in update counter of K8s) of the + REDB resource that was fully acted upon, meaning that all changes + were handled and sent as an API call to the Redis Enterprise Cluster + (REC). This field value should equal the current generation when + the resource changes were handled. Note: the lastActionStatus field + tracks actions handled asynchronously by the Redis Enterprise Cluster.' + format: int64 + type: integer + redisEnterpriseCluster: + description: The Redis Enterprise Cluster Object this Resource is + associated with + type: string + replicaSourceStatuses: + description: ReplicaSource statuses + items: + properties: + endpointHost: + description: The internal host name of the replica source database. + Can be used as an identifier. See the internalEndpoints list + on the REDB status. + type: string + lag: + description: Lag in millisec between source and destination + (while synced). + type: integer + lastError: + description: Last error encountered when syncing from the source. + type: string + lastUpdate: + description: Time when we last receive an update from the source. + type: string + rdbSize: + description: The source’s RDB size to be transferred during + the syncing phase. + type: integer + rdbTransferred: + description: Number of bytes transferred from the source’s RDB + during the syncing phase. + type: integer + status: + description: Sync status of this source + type: string + required: + - endpointHost + type: object + type: array + shardStatuses: + additionalProperties: + type: integer + description: Aggregated statuses of shards + type: object + specStatus: + description: Whether the desired specification is valid + type: string + status: + description: The status of the database + type: string + version: + description: Database compatibility version + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/redis-enterprise-operator-cert.clusterserviceversion.yaml b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/redis-enterprise-operator-cert.clusterserviceversion.yaml new file mode 100644 index 000000000..1a4dddb6c --- /dev/null +++ b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/redis-enterprise-operator-cert.clusterserviceversion.yaml @@ -0,0 +1,671 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + marketplace.openshift.io/remote-workflow: https://marketplace.redhat.com/en-us/operators/redis-enterprise-operator-cert-rhmp/pricing?utm_source=openshift_console + marketplace.openshift.io/support-workflow: https://marketplace.redhat.com/en-us/operators/redis-enterprise-operator-cert-rhmp/support?utm_source=openshift_console + categories: Database + alm-examples: |- + [ + { + "apiVersion": "app.redislabs.com/v1", + "kind": "RedisEnterpriseCluster", + "metadata": { + "name": "rec" + }, + "spec": { + "nodes": 3, + "persistentSpec": { + "enabled": true + }, + "uiServiceType": "ClusterIP", + "bootstrapperImageSpec": { + "repository": "registry.connect.redhat.com/redislabs/redis-enterprise-operator" + }, + "redisEnterpriseServicesRiggerImageSpec": { + "repository": "registry.connect.redhat.com/redislabs/services-manager" + }, + "redisEnterpriseImageSpec": { + "imagePullPolicy": "IfNotPresent", + "repository": "registry.connect.redhat.com/redislabs/redis-enterprise" + } + } + }, + { + "apiVersion": "app.redislabs.com/v1alpha1", + "kind": "RedisEnterpriseDatabase", + "metadata": { + "name": "redb" + } + }, + { + "apiVersion": "app.redislabs.com/v1alpha1", + "kind": "RedisEnterpriseRemoteCluster", + "metadata": { + "name": "rerc1", + "labels": { + "app": "redis-enterprise" + } + }, + "spec": { + "recName": "rec", + "recNamespace": "ns1", + "apiFqdnUrl": "testapi-rerc1-ns1.redislabs.com", + "dbFqdnSuffix": "-example-rerc1-ns1.redislabs.com", + "secretName": "redis-enterprise-rerc1" + } + }, + { + "apiVersion": "app.redislabs.com/v1alpha1", + "kind": "RedisEnterpriseActiveActiveDatabase", + "metadata": { + "name": "reaadb-1", + "labels": { + "app": "redis-enterprise" + } + }, + "spec": { + "participatingClusters": [ + { + "name": "rerc1" + }, + { + "name": "rerc2" + } + ] + } + } + ] + capabilities: Deep Insights + # The following annotation is deprecated in OpenShift 4.14+, + # but left here for compatibility with older OpenShift versions. + operators.openshift.io/infrastructure-features: '["disconnected"]' + features.operators.openshift.io/disconnected: "true" + features.operators.openshift.io/fips-compliant: "false" + features.operators.openshift.io/proxy-aware: "false" + features.operators.openshift.io/tls-profiles: "true" + features.operators.openshift.io/token-auth-aws: "false" + features.operators.openshift.io/token-auth-azure: "false" + features.operators.openshift.io/token-auth-gcp: "false" + features.operators.openshift.io/cnf: "false" + features.operators.openshift.io/cni: "false" + features.operators.openshift.io/csi: "false" + name: redis-enterprise-operator.v7.4.6-2.3 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - group: app.redislabs.com + version: v1alpha1 + kind: RedisEnterpriseActiveActiveDatabase + name: redisenterpriseactiveactivedatabases.app.redislabs.com + displayName: RedisEnterpriseActiveActiveDatabase + description: Deploy a Redis Enterprise Active-Active Database on an Operator managed Redis Enteprise Cluster + deploymentName: REAADB + - group: app.redislabs.com + version: v1alpha1 + kind: RedisEnterpriseRemoteCluster + name: redisenterpriseremoteclusters.app.redislabs.com + displayName: RedisEnterpriseRemoteCluster + description: Define Redis Enterprise Clusters used to form Active-Active databases + deploymentName: RERC + - group: app.redislabs.com + version: v1alpha1 + kind: RedisEnterpriseDatabase + name: redisenterprisedatabases.app.redislabs.com + displayName: RedisEnterpriseDatabase + description: Deploy a Redis Enterprise Database on an Operator managed Redis Enteprise Cluster + deploymentName: REDB + - group: app.redislabs.com + version: v1 + kind: RedisEnterpriseCluster + name: redisenterpriseclusters.app.redislabs.com + displayName: RedisEnterpriseCluster + description: Deploy a Redis Enterprise Cluster + deploymentName: REC + containerPort: 8443 + resources: + - kind: Service + name: '' + version: v1 + - kind: StatefulSet + name: '' + version: v1beta2 + - kind: ReplicaSet + name: '' + version: v1 + - kind: ConfigMap + name: '' + version: v1 + - kind: Secret + name: '' + version: v1 + - kind: Deployment + name: '' + version: v1 + - kind: Pod + name: '' + version: v1 + + specDescriptors: + - description: Number of cluster nodes to deploy. + displayName: Cluster Nodes + path: nodes + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:podCount' + - description: Enable cluster persistence. + displayName: Persistence + path: persistentSpec.enabled + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch' + - description: Storage class name. + displayName: Storage class + path: persistentSpec.storageClassName + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:label' + - description: Cluster UI username. + displayName: Username + path: username + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:label' + - description: Number of cluster nodes to deploy. + displayName: Cluster Nodes + path: nodes + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:podCount' + - description: Redis Entrprise Node resource requirements. + displayName: Resource Requirements + path: redisEnterpriseNodeResources + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements' + statusDescriptors: + - description: The status of the Redis Enterprise Cluster. + displayName: Cluster Status + path: state + x-descriptors: + - 'urn:alm:descriptor:text' + displayName: Redis Enterprise Operator + keywords: + - redislabs + - redis + - database + - nosql + - cache + install: + spec: + deployments: + - name: redis-enterprise-operator + label: + app: redis-enterprise + spec: + replicas: 1 + selector: + matchLabels: + name: redis-enterprise-operator + strategy: + type: Recreate + template: + metadata: + labels: + name: redis-enterprise-operator + app: redis-enterprise + spec: + containers: + - name: redis-enterprise-operator + image: registry.connect.redhat.com/redislabs/redis-enterprise-operator@sha256:4a83f1e8b2d5fdd1caea3c2f6e30d42d5a5a966302eca40b785d202c18e3fe77 + securityContext: + privileged: false + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + imagePullPolicy: Always + command: + - operator-root + - operator + envFrom: + - configMapRef: + name: operator-environment-config + optional: true + ports: + - containerPort: 8080 + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.annotations['olm.targetNamespaces'] + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: redis-enterprise-operator + - name: DEPLOY_RHEL + value: "true" + - name: DEFAULT_K8S_CONTROLLER_IMAGE_DIGEST + value: sha256:101d38f5ad888d3939ca961fbc47820dbb4cc194fadbae8f10606410971c18b2 + - name: DEFAULT_BOOTSTRAPPER_IMAGE_DIGEST + value: sha256:4a83f1e8b2d5fdd1caea3c2f6e30d42d5a5a966302eca40b785d202c18e3fe77 + - name: DEFAULT_RS_IMAGE_DIGEST + value: sha256:aa8114213fa7639a9964c08167ecb7cd70094be8cbba75e148f7877012cab9a2 + - name: BUNDLED_RS_VERSION_OVERRIDE + value: 7.4.6-77 + resources: + limits: + cpu: 4000m + memory: 512Mi + requests: + cpu: 500m + memory: 256Mi + livenessProbe: + failureThreshold: 3 + successThreshold: 1 + periodSeconds: 10 + timeoutSeconds: 5 + httpGet: + path: /healthz + port: 8080 + scheme: HTTP + - name: admission + image: registry.connect.redhat.com/redislabs/redis-enterprise-operator@sha256:4a83f1e8b2d5fdd1caea3c2f6e30d42d5a5a966302eca40b785d202c18e3fe77 + securityContext: + privileged: false + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + command: + - operator-root + - admission + imagePullPolicy: Always + envFrom: + - configMapRef: + name: operator-environment-config + optional: true + ports: + - containerPort: 8443 + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.annotations['olm.targetNamespaces'] + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: ADMISSION_SERVICE_NAME + value: redis-enterprise-operator-service + - name: IS_OLM + value: "true" + resources: + limits: + cpu: 1000m + memory: 512Mi + requests: + cpu: 250m + memory: 256Mi + readinessProbe: + failureThreshold: 3 + successThreshold: 1 + periodSeconds: 10 + timeoutSeconds: 5 + httpGet: + path: /healthz + port: 8443 + scheme: HTTPS + livenessProbe: + failureThreshold: 3 + successThreshold: 1 + periodSeconds: 10 + timeoutSeconds: 5 + initialDelaySeconds: 15 + httpGet: + path: /liveness + port: 8443 + scheme: HTTPS + serviceAccountName: redis-enterprise-operator + securityContext: + runAsNonRoot: true + permissions: + - rules: + - apiGroups: + - rbac.authorization.k8s.io + - "" + resources: + - roles + - serviceaccounts + - rolebindings + verbs: + - create + - get + - update + - patch + - delete + - apiGroups: + - app.redislabs.com + resources: + - redisenterpriseclusters + - redisenterpriseclusters/status + - redisenterpriseclusters/finalizers + - redisenterprisedatabases + - redisenterprisedatabases/status + - redisenterprisedatabases/finalizers + - redisenterpriseremoteclusters + - redisenterpriseremoteclusters/status + - redisenterpriseremoteclusters/finalizers + - redisenterpriseactiveactivedatabases + - redisenterpriseactiveactivedatabases/status + - redisenterpriseactiveactivedatabases/finalizers + verbs: + - delete + - get + - list + - patch + - create + - update + - watch + - apiGroups: + - "" + resources: + - secrets + verbs: + - update + - get + - create + - patch + - delete + - list + - watch + - apiGroups: + - "" + resources: + - endpoints + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + - apiGroups: + - apps + resources: + - deployments + - statefulsets + - replicasets + verbs: + - create + - delete + - get + - patch + - update + - list + - watch + - apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - create + - delete + - get + - list + - watch + - apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - delete + - get + - update + - watch + - list + - apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - create + - delete + - get + - update + - list + - watch + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - list + - update + - patch + - delete + - watch + - apiGroups: + - "" + resources: + - services + verbs: + - get + - list + - update + - patch + - create + - delete + - watch + - apiGroups: + - policy + resourceNames: + - redis-enterprise-psp + resources: + - podsecuritypolicies + verbs: + - use + - apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - create + - patch + - delete + - list + - update + - get + - watch + - apiGroups: + - networking.istio.io + resources: + - gateways + - virtualservices + verbs: + - get + - list + - update + - patch + - create + - delete + - watch + - apiGroups: + - route.openshift.io + resources: + - routes + - routes/custom-host + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - security.openshift.io + resources: + - securitycontextconstraints + resourceNames: + - nonroot + verbs: + - use + serviceAccountName: redis-enterprise-operator + - rules: + - apiGroups: + - security.openshift.io + resourceNames: + - redis-enterprise-scc + - redis-enterprise-scc-v2 + resources: + - securitycontextconstraints + verbs: + - use + serviceAccountName: rec + strategy: deployment + webhookdefinitions: + - generateName: redisenterprise.admission.redislabs + type: ValidatingAdmissionWebhook + deploymentName: "redis-enterprise-operator" + containerPort: 8443 + sideEffects: "None" + timeoutSeconds: 30 + failurePolicy: "Fail" + matchPolicy: "Exact" + admissionReviewVersions: + - "v1beta1" + rules: + - operations: + - "CREATE" + - "UPDATE" + apiGroups: + - "app.redislabs.com" + apiVersions: + - "v1alpha1" + resources: + - "redisenterprisedatabases" + - "redisenterpriseactiveactivedatabases" + - "redisenterpriseremoteclusters" + webhookPath: "/admission" + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: false + type: AllNamespaces + maturity: mature + provider: + name: Redis + version: 7.4.6-2.3 + skips: + - redis-enterprise-operator.v6.2.10-45 + - redis-enterprise-operator.v6.2.12-1 + - redis-enterprise-operator.v6.2.18-3 + - redis-enterprise-operator.v6.2.18-3a + - redis-enterprise-operator.v6.2.18-41a + - redis-enterprise-operator.v6.2.18-41b + - redis-enterprise-operator.v6.2.18-41c + - redis-enterprise-operator.v6.4.2-4.0 + - redis-enterprise-operator.v6.4.2-5.0 + - redis-enterprise-operator.v6.4.2-6.0 + - redis-enterprise-operator.v6.4.2-8.0 + - redis-enterprise-operator.v6.4.2-8.1 + - redis-enterprise-operator.v7.2.4-2.0 + - redis-enterprise-operator.v7.2.4-7.0 + - redis-enterprise-operator.v7.2.4-12.0 + - redis-enterprise-operator.v7.2.4-12.6 + - redis-enterprise-operator.v7.2.4-12.11 + - redis-enterprise-operator.v7.4.2-2.0 + - redis-enterprise-operator.v7.4.2-2.6 + - redis-enterprise-operator.v7.4.2-12.0 + - redis-enterprise-operator.v7.4.6-2.0 + links: + - name: Getting Started with Kubernetes and OpenShift + url: 'https://docs.redislabs.com/latest/platforms/openshift/' + - name: Deployment files on github + url: 'https://github.com/RedisLabs/redis-enterprise-k8s-docs' + - name: Redis Kubernetes Architecture + url: 'https://docs.redislabs.com/latest/platforms/kubernetes/kubernetes-architecture/' + - name: Redis Enterprise Kubernetes Operator-based Architecture + url: 'https://docs.redislabs.com/latest/platforms/kubernetes/kubernetes-with-operator/' + labels: + app: redis-enterprise + icon: + - base64data: >- + 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 + mediatype: image/png + maintainers: + - email: support@redislabs.com + name: 'Redis, Inc' + description: |- + Redis Enterprise Software is enterprise grade, distributed, in-memory NoSQL database server, fully compatible with open source Redis by Redis. + Redis Enterprise Software extends open source Redis and delivers stable high performance, zero-downtime linear scaling and high availability, with significant operational savings. + Redis Enterprise provides a flexible and cost-effective data platform so developers can focus on rapid, high-quality development for sophisticated use cases that meet the needs of a modern digital enterprise. With Redis Enterprise, you can: + * Enjoy high performance and record-setting low latencies with minimal operational overhead + * Develop highly scalable microservices-based and Kubernetes-orchestrated applications + * Use versatile data structures for a variety of use cases, such as high-speed transactions, user session management, real-time analytics, caching and many more + * Leverage enterprise-grade operational controls for high availability, security and seamless scale + * Automate operational best practices for deploying and managing the Redis Enterprise data platform with built-in Kubernetes Operator support + * Deploy, manage and move applications to and from any cloud for seamless portability + + ### Core capabilities + * **Speed application development and time to market** - Unburden developers from the complexity of infrastructure operations and empower them to manage data with maximum flexibility. This helps them build modern applications quickly, make changes rapidly and support a variety of different data structures, models, relationships and use cases. + * **Ensure business continuity with always-on data service** - Maintain service uptime and ensure failsafe high availability, instant failover and automatic recovery to protect your applications against unplanned downtime, outages and data loss. + * **Design for performance and unmatched user experience** - Deliver the highest level of responsiveness and interactive customer experiences with best-in-class exceptional linear scaling high performance through a shared-nothing architecture and in-memory processing. + * **Simplify operations with automated lifecycle management and layered orchestration** - Automate database provisioning, management and maintenance, and abstract away the complexities of high availability, seamless scale and zero-downtime upgrades with built-in support for Kubernetes and Operators. + * **Enjoy multi-level robust security** - Provide granular control to meet self-imposed and regulatory compliance regulations and standards with built-in finegrained security controls and data encryption. + * **Gain platform independence with flexible deployment options** - Ensure portability with multiple deployment options across any cloud of choice for multicloud and hybrid deployments and on-premises. + * **Ensure success** - Leverage 24x7 enterprise-grade support backed by expertise in managing and scaling hundreds of thousands of Redis databases for thousands of enterprise customers worldwide. + * **Future proof investments** - Use the most popular database amongst developers, built on open source innovation and entrenched firmly in the application landscape with over 1B downloads on Docker. Redis preserves your investment for years with easy extensibility and versatility through its Modules and support for over 50 different programming languages + + #### Prerequisites + A minimum of 3 nodes which support the following requirements: + * RAM - At least 3GB with 4GB recommended + * Persistent Storage - At least 10GB of free space with 20GB recommended. + * A kubernetes version of 1.9 or higher + + #### Recommendations/known issues + * Changing the name of the Redis Enterprise Cluster in the spec from the + default requires running commands to grant permissions to the pods: + + Operator service account: + Redis Enterprise Cluster service account: + > *oc adm policy add-scc-to-user redis-enterprise-scc-v2 system:serviceaccount:my-project:* + + Replace my-project with the actual name of the project/namespace. Replace with the name of the Redis Enterprise Cluster. + + * When creating a Redis Enterprise Cluster without specifying in its spec a `persistentSpec` with explicit `storageClassName`, + the default Storage Class of the Kubernetes cluster will be used to dynamically provision storage for the Redis Enterprise Cluster's nodes. + However, if the Kubernetes cluster doesn't have a default Storage Class configured + and no specific Storage Class was specified in the Redis Enterprise Cluster Spec, the installation of the cluster could fail. + To avoid such scenario in cases where a specific Storage Class isn't specified, make sure the Kubernetes Cluster has a default Storage Cluster configured. + This can be done by running a `kubectl get storageclass` command and see if one of the Storage Classes' names contains a `(default)` mark. + relatedImages: + - name: redis-enterprise-operator + image: registry.connect.redhat.com/redislabs/redis-enterprise-operator@sha256:4a83f1e8b2d5fdd1caea3c2f6e30d42d5a5a966302eca40b785d202c18e3fe77 + - name: admission + image: registry.connect.redhat.com/redislabs/redis-enterprise-operator@sha256:4a83f1e8b2d5fdd1caea3c2f6e30d42d5a5a966302eca40b785d202c18e3fe77 + - name: bootstrapper + image: registry.connect.redhat.com/redislabs/redis-enterprise-operator@sha256:4a83f1e8b2d5fdd1caea3c2f6e30d42d5a5a966302eca40b785d202c18e3fe77 + - name: services-rigger + image: registry.connect.redhat.com/redislabs/services-manager@sha256:101d38f5ad888d3939ca961fbc47820dbb4cc194fadbae8f10606410971c18b2 + - name: redis-enterprise-node + image: registry.connect.redhat.com/redislabs/redis-enterprise@sha256:aa8114213fa7639a9964c08167ecb7cd70094be8cbba75e148f7877012cab9a2 diff --git a/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/rerc_crd.yaml b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/rerc_crd.yaml new file mode 100644 index 000000000..344cef67f --- /dev/null +++ b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/manifests/rerc_crd.yaml @@ -0,0 +1,85 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: redisenterpriseremoteclusters.app.redislabs.com + labels: + app: redis-enterprise +spec: + group: app.redislabs.com + names: + kind: RedisEnterpriseRemoteCluster + listKind: RedisEnterpriseRemoteClusterList + plural: redisenterpriseremoteclusters + singular: redisenterpriseremotecluster + shortNames: + - rerc + scope: Namespaced + versions: + - name: v1alpha1 + served: true + storage: true + additionalPrinterColumns: + - jsonPath: .status.status + name: Status + type: string + - jsonPath: .status.specStatus + name: Spec Status + type: string + - jsonPath: .status.local + name: Local + type: string + subresources: + status: {} + schema: + openAPIV3Schema: + description: RedisEntepriseRemoteCluster represents a remote participating + cluster. + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + status: + properties: + local: + description: Indicates whether this object represents a local or a + remote cluster. + type: boolean + specStatus: + description: Whether the desired specification is valid. + type: string + status: + description: The status of the remote cluster. + type: string + observedGeneration: + description: The most recent generation observed for this RERC. It corresponds to the RERC's generation, which is updated by the API Server. + type: integer + type: object + spec: + properties: + apiFqdnUrl: + description: The URL of the cluster, will be used for the active-active + database URL. + type: string + dbFqdnSuffix: + description: The database URL suffix, will be used for the active-active + database replication endpoint and replication endpoint SNI. + type: string + recNamespace: + description: The namespace of the REC that the RERC is pointing at + type: string + recName: + description: The name of the REC that the RERC is pointing at + type: string + secretName: + description: 'The name of the secret containing cluster credentials. + Must be of the following format: "redis-enterprise-"' + type: string + required: + - apiFqdnUrl + - recName + - recNamespace + type: object + type: object diff --git a/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/metadata/annotations.yaml b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/metadata/annotations.yaml new file mode 100644 index 000000000..8f9b4961b --- /dev/null +++ b/operators/redis-enterprise-operator-cert-rhmp/7.4.6-2.3/metadata/annotations.yaml @@ -0,0 +1,8 @@ +annotations: + operators.operatorframework.io.bundle.channel.default.v1: production + operators.operatorframework.io.bundle.channels.v1: 7.4.6,production + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: redis-enterprise-operator-cert-rhmp + com.redhat.openshift.versions: v4.12-v4.16