diff --git a/deploy/base/deployment.yaml b/deploy/base/deployment.yaml index c33295b..30c0922 100644 --- a/deploy/base/deployment.yaml +++ b/deploy/base/deployment.yaml @@ -3,7 +3,11 @@ kind: Deployment apiVersion: apps/v1 metadata: name: objectstorage-controller - namespace: objectstorage-system + labels: + app.kubernetes.io/part-of: container-object-storage-interface + app.kubernetes.io/component: controller + app.kubernetes.io/version: main + app.kubernetes.io/name: container-object-storage-interface-controller spec: replicas: 1 strategy: @@ -12,11 +16,16 @@ spec: maxSurge: 1 selector: matchLabels: - app: objectstorage-controller + app.kubernetes.io/part-of: container-object-storage-interface + app.kubernetes.io/component: controller + app.kubernetes.io/name: container-object-storage-interface-controller template: metadata: labels: - app: objectstorage-controller + app.kubernetes.io/part-of: container-object-storage-interface + app.kubernetes.io/component: controller + app.kubernetes.io/version: main + app.kubernetes.io/name: container-object-storage-interface-controller spec: serviceAccountName: objectstorage-controller-sa containers: diff --git a/deploy/base/kustomization.yaml b/deploy/base/kustomization.yaml new file mode 100644 index 0000000..1d7e8e5 --- /dev/null +++ b/deploy/base/kustomization.yaml @@ -0,0 +1,27 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +# CRDs +- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketaccessclasses.yaml +- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketaccesses.yaml +- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketaccessrequests.yaml +- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketclasses.yaml +- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketrequests.yaml +- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_buckets.yaml +# Controller +- sa.yaml +- rbac.yaml +- deployment.yaml + +patches: +# CRDs +- target: + kind: CustomResourceDefinition + patch: |- + - op: add + path: /metadata/annotations + value: + controller-gen.kubebuilder.io/version: (devel) + api-approved.kubernetes.io: https://github.com/kubernetes-sigs/container-object-storage-interface-api/pull/2 diff --git a/deploy/base/rbac.yaml b/deploy/base/rbac.yaml index 1051b69..fc60d1b 100644 --- a/deploy/base/rbac.yaml +++ b/deploy/base/rbac.yaml @@ -3,6 +3,11 @@ kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: objectstorage-controller-role + labels: + app.kubernetes.io/part-of: container-object-storage-interface + app.kubernetes.io/component: controller + app.kubernetes.io/version: main + app.kubernetes.io/name: container-object-storage-interface-controller rules: - apiGroups: ["objectstorage.k8s.io"] resources: ["bucketrequests", "bucketaccessrequests"] @@ -21,10 +26,14 @@ kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: system:objectstorage-controller + labels: + app.kubernetes.io/part-of: container-object-storage-interface + app.kubernetes.io/component: controller + app.kubernetes.io/version: main + app.kubernetes.io/name: container-object-storage-interface-controller subjects: - kind: ServiceAccount name: objectstorage-controller-sa - namespace: objectstorage-system roleRef: kind: ClusterRole name: objectstorage-controller-role @@ -34,7 +43,11 @@ kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: objectstorage-controller - namespace: objectstorage-system + labels: + app.kubernetes.io/part-of: container-object-storage-interface + app.kubernetes.io/component: controller + app.kubernetes.io/version: main + app.kubernetes.io/name: container-object-storage-interface-controller rules: - apiGroups: ["coordination.k8s.io"] resources: ["leases"] @@ -44,11 +57,14 @@ kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: objectstorage-controller - namespace: objectstorage-system + labels: + app.kubernetes.io/part-of: container-object-storage-interface + app.kubernetes.io/component: controller + app.kubernetes.io/version: main + app.kubernetes.io/name: container-object-storage-interface-controller subjects: - kind: ServiceAccount name: objectstorage-controller-sa - namespace: objectstorage-system roleRef: kind: Role name: objectstorage-controller diff --git a/deploy/base/sa.yaml b/deploy/base/sa.yaml index 802dbb8..f6cf10d 100644 --- a/deploy/base/sa.yaml +++ b/deploy/base/sa.yaml @@ -3,4 +3,8 @@ apiVersion: v1 kind: ServiceAccount metadata: name: objectstorage-controller-sa - namespace: objectstorage-system + labels: + app.kubernetes.io/part-of: container-object-storage-interface + app.kubernetes.io/component: controller + app.kubernetes.io/version: main + app.kubernetes.io/name: container-object-storage-interface-controller diff --git a/deploy/fullstack/controller/kustomization.yaml b/deploy/fullstack/controller/kustomization.yaml new file mode 100644 index 0000000..9a10331 --- /dev/null +++ b/deploy/fullstack/controller/kustomization.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: objectstorage-system + +bases: +- ../../base/ + +resources: +# Namespace +- ns.yaml diff --git a/deploy/base/ns.yaml b/deploy/fullstack/controller/ns.yaml similarity index 100% rename from deploy/base/ns.yaml rename to deploy/fullstack/controller/ns.yaml diff --git a/deploy/fullstack/kustomization.yaml b/deploy/fullstack/kustomization.yaml new file mode 100644 index 0000000..787fc8d --- /dev/null +++ b/deploy/fullstack/kustomization.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: +- ./controller +- ./provisioner diff --git a/deploy/fullstack/provisioner/kustomization.yaml b/deploy/fullstack/provisioner/kustomization.yaml new file mode 100644 index 0000000..81f1f2e --- /dev/null +++ b/deploy/fullstack/provisioner/kustomization.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: objectstorage-provisioner-ns + +resources: +# Namespace +- ns.yaml +# Sidecar +- https://raw.githubusercontent.com/container-object-storage-interface/cosi-provisioner-sidecar/master/examples/object-storage-sidecar.yaml diff --git a/deploy/fullstack/provisioner/ns.yaml b/deploy/fullstack/provisioner/ns.yaml new file mode 100644 index 0000000..04eb2ff --- /dev/null +++ b/deploy/fullstack/provisioner/ns.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: objectstorage-provisioner-ns diff --git a/kustomization.yaml b/kustomization.yaml deleted file mode 100644 index 0d2ba6d..0000000 --- a/kustomization.yaml +++ /dev/null @@ -1,81 +0,0 @@ ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -images: -# Controller -- name: objectstorage-controller - newName: quay.io/containerobjectstorage/objectstorage-controller - newTag: latest -# Sidecar -- name: object-storage-sidecar - newName: quay.io/containerobjectstorage/object-storage-sidecar - newTag: latest -# Sample Driver -- name: sample-driver - newName: quay.io/containerobjectstorage/sample-driver - newTag: latest - -resources: -# CRDs -- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketaccessclasses.yaml -- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketaccesses.yaml -- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketaccessrequests.yaml -- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketclasses.yaml -- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketrequests.yaml -- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_buckets.yaml -# Controller -- deploy/base/ns.yaml -- deploy/base/sa.yaml -- deploy/base/rbac.yaml -- deploy/base/deployment.yaml -# Sidecar -- https://raw.githubusercontent.com/container-object-storage-interface/cosi-provisioner-sidecar/master/examples/object-storage-sidecar.yaml - -patches: -# CRDs -- target: - kind: CustomResourceDefinition - patch: |- - - op: add - path: /metadata/annotations - value: - controller-gen.kubebuilder.io/version: (devel) - api-approved.kubernetes.io: https://github.com/kubernetes-sigs/container-object-storage-interface-api/pull/2 -# Controller -- target: - kind: Deployment - name: objectstorage-controller - patch: |- - - op: replace - path: /spec/template/spec/containers/0/imagePullPolicy - value: IfNotPresent -# Sidecar -- target: - kind: Deployment - name: object-storage-provisioner - patch: |- - - op: replace - path: /spec/template/spec/containers/0/imagePullPolicy - value: IfNotPresent - - op: replace - path: /spec/template/spec/containers/1/imagePullPolicy - value: IfNotPresent - - op: replace - path: /metadata - value: - name: object-storage-provisioner - labels: - app: object-storage-provisioner - namespace: objectstorage-provisioner-ns -- target: - kind: Secret - name: object-storage-provisioner - patch: |- - - op: replace - path: /metadata - value: - name: object-storage-provisioner - labels: - app: object-storage-provisioner - namespace: objectstorage-provisioner-ns