Skip to content

Commit 4380aa9

Browse files
committed
docs: initial kubernetes manifests
1 parent 765a2ba commit 4380aa9

File tree

1 file changed

+164
-0
lines changed

1 file changed

+164
-0
lines changed

manifests/ccm.yaml

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
---
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: oxide-cloud-controller-manager
6+
namespace: kube-system
7+
spec:
8+
replicas: 1
9+
selector:
10+
matchLabels:
11+
app: oxide-cloud-controller-manager
12+
template:
13+
metadata:
14+
labels:
15+
app: oxide-cloud-controller-manager
16+
spec:
17+
dnsPolicy: Default
18+
hostNetwork: true
19+
serviceAccountName: oxide-cloud-controller-manager
20+
priorityClassName: system-cluster-critical
21+
tolerations:
22+
- key: "node.cloudprovider.kubernetes.io/uninitialized"
23+
value: "true"
24+
effect: "NoSchedule"
25+
- key: "CriticalAddonsOnly"
26+
operator: "Exists"
27+
- key: "node-role.kubernetes.io/control-plane"
28+
effect: NoSchedule
29+
containers:
30+
- image: docker.io/sudomateo/oxide-cloud-controller-manager:latest
31+
name: oxide-cloud-controller-manager
32+
command:
33+
- "/usr/bin/oxide-cloud-controller-manager"
34+
- "--cloud-provider=oxide"
35+
- "--allow-untagged-cloud=true" # TODO: Remove.
36+
resources:
37+
requests:
38+
cpu: 100m
39+
memory: 50Mi
40+
env:
41+
- name: OXIDE_HOST
42+
valueFrom:
43+
configMapKeyRef:
44+
name: oxide-cloud-controller-manager
45+
key: oxide-host
46+
- name: OXIDE_TOKEN
47+
valueFrom:
48+
secretKeyRef:
49+
name: oxide-cloud-controller-manager
50+
key: oxide-token
51+
- name: OXIDE_PROJECT
52+
valueFrom:
53+
configMapKeyRef:
54+
name: oxide-cloud-controller-manager
55+
key: oxide-project
56+
---
57+
apiVersion: v1
58+
kind: ServiceAccount
59+
metadata:
60+
name: oxide-cloud-controller-manager
61+
namespace: kube-system
62+
---
63+
apiVersion: rbac.authorization.k8s.io/v1
64+
kind: ClusterRole
65+
metadata:
66+
annotations:
67+
rbac.authorization.kubernetes.io/autoupdate: "true"
68+
name: system:oxide-cloud-controller-manager
69+
rules:
70+
- apiGroups:
71+
- coordination.k8s.io
72+
resources:
73+
- leases
74+
verbs:
75+
- get
76+
- watch
77+
- list
78+
- create
79+
- update
80+
- delete
81+
- apiGroups:
82+
- ""
83+
resources:
84+
- events
85+
verbs:
86+
- create
87+
- patch
88+
- update
89+
- apiGroups:
90+
- ""
91+
resources:
92+
- nodes
93+
verbs:
94+
- '*'
95+
- apiGroups:
96+
- ""
97+
resources:
98+
- nodes/status
99+
verbs:
100+
- patch
101+
- apiGroups:
102+
- ""
103+
resources:
104+
- services
105+
verbs:
106+
- list
107+
- patch
108+
- update
109+
- watch
110+
- apiGroups:
111+
- ""
112+
resources:
113+
- services/status
114+
verbs:
115+
- list
116+
- patch
117+
- update
118+
- watch
119+
- apiGroups:
120+
- ""
121+
resources:
122+
- serviceaccounts
123+
verbs:
124+
- create
125+
- apiGroups:
126+
- ""
127+
resources:
128+
- persistentvolumes
129+
verbs:
130+
- get
131+
- list
132+
- update
133+
- watch
134+
- apiGroups:
135+
- ""
136+
resources:
137+
- endpoints
138+
verbs:
139+
- create
140+
- get
141+
- list
142+
- watch
143+
- update
144+
- apiGroups:
145+
- ""
146+
resources:
147+
- configmaps
148+
verbs:
149+
- get
150+
- list
151+
- watch
152+
---
153+
kind: ClusterRoleBinding
154+
apiVersion: rbac.authorization.k8s.io/v1
155+
metadata:
156+
name: system:oxide-cloud-controller-manager
157+
roleRef:
158+
apiGroup: rbac.authorization.k8s.io
159+
kind: ClusterRole
160+
name: system:oxide-cloud-controller-manager
161+
subjects:
162+
- kind: ServiceAccount
163+
name: oxide-cloud-controller-manager
164+
namespace: kube-system

0 commit comments

Comments
 (0)