Skip to content
This repository was archived by the owner on Dec 6, 2024. It is now read-only.

Commit 449e61e

Browse files
authored
Merge pull request #18 from tparikh/kustomize
Added Kustomize for controller, sidecar & CRDs
2 parents 4452678 + 2a29305 commit 449e61e

File tree

5 files changed

+171
-0
lines changed

5 files changed

+171
-0
lines changed

Diff for: deploy/base/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: deploy/base/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: deploy/base/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: system:objectstorage-controller
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: deploy/base/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

Diff for: kustomization.yaml

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

0 commit comments

Comments
 (0)