feat(cyberchef): added initial chart

This commit is contained in:
jklein committed 2026-03-17 17:33:47 +01:00
1 parent eefc9345cf
commit 07e036de72
6 files changed
+121

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
+11
View File
@@ -0,0 +1,11 @@
apiVersion: v2
name: cyberchef
description: A Helm chart to deploy Cyberchef on Kubernetes
type: application
version: 1.0.0+up10.22.1
appVersion: "10.22.1"
maintainers:
- name: jklein
@@ -0,0 +1,36 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
labels:
app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
spec:
replicas: 1
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
template:
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
labels:
app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
spec:
automountServiceAccountToken: false
containers:
- name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
image: "ghcr.io/gchq/cyberchef:{{ .Chart.AppVersion }}"
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
protocol: TCP
name: http
resources:
requests:
memory: "{{ .Values.cyberchef.resources.requests.memory }}"
cpu: "{{ .Values.cyberchef.resources.requests.cpu }}"
ephemeral-storage: "{{ .Values.cyberchef.resources.requests.ephemeralStorage }}"
limits:
memory: "{{ .Values.cyberchef.resources.limits.memory }}"
cpu: "{{ .Values.cyberchef.resources.limits.cpu }}"
ephemeral-storage: "{{ .Values.cyberchef.resources.limits.ephemeralStorage }}"
restartPolicy: Always
@@ -0,0 +1,23 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}--ingress
annotations:
cert-manager.io/cluster-issuer: {{ required "A Cluster-Issuer must be provided" .Values.ingress.clusterIssuer}}
spec:
ingressClassName: nginx
rules:
- host: {{ required "A Domain/Host must be provided" .Values.ingress.domain }}
http:
paths:
- backend:
service:
name: {{ .Release.Name }}-{{ .Chart.Name }}-service
port:
name: http
path: /
pathType: Prefix
tls:
- hosts:
- {{ required "A Domain/Host must be provided" .Values.ingress.domain }}
secretName: tls-{{ .Release.Name }}-{{ .Chart.Name }}-ingress
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}-service
spec:
selector:
app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment
ports:
- protocol: TCP
port: 80
targetPort: http
name: http
type: ClusterIP
+15
View File
@@ -0,0 +1,15 @@
cyberchef:
resources:
requests:
cpu: 0.1
memory: 512Mi
ephemeralStorage: 10Mi
limits:
cpu: 1
memory: 768Mi
ephemeralStorage: 100Mi
ingress:
enabled: true
clusterIssuer: letsencrypt
domain: null