Skip to content
This repository was archived by the owner on Mar 16, 2021. It is now read-only.

Commit 53cfe8c

Browse files
committed
Added Kustomize for controller, sidecar & CRDs
Signed-off-by: Tejas Parikh <[email protected]>
1 parent c95073c commit 53cfe8c

File tree

5 files changed

+170
-0
lines changed

5 files changed

+170
-0
lines changed

Diff for: kustomization.yaml

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1beta1
3+
kind: Kustomization
4+
5+
images:
6+
# Controller
7+
- name: objectstorage-controller
8+
newName: quay.io/containerobjectstorage/objectstorage-controller
9+
newTag: latest
10+
# Sidecar
11+
- name: sample-driver
12+
newName: quay.io/containerobjectstorage/sample-driver
13+
newTag: latest
14+
- name: object-storage-sidecar
15+
newName: quay.io/containerobjectstorage/object-storage-sidecar
16+
newTag: latest
17+
18+
resources:
19+
# CRDs
20+
- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketaccessclasses.yaml
21+
- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketaccesses.yaml
22+
- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketaccessrequests.yaml
23+
- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketclasses.yaml
24+
- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_bucketrequests.yaml
25+
- https://raw.githubusercontent.com/kubernetes-sigs/container-object-storage-interface-api/master/crds/objectstorage.k8s.io_buckets.yaml
26+
# Controller
27+
- manifests/ns.yaml
28+
- manifests/sa.yaml
29+
- manifests/rbac.yaml
30+
- manifests/deployment.yaml
31+
# Sidecar
32+
- https://raw.githubusercontent.com/container-object-storage-interface/cosi-provisioner-sidecar/master/examples/object-storage-sidecar.yaml
33+
34+
patches:
35+
# CRDs
36+
- target:
37+
kind: CustomResourceDefinition
38+
patch: |-
39+
- op: add
40+
path: /metadata/annotations
41+
value:
42+
controller-gen.kubebuilder.io/version: (devel)
43+
api-approved.kubernetes.io: https://github.com/kubernetes-sigs/container-object-storage-interface-api/pull/2
44+
# Controller
45+
- target:
46+
kind: Deployment
47+
name: objectstorage-controller
48+
patch: |-
49+
- op: replace
50+
path: /spec/template/spec/containers/0/imagePullPolicy
51+
value: IfNotPresent
52+
# Sidecar
53+
- target:
54+
kind: Deployment
55+
name: object-storage-provisioner
56+
patch: |-
57+
- op: replace
58+
path: /spec/template/spec/containers/0/imagePullPolicy
59+
value: IfNotPresent
60+
- op: replace
61+
path: /spec/template/spec/containers/1/imagePullPolicy
62+
value: IfNotPresent
63+
- op: replace
64+
path: /metadata
65+
value:
66+
name: object-storage-provisioner
67+
labels:
68+
app: object-storage-provisioner
69+
namespace: objectstorage-provisioner-ns
70+
- target:
71+
kind: Secret
72+
name: object-storage-provisioner
73+
patch: |-
74+
- op: replace
75+
path: /metadata
76+
value:
77+
name: object-storage-provisioner
78+
labels:
79+
app: object-storage-provisioner
80+
namespace: objectstorage-provisioner-ns

Diff for: manifests/deployment.yaml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
kind: Deployment
3+
apiVersion: apps/v1
4+
metadata:
5+
name: objectstorage-controller
6+
namespace: objectstorage-system
7+
spec:
8+
replicas: 1
9+
strategy:
10+
rollingUpdate:
11+
maxUnavailable: 0
12+
maxSurge: 1
13+
selector:
14+
matchLabels:
15+
app: objectstorage-controller
16+
template:
17+
metadata:
18+
labels:
19+
app: objectstorage-controller
20+
spec:
21+
serviceAccountName: objectstorage-controller-sa
22+
containers:
23+
- name: objectstorage-controller
24+
image: quay.io/containerobjectstorage/objectstorage-controller:latest

Diff for: manifests/ns.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
apiVersion: v1
3+
kind: Namespace
4+
metadata:
5+
name: objectstorage-system

Diff for: manifests/rbac.yaml

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
kind: ClusterRole
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
metadata:
5+
name: objectstorage-controller-role
6+
rules:
7+
- apiGroups: ["objectstorage.k8s.io"]
8+
resources: ["bucketrequests", "bucketaccessrequests"]
9+
verbs: ["get", "list", "watch"]
10+
- apiGroups: ["objectstorage.k8s.io"]
11+
resources: ["buckets", "bucketaccess"]
12+
verbs: ["get", "list", "watch", "update", "create", "delete"]
13+
- apiGroups: ["objectstorage.k8s.io"]
14+
resources: ["bucketclass","bucketaccessclass"]
15+
verbs: ["get", "list"]
16+
- apiGroups: [""]
17+
resources: ["events"]
18+
verbs: ["list", "watch", "create", "update", "patch"]
19+
---
20+
kind: ClusterRoleBinding
21+
apiVersion: rbac.authorization.k8s.io/v1
22+
metadata:
23+
name: objectstorage-controller:system
24+
subjects:
25+
- kind: ServiceAccount
26+
name: objectstorage-controller-sa
27+
namespace: objectstorage-system
28+
roleRef:
29+
kind: ClusterRole
30+
name: objectstorage-controller-role
31+
apiGroup: rbac.authorization.k8s.io
32+
---
33+
kind: Role
34+
apiVersion: rbac.authorization.k8s.io/v1
35+
metadata:
36+
name: objectstorage-controller
37+
namespace: objectstorage-system
38+
rules:
39+
- apiGroups: ["coordination.k8s.io"]
40+
resources: ["leases"]
41+
verbs: ["get", "watch", "list", "delete", "update", "create"]
42+
---
43+
kind: RoleBinding
44+
apiVersion: rbac.authorization.k8s.io/v1
45+
metadata:
46+
name: objectstorage-controller
47+
namespace: objectstorage-system
48+
subjects:
49+
- kind: ServiceAccount
50+
name: objectstorage-controller-sa
51+
namespace: objectstorage-system
52+
roleRef:
53+
kind: Role
54+
name: objectstorage-controller
55+
apiGroup: rbac.authorization.k8s.io

Diff for: manifests/sa.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: objectstorage-controller-sa
6+
namespace: objectstorage-system

0 commit comments

Comments
 (0)