Replace hajimari with gethomepage
Hajimari has been unmaintained since 2022 with broken helm chart dependencies. Switching to gethomepage which is actively maintained (28k stars, monthly releases) and has similar k8s autodiscovery. - Remove hajimari ArgoCD app and manifests - Add homepage ArgoCD app with jameswynn helm chart - Migrate custom apps, bookmarks, and search config - Enable RBAC for k8s service autodiscovery - Configure Tailscale ingress at go.tail8d86e.ts.net Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
9fd70c3892
commit
4d544f6941
4 changed files with 125 additions and 128 deletions
|
|
@ -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
|
||||
30
argocd/apps/homepage.yaml
Normal file
30
argocd/apps/homepage.yaml
Normal file
|
|
@ -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
|
||||
|
|
@ -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
|
||||
95
argocd/manifests/homepage/values.yaml
Normal file
95
argocd/manifests/homepage/values.yaml
Normal file
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue