Add Navidrome widget to homepage
- Create external secret for Navidrome Subsonic API credentials - Add environment variables for user, salt, and token - Enable widget annotations on navidrome ingress Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
e61fb148e6
commit
ac602eb9ca
3 changed files with 49 additions and 7 deletions
28
argocd/manifests/homepage/external-secret-navidrome.yaml
Normal file
28
argocd/manifests/homepage/external-secret-navidrome.yaml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# ExternalSecret for Navidrome Subsonic API credentials
|
||||
# Used by Homepage Navidrome widget
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: homepage-navidrome
|
||||
namespace: homepage
|
||||
spec:
|
||||
refreshInterval: 1h
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: onepassword-blumeops
|
||||
target:
|
||||
name: homepage-navidrome
|
||||
creationPolicy: Owner
|
||||
data:
|
||||
- secretKey: user
|
||||
remoteRef:
|
||||
key: dj (navidrome)
|
||||
property: username
|
||||
- secretKey: salt
|
||||
remoteRef:
|
||||
key: dj (navidrome)
|
||||
property: salt
|
||||
- secretKey: token
|
||||
remoteRef:
|
||||
key: dj (navidrome)
|
||||
property: salted_pw
|
||||
|
|
@ -62,6 +62,22 @@ env:
|
|||
secretKeyRef:
|
||||
name: homepage-forgejo
|
||||
key: apikey
|
||||
# Navidrome widget
|
||||
- name: HOMEPAGE_VAR_NAVIDROME_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: homepage-navidrome
|
||||
key: user
|
||||
- name: HOMEPAGE_VAR_NAVIDROME_SALT
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: homepage-navidrome
|
||||
key: salt
|
||||
- name: HOMEPAGE_VAR_NAVIDROME_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: homepage-navidrome
|
||||
key: token
|
||||
|
||||
config:
|
||||
# Host services (non-k8s, on indri or LAN)
|
||||
|
|
|
|||
|
|
@ -13,13 +13,11 @@ metadata:
|
|||
gethomepage.dev/description: "Music streaming server"
|
||||
gethomepage.dev/href: "https://dj.ops.eblu.me"
|
||||
gethomepage.dev/pod-selector: "app=navidrome"
|
||||
# TODO: Add Navidrome widget - requires user, token (md5(password+salt)), salt
|
||||
# See: https://gethomepage.dev/widgets/services/navidrome/
|
||||
# gethomepage.dev/widget.type: "navidrome"
|
||||
# gethomepage.dev/widget.url: "https://dj.ops.eblu.me"
|
||||
# gethomepage.dev/widget.user: "{{HOMEPAGE_VAR_NAVIDROME_USER}}"
|
||||
# gethomepage.dev/widget.token: "{{HOMEPAGE_VAR_NAVIDROME_TOKEN}}"
|
||||
# gethomepage.dev/widget.salt: "{{HOMEPAGE_VAR_NAVIDROME_SALT}}"
|
||||
gethomepage.dev/widget.type: "navidrome"
|
||||
gethomepage.dev/widget.url: "https://dj.ops.eblu.me"
|
||||
gethomepage.dev/widget.user: "{{HOMEPAGE_VAR_NAVIDROME_USER}}"
|
||||
gethomepage.dev/widget.token: "{{HOMEPAGE_VAR_NAVIDROME_TOKEN}}"
|
||||
gethomepage.dev/widget.salt: "{{HOMEPAGE_VAR_NAVIDROME_SALT}}"
|
||||
spec:
|
||||
ingressClassName: tailscale
|
||||
defaultBackend:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue