diff --git a/argocd/apps/hajimari.yaml b/argocd/apps/hajimari.yaml deleted file mode 100644 index f43e42e..0000000 --- a/argocd/apps/hajimari.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# Hajimari - Service Dashboard / Start Page -# -# Using custom fork from forge.ops.eblu.me/eblume/hajimari -# Fork enables custom builds with search auto-focus, weather widget, etc. -# -# Auto-discovers k8s services via ingress annotations and displays -# custom apps for non-k8s services (Forge, Registry, NAS). -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: hajimari - namespace: argocd -spec: - project: default - sources: - # Helm chart from our fork - - repoURL: ssh://forgejo@forge.ops.eblu.me:2222/eblume/hajimari.git - targetRevision: v0.3.1-blumeops.1 - path: charts/hajimari - helm: - releaseName: hajimari - valueFiles: - - $values/argocd/manifests/hajimari/values.yaml - # Values from blumeops repo - - repoURL: ssh://forgejo@forge.ops.eblu.me:2222/eblume/blumeops.git - targetRevision: main - ref: values - destination: - server: https://kubernetes.default.svc - namespace: hajimari - syncPolicy: - syncOptions: - - CreateNamespace=true diff --git a/argocd/apps/homepage.yaml b/argocd/apps/homepage.yaml new file mode 100644 index 0000000..4521eaf --- /dev/null +++ b/argocd/apps/homepage.yaml @@ -0,0 +1,30 @@ +# Homepage - Service Dashboard / Start Page +# +# Replaced hajimari with gethomepage for active maintenance and better features. +# Auto-discovers k8s services via ingress annotations. +# +# Helm chart: https://github.com/jameswynn/helm-charts/tree/main/charts/homepage +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: homepage + namespace: argocd +spec: + project: default + sources: + - repoURL: https://jameswynn.github.io/helm-charts + chart: homepage + targetRevision: 2.1.0 + helm: + releaseName: homepage + valueFiles: + - $values/argocd/manifests/homepage/values.yaml + - repoURL: ssh://forgejo@forge.ops.eblu.me:2222/eblume/blumeops.git + targetRevision: main + ref: values + destination: + server: https://kubernetes.default.svc + namespace: homepage + syncPolicy: + syncOptions: + - CreateNamespace=true diff --git a/argocd/manifests/hajimari/values.yaml b/argocd/manifests/hajimari/values.yaml deleted file mode 100644 index ebafe6c..0000000 --- a/argocd/manifests/hajimari/values.yaml +++ /dev/null @@ -1,95 +0,0 @@ -# Hajimari values for blumeops -# Service dashboard at go.ops.eblu.me - -# Use custom image from our fork -image: - repository: registry.ops.eblu.me/blumeops/hajimari - tag: v0.3.1-blumeops.1 - -# Page settings -hajimari: - title: BlumeOps - name: Erich - defaultEnable: true - - # Display settings - showAppGroups: true - showAppUrls: false - showAppInfo: true - - # Search - default to Kagi - defaultSearchProvider: Kagi - searchProviders: - - name: Kagi - token: k - icon: simple-icons:kagi - searchUrl: https://kagi.com/search?q={query} - url: https://kagi.com - - name: Google - token: g - icon: simple-icons:google - searchUrl: https://www.google.com/search?q={query} - url: https://www.google.com - - name: DuckDuckGo - token: d - icon: simple-icons:duckduckgo - searchUrl: https://duckduckgo.com/?q={query} - url: https://duckduckgo.com - - # Discover ingresses from all namespaces - namespaceSelector: - any: true - - # Non-k8s services (hosted on indri or LAN) - customApps: - - group: Host Services - apps: - - name: Forgejo - url: https://forge.ops.eblu.me - icon: simple-icons:forgejo - info: Git forge - - name: Registry - url: https://registry.ops.eblu.me - icon: mdi:docker - info: Container registry - - name: Sifaka NAS - url: https://nas.ops.eblu.me - icon: simple-icons:synology - info: NAS dashboard - - # Useful external bookmarks - globalBookmarks: - - group: Admin - bookmarks: - - name: Tailscale Admin - url: https://login.tailscale.com/admin - - name: 1Password - url: https://my.1password.com - - name: Pulumi - url: https://app.pulumi.com/eblume/blumeops-tailnet - -# Service account for reading ingresses across namespaces -serviceAccount: - create: true - -# Tailscale Ingress - exposes at go.tail8d86e.ts.net -# Caddy will proxy go.ops.eblu.me to this -ingress: - main: - enabled: true - ingressClassName: tailscale - annotations: - hajimari.io/enable: "false" - hosts: - - host: go - paths: - - path: / - pathType: Prefix - tls: - - hosts: - - go - -# No persistence needed - config is in values.yaml -persistence: - data: - enabled: false diff --git a/argocd/manifests/homepage/values.yaml b/argocd/manifests/homepage/values.yaml new file mode 100644 index 0000000..09e9c47 --- /dev/null +++ b/argocd/manifests/homepage/values.yaml @@ -0,0 +1,95 @@ +# Homepage values for blumeops +# Service dashboard at go.ops.eblu.me + +# Enable RBAC for Kubernetes service autodiscovery +enableRbac: true + +serviceAccount: + create: true + +# Tailscale Ingress - exposes at go.tail8d86e.ts.net +# Caddy proxies go.ops.eblu.me to this +ingress: + main: + enabled: true + ingressClassName: tailscale + annotations: + gethomepage.dev/enabled: "false" + hosts: + - host: go + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - go + +env: + - name: HOMEPAGE_ALLOWED_HOSTS + value: "go.tail8d86e.ts.net,go.ops.eblu.me" + +config: + # Host services (non-k8s, on indri or LAN) + services: + - Host Services: + - Forgejo: + href: https://forge.ops.eblu.me + icon: forgejo + description: Git forge + - Registry: + href: https://registry.ops.eblu.me + icon: docker + description: Container registry + - Sifaka NAS: + href: https://nas.ops.eblu.me + icon: synology + description: NAS dashboard + + # External bookmarks + bookmarks: + - Admin: + - Tailscale Admin: + - href: https://login.tailscale.com/admin + icon: tailscale + - 1Password: + - href: https://my.1password.com + icon: 1password + - Pulumi: + - href: https://app.pulumi.com/eblume/blumeops-tailnet + icon: pulumi + + # Widgets on the page + widgets: + - search: + provider: custom + url: https://kagi.com/search?q= + target: _blank + suggestionUrl: https://kagi.com/api/autosuggest?q= + - kubernetes: + cluster: + show: true + cpu: true + memory: true + showLabel: true + label: "k8s.tail8d86e.ts.net" + nodes: + show: true + cpu: true + memory: true + showLabel: true + + # Kubernetes autodiscovery + kubernetes: + mode: cluster + + # Layout and styling + settingsString: | + title: BlumeOps + headerStyle: boxed + layout: + Host Services: + style: row + columns: 3 + Admin: + style: row + columns: 3