Skip to content

Commit 5333787

Browse files
committed
feat: create helm chart for zarf-agent
1 parent 19329ed commit 5333787

18 files changed

+146
-103
lines changed

packages/zarf-agent/agent-values.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
serviceAccount:
2+
name: zarf
3+
4+
clusterRole:
5+
name: service-viewer
6+
7+
clusterRoleBinding:
8+
name: service-viewer-binding
9+
10+
role:
11+
name: zarf-agent
12+
13+
roleBinding:
14+
name: zarf-agent-binding
15+
16+
secret:
17+
name: agent-hook-tls
18+
tlsCrt: "###ZARF_AGENT_CRT###"
19+
tlsKey: "###ZARF_AGENT_KEY###"
20+
21+
service:
22+
name: agent-hook
23+
24+
deployment:
25+
name: agent-hook
26+
replicaCount: 2
27+
28+
image:
29+
repository: "###ZARF_REGISTRY###/###ZARF_CONST_AGENT_IMAGE###"
30+
tag: "###ZARF_CONST_AGENT_IMAGE_TAG###"
31+
pullSecret: private-registry
32+
33+
resources:
34+
requests:
35+
memory: "32Mi"
36+
cpu: "100m"
37+
limits:
38+
memory: "128Mi"
39+
cpu: "500m"
40+
41+
affinity: {}
42+
tolerations: []

packages/zarf-agent/chart/Chart.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: v1
2+
description: Zarf agent
3+
name: zarf-agent
4+
version: 1.0.0
5+
6+
maintainers:
7+
- name: The Zarf Authors
8+
url: https://zarf.dev
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
name: {{ .Values.clusterRole.name }}
5+
rules:
6+
- apiGroups:
7+
- ""
8+
resources:
9+
- services
10+
verbs:
11+
- get
12+
- list
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRoleBinding
3+
metadata:
4+
name: {{ .Values.clusterRoleBinding.name }}
5+
roleRef:
6+
apiGroup: rbac.authorization.k8s.io
7+
kind: ClusterRole
8+
name: {{ .Values.clusterRole.name }}
9+
subjects:
10+
- kind: ServiceAccount
11+
name: {{ .Values.serviceAccount.name }}
12+
namespace: {{ .Release.Namespace }}

packages/zarf-agent/manifests/deployment.yaml renamed to packages/zarf-agent/chart/templates/deployment.yaml

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
4-
name: agent-hook
5-
namespace: zarf
4+
name: {{ .Values.deployment.name }}
5+
namespace: {{ .Release.Namespace }}
66
labels:
77
app: agent-hook
88
spec:
9-
replicas: 2
9+
replicas: {{ .Values.deployment.replicaCount }}
1010
selector:
1111
matchLabels:
1212
app: agent-hook
1313
template:
1414
metadata:
1515
labels:
1616
app: agent-hook
17-
# Don't mutate this pod, that would be sad times
1817
zarf.dev/agent: ignore
1918
spec:
2019
imagePullSecrets:
21-
- name: private-registry
20+
- name: {{ .Values.image.pullSecret }}
2221
priorityClassName: system-node-critical
23-
serviceAccountName: zarf
24-
# Security context to comply with restricted PSS
22+
serviceAccountName: {{ .Values.serviceAccount.name }}
2523
securityContext:
2624
runAsUser: 65532
2725
fsGroup: 65532
2826
runAsGroup: 65532
2927
seccompProfile:
3028
type: "RuntimeDefault"
29+
affinity: {{- toYaml .Values.affinity | nindent 8 }}
30+
tolerations: {{- toYaml .Values.tolerations | nindent 8 }}
3131
containers:
3232
- name: server
33-
image: "###ZARF_REGISTRY###/###ZARF_CONST_AGENT_IMAGE###:###ZARF_CONST_AGENT_IMAGE_TAG###"
33+
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
3434
imagePullPolicy: IfNotPresent
3535
livenessProbe:
3636
httpGet:
@@ -47,25 +47,23 @@ spec:
4747
drop: ["ALL"]
4848
resources:
4949
requests:
50-
memory: "32Mi"
51-
cpu: "100m"
50+
memory: {{ .Values.resources.requests.memory }}
51+
cpu: {{ .Values.resources.requests.cpu }}
5252
limits:
53-
memory: "128Mi"
54-
cpu: "500m"
53+
memory: {{ .Values.resources.limits.memory }}
54+
cpu: {{ .Values.resources.limits.cpu }}
5555
volumeMounts:
5656
- name: tls-certs
5757
mountPath: /etc/certs
5858
readOnly: true
59-
# Required for OpenShift to mount k9s vendored directories
6059
- name: config
6160
mountPath: /.config
6261
- name: xdg
6362
mountPath: /etc/xdg
6463
volumes:
6564
- name: tls-certs
6665
secret:
67-
secretName: agent-hook-tls
68-
# Required for OpenShift to mount k9s vendored directories
66+
secretName: {{ .Values.secret.name }}
6967
- name: config
7068
emptyDir: {}
7169
- name: xdg
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
name: {{ .Values.role.name }}
5+
namespace: {{ .Release.Namespace }}
6+
rules:
7+
- apiGroups:
8+
- ""
9+
resources:
10+
- secrets
11+
verbs:
12+
- get
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: RoleBinding
3+
metadata:
4+
name: {{ .Values.roleBinding.name }}
5+
namespace: {{ .Release.Namespace }}
6+
roleRef:
7+
apiGroup: rbac.authorization.k8s.io
8+
kind: Role
9+
name: {{ .Values.role.name }}
10+
subjects:
11+
- kind: ServiceAccount
12+
name: {{ .Values.serviceAccount.name }}
13+
namespace: {{ .Release.Namespace }}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: v1
2+
kind: Secret
3+
metadata:
4+
name: {{ .Values.secret.name }}
5+
namespace: {{ .Release.Namespace }}
6+
type: kubernetes.io/tls
7+
data:
8+
tls.crt: {{ .Values.secret.tlsCrt | quote }}
9+
tls.key: {{ .Values.secret.tlsKey | quote }}

packages/zarf-agent/manifests/service.yaml renamed to packages/zarf-agent/chart/templates/service.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
apiVersion: v1
22
kind: Service
33
metadata:
4-
name: agent-hook
5-
namespace: zarf
4+
name: {{ .Values.service.name }}
5+
namespace: {{ .Release.Namespace }}
66
spec:
77
selector:
88
app: agent-hook
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: v1
2+
kind: ServiceAccount
3+
metadata:
4+
name: {{ .Values.serviceAccount.name }}
5+
namespace: {{ .Release.Namespace }}

0 commit comments

Comments
 (0)