Replace Hajimari with Homepage (#1127)
* feat: replace hajimari with homepage * fix: add secret * fix: homepage configmap kubernetes widget Signed-off-by: Jory Irving <jory@jory.dev> * feat: wrap annotations in blocks * chore: homepage change ingress to internal Signed-off-by: Jory Irving <jory@jory.dev> --------- Signed-off-by: Jory Irving <jory@jory.dev>
This commit is contained in:
1 parent
d093d0a4e1
commit
ee5de426a4
19 files changed
+230
-94
No files matched your search
@@ -0,0 +1,77 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: homepage-config
|
||||
labels:
|
||||
app.kubernetes.io/name: homepage
|
||||
data:
|
||||
bookmarks.yaml: |
|
||||
- Communitcate:
|
||||
- Discord:
|
||||
- icon: discord.png # https://github.com/walkxcode/dashboard-icons
|
||||
href: 'https://discord.com/app'
|
||||
- Media:
|
||||
- YouTube:
|
||||
- icon: youtube.png
|
||||
href: 'https://youtube.com/feed/subscriptions'
|
||||
- Reading:
|
||||
- Reddit:
|
||||
- icon: reddit.png
|
||||
href: 'https://reddit.com'
|
||||
- Git:
|
||||
- kubesearch:
|
||||
- icon: kubernetes-dashboard.png
|
||||
href: 'https://kubesearch.dev/'
|
||||
- flux-cluster-template:
|
||||
- icon: github.png
|
||||
href: 'https://github.com/onedr0p/flux-cluster-template'
|
||||
docker.yaml: ""
|
||||
kubernetes.yaml: |
|
||||
mode: cluster
|
||||
services.yaml: |
|
||||
- Network:
|
||||
- Cloudflared:
|
||||
href: https://dash.cloudflare.com/
|
||||
icon: cloudflare-zero-trust.png
|
||||
description: Cloudflared Tunnel
|
||||
widget:
|
||||
type: cloudflared
|
||||
accountid: {{HOMEPAGE_VAR_CLOUDFLARED_ACCOUNTID}}
|
||||
tunnelid: {{HOMEPAGE_VAR_CLOUDFLARED_TUNNELID}}
|
||||
key: {{HOMEPAGE_VAR_CLOUDFLARED_API_TOKEN}}
|
||||
settings.yaml: |
|
||||
title: Dashboard
|
||||
theme: dark
|
||||
color: slate
|
||||
headerStyle: clean
|
||||
layout:
|
||||
Home:
|
||||
style: column
|
||||
icon: mdi-home-analytics
|
||||
Network:
|
||||
style: row
|
||||
columns: 3
|
||||
icon: mdi-server
|
||||
Observability:
|
||||
style: column
|
||||
icon: mdi-chart-line
|
||||
widgets.yaml: |
|
||||
- resources:
|
||||
backend: kubernetes
|
||||
cpu: true
|
||||
expanded: true
|
||||
memory: true
|
||||
- search:
|
||||
provider: [duckduckgo]
|
||||
focus: false
|
||||
target: _blank
|
||||
- greeting:
|
||||
text_size: xl
|
||||
text: "Welcome!"
|
||||
- datetime:
|
||||
text_size: l
|
||||
format:
|
||||
dateStyle: long
|
||||
timeStyle: short
|
||||
hourCycle: h23
|
||||
@@ -0,0 +1,88 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: homepage
|
||||
spec:
|
||||
interval: 30m
|
||||
chart:
|
||||
spec:
|
||||
chart: app-template
|
||||
version: 2.4.0
|
||||
interval: 30m
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: bjw-s
|
||||
namespace: flux-system
|
||||
maxHistory: 2
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
controllers:
|
||||
main:
|
||||
annotations:
|
||||
reloader.stakater.com/auto: "true"
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/gethomepage/homepage
|
||||
tag: v0.8.4
|
||||
env:
|
||||
TZ: "${TIMEZONE}"
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: homepage-secret
|
||||
resources:
|
||||
requests:
|
||||
cpu: 15m
|
||||
memory: 100M
|
||||
limits:
|
||||
memory: 250M
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
port: 3000
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
className: internal
|
||||
hosts:
|
||||
- host: &host home.${SECRET_DOMAIN}
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
service:
|
||||
name: main
|
||||
port: http
|
||||
tls:
|
||||
- hosts:
|
||||
- *host
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
type: configMap
|
||||
name: homepage-config
|
||||
globalMounts:
|
||||
- subPath: bookmarks.yaml
|
||||
path: /app/config/bookmarks.yaml
|
||||
- subPath: docker.yaml
|
||||
path: /app/config/docker.yaml
|
||||
- subPath: kubernetes.yaml
|
||||
path: /app/config/kubernetes.yaml
|
||||
- subPath: services.yaml
|
||||
path: /app/config/services.yaml
|
||||
- subPath: settings.yaml
|
||||
path: /app/config/settings.yaml
|
||||
- subPath: widgets.yaml
|
||||
path: /app/config/widgets.yaml
|
||||
serviceAccount:
|
||||
create: true
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ./configmap.yaml
|
||||
- ./helmrelease.yaml
|
||||
- ./secret.sops.yaml
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: homepage-secret
|
||||
stringData:
|
||||
HOMEPAGE_VAR_CLOUDFLARED_ACCOUNTID: "{{ bootstrap_cloudflare_account_tag }}"
|
||||
HOMEPAGE_VAR_CLOUDFLARED_TUNNELID: "{{ bootstrap_cloudflare_tunnel_id }}"
|
||||
HOMEPAGE_VAR_CLOUDFLARED_API_TOKEN: "{{ bootstrap_cloudflare_token }}"
|
||||
HOMEPAGE_VAR_GRAFANA_USERNAME: admin
|
||||
HOMEPAGE_VAR_GRAFANA_PASSWORD: "{{ grafana.password }}"
|
||||
Reference in new issue
Block a user