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

Commit 58a5ee2

Browse files
committed
added kustomize template & k8s resources for sidecar
1 parent f1b073f commit 58a5ee2

File tree

7 files changed

+296
-0
lines changed

7 files changed

+296
-0
lines changed

deploy/base/deployment.yaml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: objectstorage-provisioner
6+
namespace: objectstorage-provisioner-ns
7+
labels:
8+
app.kubernetes.io/part-of: container-object-storage-interface
9+
app.kubernetes.io/component: provisioner
10+
app.kubernetes.io/version: main
11+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
12+
spec:
13+
replicas: 1
14+
minReadySeconds: 30
15+
progressDeadlineSeconds: 600
16+
revisionHistoryLimit: 3
17+
strategy:
18+
type: RollingUpdate
19+
rollingUpdate:
20+
maxSurge: 1
21+
maxUnavailable: 0
22+
selector:
23+
matchLabels:
24+
app.kubernetes.io/part-of: container-object-storage-interface
25+
app.kubernetes.io/component: provisioner
26+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
27+
template:
28+
metadata:
29+
labels:
30+
app.kubernetes.io/part-of: container-object-storage-interface
31+
app.kubernetes.io/component: provisioner
32+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
33+
spec:
34+
serviceAccountName: objectstorage-provisioner-sa
35+
containers:
36+
- name: objectstorage-sample-driver
37+
image: quay.io/containerobjectstorage/objectstorage-sample-driver
38+
imagePullPolicy: IfNotPresent
39+
resources:
40+
limits:
41+
cpu: 1
42+
memory: 1Gi
43+
requests:
44+
cpu: 100m
45+
memory: 100Mi
46+
envFrom:
47+
- secretRef:
48+
name: objectstorage-provisioner
49+
- name: objectstorage-provisioner-sidecar
50+
image: quay.io/containerobjectstorage/objectstorage-provisioner-sidecar
51+
imagePullPolicy: IfNotPresent
52+
resources:
53+
limits:
54+
cpu: 1
55+
memory: 1Gi
56+
requests:
57+
cpu: 100m
58+
memory: 100Mi
59+
env:
60+
- name: CONNECT_ADDRESS
61+
valueFrom:
62+
secretKeyRef:
63+
name: objectstorage-provisioner
64+
key: LISTEN_ADDRESS

deploy/base/kustomization.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1beta1
3+
kind: Kustomization
4+
5+
resources:
6+
- ns.yaml
7+
- sa.yaml
8+
- rbac.yaml
9+
- secret.yaml
10+
- deployment.yaml

deploy/base/ns.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
apiVersion: v1
3+
kind: Namespace
4+
metadata:
5+
name: objectstorage-provisioner-ns

