From ece9c82bc68e6841c4015323419a488279577fc2 Mon Sep 17 00:00:00 2001 From: Ryan Cavicchioni Date: Sun, 29 Jun 2025 15:20:47 -0500 Subject: [PATCH] put all of kubernaut's configuration in this repo --- kubernaut/base/configmap.yaml | 8 +++++ kubernaut/base/cronjob.yaml | 19 ++++++++++++ kubernaut/base/deployment.yaml | 51 +++++++++++++++++++++++++++++++ kubernaut/base/hpa.yaml | 19 ++++++++++++ kubernaut/base/kustomization.yaml | 7 ++++- kubernaut/base/namespace.yaml | 7 +++++ kubernaut/base/services.yaml | 12 ++++++++ 7 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 kubernaut/base/configmap.yaml create mode 100644 kubernaut/base/cronjob.yaml create mode 100644 kubernaut/base/deployment.yaml create mode 100644 kubernaut/base/hpa.yaml create mode 100644 kubernaut/base/namespace.yaml create mode 100644 kubernaut/base/services.yaml diff --git a/kubernaut/base/configmap.yaml b/kubernaut/base/configmap.yaml new file mode 100644 index 0000000..6fcac53 --- /dev/null +++ b/kubernaut/base/configmap.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: kubernaut-configmap + namespace: kubernaut +data: + KUBERNAUT_CAT: kilwin diff --git a/kubernaut/base/cronjob.yaml b/kubernaut/base/cronjob.yaml new file mode 100644 index 0000000..f0fc716 --- /dev/null +++ b/kubernaut/base/cronjob.yaml @@ -0,0 +1,19 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + name: kubernaut +spec: + schedule: "* * * * *" + jobTemplate: + spec: + template: + spec: + containers: + - name: hello + image: busybox:1.37 + imagePullPolicy: IfNotPresent + command: + - /bin/sh + - -c + - echo "=^.^= <(meow)" + restartPolicy: OnFailure diff --git a/kubernaut/base/deployment.yaml b/kubernaut/base/deployment.yaml new file mode 100644 index 0000000..daea7ae --- /dev/null +++ b/kubernaut/base/deployment.yaml @@ -0,0 +1,51 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kubernaut + annotations: + reloader.stakater.com/auto: "true" +spec: + selector: + matchLabels: + app: kubernaut + template: + metadata: + labels: + app: kubernaut + spec: + containers: + - name: kubernaut + image: git.kill0.net/ryanc/kubernaut:0.2.3 + imagePullPolicy: IfNotPresent + ports: + - name: sinatra-web + containerPort: 4567 + env: + - name: KUBERNAUT_SESSION_SECRET + valueFrom: + secretKeyRef: + name: kubernaut + key: session_secret + optional: true + - name: KUBERNAUT_JWT_SECRET + valueFrom: + secretKeyRef: + name: kubernaut + key: jwt_secret + optional: true + envFrom: + - configMapRef: + name: kubernaut-configmap + livenessProbe: + httpGet: + path: /livez + port: 4567 + initialDelaySeconds: 3 + periodSeconds: 3 + readinessProbe: + httpGet: + path: /readyz + port: 4567 + initialDelaySeconds: 5 + periodSeconds: 5 diff --git a/kubernaut/base/hpa.yaml b/kubernaut/base/hpa.yaml new file mode 100644 index 0000000..e8dfdd2 --- /dev/null +++ b/kubernaut/base/hpa.yaml @@ -0,0 +1,19 @@ +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: kubernaut +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: kubernaut + minReplicas: 2 + maxReplicas: 5 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 50 diff --git a/kubernaut/base/kustomization.yaml b/kubernaut/base/kustomization.yaml index d56bfa2..dd47aec 100644 --- a/kubernaut/base/kustomization.yaml +++ b/kubernaut/base/kustomization.yaml @@ -3,5 +3,10 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: kubernaut resources: - - https://git.kill0.net/ryanc/kubernaut/kustomize + - namespace.yaml + - configmap.yaml + - deployment.yaml + - hpa.yaml + - services.yaml + - cronjob.yaml - ingress.yaml diff --git a/kubernaut/base/namespace.yaml b/kubernaut/base/namespace.yaml new file mode 100644 index 0000000..b50e36c --- /dev/null +++ b/kubernaut/base/namespace.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: kubernaut + labels: {} + diff --git a/kubernaut/base/services.yaml b/kubernaut/base/services.yaml new file mode 100644 index 0000000..82ddc58 --- /dev/null +++ b/kubernaut/base/services.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: kubernaut +spec: + ports: + - name: web + port: 80 + targetPort: sinatra-web + selector: + app: kubernaut