add homepage as a deployment
This commit is contained in:
parent
ece9faa60c
commit
a4fe0a7fe4
98
apps/homepage/configmap.yaml
Normal file
98
apps/homepage/configmap.yaml
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: config
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: homepage
|
||||||
|
data:
|
||||||
|
kubernetes.yaml: "" #|
|
||||||
|
# mode: cluster
|
||||||
|
settings.yaml: |
|
||||||
|
title: "Homepage"
|
||||||
|
background: https://images.unsplash.com/photo-1547327132-5d20850c62b5?q=80&w=3870&auto=format&fit=crop
|
||||||
|
cardBlur: sm
|
||||||
|
#settings.yaml: |
|
||||||
|
# providers:
|
||||||
|
# longhorn:
|
||||||
|
# url: https://longhorn.my.network
|
||||||
|
custom.css: ""
|
||||||
|
custom.js: ""
|
||||||
|
bookmarks.yaml: |
|
||||||
|
- Developer:
|
||||||
|
- Github:
|
||||||
|
- abbr: GH
|
||||||
|
href: https://github.com/moll-re
|
||||||
|
services.yaml: |
|
||||||
|
- Media:
|
||||||
|
- Jellyfin backend:
|
||||||
|
href: https://media-backend.kluster.moll.re
|
||||||
|
ping: media-backend.kluster.moll.re
|
||||||
|
- Jellyfin vue:
|
||||||
|
href: https://media.kluster.moll.re
|
||||||
|
ping: media.kluster.moll.re
|
||||||
|
- Immich:
|
||||||
|
href: https://immich.kluster.moll.re
|
||||||
|
ping: immich.kluster.moll.re
|
||||||
|
|
||||||
|
- Productivity:
|
||||||
|
- OwnCloud:
|
||||||
|
href: https://ocis.kluster.moll.re
|
||||||
|
ping: ocis.kluster.moll.re
|
||||||
|
- ToDo:
|
||||||
|
href: https://todos.kluster.moll.re
|
||||||
|
ping: todos.kluster.moll.re
|
||||||
|
- Finance:
|
||||||
|
href: https://finance.kluster.moll.re
|
||||||
|
ping: finance.kluster.moll.re
|
||||||
|
|
||||||
|
- Home:
|
||||||
|
- Home Assistant:
|
||||||
|
href: https://home.kluster.moll.re
|
||||||
|
ping: home.kluster.moll.re
|
||||||
|
- Grafana:
|
||||||
|
href: https://grafana.kluster.moll.re
|
||||||
|
ping: grafana.kluster.moll.re
|
||||||
|
- Recipes:
|
||||||
|
href: https://recipes.kluster.moll.re
|
||||||
|
ping: recipes.kluster.moll.re
|
||||||
|
|
||||||
|
- Infra:
|
||||||
|
- Gitea:
|
||||||
|
href: https://git.kluster.moll.re
|
||||||
|
ping: git.kluster.moll.re
|
||||||
|
- ArgoCD:
|
||||||
|
href: https://argocd.kluster.moll.re
|
||||||
|
ping: argocd.kluster.moll.re
|
||||||
|
|
||||||
|
widgets.yaml: |
|
||||||
|
# - kubernetes:
|
||||||
|
# cluster:
|
||||||
|
# show: true
|
||||||
|
# cpu: true
|
||||||
|
# memory: true
|
||||||
|
# showLabel: true
|
||||||
|
# label: "cluster"
|
||||||
|
# nodes:
|
||||||
|
# show: true
|
||||||
|
# cpu: true
|
||||||
|
# memory: true
|
||||||
|
# showLabel: true
|
||||||
|
- search:
|
||||||
|
provider: duckduckgo
|
||||||
|
- openmeteo:
|
||||||
|
label: Zürich # optional
|
||||||
|
latitude: 47.24236
|
||||||
|
longitude: 8.30439
|
||||||
|
units: metric # or imperial
|
||||||
|
cache: 30 # Time in minutes to cache API responses, to stay within limits
|
||||||
|
format: # optional, Intl.NumberFormat options
|
||||||
|
maximumFractionDigits: 1
|
||||||
|
- datetime:
|
||||||
|
locale: de
|
||||||
|
format:
|
||||||
|
dateStyle: long
|
||||||
|
timeStyle: short
|
||||||
|
- adguard:
|
||||||
|
url: http://adguard-home-web.adguard-home:3000
|
||||||
|
|
||||||
|
docker.yaml: ""
|
64
apps/homepage/deployment.yaml
Normal file
64
apps/homepage/deployment.yaml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: homepage
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: homepage
|
||||||
|
spec:
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: homepage
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: homepage
|
||||||
|
spec:
|
||||||
|
# serviceAccountName: homepage
|
||||||
|
# automountServiceAccountToken: true
|
||||||
|
dnsPolicy: ClusterFirst
|
||||||
|
# enableServiceLinks: true
|
||||||
|
containers:
|
||||||
|
- name: homepage
|
||||||
|
image: homepage
|
||||||
|
imagePullPolicy: Always
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 3000
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /app/config/custom.js
|
||||||
|
name: config
|
||||||
|
subPath: custom.js
|
||||||
|
- mountPath: /app/config/custom.css
|
||||||
|
name: config
|
||||||
|
subPath: custom.css
|
||||||
|
- mountPath: /app/config/bookmarks.yaml
|
||||||
|
name: config
|
||||||
|
subPath: bookmarks.yaml
|
||||||
|
- mountPath: /app/config/docker.yaml
|
||||||
|
name: config
|
||||||
|
subPath: docker.yaml
|
||||||
|
- mountPath: /app/config/kubernetes.yaml
|
||||||
|
name: config
|
||||||
|
subPath: kubernetes.yaml
|
||||||
|
- mountPath: /app/config/services.yaml
|
||||||
|
name: config
|
||||||
|
subPath: services.yaml
|
||||||
|
- mountPath: /app/config/settings.yaml
|
||||||
|
name: config
|
||||||
|
subPath: settings.yaml
|
||||||
|
- mountPath: /app/config/widgets.yaml
|
||||||
|
name: config
|
||||||
|
subPath: widgets.yaml
|
||||||
|
- mountPath: /app/config/logs
|
||||||
|
name: logs
|
||||||
|
volumes:
|
||||||
|
- name: config
|
||||||
|
configMap:
|
||||||
|
name: config
|
||||||
|
- name: logs
|
||||||
|
emptyDir: {}
|
16
apps/homepage/ingress.yaml
Normal file
16
apps/homepage/ingress.yaml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: homepage-ingressroute
|
||||||
|
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`start.kluster.moll.re`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: homepage-web
|
||||||
|
port: 3000
|
||||||
|
tls:
|
||||||
|
certResolver: default-tls
|
17
apps/homepage/kustomization.yaml
Normal file
17
apps/homepage/kustomization.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
namespace: homepage
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- deployment.yaml
|
||||||
|
- service.yaml
|
||||||
|
- configmap.yaml
|
||||||
|
- ingress.yaml
|
||||||
|
|
||||||
|
|
||||||
|
images:
|
||||||
|
- name: homepage
|
||||||
|
newName: ghcr.io/gethomepage/homepage
|
||||||
|
newTag: v0.8.11
|
4
apps/homepage/namespace.yaml
Normal file
4
apps/homepage/namespace.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: placeholder
|
15
apps/homepage/service.yaml
Normal file
15
apps/homepage/service.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: homepage-web
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: homepage
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: 3000
|
||||||
|
targetPort: http
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: homepage
|
19
kluster-deployments/homepage/application.yaml
Normal file
19
kluster-deployments/homepage/application.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: homepage-application
|
||||||
|
namespace: argocd
|
||||||
|
|
||||||
|
spec:
|
||||||
|
project: apps
|
||||||
|
source:
|
||||||
|
repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
|
||||||
|
targetRevision: main
|
||||||
|
path: apps/homepage
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: homepage
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
@ -28,6 +28,7 @@ resources:
|
|||||||
- files/
|
- files/
|
||||||
- finance/
|
- finance/
|
||||||
- homeassistant/
|
- homeassistant/
|
||||||
|
- homepage/application.yaml
|
||||||
- immich/
|
- immich/
|
||||||
- journal/
|
- journal/
|
||||||
- media/
|
- media/
|
||||||
|
@ -18,5 +18,5 @@ spec:
|
|||||||
prune: true
|
prune: true
|
||||||
selfHeal: true
|
selfHeal: true
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- Replace=true
|
- Replace=true
|
||||||
# because the crds exceed the default 256Ki limit
|
# because the crd annotations exceed the default 256Ki limit
|
Loading…
x
Reference in New Issue
Block a user