feat: add homepage

This commit is contained in:
2026-03-16 17:41:09 +01:00
parent 1342f6e528
commit f5f96fcb29
7 changed files with 128 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: homepage
namespace: flux-system
spec:
interval: 10m0s
path: ./clusters/homelab/homepage
prune: true
sourceRef:
kind: GitRepository
name: flux-system
+25
View File
@@ -0,0 +1,25 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: homepage-config
namespace: homepage
data:
settings.yaml: |
title: Homelab
theme: dark
color: slate
services.yaml: |
- Infrastruktur:
- Longhorn:
href: http://longhorn.net-scope.org
description: Storage
bookmarks.yaml: |
[]
widgets.yaml: |
- greeting:
text_size: xl
text: "Homelab"
docker.yaml: |
[]
kubernetes.yaml: |
mode: cluster
+35
View File
@@ -0,0 +1,35 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: homepage
namespace: homepage
spec:
replicas: 1
selector:
matchLabels:
app: homepage
template:
metadata:
labels:
app: homepage
spec:
serviceAccountName: homepage
containers:
- name: homepage
image: ghcr.io/gethomepage/homepage:latest
ports:
- containerPort: 3000
volumeMounts:
- name: config
mountPath: /app/config
resources:
requests:
memory: "128Mi"
cpu: "10m"
limits:
memory: "256Mi"
cpu: "200m"
volumes:
- name: config
configMap:
name: homepage-config
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- rbac.yaml
- configmap.yaml
- deployment.yaml
- service.yaml
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: homepage
+33
View File
@@ -0,0 +1,33 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: homepage
namespace: homepage
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: homepage
rules:
- apiGroups: [""]
resources: ["namespaces", "pods", "nodes"]
verbs: ["get", "list"]
- apiGroups: ["extensions", "networking.k8s.io"]
resources: ["ingresses"]
verbs: ["get", "list"]
- apiGroups: ["metrics.k8s.io"]
resources: ["nodes", "pods"]
verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: homepage
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: homepage
subjects:
- kind: ServiceAccount
name: homepage
namespace: homepage
+11
View File
@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: homepage
namespace: homepage
spec:
selector:
app: homepage
ports:
- port: 3000
targetPort: 3000