Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(homepage): split config for easier migration #765

Open
wants to merge 20 commits into
base: main
Choose a base branch
from

Conversation

volschin
Copy link
Owner

@volschin volschin commented Sep 6, 2024

Copy link

github-actions bot commented Sep 6, 2024

--- kubernetes/apps/office/homepage/app Kustomization: flux-system/homepage ConfigMap: office/homepage

+++ kubernetes/apps/office/homepage/app Kustomization: flux-system/homepage ConfigMap: office/homepage

@@ -1,144 +1,191 @@

 ---
 apiVersion: v1
 data:
-  bookmarks.yaml: |
-    - Developer:
-      - Github:
-        - icon: github-light.png
-          href: https://github.com/
-      - Kubesearch:
-        - icon: kubernetes-dashboard.svg
-          href: https://kubesearch.dev/
-      - Terraform:
-        - icon: terraform.svg
-          href: https://volschin.app.spacelift.io/
-      - Homepage Documentation:
-        - icon: homepage.png
-          href: https://gethomepage.dev/
-      - ArtifactHUB:
-        - icon: https://avatars.githubusercontent.com/u/62354979?s=200&v=4
-          href: https://artifacthub.io/
-      - Flux documentation:
-        - icon: flux-cd.svg
-          href: https://fluxcd.io/flux/guides/
-      - Docker Hub:
-        - icon: docker-moby.svg
-          href: https://hub.docker.com/
-      - StepSecurity:
-        - icon: stepsecurity
-          href: https://app.stepsecurity.io/github/volschin/actions/dashboard
-      - FireHOL IP Blacklists:
-        - icon: /icons/firehol.png
-          href: https://iplists.firehol.org/
-      - PTB Uhr:
-        - icon: /icons/ptbuhr.png
-          href: https://uhr.ptb.de/
-  docker.yaml: ''
+  bookmarks.yaml: "---\n# For configuration options and examples, please see:\n# https://gethomepage.dev/en/configs/bookmarks\n\
+    \n- Developer:\n    - Github:\n        - icon: github-light.png\n          href:\
+    \ https://github.com/\n    - Terraform:\n        - icon: terraform.svg\n     \
+    \     href: https://volschin.app.spacelift.io/\n    - Homepage Documentation:\n\
+    \        - icon: homepage.png\n          href: https://gethomepage.dev/\n    -\
+    \ ArtifactHUB:\n        - icon: https://avatars.githubusercontent.com/u/62354979?s=200&v=4\n\
+    \          href: https://artifacthub.io/\n    - Flux documentation:\n        -\
+    \ icon: flux-cd.svg\n          href: https://fluxcd.io/flux/guides/\n    - K9S\
+    \ Cheatsheet:\n        - icon: https://www.hackingnote.com/images/square.png\n\
+    \          href: https://www.hackingnote.com/en/cheatsheets/k9s/\n    - Docker\
+    \ Hub:\n        - icon: docker-moby.svg\n          href: https://hub.docker.com/\n\
+    \    - StepSecurity:\n        - icon: stepsecurity\n          href: https://app.stepsecurity.io/github/volschin/actions/dashboard\n\
+    \    - FireHOL IP Blacklists:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/firehol.png\n\
+    \          href: https://iplists.firehol.org/\n    - PTB Uhr:\n        - icon:\
+    \ https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/ptbuhr.png\n\
+    \          href: https://uhr.ptb.de/\n    - NewReleases.io:\n        - icon: https://avatars.githubusercontent.com/u/40075515?s=200&v=4\n\
+    \          href: https://newreleases.io/projects?sort=added\n    - Withings API:\n\
+    \        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/withings.png\n\
+    \          href: https://developer.withings.com/oauth2/\n\n- Cloud:\n    - Digital\
+    \ Ocean:\n        - icon: digital-ocean.svg\n          href: https://cloud.olschinski.net\n\
+    \    - Hetzner:\n        - icon: hetzner.svg\n          href: https://console.hetzner.cloud/\n\
+    \    - OneDrive:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/onedrive.svg\n\
+    \          href: https://www.microsoft.com\n    - Pushover:\n        - icon: pushover.svg\n\
+    \          href: https://pushover.net\n    - Bitwarden Secrets Manager:\n    \
+    \    - icon: bitwarden.svg\n          href: https://vault.bitwarden.com/#/sm/c88b6319-29d6-409c-be53-b19000c78980\n\
+    \n- Social:\n    - Stromproduktion:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/energy-charts.jpg\n\
+    \          href: https://www.energy-charts.info/charts/power/chart.htm?l=de&c=DE&stacking=stacked_absolute_area&legendItems=001111111111111111111111111111111000001\n\
+    \    - Reddit:\n        - icon: reddit.svg\n          href: https://reddit.com/\n\
+    \    - YouTube:\n        - icon: youtube.svg\n          href: https://youtube.com/\n\
+    \    - Trakt:\n        - icon: trakt.svg\n          href: https://trakt.tv\n \
+    \   - XING:\n        - icon: https://w7.pngwing.com/pngs/895/622/png-transparent-logo-xing-logos-and-brands-icon.png\n\
+    \          href: https://www.xing.com/\n    - LinkedIn:\n        - icon: linkedin.svg\n\
+    \          href: https://www.linkedin.com/feed/\n    - Mastodon Gr\xFCne:\n  \
+    \      - icon: mastodon.svg\n          href: https://gruene.social/\n    - Telegram:\n\
+    \        - icon: telegram.svg\n          href: https://web.telegram.org/a/\n \
+    \   - Heimkino-Forum:\n        - abbr: HK\n          href: https://www.heimkinoverein.de/\n\
+    \    - HiFi-Forum:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/hifi-forum.png\n\
+    \          href: http://www.hifi-forum.de/index.php?action=ownposts\n    - FHEM\
+    \ Forum:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/fhem.png\n\
+    \          href: https://forum.fhem.de/index.php?action=unreadreplies\n\n- Webhosting:\n\
+    \    - MembersArea - All-Inkl:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/all-inkl.png\n\
+    \          href: https://all-inkl.com/members/index.php\n    - KAS - All-Inkl:\n\
+    \        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/all-inkl.png\n\
+    \          href: https://kas.all-inkl.com/\n    # xxx redacted\n    - Berlin Weather\
+    \ (weewx):\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/berlin-wappen.png\n\
+    \          href: https://tolxdorff.com/wetter/\n    - Feinstaub-Karte:\n     \
+    \   - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/luftdaten.png\n\
+    \          href: https://berlin.maps.luftdaten.info/\n    - WebTrees:\n      \
+    \  - icon: webtrees\n          href: https://www.webtrees.net/index.php/en\n\n\
+    - Post & Mail:\n    - PIN eBrief:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/ebrief1.png\n\
+    \          href: https://www.ebrief.de/\n    - DHL:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/dhl.svg\n\
+    \          href: https://dhl.de\n    - all-inkl Webmail:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/all-inkl.png\n\
+    \          href: https://webmail.all-inkl.com/index.php\n    - Proton Mail:\n\
+    \        - icon: proton-mail.svg\n          href: https://mail.proton.me\n   \
+    \ - WEB.DE Freemail:\n        - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/web-de.svg\n\
+    \          href: https://bap.navigator.web.de\n\n- Finanzen:\n    - comdirect:\n\
+    \        - icon: https://upload.wikimedia.org/wikipedia/commons/a/a7/Comdirect_Logo_10.2019.svg\n\
+    \          href: https://kunde.comdirect.de\n    - Meine Deutsche Bank:\n    \
+    \    - icon: https://upload.wikimedia.org/wikipedia/commons/7/7b/Deutsche_Bank_logo_without_wordmark.svg\n\
+    \          href: https://meine.deutsche-bank.de\n    - Scalable Capital:\n   \
+    \     - icon: https://avatars.githubusercontent.com/u/6443795?s=200&v=4\n    \
+    \      href: https://de.scalable.capital/broker\n    - Mitarbeiter-Aktien:\n \
+    \       - icon: https://raw.githubusercontent.com/volschin/home-ops/main/docs/assets/icons/sop.svg\n\
+    \          href: https://www.amundi-ee.com/account/#login\n    - DWS:\n      \
+    \  - icon: https://upload.wikimedia.org/wikipedia/de/e/ef/DWS_%28Unternehmen%29_logo.svg\n\
+    \          href: https://www.dws.de/service/serviceformulare/\n    - AMEX:\n \
+    \       - icon:\n          href: https://global.americanexpress.com/myca/intl/acctsumm/emea/accountSummary.do?request_type=&Face=de_DE&inav=de_menu_myacct_myacctcm_acctsummary\n\
+    \    - Gothaer Versicherung:\n        - icon: gothaer\n          href: https://www.gothaer.de/meine-gothaer/portal.html\n\
+    \    - Elster:\n        - icon:\n          href: https://www.elster.de/index.php\n\
+    \n- Crypto:\n    - Poloniex:\n        - icon:\n          href: https://poloniex.com/login\n\
+    \    - Bitcoin.de:\n        - icon:\n          href: https://bitcoin.de\n    -\
+    \ CoinGecko:\n        - href: https://www.coingecko.com/de\n    - CoinMarketCap:\n\
+    \        - icon:\n          href: https://coinmarketcap.com/de\n    - CoinTracker:\n\
+    \        - icon:\n          href: https://cointracker.io\n    - TronScan:\n  \
+    \      - href: https://tronscan.org/#/\n    - Cardano Explorer:\n        - href:\
+    \ https://adapools.org/\n"
+  custom.css: |
+    body { margin: 0 }
+  custom.js: ''
+  docker.yaml: |
+    ---
+    # For configuration options and examples, please see:
+    # https://gethomepage.dev/en/configs/docker/
+
+    my-docker:
+      host: dockerproxy
+      port: 2375
   kubernetes.yaml: |
     mode: cluster