deploy/base/out.yaml

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: objectstorage-provisioner-ns
5+
---
6+
apiVersion: v1
7+
kind: ServiceAccount
8+
metadata:
9+
labels:
10+
app.kubernetes.io/component: provisioner
11+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
12+
app.kubernetes.io/part-of: container-object-storage-interface
13+
app.kubernetes.io/version: main
14+
name: objectstorage-provisioner-sa
15+
namespace: objectstorage-provisioner-ns
16+
---
17+
apiVersion: rbac.authorization.k8s.io/v1
18+
kind: ClusterRole
19+
metadata:
20+
labels:
21+
app.kubernetes.io/component: provisioner
22+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
23+
app.kubernetes.io/part-of: container-object-storage-interface
24+
app.kubernetes.io/version: main
25+
name: objectstorage-provisioner-role
26+
namespace: objectstorage-provisioner-ns
27+
rules:
28+
- apiGroups:
29+
- objectstorage.k8s.io
30+
resources:
31+
- buckets
32+
- bucketaccess
33+
verbs:
34+
- get
35+
- list
36+
- watch
37+
- update
38+
- create
39+
- delete
40+
- apiGroups:
41+
- ""
42+
resources:
43+
- events
44+
verbs:
45+
- list
46+
- watch
47+
- create
48+
- update
49+
- patch
50+
---
51+
apiVersion: rbac.authorization.k8s.io/v1
52+
kind: ClusterRoleBinding
53+
metadata:
54+
labels:
55+
app.kubernetes.io/component: provisioner
56+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
57+
app.kubernetes.io/part-of: container-object-storage-interface
58+
app.kubernetes.io/version: main
59+
name: objectstorage-provisioner-role-binding
60+
namespace: objectstorage-provisioner-ns
61+
roleRef:
62+
apiGroup: rbac.authorization.k8s.io
63+
kind: ClusterRole
64+
name: objectstorage-provisioner-role
65+
subjects:
66+
- kind: ServiceAccount
67+
name: objectstorage-provisioner-sa
68+
namespace: objectstorage-provisioner-ns
69+
---
70+
apiVersion: v1
71+
data:
72+
ACCESS_KEY: IA==
73+
S3_ENDPOINT: IA==
74+
SECRET_KEY: IA==
75+
kind: Secret
76+
metadata:
77+
labels:
78+
app.kubernetes.io/component: provisioner
79+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
80+
app.kubernetes.io/part-of: container-object-storage-interface
81+
app.kubernetes.io/version: main
82+
name: objectstorage-provisioner
83+
namespace: objectstorage-provisioner-ns
84+
stringData:
85+
LISTEN_ADDRESS: 0.0.0.0:9000
86+
type: Opaque
87+
---
88+
apiVersion: apps/v1
89+
kind: Deployment
90+
metadata:
91+
labels:
92+
app.kubernetes.io/component: provisioner
93+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
94+
app.kubernetes.io/part-of: container-object-storage-interface
95+
app.kubernetes.io/version: main
96+
name: objectstorage-provisioner
97+
namespace: objectstorage-provisioner-ns
98+
spec:
99+
minReadySeconds: 30
100+
progressDeadlineSeconds: 600
101+
replicas: 1
102+
revisionHistoryLimit: 3
103+
selector:
104+
matchLabels:
105+
app.kubernetes.io/component: provisioner
106+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
107+
app.kubernetes.io/part-of: container-object-storage-interface
108+
strategy:
109+
rollingUpdate:
110+
maxSurge: 1
111+
maxUnavailable: 0
112+
type: RollingUpdate
113+
template:
114+
metadata:
115+
labels:
116+
app.kubernetes.io/component: provisioner
117+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
118+
app.kubernetes.io/part-of: container-object-storage-interface
119+
spec:
120+
containers:
121+
- envFrom:
122+
- secretRef:
123+
name: objectstorage-provisioner
124+
image: quay.io/containerobjectstorage/objectstorage-sample-driver
125+
imagePullPolicy: IfNotPresent
126+
name: objectstorage-sample-driver
127+
resources:
128+
limits:
129+
cpu: 1
130+
memory: 1Gi
131+
requests:
132+
cpu: 100m
133+
memory: 100Mi
134+
- env:
135+
- name: CONNECT_ADDRESS
136+
valueFrom:
137+
secretKeyRef:
138+
key: LISTEN_ADDRESS
139+
name: objectstorage-provisioner
140+
image: quay.io/containerobjectstorage/objectstorage-provisioner-sidecar
141+
imagePullPolicy: IfNotPresent
142+
name: objectstorage-provisioner-sidecar
143+
resources:
144+
limits:
145+
cpu: 1
146+
memory: 1Gi
147+
requests:
148+
cpu: 100m
149+
memory: 100Mi
150+
serviceAccountName: objectstorage-provisioner-sa

deploy/base/rbac.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
kind: ClusterRole
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
metadata:
5+
name: objectstorage-provisioner-role
6+
namespace: objectstorage-provisioner-ns
7+
labels:
8+
app.kubernetes.io/part-of: container-object-storage-interface
9+
app.kubernetes.io/component: provisioner
10+
app.kubernetes.io/version: main
11+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
12+
rules:
13+
- apiGroups: ["objectstorage.k8s.io"]
14+
resources: ["buckets", "bucketaccess"]
15+
verbs: ["get", "list", "watch", "update", "create", "delete"]
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-provisioner-role-binding
24+
namespace: objectstorage-provisioner-ns
25+
labels:
26+
app.kubernetes.io/part-of: container-object-storage-interface
27+
app.kubernetes.io/component: provisioner
28+
app.kubernetes.io/version: main
29+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
30+
subjects:
31+
- kind: ServiceAccount
32+
name: objectstorage-provisioner-sa
33+
namespace: objectstorage-provisioner-ns
34+
roleRef:
35+
kind: ClusterRole
36+
name: objectstorage-provisioner-role
37+
apiGroup: rbac.authorization.k8s.io

deploy/base/sa.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: objectstorage-provisioner-sa
6+
namespace: objectstorage-provisioner-ns
7+
labels:
8+
app.kubernetes.io/part-of: container-object-storage-interface
9+
app.kubernetes.io/component: provisioner
10+
app.kubernetes.io/version: main
11+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar

deploy/base/secret.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: objectstorage-provisioner
6+
namespace: objectstorage-provisioner-ns
7+
labels:
8+
app.kubernetes.io/part-of: container-object-storage-interface
9+
app.kubernetes.io/component: provisioner
10+
app.kubernetes.io/version: main
11+
app.kubernetes.io/name: container-object-storage-interface-provisioner-sidecar
12+
type: Opaque
13+
stringData:
14+
LISTEN_ADDRESS: 0.0.0.0:9000
15+
data:
16+
# set to space
17+
S3_ENDPOINT: IA==
18+
ACCESS_KEY: IA==
19+
SECRET_KEY: IA==

0 commit comments

Comments
 (0)