Skip to content

Commit 24349b4

Browse files
committed
feat: basic kustomize support
1 parent a332b2b commit 24349b4

File tree

3 files changed

+122
-0
lines changed

3 files changed

+122
-0
lines changed

kustomize/kustomization.yaml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
4+
namespace: getting-started
5+
6+
resources:
7+
- rbac.yaml
8+
- server.yaml
9+
10+
labels:
11+
- includeSelectors: true
12+
pairs:
13+
app.kubernetes.io/name: kty
14+
app.kubernetes.io/part-of: kty

kustomize/rbac.yaml

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
apiVersion: rbac.authorization.k8s.io/v1
3+
kind: ClusterRole
4+
metadata:
5+
name: kty-server
6+
labels:
7+
app.kubernetes.io/component: server
8+
rules:
9+
- apiGroups: ['']
10+
resources:
11+
- users
12+
- groups
13+
verbs:
14+
- impersonate
15+
- apiGroups:
16+
- kty.dev
17+
resources:
18+
- keys
19+
- keys/status
20+
verbs: ['*']
21+
- apiGroups:
22+
- apiextensions.k8s.io
23+
resources:
24+
- customresourcedefinitions
25+
verbs:
26+
- create
27+
- patch
28+
resourceNames:
29+
- keys.kty.dev
30+
---
31+
apiVersion: rbac.authorization.k8s.io/v1
32+
kind: ClusterRoleBinding
33+
metadata:
34+
name: kty-server
35+
labels:
36+
app.kubernetes.io/component: server
37+
subjects:
38+
- kind: ServiceAccount
39+
name: kty-server
40+
roleRef:
41+
kind: ClusterRole
42+
name: kty-server
43+
apiGroup: rbac.authorization.k8s.io

kustomize/server.yaml

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: kty-server
6+
labels:
7+
app.kubernetes.io/component: server
8+
---
9+
apiVersion: v1
10+
kind: Service
11+
metadata:
12+
name: server
13+
spec:
14+
type: LoadBalancer
15+
ports:
16+
- port: 2222
17+
selector:
18+
app.kubernetes.io/component: server
19+
---
20+
apiVersion: apps/v1
21+
kind: Deployment
22+
metadata:
23+
name: server
24+
spec:
25+
replicas: 1
26+
selector:
27+
matchLabels:
28+
app.kubernetes.io/component: server
29+
template:
30+
metadata:
31+
labels:
32+
app.kubernetes.io/component: server
33+
annotations:
34+
prometheus.io/scrape: 'true'
35+
prometheus.io/path: /metrics
36+
prometheus.io/port: '8080'
37+
38+
spec:
39+
serviceAccountName: kty-server
40+
41+
containers:
42+
- name: server
43+
image: gcr.io/grampelberg/kty:latest
44+
45+
command: ['kty']
46+
args:
47+
- serve
48+
- -vv
49+
- --address=0.0.0.0
50+
- --key=/etc/kty/key/id_ed25519
51+
52+
env:
53+
- name: POD_UID
54+
valueFrom:
55+
fieldRef:
56+
fieldPath: metadata.uid
57+
58+
livenessProbe:
59+
httpGet:
60+
path: /metrics
61+
port: 8080
62+
readinessProbe:
63+
httpGet:
64+
path: /metrics
65+
port: 8080

0 commit comments

Comments
 (0)