Skip to content

Commit 1674d7f

Browse files
committed
feat: add sa role
Signed-off-by: Brad McCoy <[email protected]>
1 parent 0f23e36 commit 1674d7f

File tree

4 files changed

+347
-6
lines changed

4 files changed

+347
-6
lines changed

.github/workflows/release-helm-chart.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Release Charts
22
on:
33
push:
44
branches:
5-
- main1
5+
- main
66
paths:
77
- 'charts/**'
88

charts/cdevents-controller/templates/serviceaccount.yaml

Lines changed: 62 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,66 @@ metadata:
55
name: {{ template "cdevents-controller.serviceAccountName" . }}
66
labels:
77
{{- include "cdevents-controller.labels" . | nindent 4 }}
8-
{{- with .Values.serviceAccount.imagePullSecrets }}
9-
imagePullSecrets:
10-
{{- toYaml . | nindent 2 }}
118
{{- end -}}
12-
{{- end -}}
9+
---
10+
apiVersion: rbac.authorization.k8s.io/v1
11+
kind: ClusterRole
12+
metadata:
13+
name: {{ include "cdevents-controller.serviceAccountName" . }}
14+
rules:
15+
- apiGroups:
16+
- ""
17+
resources:
18+
- pods
19+
- configmaps
20+
- secrets
21+
verbs:
22+
- get
23+
- watch
24+
- list
25+
- delete
26+
- update
27+
- patch
28+
---
29+
apiVersion: rbac.authorization.k8s.io/v1
30+
kind: ClusterRoleBinding
31+
metadata:
32+
name: {{ include "cdevents-controller.serviceAccountName" . }}
33+
roleRef:
34+
apiGroup: rbac.authorization.k8s.io
35+
kind: ClusterRole
36+
name: {{ include "cdevents-controller.serviceAccountName" . }}
37+
subjects:
38+
- kind: ServiceAccount
39+
name: {{ include "cdevents-controller.serviceAccountName" . }}
40+
---
41+
apiVersion: rbac.authorization.k8s.io/v1
42+
kind: Role
43+
metadata:
44+
name: {{ include "cdevents-controller.serviceAccountName" . }}
45+
rules:
46+
- apiGroups:
47+
- ""
48+
resources:
49+
- pods
50+
- configmaps
51+
- secrets
52+
verbs:
53+
- get
54+
- watch
55+
- list
56+
- delete
57+
- update
58+
- patch
59+
---
60+
apiVersion: rbac.authorization.k8s.io/v1
61+
kind: RoleBinding
62+
metadata:
63+
name: {{ include "cdevents-controller.serviceAccountName" . }}
64+
roleRef:
65+
apiGroup: rbac.authorization.k8s.io
66+
kind: Role
67+
name: {{ include "cdevents-controller.serviceAccountName" . }}
68+
subjects:
69+
- kind: ServiceAccount
70+
name: {{ include "cdevents-controller.serviceAccountName" . }}

mainfests.yaml

