forked from Trow-Registry/trow
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrow.yaml
144 lines (143 loc) · 2.62 KB
/
trow.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: kube-public
name: trow
labels:
app: trow
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
namespace: kube-public
name: trow
labels:
app: trow
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- patch
- get
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
namespace: kube-public
name: trow
labels:
app: trow
rules:
- apiGroups:
- certificates.k8s.io
resources:
- certificatesigningrequests
verbs:
- create
- get
- watch
- delete
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
namespace: kube-public
name: trow
labels:
app: trow
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: trow
subjects:
- kind: ServiceAccount
name: trow
namespace: kube-public
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
namespace: kube-public
name: trow
labels:
app: trow
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: trow
subjects:
- kind: ServiceAccount
name: trow
namespace: kube-public
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: trow-deploy
namespace: kube-public
spec:
selector:
matchLabels:
app: trow
template:
metadata:
labels:
app: trow
spec:
serviceAccountName: trow
containers:
- name: trow-pod
image: containersol/trow:default
args: ["-n", "trow:31000 trow.kube-public:31000"]
imagePullPolicy: Always
ports:
- containerPort: 8443
volumeMounts:
- mountPath: /certs
name: cert-vol
- mountPath: /data
name: data-vol
initContainers:
- name: trow-init
image: containersol/trow:init
imagePullPolicy: Always
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
volumeMounts:
- mountPath: /certs
name: cert-vol
volumes:
- name: cert-vol
emptyDir:
medium: Memory
- name: data-vol
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: trow
namespace: kube-public
spec:
selector:
app: trow
type: NodePort
ports:
- protocol: TCP
port: 443
targetPort: 8443
nodePort: 31000