diff --git a/devops-tools-box/charts/devops-tools-box/Chart.yaml b/devops-tools-box/charts/devops-tools-box/Chart.yaml new file mode 100644 index 0000000..53bed68 --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v2 +name: devops-tools-box +description: A self-hosted DevOps utility toolbox +version: 0.1.0 +appVersion: "1.0" diff --git a/devops-tools-box/charts/devops-tools-box/templates/ansible-pod.yaml b/devops-tools-box/charts/devops-tools-box/templates/ansible-pod.yaml new file mode 100644 index 0000000..d9adf09 --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/templates/ansible-pod.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Pod +metadata: + name: ansible-bastion + namespace: devops-tools +spec: + containers: + - name: ansible + image: {{ .Values.ansible.image }} + command: ["/bin/bash"] + args: ["-c", "apt update && apt install -y ansible awscli vim && tail -f /dev/null"] diff --git a/devops-tools-box/charts/devops-tools-box/templates/drawio-deployment.yaml b/devops-tools-box/charts/devops-tools-box/templates/drawio-deployment.yaml new file mode 100644 index 0000000..4bac1b0 --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/templates/drawio-deployment.yaml @@ -0,0 +1,32 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: drawio + namespace: devops-tools +spec: + replicas: 1 + selector: + matchLabels: + app: drawio + template: + metadata: + labels: + app: drawio + spec: + containers: + - name: drawio + image: {{ .Values.drawio.image }} + ports: + - containerPort: {{ .Values.drawio.port }} +--- +apiVersion: v1 +kind: Service +metadata: + name: drawio + namespace: devops-tools +spec: + selector: + app: drawio + ports: + - port: 80 + targetPort: {{ .Values.drawio.port }} diff --git a/devops-tools-box/charts/devops-tools-box/templates/jupyter-deployment.yaml b/devops-tools-box/charts/devops-tools-box/templates/jupyter-deployment.yaml new file mode 100644 index 0000000..532d0bc --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/templates/jupyter-deployment.yaml @@ -0,0 +1,27 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jupyter + namespace: devops-tools +spec: + replicas: 1 + selector: + matchLabels: + app: jupyter + template: + metadata: + labels: + app: jupyter + spec: + containers: + - name: jupyter + image: {{ .Values.jupyter.image }} + ports: + - containerPort: {{ .Values.jupyter.port }} + volumeMounts: + - name: notebook-storage + mountPath: /home/jovyan/work + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: jupyter-pvc diff --git a/devops-tools-box/charts/devops-tools-box/templates/jupyter-pvc.yaml b/devops-tools-box/charts/devops-tools-box/templates/jupyter-pvc.yaml new file mode 100644 index 0000000..9b48ced --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/templates/jupyter-pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: jupyter-pvc + namespace: devops-tools +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: {{ .Values.jupyter.storage }} diff --git a/devops-tools-box/charts/devops-tools-box/templates/jupyter-service.yaml b/devops-tools-box/charts/devops-tools-box/templates/jupyter-service.yaml new file mode 100644 index 0000000..25befee --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/templates/jupyter-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: jupyter + namespace: devops-tools +spec: + selector: + app: jupyter + ports: + - port: 80 + targetPort: {{ .Values.jupyter.port }} diff --git a/devops-tools-box/charts/devops-tools-box/templates/namespace.yaml b/devops-tools-box/charts/devops-tools-box/templates/namespace.yaml new file mode 100644 index 0000000..b16f0c3 --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/templates/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: devops-tools diff --git a/devops-tools-box/charts/devops-tools-box/templates/privatebin-deployment.yaml b/devops-tools-box/charts/devops-tools-box/templates/privatebin-deployment.yaml new file mode 100644 index 0000000..1650d6c --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/templates/privatebin-deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: privatebin + namespace: devops-tools +spec: + replicas: 1 + selector: + matchLabels: + app: privatebin + template: + metadata: + labels: + app: privatebin + spec: + containers: + - name: privatebin + image: {{ .Values.privatebin.image }} + ports: + - containerPort: {{ .Values.privatebin.port }} diff --git a/devops-tools-box/charts/devops-tools-box/templates/privatebin-service.yaml b/devops-tools-box/charts/devops-tools-box/templates/privatebin-service.yaml new file mode 100644 index 0000000..5973dcd --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/templates/privatebin-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: privatebin + namespace: devops-tools +spec: + selector: + app: privatebin + ports: + - port: 80 + targetPort: {{ .Values.privatebin.port }} diff --git a/devops-tools-box/charts/devops-tools-box/values.yaml b/devops-tools-box/charts/devops-tools-box/values.yaml new file mode 100644 index 0000000..77ec4b0 --- /dev/null +++ b/devops-tools-box/charts/devops-tools-box/values.yaml @@ -0,0 +1,15 @@ +drawio: + image: jgraph/drawio + port: 8080 + +jupyter: + image: jupyter/base-notebook + port: 8888 + storage: 1Gi + +ansible: + image: ubuntu:22.04 + +privatebin: + image: privatebin/nginx-fpm-alpine + port: 8080