summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Luha <rasmus.luha@ut.ee>2026-05-30 17:53:29 +0300
committerRasmus Luha <rasmus.luha@ut.ee>2026-05-30 17:53:29 +0300
commit188a8eafd139f4cc15cf39584f9092e464a2fdf0 (patch)
treeb10cd29b0ab1fc112968c3049bae99f50b0d2802
init commit - heimdall running
-rw-r--r--.gitignore2
-rw-r--r--README.md7
-rw-r--r--apps/heimdall/deployment.yaml37
-rw-r--r--apps/heimdall/ingress.yaml19
-rw-r--r--apps/heimdall/notes.txt2
-rw-r--r--apps/heimdall/pvc.yaml12
-rw-r--r--apps/heimdall/service.yaml13
-rw-r--r--roadmap.md35
-rw-r--r--setup_script.sh9
9 files changed, 136 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bd6fd88
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+links.txt
+roadmap.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8fd14ee
--- /dev/null
+++ b/README.md
@@ -0,0 +1,7 @@
+## Prerequisites
+docker
+kubectl
+k3d
+
+
+## TODO
diff --git a/apps/heimdall/deployment.yaml b/apps/heimdall/deployment.yaml
new file mode 100644
index 0000000..38b4122
--- /dev/null
+++ b/apps/heimdall/deployment.yaml
@@ -0,0 +1,37 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: heimdall
+ namespace: heimdall
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: heimdall
+ template:
+ metadata:
+ labels:
+ app: heimdall
+ spec:
+ containers:
+ - name: heimdall
+ image: lscr.io/linuxserver/heimdall:latest
+ ports:
+ - containerPort: 80
+ volumeMounts:
+ - name: heimdall-config
+ mountPath: /config
+ env:
+ - name: PUID
+ value: "1000"
+ - name: PGID
+ value: "1000"
+ #volumes:
+ #- name: heimdall-config
+ # hostPath:
+ # path: ./heimdall-config
+ # type: DirectoryOrCreate
+ volumes:
+ - name: heimdall-config
+ persistentVolumeClaim:
+ claimName: heimdall-pvc
diff --git a/apps/heimdall/ingress.yaml b/apps/heimdall/ingress.yaml
new file mode 100644
index 0000000..407afd5
--- /dev/null
+++ b/apps/heimdall/ingress.yaml
@@ -0,0 +1,19 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: heimdall-ingress
+ namespace: heimdall
+spec:
+ ingressClassName: nginx
+ rules:
+ - http:
+ paths:
+ - path: /
+ pathType: Prefix
+
+ backend:
+ service:
+ name: heimdall-service
+
+ port:
+ number: 80
diff --git a/apps/heimdall/notes.txt b/apps/heimdall/notes.txt
new file mode 100644
index 0000000..76c832a
--- /dev/null
+++ b/apps/heimdall/notes.txt
@@ -0,0 +1,2 @@
+Basic docker command:
+sudo docker run --name=heimdall -d -v ./config:/config -e PGID=1000 -e PUID=1000 -p 8090:80 -p 8443:443 lscr.io/linuxserver/heimdall:latest
diff --git a/apps/heimdall/pvc.yaml b/apps/heimdall/pvc.yaml
new file mode 100644
index 0000000..4bb3b60
--- /dev/null
+++ b/apps/heimdall/pvc.yaml
@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: heimdall-pvc
+ namespace: heimdall
+spec:
+ accessModes:
+ - ReadWriteOnce
+ storageClassName: local-path # k3d's built-in provisioner
+ resources:
+ requests:
+ storage: 1Gi
diff --git a/apps/heimdall/service.yaml b/apps/heimdall/service.yaml
new file mode 100644
index 0000000..f3ad504
--- /dev/null
+++ b/apps/heimdall/service.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: heimdall-service
+ namespace: heimdall
+spec:
+ selector:
+ app: heimdall
+ ports:
+ - protocol: TCP
+ port: 80
+ targetPort: 80
+ type: ClusterIP
diff --git a/roadmap.md b/roadmap.md
new file mode 100644
index 0000000..ee7e667
--- /dev/null
+++ b/roadmap.md
@@ -0,0 +1,35 @@
+Laptop (Fedora)
+ |_ Docker
+ |_ k3d cluster
+ |_ ingress-nginx
+ sample app
+ ArgoCD
+ Prometheus/Grafana
+ CI/CD
+
+
+homelab-platform/
+├── README.md
+├── docs/
+│ ├── architecture.md
+│ ├── networking.md
+│ └── troubleshooting.md
+├── bootstrap/
+│ ├── create-cluster.sh
+│ └── install-argocd.sh
+├── clusters/
+│ └── local-dev/
+│ ├── apps.yaml
+│ └── infra.yaml
+├── apps/
+│ ├── sample-app/
+│ └── whoami/
+├── infrastructure/
+│ ├── ingress-nginx/
+│ ├── prometheus/
+│ ├── grafana/
+│ └── argocd/
+├── helm-values/
+├── scripts/
+├── .github/workflows/
+└── screenshots/
diff --git a/setup_script.sh b/setup_script.sh
new file mode 100644
index 0000000..222037d
--- /dev/null
+++ b/setup_script.sh
@@ -0,0 +1,9 @@
+## Create cluster
+k3d cluster create mycluster --agents 2 -p "8080:80@loadbalancer" --k3s-arg "--disable=traefik@server:*"
+
+## Install ingress
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml
+
+
+## Create namespaces
+kubectl creat ns heimdall