From 000a796e7436267f84bc63d8aaa83226c1e5ea20 Mon Sep 17 00:00:00 2001 From: raffis Date: Fri, 16 Jun 2023 10:14:18 +0200 Subject: [PATCH] fix(chart): update crd's (#42) * fix(chart): update crd's * fix: update controller-gen to v0.12.0 --- Makefile | 3 +- chart/k8sdb-controller/Chart.yaml | 2 +- ...ing.infra.doodle.com_mongodbdatabases.yaml | 67 +++++++++---- ...sioning.infra.doodle.com_mongodbusers.yaml | 73 +++++++++----- ....infra.doodle.com_postgresqldatabases.yaml | 67 +++++++++---- ...ning.infra.doodle.com_postgresqlusers.yaml | 98 ++++++++++++++----- ...ing.infra.doodle.com_mongodbdatabases.yaml | 3 +- ...sioning.infra.doodle.com_mongodbusers.yaml | 3 +- ....infra.doodle.com_postgresqldatabases.yaml | 3 +- ...ning.infra.doodle.com_postgresqlusers.yaml | 3 +- config/rbac/role.yaml | 1 - 11 files changed, 224 insertions(+), 99 deletions(-) diff --git a/Makefile b/Makefile index 4e5dbdd..424e891 100644 --- a/Makefile +++ b/Makefile @@ -42,6 +42,7 @@ help: ## Display this help. .PHONY: manifests manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects. $(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/base/crd/bases + cp config/base/crd/bases/* chart/k8sdb-controller/crds/ .PHONY: generate generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations. @@ -132,7 +133,7 @@ kind-test: docker-build ## Deploy including test CONTROLLER_GEN = $(GOBIN)/controller-gen .PHONY: controller-gen controller-gen: ## Download controller-gen locally if necessary. - $(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.10.0) + $(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.12.0) GOLANGCI_LINT = $(GOBIN)/golangci-lint .PHONY: golangci-lint diff --git a/chart/k8sdb-controller/Chart.yaml b/chart/k8sdb-controller/Chart.yaml index a608c87..cef6164 100644 --- a/chart/k8sdb-controller/Chart.yaml +++ b/chart/k8sdb-controller/Chart.yaml @@ -12,4 +12,4 @@ keywords: name: k8sdb-controller sources: - https://github.com/DoodleScheduling/k8sdb-controller -version: 0.3.0 +version: 0.3.1 diff --git a/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_mongodbdatabases.yaml b/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_mongodbdatabases.yaml index e0c8c53..83e062f 100644 --- a/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_mongodbdatabases.yaml +++ b/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_mongodbdatabases.yaml @@ -1,11 +1,9 @@ - --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.5.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.12.0 name: mongodbdatabases.dbprovisioning.infra.doodle.com spec: group: dbprovisioning.infra.doodle.com @@ -34,10 +32,14 @@ spec: description: MongoDBDatabase is the Schema for the mongodbs API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation + of an object. 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' + 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 @@ -53,10 +55,12 @@ spec: description: DatabaseName is by default the same as metata.name type: string rootSecret: - description: Contains a credentials set of a user with enough permission to manage databases and user accounts + description: Contains a credentials set of a user with enough permission + to manage databases and user accounts properties: name: - description: Name referrs to the name of the secret, must be located whithin the same namespace + description: Name referrs to the name of the secret, must be located + whithin the same namespace type: string namespace: description: Namespace, by default the same namespace is used. @@ -74,28 +78,50 @@ spec: - rootSecret type: object status: - description: 'MongoDBDatabaseStatus defines the observed state of MongoDBDatabase IMPORTANT: Run "make" to regenerate code after modifying this file' + description: 'MongoDBDatabaseStatus defines the observed state of MongoDBDatabase + IMPORTANT: Run "make" to regenerate code after modifying this file' properties: conditions: description: Conditions holds the conditions for the MongoDBDatabase. items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + \n type FooStatus struct{ // Represents the observations of a + foo's current state. // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge + // +listType=map // +listMapKey=type Conditions []metav1.Condition + `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" + protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating details about the transition. This may be an empty string. + description: message is a human readable message indicating + details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -108,7 +134,11 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -121,7 +151,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the last generation reconciled by the controller + description: ObservedGeneration is the last generation reconciled + by the controller format: int64 type: integer type: object @@ -130,9 +161,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_mongodbusers.yaml b/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_mongodbusers.yaml index 253ecb5..67819f3 100644 --- a/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_mongodbusers.yaml +++ b/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_mongodbusers.yaml @@ -1,11 +1,9 @@ - --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.5.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.12.0 name: mongodbusers.dbprovisioning.infra.doodle.com spec: group: dbprovisioning.infra.doodle.com @@ -34,20 +32,26 @@ spec: description: MongoDBUser is the Schema for the mongodbs API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation + of an object. 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' + 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: properties: credentials: - description: SecretReference is a named reference to a secret which contains user credentials + description: SecretReference is a named reference to a secret which + contains user credentials properties: name: - description: Name referrs to the name of the secret, must be located whithin the same namespace + description: Name referrs to the name of the secret, must be located + whithin the same namespace type: string namespace: description: Namespace, by default the same namespace is used. @@ -62,10 +66,12 @@ spec: - name type: object database: - description: DatabaseReference is a named reference to a database kind + description: DatabaseReference is a named reference to a database + kind properties: name: - description: Name referrs to the name of the database kind, mist be located within the same namespace + description: Name referrs to the name of the database kind, mist + be located within the same namespace type: string required: - name @@ -88,28 +94,50 @@ spec: - database type: object status: - description: 'MongoDBUserStatus defines the observed state of MongoDBUser IMPORTANT: Run "make" to regenerate code after modifying this file' + description: 'MongoDBUserStatus defines the observed state of MongoDBUser + IMPORTANT: Run "make" to regenerate code after modifying this file' properties: conditions: description: Conditions holds the conditions for the MongoDBUser. items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + \n type FooStatus struct{ // Represents the observations of a + foo's current state. // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge + // +listType=map // +listMapKey=type Conditions []metav1.Condition + `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" + protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating details about the transition. This may be an empty string. + description: message is a human readable message indicating + details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -122,7 +150,11 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -135,7 +167,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the last generation reconciled by the controller + description: ObservedGeneration is the last generation reconciled + by the controller format: int64 type: integer username: @@ -147,9 +180,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_postgresqldatabases.yaml b/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_postgresqldatabases.yaml index bc7171a..7924d62 100644 --- a/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_postgresqldatabases.yaml +++ b/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_postgresqldatabases.yaml @@ -1,11 +1,9 @@ - --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.5.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.12.0 name: postgresqldatabases.dbprovisioning.infra.doodle.com spec: group: dbprovisioning.infra.doodle.com @@ -34,10 +32,14 @@ spec: description: PostgreSQLDatabase is the Schema for the postgresqls API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation + of an object. 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' + 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 @@ -62,10 +64,12 @@ spec: type: object type: array rootSecret: - description: Contains a credentials set of a user with enough permission to manage databases and user accounts + description: Contains a credentials set of a user with enough permission + to manage databases and user accounts properties: name: - description: Name referrs to the name of the secret, must be located whithin the same namespace + description: Name referrs to the name of the secret, must be located + whithin the same namespace type: string namespace: description: Namespace, by default the same namespace is used. @@ -83,28 +87,50 @@ spec: - rootSecret type: object status: - description: 'PostgreSQLDatabaseStatus defines the observed state of PostgreSQLDatabase IMPORTANT: Run "make" to regenerate code after modifying this file' + description: 'PostgreSQLDatabaseStatus defines the observed state of PostgreSQLDatabase + IMPORTANT: Run "make" to regenerate code after modifying this file' properties: conditions: description: Conditions holds the conditions for the PostgreSQLDatabase. items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + \n type FooStatus struct{ // Represents the observations of a + foo's current state. // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge + // +listType=map // +listMapKey=type Conditions []metav1.Condition + `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" + protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating details about the transition. This may be an empty string. + description: message is a human readable message indicating + details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -117,7 +143,11 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -130,7 +160,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the last generation reconciled by the controller + description: ObservedGeneration is the last generation reconciled + by the controller format: int64 type: integer type: object @@ -139,9 +170,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_postgresqlusers.yaml b/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_postgresqlusers.yaml index 44f2ac1..21e13ce 100644 --- a/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_postgresqlusers.yaml +++ b/chart/k8sdb-controller/crds/dbprovisioning.infra.doodle.com_postgresqlusers.yaml @@ -1,11 +1,9 @@ - --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.5.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.12.0 name: postgresqlusers.dbprovisioning.infra.doodle.com spec: group: dbprovisioning.infra.doodle.com @@ -34,20 +32,26 @@ spec: description: PostgreSQLUser is the Schema for the mongodbs API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation + of an object. 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' + 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: properties: credentials: - description: SecretReference is a named reference to a secret which contains user credentials + description: SecretReference is a named reference to a secret which + contains user credentials properties: name: - description: Name referrs to the name of the secret, must be located whithin the same namespace + description: Name referrs to the name of the secret, must be located + whithin the same namespace type: string namespace: description: Namespace, by default the same namespace is used. @@ -62,41 +66,90 @@ spec: - name type: object database: - description: DatabaseReference is a named reference to a database kind + description: DatabaseReference is a named reference to a database + kind properties: name: - description: Name referrs to the name of the database kind, mist be located within the same namespace + description: Name referrs to the name of the database kind, mist + be located within the same namespace type: string required: - name type: object + grants: + default: + - object: SCHEMA + objectName: public + privileges: + - ALL + items: + properties: + object: + type: string + objectName: + type: string + privileges: + items: + type: string + type: array + user: + type: string + type: object + type: array + roles: + description: Roles are postgres roles granted to this user + items: + type: string + type: array required: - credentials - database type: object status: - description: 'PostgreSQLUserStatus defines the observed state of PostgreSQLUser IMPORTANT: Run "make" to regenerate code after modifying this file' + description: 'PostgreSQLUserStatus defines the observed state of PostgreSQLUser + IMPORTANT: Run "make" to regenerate code after modifying this file' properties: conditions: description: Conditions holds the conditions for the PostgreSQLUser. items: - description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + \n type FooStatus struct{ // Represents the observations of a + foo's current state. // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge + // +listType=map // +listMapKey=type Conditions []metav1.Condition + `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" + protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating details about the transition. This may be an empty string. + description: message is a human readable message indicating + details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -109,7 +162,11 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -122,7 +179,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the last generation reconciled by the controller + description: ObservedGeneration is the last generation reconciled + by the controller format: int64 type: integer username: @@ -134,9 +192,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/config/base/crd/bases/dbprovisioning.infra.doodle.com_mongodbdatabases.yaml b/config/base/crd/bases/dbprovisioning.infra.doodle.com_mongodbdatabases.yaml index da647d0..83e062f 100644 --- a/config/base/crd/bases/dbprovisioning.infra.doodle.com_mongodbdatabases.yaml +++ b/config/base/crd/bases/dbprovisioning.infra.doodle.com_mongodbdatabases.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.10.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.12.0 name: mongodbdatabases.dbprovisioning.infra.doodle.com spec: group: dbprovisioning.infra.doodle.com diff --git a/config/base/crd/bases/dbprovisioning.infra.doodle.com_mongodbusers.yaml b/config/base/crd/bases/dbprovisioning.infra.doodle.com_mongodbusers.yaml index a48325e..67819f3 100644 --- a/config/base/crd/bases/dbprovisioning.infra.doodle.com_mongodbusers.yaml +++ b/config/base/crd/bases/dbprovisioning.infra.doodle.com_mongodbusers.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.10.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.12.0 name: mongodbusers.dbprovisioning.infra.doodle.com spec: group: dbprovisioning.infra.doodle.com diff --git a/config/base/crd/bases/dbprovisioning.infra.doodle.com_postgresqldatabases.yaml b/config/base/crd/bases/dbprovisioning.infra.doodle.com_postgresqldatabases.yaml index 0e8f1b8..7924d62 100644 --- a/config/base/crd/bases/dbprovisioning.infra.doodle.com_postgresqldatabases.yaml +++ b/config/base/crd/bases/dbprovisioning.infra.doodle.com_postgresqldatabases.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.10.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.12.0 name: postgresqldatabases.dbprovisioning.infra.doodle.com spec: group: dbprovisioning.infra.doodle.com diff --git a/config/base/crd/bases/dbprovisioning.infra.doodle.com_postgresqlusers.yaml b/config/base/crd/bases/dbprovisioning.infra.doodle.com_postgresqlusers.yaml index b4fbf0e..21e13ce 100644 --- a/config/base/crd/bases/dbprovisioning.infra.doodle.com_postgresqlusers.yaml +++ b/config/base/crd/bases/dbprovisioning.infra.doodle.com_postgresqlusers.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.10.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.12.0 name: postgresqlusers.dbprovisioning.infra.doodle.com spec: group: dbprovisioning.infra.doodle.com diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index d589066..83eddd7 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -2,7 +2,6 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: manager-role rules: - apiGroups: