diff --git a/class/defaults.yml b/class/defaults.yml index 28405ba..111bb69 100644 --- a/class/defaults.yml +++ b/class/defaults.yml @@ -6,7 +6,7 @@ parameters: charts: rabbitmq-cluster-operator: source: https://charts.bitnami.com/bitnami - version: 3.10.10 + version: 3.20.1 operator: helmValues: diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crds-messaging-topology-operator.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crds-messaging-topology-operator.yaml deleted file mode 100644 index 72d6f55..0000000 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crds-messaging-topology-operator.yaml +++ /dev/null @@ -1,1743 +0,0 @@ -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_bindings.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_bindings.yaml new file mode 100644 index 0000000..09ca0b4 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_bindings.yaml @@ -0,0 +1,142 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_exchanges.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_exchanges.yaml new file mode 100644 index 0000000..225a895 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_exchanges.yaml @@ -0,0 +1,140 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_federations.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_federations.yaml new file mode 100644 index 0000000..a8fd1b9 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_federations.yaml @@ -0,0 +1,167 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_operatorpolicies.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_operatorpolicies.yaml new file mode 100644 index 0000000..eee8159 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_operatorpolicies.yaml @@ -0,0 +1,157 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: operatorpolicies.rabbitmq.com +spec: + group: rabbitmq.com + names: + categories: + - all + - rabbitmq + kind: OperatorPolicy + listKind: OperatorPolicyList + plural: operatorpolicies + singular: operatorpolicy + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: OperatorPolicy is the Schema for the operator 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: |- + OperatorPolicySpec defines the desired state of OperatorPolicy + https://www.rabbitmq.com/parameters.html#operator-policies + properties: + applyTo: + default: queues + description: |- + What this operator policy applies to: 'queues', 'classic_queues', 'quorum_queues', 'streams'. + Default to 'queues'. + enum: + - queues + - classic_queues + - quorum_queues + - streams + type: string + definition: + description: OperatorPolicy 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, e.g. "^my-queue$". + Required property. + type: string + priority: + default: 0 + description: |- + Default to '0'. + In the event that more than one operator policy can match a given queue, the operator policy with the greatest priority applies. + type: integer + rabbitmqClusterReference: + description: |- + Reference to the RabbitmqCluster that the operator policy 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: OperatorPolicyStatus defines the observed state of OperatorPolicy + 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 OperatorPolicy. It corresponds to the + OperatorPolicy'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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_permissions.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_permissions.yaml new file mode 100644 index 0000000..48ad8bc --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_permissions.yaml @@ -0,0 +1,154 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_policies.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_policies.yaml new file mode 100644 index 0000000..1ec3ef9 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_policies.yaml @@ -0,0 +1,159 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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 policy 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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_queues.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_queues.yaml new file mode 100644 index 0000000..84be0e0 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_queues.yaml @@ -0,0 +1,142 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_schemareplications.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_schemareplications.yaml new file mode 100644 index 0000000..3c6a196 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_schemareplications.yaml @@ -0,0 +1,154 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_shovels.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_shovels.yaml new file mode 100644 index 0000000..0eb31c2 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_shovels.yaml @@ -0,0 +1,221 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_superstreams.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_superstreams.yaml new file mode 100644 index 0000000..333b1ad --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_superstreams.yaml @@ -0,0 +1,146 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_topicpermissions.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_topicpermissions.yaml new file mode 100644 index 0000000..789aab5 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_topicpermissions.yaml @@ -0,0 +1,152 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_users.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_users.yaml new file mode 100644 index 0000000..69c2b96 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_users.yaml @@ -0,0 +1,171 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_vhosts.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_vhosts.yaml new file mode 100644 index 0000000..a22674c --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_vhosts.yaml @@ -0,0 +1,138 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crd-rabbitmq-cluster.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/rabbitmq-cluster/rabbitmq.com_rabbitmqclusters.yaml similarity index 93% rename from tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crd-rabbitmq-cluster.yaml rename to tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/rabbitmq-cluster/rabbitmq.com_rabbitmqclusters.yaml index b2d17ce..62b9fe2 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crd-rabbitmq-cluster.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/rabbitmq-cluster/rabbitmq.com_rabbitmqclusters.yaml @@ -2,12 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: rabbitmq-operator - app.kubernetes.io/name: rabbitmq-cluster-operator - app.kubernetes.io/part-of: rabbitmq - servicebinding.io/provisioned-service: 'true' + controller-gen.kubebuilder.io/version: v0.13.0 name: rabbitmqclusters.rabbitmq.com spec: group: rabbitmq.com @@ -295,7 +290,8 @@ spec: properties: labelSelector: description: A label query over a set of resources, - in this case pods. + in this case pods. If it's null, this PodAffinityTerm + matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of @@ -345,6 +341,46 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + description: MatchLabelKeys is a set of pod label + keys to select which pods will be taken into + consideration. The keys are used to lookup values + from the incoming pod labels, those key-value + labels are merged with `LabelSelector` as `key + in (value)` to select the group of existing + pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. + Keys that don't exist in the incoming pod labels + will be ignored. The default value is empty. + The same key is forbidden to exist in both MatchLabelKeys + and LabelSelector. Also, MatchLabelKeys cannot + be set when LabelSelector isn't set. This is + an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod + label keys to select which pods will be taken + into consideration. The keys are used to lookup + values from the incoming pod labels, those key-value + labels are merged with `LabelSelector` as `key + notin (value)` to select the group of existing + pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. + Keys that don't exist in the incoming pod labels + will be ignored. The default value is empty. + The same key is forbidden to exist in both MismatchLabelKeys + and LabelSelector. Also, MismatchLabelKeys cannot + be set when LabelSelector isn't set. This is + an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied @@ -457,7 +493,8 @@ spec: properties: labelSelector: description: A label query over a set of resources, - in this case pods. + in this case pods. If it's null, this PodAffinityTerm + matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label @@ -504,6 +541,44 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + description: MatchLabelKeys is a set of pod label + keys to select which pods will be taken into consideration. + The keys are used to lookup values from the incoming + pod labels, those key-value labels are merged with + `LabelSelector` as `key in (value)` to select the + group of existing pods which pods will be taken + into consideration for the incoming pod's pod (anti) + affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is + empty. The same key is forbidden to exist in both + MatchLabelKeys and LabelSelector. Also, MatchLabelKeys + cannot be set when LabelSelector isn't set. This + is an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label + keys to select which pods will be taken into consideration. + The keys are used to lookup values from the incoming + pod labels, those key-value labels are merged with + `LabelSelector` as `key notin (value)` to select + the group of existing pods which pods will be taken + into consideration for the incoming pod's pod (anti) + affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is + empty. The same key is forbidden to exist in both + MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys + cannot be set when LabelSelector isn't set. This + is an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to @@ -611,7 +686,8 @@ spec: properties: labelSelector: description: A label query over a set of resources, - in this case pods. + in this case pods. If it's null, this PodAffinityTerm + matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of @@ -661,6 +737,46 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + description: MatchLabelKeys is a set of pod label + keys to select which pods will be taken into + consideration. The keys are used to lookup values + from the incoming pod labels, those key-value + labels are merged with `LabelSelector` as `key + in (value)` to select the group of existing + pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. + Keys that don't exist in the incoming pod labels + will be ignored. The default value is empty. + The same key is forbidden to exist in both MatchLabelKeys + and LabelSelector. Also, MatchLabelKeys cannot + be set when LabelSelector isn't set. This is + an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod + label keys to select which pods will be taken + into consideration. The keys are used to lookup + values from the incoming pod labels, those key-value + labels are merged with `LabelSelector` as `key + notin (value)` to select the group of existing + pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. + Keys that don't exist in the incoming pod labels + will be ignored. The default value is empty. + The same key is forbidden to exist in both MismatchLabelKeys + and LabelSelector. Also, MismatchLabelKeys cannot + be set when LabelSelector isn't set. This is + an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied @@ -773,7 +889,8 @@ spec: properties: labelSelector: description: A label query over a set of resources, - in this case pods. + in this case pods. If it's null, this PodAffinityTerm + matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label @@ -820,6 +937,44 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + description: MatchLabelKeys is a set of pod label + keys to select which pods will be taken into consideration. + The keys are used to lookup values from the incoming + pod labels, those key-value labels are merged with + `LabelSelector` as `key in (value)` to select the + group of existing pods which pods will be taken + into consideration for the incoming pod's pod (anti) + affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is + empty. The same key is forbidden to exist in both + MatchLabelKeys and LabelSelector. Also, MatchLabelKeys + cannot be set when LabelSelector isn't set. This + is an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label + keys to select which pods will be taken into consideration. + The keys are used to lookup values from the incoming + pod labels, those key-value labels are merged with + `LabelSelector` as `key notin (value)` to select + the group of existing pods which pods will be taken + into consideration for the incoming pod's pod (anti) + affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is + empty. The same key is forbidden to exist in both + MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys + cannot be set when LabelSelector isn't set. This + is an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to @@ -1244,6 +1399,16 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -1312,6 +1477,16 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -1378,6 +1553,16 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -1446,6 +1631,16 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -1625,6 +1820,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -1675,6 +1878,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -1915,6 +2126,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -2267,6 +2480,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -2317,6 +2538,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -2557,6 +2786,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -2916,6 +3147,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -2966,6 +3205,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -3206,6 +3453,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -3847,18 +4096,6 @@ spec: type: object resources: properties: - claims: - items: - properties: - name: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -3902,6 +4139,8 @@ spec: x-kubernetes-map-type: atomic storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -4090,6 +4329,43 @@ spec: sources: items: properties: + clusterTrustBundle: + 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 + x-kubernetes-map-type: atomic + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object configMap: properties: items: @@ -4405,18 +4681,6 @@ spec: type: object resources: properties: - claims: - items: - properties: - name: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -4460,6 +4724,8 @@ spec: x-kubernetes-map-type: atomic storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -4527,6 +4793,11 @@ spec: For more information on env config, see https://www.rabbitmq.com/man/rabbitmq-env.conf.5.html maxLength: 100000 type: string + erlangInetConfig: + description: 'Erlang Inet configuration to apply to the Erlang + VM running rabbit. See also: https://www.erlang.org/doc/apps/erts/inet_cfg.html' + maxLength: 2000 + type: string type: object replicas: default: 1 @@ -4682,6 +4953,14 @@ spec: type: string description: Annotations to add to the Service. type: object + ipFamilyPolicy: + description: 'IPFamilyPolicy represents the dual-stack-ness + requested or required by a Service See also: https://pkg.go.dev/k8s.io/api/core/v1#IPFamilyPolicy' + enum: + - SingleStack + - PreferDualStack + - RequireDualStack + type: string type: default: ClusterIP description: 'Type of Service to create for the cluster. Must diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrole.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrole.yaml index 1c5b02c..0fd7bab 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrole.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrole.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator-syn-rabbitmq-operat rules: - apiGroups: diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrolebinding.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrolebinding.yaml index 8bcea17..8e6160c 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrolebinding.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrolebinding.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator-syn-rabbitmq-operat roleRef: apiGroup: rbac.authorization.k8s.io diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/deployment.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/deployment.yaml index 525fd64..b412b87 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/deployment.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/deployment.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator spec: @@ -28,8 +28,8 @@ spec: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 spec: affinity: nodeAffinity: null @@ -44,6 +44,7 @@ spec: app.kubernetes.io/name: rabbitmq-cluster-operator topologyKey: kubernetes.io/hostname weight: 1 + automountServiceAccountToken: true containers: - args: - --metrics-bind-address=:9782 @@ -55,11 +56,11 @@ spec: fieldRef: fieldPath: metadata.namespace - name: DEFAULT_RABBITMQ_IMAGE - value: docker.io/bitnamilegacy/rabbitmq:3.12.12-debian-11-r0 + value: docker.io/bitnamilegacy/rabbitmq:3.12.13-debian-12-r2 - name: DEFAULT_USER_UPDATER_IMAGE - value: docker.io/bitnamilegacy/rmq-default-credential-updater:1.0.4-debian-11-r5 + value: docker.io/bitnamilegacy/rmq-default-credential-updater:1.0.4-debian-12-r14 envFrom: null - image: docker.io/bitnamilegacy/rabbitmq-cluster-operator:2.6.0-debian-11-r3 + image: docker.io/bitnamilegacy/rabbitmq-cluster-operator:2.7.0-debian-12-r8 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 5 @@ -84,8 +85,5 @@ spec: periodSeconds: 30 successThreshold: 1 timeoutSeconds: 5 - resources: - limits: {} - requests: {} initContainers: null serviceAccountName: rabbitmq-operator-rabbitmq-cluster-operator diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/networkpolicy.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/networkpolicy.yaml new file mode 100644 index 0000000..2d09f11 --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/networkpolicy.yaml @@ -0,0 +1,26 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + labels: + app.kubernetes.io/component: rabbitmq-operator + app.kubernetes.io/instance: rabbitmq-operator + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rabbitmq-cluster-operator + app.kubernetes.io/part-of: rabbitmq + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 + name: rabbitmq-operator-rabbitmq-cluster-operator + namespace: syn-rabbitmq-operator +spec: + egress: + - {} + ingress: null + podSelector: + matchLabels: + app.kubernetes.io/component: rabbitmq-operator + app.kubernetes.io/instance: rabbitmq-operator + app.kubernetes.io/name: rabbitmq-cluster-operator + app.kubernetes.io/part-of: rabbitmq + policyTypes: + - Ingress + - Egress diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/role.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/role.yaml index dd70f15..d63ff78 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/role.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/role.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator rules: diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/rolebinding.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/rolebinding.yaml index cf11492..07e994b 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/rolebinding.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/rolebinding.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator roleRef: diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/service-account.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/service-account.yaml index bacd0e0..b61f765 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/service-account.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/service-account.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -automountServiceAccountToken: true +automountServiceAccountToken: false kind: ServiceAccount metadata: labels: @@ -8,7 +8,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/issuer.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/issuer.yaml index 1362732..13497e7 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/issuer.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/issuer.yaml @@ -6,8 +6,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator spec: diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/certificate.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/certificate.yaml index 9278beb..85483b5 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/certificate.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/certificate.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-webhook namespace: syn-rabbitmq-operator spec: diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrole.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrole.yaml index aaec2fd..e4a1ba6 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrole.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrole.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-syn-rabb rules: - apiGroups: @@ -292,3 +292,21 @@ rules: - get - patch - update + - apiGroups: + - rabbitmq.com + resources: + - operatorpolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rabbitmq.com + resources: + - operatorpolicies/status + verbs: + - get diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrolebinding.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrolebinding.yaml index c4f8aa7..ce25535 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrolebinding.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrolebinding.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-syn-rabb roleRef: apiGroup: rbac.authorization.k8s.io diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/deployment.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/deployment.yaml index 016a76c..65eb1f5 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/deployment.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/deployment.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator namespace: syn-rabbitmq-operator spec: @@ -28,8 +28,8 @@ spec: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 spec: affinity: nodeAffinity: null @@ -44,6 +44,7 @@ spec: app.kubernetes.io/name: rabbitmq-cluster-operator topologyKey: kubernetes.io/hostname weight: 1 + automountServiceAccountToken: true containers: - args: - --metrics-bind-address=:8080 @@ -55,7 +56,7 @@ spec: fieldRef: fieldPath: metadata.namespace envFrom: null - image: docker.io/bitnamilegacy/rmq-messaging-topology-operator:1.12.2-debian-11-r1 + image: docker.io/bitnamilegacy/rmq-messaging-topology-operator:1.13.0-debian-12-r7 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 5 @@ -83,9 +84,6 @@ spec: periodSeconds: 30 successThreshold: 1 timeoutSeconds: 5 - resources: - limits: {} - requests: {} volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/networkpolicy.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/networkpolicy.yaml new file mode 100644 index 0000000..fa5d8bc --- /dev/null +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/networkpolicy.yaml @@ -0,0 +1,28 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + labels: + app.kubernetes.io/component: messaging-topology-operator + app.kubernetes.io/instance: rabbitmq-operator + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rabbitmq-cluster-operator + app.kubernetes.io/part-of: rabbitmq + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 + name: rabbitmq-operator-rabbitmq-messaging-topology-operator + namespace: syn-rabbitmq-operator +spec: + egress: + - {} + ingress: + - ports: + - port: 9443 + podSelector: + matchLabels: + app.kubernetes.io/component: messaging-topology-operator + app.kubernetes.io/instance: rabbitmq-operator + app.kubernetes.io/name: rabbitmq-cluster-operator + app.kubernetes.io/part-of: rabbitmq + policyTypes: + - Ingress + - Egress diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/role.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/role.yaml index c3d0044..d8c7ddc 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/role.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/role.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator namespace: syn-rabbitmq-operator rules: diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/rolebinding.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/rolebinding.yaml index 32df759..9a1033c 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/rolebinding.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/rolebinding.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator namespace: syn-rabbitmq-operator roleRef: diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/service-account.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/service-account.yaml index b579240..78593cd 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/service-account.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/service-account.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -automountServiceAccountToken: true +automountServiceAccountToken: false kind: ServiceAccount metadata: labels: @@ -8,7 +8,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator namespace: syn-rabbitmq-operator diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/validating-webhook-configuration.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/validating-webhook-configuration.yaml index d4af6e1..b17ada0 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/validating-webhook-configuration.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/validating-webhook-configuration.yaml @@ -9,8 +9,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-webhook webhooks: - admissionReviewVersions: @@ -76,6 +76,27 @@ webhooks: resources: - federations sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: rabbitmq-operator-rabbitmq-messaging-topology-operator-webhook + namespace: syn-rabbitmq-operator + path: /validate-rabbitmq-com-v1beta1-operatorpolicy + port: 443 + failurePolicy: Fail + name: voperatorpolicy.kb.io + rules: + - apiGroups: + - rabbitmq.com + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - operatorpolicies + sideEffects: None - admissionReviewVersions: - v1 clientConfig: diff --git a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/webhook-service.yaml b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/webhook-service.yaml index e8632d0..e56f9d2 100644 --- a/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/webhook-service.yaml +++ b/tests/golden/custom/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/webhook-service.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-webhook namespace: syn-rabbitmq-operator spec: diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crds-messaging-topology-operator.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crds-messaging-topology-operator.yaml deleted file mode 100644 index 72d6f55..0000000 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crds-messaging-topology-operator.yaml +++ /dev/null @@ -1,1743 +0,0 @@ -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} ---- -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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_bindings.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_bindings.yaml new file mode 100644 index 0000000..09ca0b4 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_bindings.yaml @@ -0,0 +1,142 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_exchanges.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_exchanges.yaml new file mode 100644 index 0000000..225a895 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_exchanges.yaml @@ -0,0 +1,140 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_federations.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_federations.yaml new file mode 100644 index 0000000..a8fd1b9 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_federations.yaml @@ -0,0 +1,167 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_operatorpolicies.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_operatorpolicies.yaml new file mode 100644 index 0000000..eee8159 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_operatorpolicies.yaml @@ -0,0 +1,157 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: operatorpolicies.rabbitmq.com +spec: + group: rabbitmq.com + names: + categories: + - all + - rabbitmq + kind: OperatorPolicy + listKind: OperatorPolicyList + plural: operatorpolicies + singular: operatorpolicy + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: OperatorPolicy is the Schema for the operator 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: |- + OperatorPolicySpec defines the desired state of OperatorPolicy + https://www.rabbitmq.com/parameters.html#operator-policies + properties: + applyTo: + default: queues + description: |- + What this operator policy applies to: 'queues', 'classic_queues', 'quorum_queues', 'streams'. + Default to 'queues'. + enum: + - queues + - classic_queues + - quorum_queues + - streams + type: string + definition: + description: OperatorPolicy 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, e.g. "^my-queue$". + Required property. + type: string + priority: + default: 0 + description: |- + Default to '0'. + In the event that more than one operator policy can match a given queue, the operator policy with the greatest priority applies. + type: integer + rabbitmqClusterReference: + description: |- + Reference to the RabbitmqCluster that the operator policy 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: OperatorPolicyStatus defines the observed state of OperatorPolicy + 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 OperatorPolicy. It corresponds to the + OperatorPolicy'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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_permissions.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_permissions.yaml new file mode 100644 index 0000000..48ad8bc --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_permissions.yaml @@ -0,0 +1,154 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_policies.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_policies.yaml new file mode 100644 index 0000000..1ec3ef9 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_policies.yaml @@ -0,0 +1,159 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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 policy 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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_queues.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_queues.yaml new file mode 100644 index 0000000..84be0e0 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_queues.yaml @@ -0,0 +1,142 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_schemareplications.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_schemareplications.yaml new file mode 100644 index 0000000..3c6a196 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_schemareplications.yaml @@ -0,0 +1,154 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_shovels.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_shovels.yaml new file mode 100644 index 0000000..0eb31c2 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_shovels.yaml @@ -0,0 +1,221 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_superstreams.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_superstreams.yaml new file mode 100644 index 0000000..333b1ad --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_superstreams.yaml @@ -0,0 +1,146 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_topicpermissions.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_topicpermissions.yaml new file mode 100644 index 0000000..789aab5 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_topicpermissions.yaml @@ -0,0 +1,152 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_users.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_users.yaml new file mode 100644 index 0000000..69c2b96 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_users.yaml @@ -0,0 +1,171 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_vhosts.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_vhosts.yaml new file mode 100644 index 0000000..a22674c --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/messaging-topology-operator/rabbitmq.com_vhosts.yaml @@ -0,0 +1,138 @@ +null +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.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: {} diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crd-rabbitmq-cluster.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/rabbitmq-cluster/rabbitmq.com_rabbitmqclusters.yaml similarity index 93% rename from tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crd-rabbitmq-cluster.yaml rename to tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/rabbitmq-cluster/rabbitmq.com_rabbitmqclusters.yaml index b2d17ce..62b9fe2 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/crd-rabbitmq-cluster.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/crds/rabbitmq-cluster/rabbitmq.com_rabbitmqclusters.yaml @@ -2,12 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 - labels: - app.kubernetes.io/component: rabbitmq-operator - app.kubernetes.io/name: rabbitmq-cluster-operator - app.kubernetes.io/part-of: rabbitmq - servicebinding.io/provisioned-service: 'true' + controller-gen.kubebuilder.io/version: v0.13.0 name: rabbitmqclusters.rabbitmq.com spec: group: rabbitmq.com @@ -295,7 +290,8 @@ spec: properties: labelSelector: description: A label query over a set of resources, - in this case pods. + in this case pods. If it's null, this PodAffinityTerm + matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of @@ -345,6 +341,46 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + description: MatchLabelKeys is a set of pod label + keys to select which pods will be taken into + consideration. The keys are used to lookup values + from the incoming pod labels, those key-value + labels are merged with `LabelSelector` as `key + in (value)` to select the group of existing + pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. + Keys that don't exist in the incoming pod labels + will be ignored. The default value is empty. + The same key is forbidden to exist in both MatchLabelKeys + and LabelSelector. Also, MatchLabelKeys cannot + be set when LabelSelector isn't set. This is + an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod + label keys to select which pods will be taken + into consideration. The keys are used to lookup + values from the incoming pod labels, those key-value + labels are merged with `LabelSelector` as `key + notin (value)` to select the group of existing + pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. + Keys that don't exist in the incoming pod labels + will be ignored. The default value is empty. + The same key is forbidden to exist in both MismatchLabelKeys + and LabelSelector. Also, MismatchLabelKeys cannot + be set when LabelSelector isn't set. This is + an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied @@ -457,7 +493,8 @@ spec: properties: labelSelector: description: A label query over a set of resources, - in this case pods. + in this case pods. If it's null, this PodAffinityTerm + matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label @@ -504,6 +541,44 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + description: MatchLabelKeys is a set of pod label + keys to select which pods will be taken into consideration. + The keys are used to lookup values from the incoming + pod labels, those key-value labels are merged with + `LabelSelector` as `key in (value)` to select the + group of existing pods which pods will be taken + into consideration for the incoming pod's pod (anti) + affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is + empty. The same key is forbidden to exist in both + MatchLabelKeys and LabelSelector. Also, MatchLabelKeys + cannot be set when LabelSelector isn't set. This + is an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label + keys to select which pods will be taken into consideration. + The keys are used to lookup values from the incoming + pod labels, those key-value labels are merged with + `LabelSelector` as `key notin (value)` to select + the group of existing pods which pods will be taken + into consideration for the incoming pod's pod (anti) + affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is + empty. The same key is forbidden to exist in both + MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys + cannot be set when LabelSelector isn't set. This + is an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to @@ -611,7 +686,8 @@ spec: properties: labelSelector: description: A label query over a set of resources, - in this case pods. + in this case pods. If it's null, this PodAffinityTerm + matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of @@ -661,6 +737,46 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + description: MatchLabelKeys is a set of pod label + keys to select which pods will be taken into + consideration. The keys are used to lookup values + from the incoming pod labels, those key-value + labels are merged with `LabelSelector` as `key + in (value)` to select the group of existing + pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. + Keys that don't exist in the incoming pod labels + will be ignored. The default value is empty. + The same key is forbidden to exist in both MatchLabelKeys + and LabelSelector. Also, MatchLabelKeys cannot + be set when LabelSelector isn't set. This is + an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod + label keys to select which pods will be taken + into consideration. The keys are used to lookup + values from the incoming pod labels, those key-value + labels are merged with `LabelSelector` as `key + notin (value)` to select the group of existing + pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. + Keys that don't exist in the incoming pod labels + will be ignored. The default value is empty. + The same key is forbidden to exist in both MismatchLabelKeys + and LabelSelector. Also, MismatchLabelKeys cannot + be set when LabelSelector isn't set. This is + an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied @@ -773,7 +889,8 @@ spec: properties: labelSelector: description: A label query over a set of resources, - in this case pods. + in this case pods. If it's null, this PodAffinityTerm + matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label @@ -820,6 +937,44 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + description: MatchLabelKeys is a set of pod label + keys to select which pods will be taken into consideration. + The keys are used to lookup values from the incoming + pod labels, those key-value labels are merged with + `LabelSelector` as `key in (value)` to select the + group of existing pods which pods will be taken + into consideration for the incoming pod's pod (anti) + affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is + empty. The same key is forbidden to exist in both + MatchLabelKeys and LabelSelector. Also, MatchLabelKeys + cannot be set when LabelSelector isn't set. This + is an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label + keys to select which pods will be taken into consideration. + The keys are used to lookup values from the incoming + pod labels, those key-value labels are merged with + `LabelSelector` as `key notin (value)` to select + the group of existing pods which pods will be taken + into consideration for the incoming pod's pod (anti) + affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is + empty. The same key is forbidden to exist in both + MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys + cannot be set when LabelSelector isn't set. This + is an alpha field and requires enabling MatchLabelKeysInPodAffinity + feature gate. + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to @@ -1244,6 +1399,16 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -1312,6 +1477,16 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -1378,6 +1553,16 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -1446,6 +1631,16 @@ spec: type: object type: object x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -1625,6 +1820,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -1675,6 +1878,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -1915,6 +2126,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -2267,6 +2480,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -2317,6 +2538,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -2557,6 +2786,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -2916,6 +3147,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -2966,6 +3205,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -3206,6 +3453,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -3847,18 +4096,6 @@ spec: type: object resources: properties: - claims: - items: - properties: - name: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -3902,6 +4139,8 @@ spec: x-kubernetes-map-type: atomic storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -4090,6 +4329,43 @@ spec: sources: items: properties: + clusterTrustBundle: + 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 + x-kubernetes-map-type: atomic + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object configMap: properties: items: @@ -4405,18 +4681,6 @@ spec: type: object resources: properties: - claims: - items: - properties: - name: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -4460,6 +4724,8 @@ spec: x-kubernetes-map-type: atomic storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -4527,6 +4793,11 @@ spec: For more information on env config, see https://www.rabbitmq.com/man/rabbitmq-env.conf.5.html maxLength: 100000 type: string + erlangInetConfig: + description: 'Erlang Inet configuration to apply to the Erlang + VM running rabbit. See also: https://www.erlang.org/doc/apps/erts/inet_cfg.html' + maxLength: 2000 + type: string type: object replicas: default: 1 @@ -4682,6 +4953,14 @@ spec: type: string description: Annotations to add to the Service. type: object + ipFamilyPolicy: + description: 'IPFamilyPolicy represents the dual-stack-ness + requested or required by a Service See also: https://pkg.go.dev/k8s.io/api/core/v1#IPFamilyPolicy' + enum: + - SingleStack + - PreferDualStack + - RequireDualStack + type: string type: default: ClusterIP description: 'Type of Service to create for the cluster. Must diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrole.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrole.yaml index 1c5b02c..0fd7bab 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrole.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrole.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator-syn-rabbitmq-operat rules: - apiGroups: diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrolebinding.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrolebinding.yaml index 8bcea17..8e6160c 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrolebinding.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/clusterrolebinding.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator-syn-rabbitmq-operat roleRef: apiGroup: rbac.authorization.k8s.io diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/deployment.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/deployment.yaml index 525fd64..b412b87 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/deployment.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/deployment.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator spec: @@ -28,8 +28,8 @@ spec: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 spec: affinity: nodeAffinity: null @@ -44,6 +44,7 @@ spec: app.kubernetes.io/name: rabbitmq-cluster-operator topologyKey: kubernetes.io/hostname weight: 1 + automountServiceAccountToken: true containers: - args: - --metrics-bind-address=:9782 @@ -55,11 +56,11 @@ spec: fieldRef: fieldPath: metadata.namespace - name: DEFAULT_RABBITMQ_IMAGE - value: docker.io/bitnamilegacy/rabbitmq:3.12.12-debian-11-r0 + value: docker.io/bitnamilegacy/rabbitmq:3.12.13-debian-12-r2 - name: DEFAULT_USER_UPDATER_IMAGE - value: docker.io/bitnamilegacy/rmq-default-credential-updater:1.0.4-debian-11-r5 + value: docker.io/bitnamilegacy/rmq-default-credential-updater:1.0.4-debian-12-r14 envFrom: null - image: docker.io/bitnamilegacy/rabbitmq-cluster-operator:2.6.0-debian-11-r3 + image: docker.io/bitnamilegacy/rabbitmq-cluster-operator:2.7.0-debian-12-r8 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 5 @@ -84,8 +85,5 @@ spec: periodSeconds: 30 successThreshold: 1 timeoutSeconds: 5 - resources: - limits: {} - requests: {} initContainers: null serviceAccountName: rabbitmq-operator-rabbitmq-cluster-operator diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/networkpolicy.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/networkpolicy.yaml new file mode 100644 index 0000000..2d09f11 --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/networkpolicy.yaml @@ -0,0 +1,26 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + labels: + app.kubernetes.io/component: rabbitmq-operator + app.kubernetes.io/instance: rabbitmq-operator + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rabbitmq-cluster-operator + app.kubernetes.io/part-of: rabbitmq + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 + name: rabbitmq-operator-rabbitmq-cluster-operator + namespace: syn-rabbitmq-operator +spec: + egress: + - {} + ingress: null + podSelector: + matchLabels: + app.kubernetes.io/component: rabbitmq-operator + app.kubernetes.io/instance: rabbitmq-operator + app.kubernetes.io/name: rabbitmq-cluster-operator + app.kubernetes.io/part-of: rabbitmq + policyTypes: + - Ingress + - Egress diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/role.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/role.yaml index dd70f15..d63ff78 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/role.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/role.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator rules: diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/rolebinding.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/rolebinding.yaml index cf11492..07e994b 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/rolebinding.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/rolebinding.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator roleRef: diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/service-account.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/service-account.yaml index bacd0e0..b61f765 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/service-account.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/cluster-operator/service-account.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -automountServiceAccountToken: true +automountServiceAccountToken: false kind: ServiceAccount metadata: labels: @@ -8,7 +8,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/issuer.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/issuer.yaml index 1362732..13497e7 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/issuer.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/issuer.yaml @@ -6,8 +6,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 2.6.0 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-cluster-operator namespace: syn-rabbitmq-operator spec: diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/certificate.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/certificate.yaml index 9278beb..85483b5 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/certificate.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/certificate.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-webhook namespace: syn-rabbitmq-operator spec: diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrole.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrole.yaml index aaec2fd..e4a1ba6 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrole.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrole.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-syn-rabb rules: - apiGroups: @@ -292,3 +292,21 @@ rules: - get - patch - update + - apiGroups: + - rabbitmq.com + resources: + - operatorpolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rabbitmq.com + resources: + - operatorpolicies/status + verbs: + - get diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrolebinding.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrolebinding.yaml index c4f8aa7..ce25535 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrolebinding.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/clusterrolebinding.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-syn-rabb roleRef: apiGroup: rbac.authorization.k8s.io diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/deployment.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/deployment.yaml index 016a76c..65eb1f5 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/deployment.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/deployment.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator namespace: syn-rabbitmq-operator spec: @@ -28,8 +28,8 @@ spec: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 spec: affinity: nodeAffinity: null @@ -44,6 +44,7 @@ spec: app.kubernetes.io/name: rabbitmq-cluster-operator topologyKey: kubernetes.io/hostname weight: 1 + automountServiceAccountToken: true containers: - args: - --metrics-bind-address=:8080 @@ -55,7 +56,7 @@ spec: fieldRef: fieldPath: metadata.namespace envFrom: null - image: docker.io/bitnamilegacy/rmq-messaging-topology-operator:1.12.2-debian-11-r1 + image: docker.io/bitnamilegacy/rmq-messaging-topology-operator:1.13.0-debian-12-r7 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 5 @@ -83,9 +84,6 @@ spec: periodSeconds: 30 successThreshold: 1 timeoutSeconds: 5 - resources: - limits: {} - requests: {} volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/networkpolicy.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/networkpolicy.yaml new file mode 100644 index 0000000..fa5d8bc --- /dev/null +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/networkpolicy.yaml @@ -0,0 +1,28 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + labels: + app.kubernetes.io/component: messaging-topology-operator + app.kubernetes.io/instance: rabbitmq-operator + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: rabbitmq-cluster-operator + app.kubernetes.io/part-of: rabbitmq + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 + name: rabbitmq-operator-rabbitmq-messaging-topology-operator + namespace: syn-rabbitmq-operator +spec: + egress: + - {} + ingress: + - ports: + - port: 9443 + podSelector: + matchLabels: + app.kubernetes.io/component: messaging-topology-operator + app.kubernetes.io/instance: rabbitmq-operator + app.kubernetes.io/name: rabbitmq-cluster-operator + app.kubernetes.io/part-of: rabbitmq + policyTypes: + - Ingress + - Egress diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/role.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/role.yaml index c3d0044..d8c7ddc 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/role.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/role.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator namespace: syn-rabbitmq-operator rules: diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/rolebinding.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/rolebinding.yaml index 32df759..9a1033c 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/rolebinding.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/rolebinding.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator namespace: syn-rabbitmq-operator roleRef: diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/service-account.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/service-account.yaml index b579240..78593cd 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/service-account.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/service-account.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -automountServiceAccountToken: true +automountServiceAccountToken: false kind: ServiceAccount metadata: labels: @@ -8,7 +8,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator namespace: syn-rabbitmq-operator diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/validating-webhook-configuration.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/validating-webhook-configuration.yaml index d4af6e1..b17ada0 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/validating-webhook-configuration.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/validating-webhook-configuration.yaml @@ -9,8 +9,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-webhook webhooks: - admissionReviewVersions: @@ -76,6 +76,27 @@ webhooks: resources: - federations sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: rabbitmq-operator-rabbitmq-messaging-topology-operator-webhook + namespace: syn-rabbitmq-operator + path: /validate-rabbitmq-com-v1beta1-operatorpolicy + port: 443 + failurePolicy: Fail + name: voperatorpolicy.kb.io + rules: + - apiGroups: + - rabbitmq.com + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - operatorpolicies + sideEffects: None - admissionReviewVersions: - v1 clientConfig: diff --git a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/webhook-service.yaml b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/webhook-service.yaml index e8632d0..e56f9d2 100644 --- a/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/webhook-service.yaml +++ b/tests/golden/defaults/rabbitmq-operator/rabbitmq-operator/helmchart/rabbitmq-cluster-operator/templates/messaging-topology-operator/webhook-service.yaml @@ -7,8 +7,8 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: rabbitmq-cluster-operator app.kubernetes.io/part-of: rabbitmq - app.kubernetes.io/version: 1.12.2 - helm.sh/chart: rabbitmq-cluster-operator-3.10.10 + app.kubernetes.io/version: 1.13.0 + helm.sh/chart: rabbitmq-cluster-operator-3.20.1 name: rabbitmq-operator-rabbitmq-messaging-topology-operator-webhook namespace: syn-rabbitmq-operator spec: