Skip to content

Commit 2f90606

Browse files
authored
Merge pull request #9620 from zalando-incubator/sandbox-controller-deployment
feat: Add sandbox controller configuration, disabled by default.
2 parents 6c20d7a + 54bfe8c commit 2f90606

File tree

5 files changed

+158
-0
lines changed

5 files changed

+158
-0
lines changed

cluster/config-defaults.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1291,3 +1291,6 @@ aws_vpc_cni_network_policy_enforcing_mode: "standard"
12911291
# aws-load-balancer-controller resource settings
12921292
aws_load_balancer_controller_cpu: "100m"
12931293
aws_load_balancer_controller_mem_max: "4Gi"
1294+
1295+
# configure if sandbox-controller should be deployed
1296+
sandbox_controller_enabled: "false"

cluster/manifests/deletions.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,11 @@ post_apply:
297297
kind : Deployment
298298
namespace: wiz
299299
{{- end }}
300+
{{ if ne .Cluster.ConfigItems.sandbox_controller_enabled "true" }}
301+
- name: sandbox-controller
302+
namespace: kube-system
303+
kind: Deployment
304+
{{ end }}
300305
{{- if and (ne .Cluster.ConfigItems.wiz_enable_runtime_connector_broker "true") (ne .Cluster.ConfigItems.wiz_enable_runtime_connector "true") }}
301306
- name: wiz-connector-connector
302307
kind : Secret
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{{ if eq .Cluster.ConfigItems.sandbox_controller_enabled "true" }}
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
name: sandboxes.zalando.org
6+
spec:
7+
group: zalando.org
8+
names:
9+
kind: Sandbox
10+
plural: sandboxes
11+
singular: sandbox
12+
shortNames:
13+
- sb
14+
scope: Namespaced
15+
versions:
16+
- name: v1
17+
served: true
18+
storage: true
19+
schema:
20+
openAPIV3Schema:
21+
type: object
22+
properties:
23+
spec:
24+
type: object
25+
required:
26+
- testContext
27+
- sourceHosts
28+
- target
29+
properties:
30+
testContext:
31+
type: string
32+
sourceHosts:
33+
type: array
34+
items:
35+
type: string
36+
target:
37+
type: string
38+
{{ end }}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{{ if eq .Cluster.ConfigItems.sandbox_controller_enabled "true" }}
2+
3+
apiVersion: v1
4+
kind: ServiceAccount
5+
metadata:
6+
name: sandbox-controller
7+
namespace: kube-system
8+
labels:
9+
application: sandbox-controller
10+
component: sandbox-controller
11+
---
12+
apiVersion: rbac.authorization.k8s.io/v1
13+
kind: ClusterRole
14+
metadata:
15+
name: sandbox-controller
16+
labels:
17+
application: sandbox-controller
18+
component: sandbox-controller
19+
rules:
20+
- apiGroups:
21+
- zalando.org
22+
resources:
23+
- sandboxes
24+
verbs:
25+
- get
26+
- list
27+
- watch
28+
- apiGroups:
29+
- zalando.org
30+
resources:
31+
- routegroups
32+
verbs:
33+
- list
34+
- watch
35+
- get
36+
- create
37+
- update
38+
- patch
39+
- delete
40+
- apiGroups:
41+
- networking.k8s.io
42+
resources:
43+
- ingresses
44+
verbs:
45+
- list
46+
- watch
47+
- get
48+
- create
49+
- update
50+
- patch
51+
- delete
52+
---
53+
apiVersion: rbac.authorization.k8s.io/v1
54+
kind: ClusterRoleBinding
55+
metadata:
56+
name: sandbox-controller
57+
labels:
58+
application: sandbox-controller
59+
component: sandbox-controller
60+
roleRef:
61+
apiGroup: rbac.authorization.k8s.io
62+
kind: ClusterRole
63+
name: sandbox-controller
64+
subjects:
65+
- kind: ServiceAccount
66+
name: sandbox-controller
67+
namespace: kube-system
68+
{{ end }}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# {{ $image := "container-registry.zalando.net/gwproxy/sandbox-controller:main-8" }}
2+
# {{ $version := index (split $image ":") 1 }}
3+
4+
{{ if eq .Cluster.ConfigItems.sandbox_controller_enabled "true" }}
5+
apiVersion: apps/v1
6+
kind: Deployment
7+
metadata:
8+
name: sandbox-controller
9+
namespace: kube-system
10+
labels:
11+
application: sandbox-controller
12+
version: "{{ $version }}"
13+
spec:
14+
replicas: 1
15+
selector:
16+
matchLabels:
17+
application: sandbox-controller
18+
template:
19+
metadata:
20+
labels:
21+
application: sandbox-controller
22+
version: "{{ $version }}"
23+
annotations:
24+
kubernetes-log-watcher/scalyr-parser: |
25+
[{"container": "controller", "parser": "keyValue"}]
26+
logging/destination: "{{ .Cluster.ConfigItems.log_destination_both }}"
27+
# no metrics exposed so far
28+
# prometheus.io/path: /metrics
29+
# prometheus.io/port: "7979"
30+
# prometheus.io/scrape: "true"
31+
spec:
32+
priorityClassName: "{{ .Cluster.ConfigItems.system_priority_class }}"
33+
serviceAccountName: sandbox-controller
34+
containers:
35+
- name: controller
36+
image: "{{ $image }}"
37+
resources:
38+
limits:
39+
cpu: 50m
40+
memory: 0.3Gi
41+
requests:
42+
cpu: 50m
43+
memory: 0.3Gi
44+
{{ end }}

0 commit comments

Comments
 (0)