Lines changed: 283 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,283 @@
1+
NAME: cdevents-controller-1685448372
2+
LAST DEPLOYED: Tue May 30 22:06:13 2023
3+
NAMESPACE: metabase
4+
STATUS: pending-install
5+
REVISION: 1
6+
HOOKS:
7+
---
8+
# Source: cdevents-controller/templates/tests/grpc.yaml
9+
apiVersion: v1
10+
kind: Pod
11+
metadata:
12+
name: cdevents-controller-1685448372-grpc-test-wcmk4
13+
labels:
14+
helm.sh/chart: cdevents-controller-0.0.4
15+
app.kubernetes.io/name: cdevents-controller-1685448372
16+
app.kubernetes.io/version: "0.0.4"
17+
app.kubernetes.io/managed-by: Helm
18+
annotations:
19+
"helm.sh/hook": test-success
20+
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
21+
sidecar.istio.io/inject: "false"
22+
linkerd.io/inject: disabled
23+
appmesh.k8s.aws/sidecarInjectorWebhook: disabled
24+
spec:
25+
containers:
26+
- name: grpc-health-probe
27+
image: bradmccoydev/grpc_health_probe:v0.3.0
28+
command: ['grpc_health_probe']
29+
args: ['-addr=cdevents-controller-1685448372.metabase:9999']
30+
restartPolicy: Never
31+
---
32+
# Source: cdevents-controller/templates/tests/jwt.yaml
33+
apiVersion: v1
34+
kind: Pod
35+
metadata:
36+
name: cdevents-controller-1685448372-jwt-test-bwi75
37+
labels:
38+
helm.sh/chart: cdevents-controller-0.0.4
39+
app.kubernetes.io/name: cdevents-controller-1685448372
40+
app.kubernetes.io/version: "0.0.4"
41+
app.kubernetes.io/managed-by: Helm
42+
annotations:
43+
"helm.sh/hook": test-success
44+
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
45+
sidecar.istio.io/inject: "false"
46+
linkerd.io/inject: disabled
47+
appmesh.k8s.aws/sidecarInjectorWebhook: disabled
48+
spec:
49+
containers:
50+
- name: tools
51+
image: giantswarm/tiny-tools
52+
command:
53+
- sh
54+
- -c
55+
- |
56+
TOKEN=$(curl -sd 'test' ${cdevents-controller_SVC}/token | jq -r .token) &&
57+
curl -sH "Authorization: Bearer ${TOKEN}" ${cdevents-controller_SVC}/token/validate | grep test
58+
env:
59+
- name: cdevents-controller_SVC
60+
value: "cdevents-controller-1685448372.metabase:9898"
61+
restartPolicy: Never
62+
---
63+
# Source: cdevents-controller/templates/tests/service.yaml
64+
apiVersion: v1
65+
kind: Pod
66+
metadata:
67+
name: cdevents-controller-1685448372-service-test-oq1lu
68+
labels:
69+
helm.sh/chart: cdevents-controller-0.0.4
70+
app.kubernetes.io/name: cdevents-controller-1685448372
71+
app.kubernetes.io/version: "0.0.4"
72+
app.kubernetes.io/managed-by: Helm
73+
annotations:
74+
"helm.sh/hook": test-success
75+
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
76+
sidecar.istio.io/inject: "false"
77+
linkerd.io/inject: disabled
78+
appmesh.k8s.aws/sidecarInjectorWebhook: disabled
79+
spec:
80+
containers:
81+
- name: curl
82+
image: curlimages/curl:7.69.0
83+
command:
84+
- sh
85+
- -c
86+
- |
87+
curl -s ${cdevents-controller_SVC}/api/info | grep version
88+
env:
89+
- name: cdevents-controller_SVC
90+
value: "cdevents-controller-1685448372.metabase:9898"
91+
restartPolicy: Never
92+
MANIFEST:
93+
---
94+
# Source: cdevents-controller/templates/serviceaccount.yaml
95+
apiVersion: rbac.authorization.k8s.io/v1
96+
kind: ClusterRole
97+
metadata:
98+
name: default
99+
rules:
100+
- apiGroups:
101+
- ""
102+
resources:
103+
- pods
104+
- configmaps
105+
- secrets
106+
verbs:
107+
- get
108+
- watch
109+
- list
110+
- delete
111+
- update
112+
- patch
113+
---
114+
# Source: cdevents-controller/templates/serviceaccount.yaml
115+
apiVersion: rbac.authorization.k8s.io/v1
116+
kind: ClusterRoleBinding
117+
metadata:
118+
name: default
119+
roleRef:
120+
apiGroup: rbac.authorization.k8s.io
121+
kind: ClusterRole
122+
name: default
123+
subjects:
124+
- kind: ServiceAccount
125+
name: default
126+
---
127+
# Source: cdevents-controller/templates/serviceaccount.yaml
128+
apiVersion: rbac.authorization.k8s.io/v1
129+
kind: Role
130+
metadata:
131+
name: default
132+
rules:
133+
- apiGroups:
134+
- ""
135+
resources:
136+
- pods
137+
- configmaps
138+
- secrets
139+
verbs:
140+
- get
141+
- watch
142+
- list
143+
- delete
144+
- update
145+
- patch
146+
---
147+
# Source: cdevents-controller/templates/serviceaccount.yaml
148+
apiVersion: rbac.authorization.k8s.io/v1
149+
kind: RoleBinding
150+
metadata:
151+
name: default
152+
roleRef:
153+
apiGroup: rbac.authorization.k8s.io
154+
kind: Role
155+
name: default
156+
subjects:
157+
- kind: ServiceAccount
158+
name: default
159+
---
160+
# Source: cdevents-controller/templates/service.yaml
161+
apiVersion: v1
162+
kind: Service
163+
metadata:
164+
name: cdevents-controller-1685448372
165+
labels:
166+
helm.sh/chart: cdevents-controller-0.0.4
167+
app.kubernetes.io/name: cdevents-controller-1685448372
168+
app.kubernetes.io/version: "0.0.4"
169+
app.kubernetes.io/managed-by: Helm
170+
spec:
171+
type: ClusterIP
172+
ports:
173+
- port: 9898
174+
targetPort: http
175+
protocol: TCP
176+
name: http
177+
- port: 9999
178+
targetPort: grpc
179+
protocol: TCP
180+
name: grpc
181+
selector:
182+
app.kubernetes.io/name: cdevents-controller-1685448372
183+
---
184+
# Source: cdevents-controller/templates/deployment.yaml
185+
apiVersion: apps/v1
186+
kind: Deployment
187+
metadata:
188+
name: cdevents-controller-1685448372
189+
labels:
190+
helm.sh/chart: cdevents-controller-0.0.4
191+
app.kubernetes.io/name: cdevents-controller-1685448372
192+
app.kubernetes.io/version: "0.0.4"
193+
app.kubernetes.io/managed-by: Helm
194+
spec:
195+
replicas: 1
196+
strategy:
197+
type: RollingUpdate
198+
rollingUpdate:
199+
maxUnavailable: 1
200+
selector:
201+
matchLabels:
202+
app.kubernetes.io/name: cdevents-controller-1685448372
203+
template:
204+
metadata:
205+
labels:
206+
app.kubernetes.io/name: cdevents-controller-1685448372
207+
annotations:
208+
prometheus.io/scrape: "true"
209+
prometheus.io/port: "9898"
210+
spec:
211+
terminationGracePeriodSeconds: 30
212+
containers:
213+
- name: cdevents-controller
214+
image: "ghcr.io/bradmccoydev/cdevents-controller:0.0.1"
215+
imagePullPolicy: IfNotPresent
216+
command:
217+
- ./cdevents-controller
218+
- --port=9898
219+
- --cert-path=/data/cert
220+
- --port-metrics=9797
221+
- --grpc-port=9999
222+
- --grpc-service-name=cdevents-controller
223+
- --level=info
224+
- --random-delay=false
225+
- --random-error=false
226+
env:
227+
- name: cdevents-controller_MONGODB_URL
228+
valueFrom:
229+
secretKeyRef:
230+
name: mongodb
231+
key: mongodb-url
232+
- name: cdevents-controller_UI_COLOR
233+
value: "#34577c"
234+
ports:
235+
- name: http
236+
containerPort: 9898
237+
protocol: TCP
238+
- name: http-metrics
239+
containerPort: 9797
240+
protocol: TCP
241+
- name: grpc
242+
containerPort: 9999
243+
protocol: TCP
244+
livenessProbe:
245+
exec:
246+
command:
247+
- cdeventscli
248+
- check
249+
- http
250+
- localhost:9898/healthz
251+
initialDelaySeconds: 1
252+
timeoutSeconds: 5
253+
failureThreshold: 3
254+
successThreshold: 1
255+
periodSeconds: 10
256+
readinessProbe:
257+
exec:
258+
command:
259+
- cdeventscli
260+
- check
261+
- http
262+
- localhost:9898/readyz
263+
initialDelaySeconds: 1
264+
timeoutSeconds: 5
265+
failureThreshold: 3
266+
successThreshold: 1
267+
periodSeconds: 10
268+
volumeMounts:
269+
- name: data
270+
mountPath: /data
271+
resources:
272+
limits: null
273+
requests:
274+
cpu: 1m
275+
memory: 16Mi
276+
volumes:
277+
- name: data
278+
emptyDir: {}
279+
280+
NOTES:
281+
1. Get the application URL by running these commands:
282+
echo "Visit http://127.0.0.1:8080 to use your application"
283+
kubectl -n metabase port-forward deploy/cdevents-controller-1685448372 8080:9898

pkg/api/cdevent.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func (s *Server) cdEventHandler(w http.ResponseWriter, r *http.Request) {
6363

6464
result, err := collection.InsertOne(ctx, cdevent)
6565
if err != nil {
66-
log.Fatal(err)
66+
fmt.Printf("Error With Mongo: %s\n", err)
6767
}
6868

6969
fmt.Printf("Inserted document with _id: %v\n", result.InsertedID)

0 commit comments

Comments
 (0)