aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Anshul Gupta <ansg191@anshulg.com> 2025-09-08 13:39:54 -0700
committerGravatar Anshul Gupta <ansg191@anshulg.com> 2025-09-08 13:55:57 -0700
commit1eb451c67fc9d0399fc4811dd8f45e5ff6663be2 (patch)
treed809a399fed4dea3f04ef6bf23be83a93c13012a
parentbe602d4097c6343017b07a5ded184d832530545c (diff)
downloadanshulg-cluster-1eb451c67fc9d0399fc4811dd8f45e5ff6663be2.tar.gz
anshulg-cluster-1eb451c67fc9d0399fc4811dd8f45e5ff6663be2.tar.zst
anshulg-cluster-1eb451c67fc9d0399fc4811dd8f45e5ff6663be2.zip
Add `glance`
Diffstat (limited to '')
-rw-r--r--rpi5/apps/templates/glance.yaml24
-rw-r--r--rpi5/blocky/unbound/a-records.conf1
-rw-r--r--rpi5/blocky/unbound/config.yaml1
-rw-r--r--rpi5/glance/config/glance.yml12
-rw-r--r--rpi5/glance/config/home.yml85
-rw-r--r--rpi5/glance/kustomization.yaml43
-rw-r--r--rpi5/glance/patch-deployment.yaml5
-rw-r--r--rpi5/glance/patch-deployment2.yaml26
-rw-r--r--rpi5/glance/patch-service.yaml9
9 files changed, 206 insertions, 0 deletions
diff --git a/rpi5/apps/templates/glance.yaml b/rpi5/apps/templates/glance.yaml
new file mode 100644
index 00000000..88aa6943
--- /dev/null
+++ b/rpi5/apps/templates/glance.yaml
@@ -0,0 +1,24 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: glance
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: glance
+ namespace: argocd
+ finalizers:
+ - resources-finalizer.argocd.argoproj.io
+spec:
+ destination:
+ server: {{ .Values.spec.destination.server }}
+ namespace: glance
+ project: default
+ source:
+ repoURL: {{ .Values.spec.source.repoURL }}
+ targetRevision: {{ .Values.spec.source.branch }}
+ path: rpi5/glance
+ syncPolicy:
+ automated:
+ prune: true
diff --git a/rpi5/blocky/unbound/a-records.conf b/rpi5/blocky/unbound/a-records.conf
index f71d52f6..22398cac 100644
--- a/rpi5/blocky/unbound/a-records.conf
+++ b/rpi5/blocky/unbound/a-records.conf
@@ -7,6 +7,7 @@
local-data: "calibre.internal. A 192.168.1.100"
local-data: "web.calibre.internal. A 192.168.1.100"
local-data: "dashboard.blocky.internal. A 192.168.1.100"
+ local-data: "glance.internal. A 192.168.1.100"
local-data: "homepage.internal. A 192.168.1.100"
local-data: "huginn.internal. A 192.168.1.100"
local-data: "jellyfin.internal. A 192.168.1.100"
diff --git a/rpi5/blocky/unbound/config.yaml b/rpi5/blocky/unbound/config.yaml
index 308dc783..0bd4c38d 100644
--- a/rpi5/blocky/unbound/config.yaml
+++ b/rpi5/blocky/unbound/config.yaml
@@ -10,6 +10,7 @@ data:
local-data: "calibre.internal. A 192.168.1.100"
local-data: "web.calibre.internal. A 192.168.1.100"
local-data: "dashboard.blocky.internal. A 192.168.1.100"
+ local-data: "glance.internal. A 192.168.1.100"
local-data: "homepage.internal. A 192.168.1.100"
local-data: "huginn.internal. A 192.168.1.100"
local-data: "jellyfin.internal. A 192.168.1.100"
diff --git a/rpi5/glance/config/glance.yml b/rpi5/glance/config/glance.yml
new file mode 100644
index 00000000..8ae0be64
--- /dev/null
+++ b/rpi5/glance/config/glance.yml
@@ -0,0 +1,12 @@
+#server:
+# assets-path: /app/assets
+
+#theme:
+ # Note: assets are cached by the browser, changes to the CSS file
+ # will not be reflected until the browser cache is cleared (Ctrl+F5)
+# custom-css-file: /assets/user.css
+
+pages:
+ # It's not necessary to create a new file for each page and include it, you can simply
+ # put its contents here, though multiple pages are easier to manage when separated
+ - $include: home.yml
diff --git a/rpi5/glance/config/home.yml b/rpi5/glance/config/home.yml
new file mode 100644
index 00000000..624074c8
--- /dev/null
+++ b/rpi5/glance/config/home.yml
@@ -0,0 +1,85 @@
+- name: Home
+ # Optionally, if you only have a single page you can hide the desktop navigation for a cleaner look
+ hide-desktop-navigation: true
+ columns:
+ - size: small
+ widgets:
+ - type: calendar
+ first-day-of-week: monday
+
+ - type: rss
+ limit: 10
+ collapse-after: 3
+ cache: 12h
+ feeds:
+ - url: https://selfh.st/rss/
+ title: selfh.st
+ - url: https://ciechanow.ski/atom.xml
+ - url: https://www.joshwcomeau.com/rss.xml
+ title: Josh Comeau
+ - url: https://samwho.dev/rss.xml
+ - url: https://ishadeed.com/feed.xml
+ title: Ahmad Shadeed
+
+ - type: twitch-channels
+ channels:
+ - caedrel
+ - lck
+ - riotgames
+
+ - size: full
+ widgets:
+ - type: group
+ widgets:
+ - type: hacker-news
+ - type: lobsters
+
+ - type: videos
+ channels:
+ - UCS0N5baNlQWJCUrhCEo8WlA # Ben Eater
+ - UCJ0-OtVpF0wOKEqT2Z1HEtA # ElectroBOOM
+ - UCNIuvl7V8zACPpTmmNIqP2A # OverSimplified
+ - UCQD3awTLw9i8Xzh85FKsuJA # SovietWomble
+ - UCimiUgDLbi6P17BdaCZpVbg # exurb1a
+
+ - type: group
+ widgets:
+ - type: reddit
+ subreddit: technology
+ show-thumbnails: true
+ - type: reddit
+ subreddit: selfhosted
+ show-thumbnails: true
+
+ - size: small
+ widgets:
+ - type: weather
+ location: Irvine, United States
+ units: imperial
+ hour-format: 12h
+ # Optionally hide the location from being displayed in the widget
+ # hide-location: true
+
+ - type: markets
+ markets:
+ - symbol: SPY
+ name: S&P 500
+# - symbol: BTC-USD
+# name: Bitcoin
+ - symbol: NVDA
+ name: NVIDIA
+ - symbol: AAPL
+ name: Apple
+ - symbol: MSFT
+ name: Microsoft
+
+ - type: releases
+ cache: 1d
+ # Without authentication the Github API allows for up to 60 requests per hour. You can create a
+ # read-only token from your Github account settings and use it here to increase the limit.
+ # token: ...
+ repositories:
+ - glanceapp/glance
+ - go-gitea/gitea
+ - immich-app/immich
+ - syncthing/syncthing
diff --git a/rpi5/glance/kustomization.yaml b/rpi5/glance/kustomization.yaml
new file mode 100644
index 00000000..6d6a2e32
--- /dev/null
+++ b/rpi5/glance/kustomization.yaml
@@ -0,0 +1,43 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
+resources:
+ - ../../kustomize/base
+ - ../../kustomize/workloads/deployment
+
+components:
+ - ../../kustomize/components/ingress
+ - ../../kustomize/components/security-context
+ - ../../kustomize/components/tailscale
+
+namePrefix: glance-
+labels:
+ - pairs:
+ app.kubernetes.io/name: glance
+ includeSelectors: true
+
+images:
+ - name: busybox
+ newName: glanceapp/glance
+ newTag: v0.8.4@sha256:6df86a7e8868d1eda21f35205134b1962c422957e42a0c44d4717c8e8f741b1a
+
+configMapGenerator:
+ - name: domain-config
+ literals:
+ - DOMAIN=glance.internal
+ - TS_HOST=glance
+ - name: glance-config
+ files:
+ - glance.yml=config/glance.yml
+ - home.yml=config/home.yml
+
+patches:
+ - target:
+ kind: Deployment
+ path: patch-deployment.yaml
+ - target:
+ kind: Deployment
+ path: patch-deployment2.yaml
+ - target:
+ kind: Service
+ path: patch-service.yaml
diff --git a/rpi5/glance/patch-deployment.yaml b/rpi5/glance/patch-deployment.yaml
new file mode 100644
index 00000000..76801112
--- /dev/null
+++ b/rpi5/glance/patch-deployment.yaml
@@ -0,0 +1,5 @@
+- op: replace
+ path: /spec/template/spec/containers/0/ports
+ value:
+ - containerPort: 8080
+ protocol: TCP
diff --git a/rpi5/glance/patch-deployment2.yaml b/rpi5/glance/patch-deployment2.yaml
new file mode 100644
index 00000000..7052e116
--- /dev/null
+++ b/rpi5/glance/patch-deployment2.yaml
@@ -0,0 +1,26 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: empty
+spec:
+ replicas: 3
+ template:
+ spec:
+ containers:
+ - name: app
+ volumeMounts:
+ - name: config
+ mountPath: /app/config
+ readinessProbe:
+ httpGet:
+ port: 8080
+ path: /api/healthz
+ livenessProbe:
+ httpGet:
+ port: 8080
+ path: /api/healthz
+ initialDelaySeconds: 30
+ volumes:
+ - name: config
+ configMap:
+ name: glance-config
diff --git a/rpi5/glance/patch-service.yaml b/rpi5/glance/patch-service.yaml
new file mode 100644
index 00000000..b0e8d61e
--- /dev/null
+++ b/rpi5/glance/patch-service.yaml
@@ -0,0 +1,9 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: empty
+spec:
+ ports:
+ - protocol: TCP
+ port: 80
+ targetPort: 8080