-  services.yaml: |
-    - Infrastructure:
-        - Cloudflared:
-            href: https://dash.cloudflare.com/
-            icon: cloudflare-zero-trust.png
-            description: Cloudflared Tunnel Status
-        - Fritz!Box:
-            href: https://fritz.box
-            icon: avmfritzbox.png
-        - OPNsense:
-            href: https://opnsense
-            icon: opnsense.png
-    - Observability:
-        - Prometheus (storage):
-            href: https://prometheus
-            icon: prometheus.png
-    - Storage:
-        - Filebrowser:
-            href: https://filebrowser
-            icon: filebrowser.png
[Diff truncated by flux-local]
--- kubernetes/apps/office/homepage/app Kustomization: flux-system/homepage HelmRelease: office/homepage

+++ kubernetes/apps/office/homepage/app Kustomization: flux-system/homepage HelmRelease: office/homepage

@@ -1,11 +1,12 @@

 ---
 apiVersion: helm.toolkit.fluxcd.io/v2
 kind: HelmRelease
 metadata:
   labels:
+    app.kubernetes.io/instance: homepage
     app.kubernetes.io/name: homepage
     kustomize.toolkit.fluxcd.io/name: homepage
     kustomize.toolkit.fluxcd.io/namespace: flux-system
   name: homepage
   namespace: office
 spec:
--- kubernetes/apps/office/homepage/app Kustomization: flux-system/homepage ExternalSecret: office/homepage-secret

+++ kubernetes/apps/office/homepage/app Kustomization: flux-system/homepage ExternalSecret: office/homepage-secret

@@ -0,0 +1,93 @@

+---
+apiVersion: external-secrets.io/v1beta1
+kind: ExternalSecret
+metadata:
+  labels:
+    app.kubernetes.io/instance: homepage
+    app.kubernetes.io/name: homepage
+    kustomize.toolkit.fluxcd.io/name: homepage
+    kustomize.toolkit.fluxcd.io/namespace: flux-system
+  name: homepage-secret
+  namespace: office
+spec:
+  dataFrom:
+  - extract:
+      key: cloudflare
+  - extract:
+      key: nordvpn
+  - extract:
+      key: fritzbox
+  - extract:
+      key: openweathermap
+  - extract:
+      key: synology
+  - extract:
+      key: longhorn
+  - extract:
+      key: grafana
+  - extract:
+      key: home-assistant
+  - extract:
+      key: jellyseerr
+  - extract:
+      key: paperless
+  - extract:
+      key: ghostfolio
+  - extract:
+      key: calibre
+  - extract:
+      key: jellyfin
+  - extract:
+      key: tubearchivist
+  - extract:
+      key: threadfin
+  - extract:
+      key: portainer
+  - extract:
+      key: forgejo
+  - extract:
+      key: uptime-kuma
+  - extract:
+      key: gatus
+  - extract:
+      key: prowlarr
+  - extract:
+      key: qbittorrent
+  - extract:
+      key: radarr
+  - extract:
+      key: readarr
+  - extract:
+      key: lidarr
+  - extract:
+      key: sonarr
+  - extract:
+      key: whisparr
+  refreshInterval: 15m
+  secretStoreRef:
+    kind: ClusterSecretStore
+    name: bitwarden-secrets-manager
+  target:
+    name: homepage-secret
+    template:
+      data:
+        HOMEPAGE_VAR_CLOUDFLARED_ACCOUNTID: '{{ .CLOUDFLARE_ACCOUNT_TAG }}'
+        HOMEPAGE_VAR_CLOUDFLARED_API_TOKEN: '{{ .CLOUDFLARE_API_KEY }}'
+        HOMEPAGE_VAR_CLOUDFLARED_TUNNELID: '{{ .CLUSTER_CLOUDFLARE_TUNNEL_ID }}'
+        HOMEPAGE_VAR_GRAFANA_PASSWORD: '{{ .GRAFANA_ADMIN_PASS }}'
+        HOMEPAGE_VAR_GRAFANA_USERNAME: '{{ .GRAFANA_ADMIN_USER }}'
+        HOMEPAGE_VAR_HASS_TOKEN: '{{ .HASS_TOKEN }}'
+        HOMEPAGE_VAR_JELLYFIN_TOKEN: '{{ .JELLYFIN_TOKEN }}'
+        HOMEPAGE_VAR_JELLYSEERR_TOKEN: '{{ .JELLYSEERR_API_KEY }}'
+        HOMEPAGE_VAR_LIDARR_TOKEN: '{{ .LIDARR_API_KEY }}'
+        HOMEPAGE_VAR_PAPERLESS_TOKEN: '{{ .HOMEPAGE_VAR_PAPERLESS_TOKEN }}'
+        HOMEPAGE_VAR_PORTAINER_TOKEN: '{{ .PORTAINER_TOKEN }}'
+        HOMEPAGE_VAR_PROWLARR_TOKEN: '{{ .PROWLARR_API_KEY }}'
+        HOMEPAGE_VAR_QBITTORRENT_PASSWORD: '{{ .QBITTORRENT_PASSWORD }}'
+        HOMEPAGE_VAR_QBITTORRENT_USERNAME: '{{ .QBITTORRENT_USERNAME }}'
+        HOMEPAGE_VAR_RADARR_TOKEN: '{{ .RADARR_API_KEY }}'
+        HOMEPAGE_VAR_READARR_TOKEN: '{{ .READARR_API_KEY }}'
+        HOMEPAGE_VAR_SONARR_TOKEN: '{{ .SONARR_API_KEY }}'
+        HOMEPAGE_VAR_WHISPARR_TOKEN: '{{ .WHISPARR_API_KEY }}'
+      engineVersion: v2
+

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant