[bitnami/rabbitmq-cluster-operator] Update CRDs and add source header (#22379)

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>
This commit is contained in:
Miguel Ruiz
2024-01-18 16:36:43 +01:00
committed by GitHub
parent 5b16a6c524
commit 0e96c3ac04
16 changed files with 6129 additions and 6588 deletions

View File

@@ -37,4 +37,4 @@ maintainers:
name: rabbitmq-cluster-operator
sources:
- https://github.com/bitnami/charts/tree/main/bitnami/rabbitmq-cluster-operator
version: 3.11.1
version: 3.11.2

View File

@@ -0,0 +1,132 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_bindings.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: bindings.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: Binding
listKind: BindingList
plural: bindings
singular: binding
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Binding is the Schema for the bindings API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: BindingSpec defines the desired state of Binding
properties:
arguments:
description: Cannot be updated
type: object
x-kubernetes-preserve-unknown-fields: true
destination:
description: Cannot be updated
type: string
destinationType:
description: Cannot be updated
enum:
- exchange
- queue
type: string
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that the binding will
be created in. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
routingKey:
description: Cannot be updated
type: string
source:
description: Cannot be updated
type: string
vhost:
default: /
description: Default to vhost '/'; cannot be updated
type: string
required:
- rabbitmqClusterReference
type: object
status:
description: BindingStatus defines the observed state of Binding
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this Binding. It corresponds to the Binding's generation,
which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,130 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_exchanges.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: exchanges.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: Exchange
listKind: ExchangeList
plural: exchanges
singular: exchange
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Exchange is the Schema for the exchanges API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ExchangeSpec defines the desired state of Exchange
properties:
arguments:
type: object
x-kubernetes-preserve-unknown-fields: true
autoDelete:
description: Cannot be updated
type: boolean
durable:
description: Cannot be updated
type: boolean
name:
description: Required property; cannot be updated
type: string
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that the exchange will
be created in. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
type:
default: direct
description: Cannot be updated
type: string
vhost:
default: /
description: Default to vhost '/'; cannot be updated
type: string
required:
- name
- rabbitmqClusterReference
type: object
status:
description: ExchangeStatus defines the observed state of Exchange
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this Exchange. It corresponds to the Exchange's generation,
which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,152 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_federations.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: federations.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: Federation
listKind: FederationList
plural: federations
singular: federation
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Federation is the Schema for the federations API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: 'FederationSpec defines the desired state of Federation For
how to configure federation upstreams, see: https://www.rabbitmq.com/federation-reference.html.'
properties:
ackMode:
enum:
- on-confirm
- on-publish
- no-ack
type: string
exchange:
type: string
expires:
type: integer
maxHops:
type: integer
messageTTL:
type: integer
name:
description: Required property; cannot be updated
type: string
prefetch-count:
type: integer
queue:
type: string
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that this federation
upstream will be created in. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
reconnectDelay:
type: integer
trustUserId:
type: boolean
uriSecret:
description: Secret contains the AMQP URI(s) for the upstream. The
Secret must contain the key `uri` or operator will error. `uri`
should be one or multiple uris separated by ','. Required property.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
vhost:
default: /
description: Default to vhost '/'; cannot be updated
type: string
required:
- name
- rabbitmqClusterReference
- uriSecret
type: object
status:
description: FederationStatus defines the observed state of Federation
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this Federation. It corresponds to the Federation's
generation, which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,141 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_permissions.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: permissions.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: Permission
listKind: PermissionList
plural: permissions
singular: permission
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Permission is the Schema for the permissions API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: PermissionSpec defines the desired state of Permission
properties:
permissions:
description: 'Permissions to grant to the user in the specific vhost;
required property. See RabbitMQ doc for more information: https://www.rabbitmq.com/access-control.html#user-management'
properties:
configure:
type: string
read:
type: string
write:
type: string
type: object
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that both the provided
user and vhost are. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
user:
description: Name of an existing user; must provide user or userReference,
else create/update will fail; cannot be updated
type: string
userReference:
description: Reference to an existing user.rabbitmq.com object; must
provide user or userReference, else create/update will fail; cannot
be updated
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
vhost:
description: Name of an existing vhost; required property; cannot
be updated
type: string
required:
- permissions
- rabbitmqClusterReference
- vhost
type: object
status:
description: PermissionStatus defines the observed state of Permission
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this Permission. It corresponds to the Permission's
generation, which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,146 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_policies.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: policies.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: Policy
listKind: PolicyList
plural: policies
singular: policy
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Policy is the Schema for the policies API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: PolicySpec defines the desired state of Policy https://www.rabbitmq.com/parameters.html#policies
properties:
applyTo:
default: all
description: 'What this policy applies to: ''queues'', ''classic_queues'',
''quorum_queues'', ''streams'', ''exchanges'', or ''all''. Default
to ''all''.'
enum:
- queues
- classic_queues
- quorum_queues
- streams
- exchanges
- all
type: string
definition:
description: Policy definition. Required property.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Required property; cannot be updated
type: string
pattern:
description: Regular expression pattern used to match queues and exchanges,
e.g. "^amq.". Required property.
type: string
priority:
default: 0
description: Default to '0'. In the event that more than one policy
can match a given exchange or queue, the policy with the greatest
priority applies.
type: integer
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that the exchange will
be created in. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
vhost:
default: /
description: Default to vhost '/'; cannot be updated
type: string
required:
- definition
- name
- pattern
- rabbitmqClusterReference
type: object
status:
description: PolicyStatus defines the observed state of Policy
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this Policy. It corresponds to the Policy's generation,
which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,133 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_queues.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: queues.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: Queue
listKind: QueueList
plural: queues
singular: queue
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Queue is the Schema for the queues API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: QueueSpec defines the desired state of Queue
properties:
arguments:
description: 'Queue arguments in the format of KEY: VALUE. e.g. x-delivery-limit:
10000. Configuring queues through arguments is not recommended because
they cannot be updated once set; we recommend configuring queues
through policies instead.'
type: object
x-kubernetes-preserve-unknown-fields: true
autoDelete:
description: when set to true, queues that have had at least one consumer
before are deleted after the last consumer unsubscribes.
type: boolean
durable:
description: When set to false queues does not survive server restart.
type: boolean
name:
description: Name of the queue; required property.
type: string
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that the queue will
be created in. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
type:
type: string
vhost:
default: /
description: Default to vhost '/'
type: string
required:
- name
- rabbitmqClusterReference
type: object
status:
description: QueueStatus defines the observed state of Queue
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this Queue. It corresponds to the Queue's generation,
which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,143 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_schemareplications.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: schemareplications.rabbitmq.com
spec:
group: rabbitmq.com
names:
kind: SchemaReplication
listKind: SchemaReplicationList
plural: schemareplications
singular: schemareplication
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: 'SchemaReplication is the Schema for the schemareplications API
This feature requires Tanzu RabbitMQ with schema replication plugin. For
more information, see: https://tanzu.vmware.com/rabbitmq and https://www.rabbitmq.com/definitions-standby.html.'
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: SchemaReplicationSpec defines the desired state of SchemaReplication
properties:
endpoints:
description: endpoints should be one or multiple endpoints separated
by ','. Must provide either spec.endpoints or endpoints in spec.upstreamSecret.
When endpoints are provided in both spec.endpoints and spec.upstreamSecret,
spec.endpoints takes precedence.
type: string
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that schema replication
would be set for. Must be an existing cluster.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
secretBackend:
description: Set to fetch user credentials from K8s external secret
stores to be used for schema replication.
properties:
vault:
properties:
secretPath:
description: Path in Vault to access a KV (Key-Value) secret
with the fields username and password to be used for replication.
For example "secret/data/rabbitmq/config". Optional; if
not provided, username and password will come from upstreamSecret
instead. Have to set either secretBackend.vault.secretPath
or upstreamSecret, but not both.
type: string
type: object
type: object
upstreamSecret:
description: Defines a Secret which contains credentials to be used
for schema replication. The Secret must contain the keys `username`
and `password` in its Data field, or operator will error. Have to
set either secretBackend.vault.secretPath or spec.upstreamSecret,
but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
required:
- rabbitmqClusterReference
type: object
status:
description: SchemaReplicationStatus defines the observed state of SchemaReplication
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this Queue. It corresponds to the Queue's generation,
which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,207 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_shovels.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: shovels.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: Shovel
listKind: ShovelList
plural: shovels
singular: shovel
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Shovel is the Schema for the shovels API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: 'ShovelSpec defines the desired state of Shovel For how to
configure Shovel, see: https://www.rabbitmq.com/shovel.html.'
properties:
ackMode:
enum:
- on-confirm
- on-publish
- no-ack
type: string
addForwardHeaders:
type: boolean
deleteAfter:
type: string
destAddForwardHeaders:
type: boolean
destAddTimestampHeader:
type: boolean
destAddress:
description: amqp10 configuration; required if destProtocol is amqp10
type: string
destApplicationProperties:
description: amqp10 configuration
type: object
x-kubernetes-preserve-unknown-fields: true
destExchange:
description: amqp091 configuration
type: string
destExchangeKey:
description: amqp091 configuration
type: string
destMessageAnnotations:
description: amqp10 configuration
type: object
x-kubernetes-preserve-unknown-fields: true
destProperties:
description: amqp10 configuration
type: object
x-kubernetes-preserve-unknown-fields: true
destProtocol:
enum:
- amqp091
- amqp10
type: string
destPublishProperties:
description: amqp091 configuration
type: object
x-kubernetes-preserve-unknown-fields: true
destQueue:
description: amqp091 configuration
type: string
name:
description: Required property; cannot be updated
type: string
prefetchCount:
type: integer
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that this Shovel will
be created in. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
reconnectDelay:
type: integer
srcAddress:
description: amqp10 configuration; required if srcProtocol is amqp10
type: string
srcConsumerArgs:
description: amqp091 configuration
type: object
x-kubernetes-preserve-unknown-fields: true
srcDeleteAfter:
type: string
srcExchange:
description: amqp091 configuration
type: string
srcExchangeKey:
description: amqp091 configuration
type: string
srcPrefetchCount:
type: integer
srcProtocol:
enum:
- amqp091
- amqp10
type: string
srcQueue:
description: amqp091 configuration
type: string
uriSecret:
description: Secret contains the AMQP URI(s) to configure Shovel destination
and source. The Secret must contain the key `destUri` and `srcUri`
or operator will error. Both fields should be one or multiple uris
separated by ','. Required property.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
vhost:
default: /
description: Default to vhost '/'; cannot be updated
type: string
required:
- name
- rabbitmqClusterReference
- uriSecret
type: object
status:
description: ShovelStatus defines the observed state of Shovel
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this Shovel. It corresponds to the Shovel's generation,
which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,135 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_superstreams.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: superstreams.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: SuperStream
listKind: SuperStreamList
plural: superstreams
singular: superstream
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: SuperStream is the Schema for the queues API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: SuperStreamSpec defines the desired state of SuperStream
properties:
name:
description: Name of the queue; required property.
type: string
partitions:
default: 3
description: Number of partitions to create within this super stream.
Defaults to '3'.
type: integer
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that the SuperStream
will be created in. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
routingKeys:
description: Routing keys to use for each of the partitions in the
SuperStream If unset, the routing keys for the partitions will be
set to the index of the partitions
items:
type: string
type: array
vhost:
default: /
description: Default to vhost '/'; cannot be updated
type: string
required:
- name
- rabbitmqClusterReference
type: object
status:
description: SuperStreamStatus defines the observed state of SuperStream
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this SuperStream. It corresponds to the SuperStream's
generation, which is updated on mutation by the API Server.
format: int64
type: integer
partitions:
description: Partitions are a list of the stream queue names which
form the partitions of this SuperStream.
items:
type: string
type: array
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,140 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_topicpermissions.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: topicpermissions.rabbitmq.com
spec:
group: rabbitmq.com
names:
kind: TopicPermission
listKind: TopicPermissionList
plural: topicpermissions
singular: topicpermission
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: TopicPermission is the Schema for the topicpermissions API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: TopicPermissionSpec defines the desired state of TopicPermission
properties:
permissions:
description: Permissions to grant to the user to a topic exchange;
required property.
properties:
exchange:
description: Name of a topic exchange; required property; cannot
be updated.
type: string
read:
type: string
write:
type: string
type: object
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that both the provided
user and vhost are. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
user:
description: Name of an existing user; must provide user or userReference,
else create/update will fail; cannot be updated.
type: string
userReference:
description: Reference to an existing user.rabbitmq.com object; must
provide user or userReference, else create/update will fail; cannot
be updated.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
vhost:
description: Name of an existing vhost; required property; cannot
be updated.
type: string
required:
- permissions
- rabbitmqClusterReference
- vhost
type: object
status:
description: TopicPermissionStatus defines the observed state of TopicPermission
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this TopicPermission. It corresponds to the TopicPermission's
generation, which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,156 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_users.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: users.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: User
listKind: UserList
plural: users
singular: user
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: User is the Schema for the users API.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Spec configures the desired state of the User object.
properties:
importCredentialsSecret:
description: Defines a Secret used to pre-define the username and
password set for this User. User objects created with this field
set will not have randomly-generated credentials, and will instead
import the username/password values from this Secret. The Secret
must contain the keys `username` and `password` in its Data field,
or the import will fail. Note that this import only occurs at creation
time, and is ignored once a password has been set on a User.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that the user will be
created for. This cluster must exist for the User object to be created.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
tags:
description: List of permissions tags to associate with the user.
This determines the level of access to the RabbitMQ management UI
granted to the user. Omitting this field will lead to a user than
can still connect to the cluster through messaging protocols, but
cannot perform any management actions. For more information, see
https://www.rabbitmq.com/management.html#permissions.
items:
description: UserTag defines the level of access to the management
UI allocated to the user. For more information, see https://www.rabbitmq.com/management.html#permissions.
enum:
- management
- policymaker
- monitoring
- administrator
type: string
type: array
required:
- rabbitmqClusterReference
type: object
status:
description: Status exposes the observed state of the User object.
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
credentials:
description: Provides a reference to a Secret object containing the
user credentials.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this User. It corresponds to the User's generation,
which is updated on mutation by the API Server.
format: int64
type: integer
username:
description: Provide rabbitmq Username
type: string
required:
- username
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,127 @@
# Taken from https://raw.githubusercontent.com/rabbitmq/messaging-topology-operator/v1.12.2/config/crd/bases/rabbitmq.com_vhosts.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
name: vhosts.rabbitmq.com
spec:
group: rabbitmq.com
names:
categories:
- all
- rabbitmq
kind: Vhost
listKind: VhostList
plural: vhosts
singular: vhost
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Vhost is the Schema for the vhosts API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: VhostSpec defines the desired state of Vhost
properties:
defaultQueueType:
description: Default queue type for this vhost; can be set to quorum,
classic or stream. Supported in RabbitMQ 3.11.12 or above.
enum:
- quorum
- classic
- stream
type: string
name:
description: Name of the vhost; see https://www.rabbitmq.com/vhosts.html.
type: string
rabbitmqClusterReference:
description: Reference to the RabbitmqCluster that the vhost will
be created in. Required property.
properties:
connectionSecret:
description: Secret contains the http management uri for the RabbitMQ
cluster. The Secret must contain the key `uri`, `username` and
`password` or operator will error. Have to set either name or
connectionSecret, but not both.
properties:
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
type: object
x-kubernetes-map-type: atomic
name:
description: The name of the RabbitMQ cluster to reference. Have
to set either name or connectionSecret, but not both.
type: string
namespace:
description: The namespace of the RabbitMQ cluster to reference.
Defaults to the namespace of the requested resource if omitted.
type: string
type: object
tags:
items:
type: string
type: array
tracing:
type: boolean
required:
- name
- rabbitmqClusterReference
type: object
status:
description: VhostStatus defines the observed state of Vhost
properties:
conditions:
items:
properties:
lastTransitionTime:
description: The last time this Condition status changed.
format: date-time
type: string
message:
description: Full text reason for current status of the condition.
type: string
reason:
description: One word, camel-case reason for current status
of the condition.
type: string
status:
description: True, False, or Unknown
type: string
type:
description: Type indicates the scope of the custom resource
status addressed by the condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: observedGeneration is the most recent successful generation
observed for this Vhost. It corresponds to the Vhost's generation,
which is updated on mutation by the API Server.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}