421 lines
13 KiB
YAML
421 lines
13 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
annotations:
|
|
meta.helm.sh/release-name: homepage-2-1744068158
|
|
meta.helm.sh/release-namespace: infrastructure
|
|
values-checksum: 49348e8f2cbd3272bd4954b0c4ff1480780ebd91277816507927bed3fbb0043a
|
|
labels:
|
|
app.kubernetes.io/instance: homepage-2-1744068158
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: homepage-2-1744068158
|
|
app.kubernetes.io/version: v1.2.0
|
|
helm.sh/chart: homepage-2.1.0
|
|
name: homepage-2-1744068158
|
|
namespace: infrastructure
|
|
spec:
|
|
progressDeadlineSeconds: 600
|
|
replicas: 1
|
|
revisionHistoryLimit: 3
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/instance: homepage-2-1744068158
|
|
app.kubernetes.io/name: homepage-2-1744068158
|
|
strategy:
|
|
rollingUpdate:
|
|
maxSurge: 25%
|
|
maxUnavailable: 25%
|
|
type: RollingUpdate
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
cattle.io/timestamp: '2026-01-09T21:19:17Z'
|
|
values-checksum: 49348e8f2cbd3272bd4954b0c4ff1480780ebd91277816507927bed3fbb0043a
|
|
labels:
|
|
app.kubernetes.io/instance: homepage-2-1744068158
|
|
app.kubernetes.io/name: homepage-2-1744068158
|
|
spec:
|
|
automountServiceAccountToken: true
|
|
containers:
|
|
- env:
|
|
- name: HOMEPAGE_ALLOWED_HOSTS
|
|
value: homepage.snarfnet.net
|
|
image: ghcr.io/gethomepage/homepage:v1.4.5
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
failureThreshold: 3
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
tcpSocket:
|
|
port: 3000
|
|
timeoutSeconds: 1
|
|
name: homepage-2-1744068158
|
|
ports:
|
|
- containerPort: 3000
|
|
name: http
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 3
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
tcpSocket:
|
|
port: 3000
|
|
timeoutSeconds: 1
|
|
resources: {}
|
|
startupProbe:
|
|
failureThreshold: 30
|
|
periodSeconds: 5
|
|
successThreshold: 1
|
|
tcpSocket:
|
|
port: 3000
|
|
timeoutSeconds: 1
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: File
|
|
volumeMounts:
|
|
- mountPath: /app/config
|
|
name: homepage-base-config
|
|
- mountPath: /app/config/bookmarks.yaml
|
|
name: homepage-config
|
|
subPath: bookmarks.yaml
|
|
- mountPath: /app/config/docker.yaml
|
|
name: homepage-config
|
|
subPath: docker.yaml
|
|
- mountPath: /app/config/kubernetes.yaml
|
|
name: homepage-config
|
|
subPath: kubernetes.yaml
|
|
- mountPath: /app/config/services.yaml
|
|
name: homepage-config
|
|
subPath: services.yaml
|
|
- mountPath: /app/config/settings.yaml
|
|
name: homepage-config
|
|
subPath: settings.yaml
|
|
- mountPath: /app/config/widgets.yaml
|
|
name: homepage-config
|
|
subPath: widgets.yaml
|
|
- mountPath: /app/config/logs
|
|
name: logs
|
|
dnsPolicy: ClusterFirst
|
|
enableServiceLinks: true
|
|
restartPolicy: Always
|
|
schedulerName: default-scheduler
|
|
securityContext: {}
|
|
serviceAccount: default
|
|
serviceAccountName: default
|
|
terminationGracePeriodSeconds: 30
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: homepage-base-config
|
|
- configMap:
|
|
defaultMode: 420
|
|
name: homepage-2-1744068158
|
|
name: homepage-config
|
|
- emptyDir: {}
|
|
name: logs
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
meta.helm.sh/release-name: homepage-2-1744068158
|
|
meta.helm.sh/release-namespace: infrastructure
|
|
labels:
|
|
app.kubernetes.io/instance: homepage-2-1744068158
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: homepage-2-1744068158
|
|
app.kubernetes.io/service: homepage-2-1744068158
|
|
app.kubernetes.io/version: v1.2.0
|
|
helm.sh/chart: homepage-2.1.0
|
|
name: homepage-2-1744068158
|
|
namespace: infrastructure
|
|
spec:
|
|
clusterIP: 10.43.36.247
|
|
clusterIPs:
|
|
- 10.43.36.247
|
|
internalTrafficPolicy: Cluster
|
|
ipFamilies:
|
|
- IPv4
|
|
ipFamilyPolicy: SingleStack
|
|
ports:
|
|
- name: http
|
|
port: 3000
|
|
protocol: TCP
|
|
targetPort: http
|
|
selector:
|
|
app.kubernetes.io/instance: homepage-2-1744068158
|
|
app.kubernetes.io/name: homepage-2-1744068158
|
|
sessionAffinity: None
|
|
type: ClusterIP
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
annotations:
|
|
meta.helm.sh/release-name: homepage-2-1744068158
|
|
meta.helm.sh/release-namespace: infrastructure
|
|
labels:
|
|
app.kubernetes.io/instance: homepage-2-1744068158
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: homepage-2-1744068158
|
|
app.kubernetes.io/version: v1.2.0
|
|
helm.sh/chart: homepage-2.1.0
|
|
name: homepage-2-1744068158
|
|
namespace: infrastructure
|
|
data:
|
|
bookmarks.yaml: |
|
|
- Quick Links:
|
|
- GitHub:
|
|
- abbr: GH
|
|
href: https://github.com/
|
|
- UniFi Site Manager:
|
|
- abbr: UI
|
|
href: https://unifi.ui.com/
|
|
- Cloudflare:
|
|
- abbr: CF
|
|
href: https://dash.cloudflare.com/
|
|
- Grafana Telemetry:
|
|
- Systems Performance:
|
|
- abbr: SYS
|
|
href: https://grafana.snarfnet.net/d/snarfnet-systems/52f6861
|
|
- Container Workloads:
|
|
- abbr: K8S
|
|
href: https://grafana.snarfnet.net/d/snarfnet-containers/f09f93a6-kubernetes-containers-and-workloads
|
|
- AI Stack Intelligence:
|
|
- abbr: AI
|
|
href: https://grafana.snarfnet.net/d/snarfnet-ai-stack/snarfnet-ai-stack-and-inference-intelligence
|
|
- Uptime Status Pages:
|
|
- Unified Overview:
|
|
- abbr: ALL
|
|
href: https://uptime.snarfnet.net/status/default
|
|
- Core & VIP Fabric:
|
|
- abbr: VIP
|
|
href: https://uptime.snarfnet.net/status/core
|
|
- GitOps & CI/CD:
|
|
- abbr: OPS
|
|
href: https://uptime.snarfnet.net/status/gitops
|
|
- Edge & Ingress:
|
|
- abbr: EDG
|
|
href: https://uptime.snarfnet.net/status/edge
|
|
- Homelab Architecture:
|
|
- Topology Diagram (Image):
|
|
- abbr: IMG
|
|
href: https://homepage.snarfnet.net/topology.png
|
|
- Interactive Topology (HTML):
|
|
- abbr: MAP
|
|
href: https://homepage.snarfnet.net/topology.html
|
|
docker.yaml: ''
|
|
kubernetes.yaml: |
|
|
mode: cluster
|
|
services.yaml: |
|
|
- Critical Services:
|
|
- Authentik:
|
|
icon: authentik.png
|
|
href: https://authentik.snarfnet.net
|
|
description: SSO & Identity Management
|
|
- PeaNUT UPS:
|
|
icon: peanut.png
|
|
href: https://portal.snarfnet.net
|
|
description: UPS Power & Battery Monitor
|
|
- Unifi Controller:
|
|
icon: unifi.png
|
|
href: https://unifi.ui.com
|
|
widget:
|
|
type: unifi
|
|
url: https://140.44.44.1
|
|
username: Snarf
|
|
password: Katzir476!!!
|
|
- GitOps & Automation:
|
|
- Gitea:
|
|
icon: gitea.png
|
|
href: https://git.snarfnet.net
|
|
description: Git Repositories
|
|
widget:
|
|
type: gitea
|
|
url: https://git.snarfnet.net
|
|
key: f19e772cf54e40ceb2befe452e2bc24dd81fdb71
|
|
- ArgoCD:
|
|
icon: argo-cd.png
|
|
href: https://argo.snarfnet.net
|
|
description: Declarative GitOps Reconciler
|
|
widget:
|
|
type: argocd
|
|
url: https://argo.snarfnet.net
|
|
key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcmdvY2QiLCJzdWIiOiJob21lcGFnZTphcGlLZXkiLCJuYmYiOjE3OTQ1MDIwNzgsImlhdCI6MTc5NDUwMjA3OCwianRpIjoiZjQ2NzU0NjMtODRhOS00MjI0LWI3ODItNmY5ODQxYWEwY2UxIn0.aHhrny2RBG-vAJAyXMvan0jw65jkP3bguqEduaG78O0
|
|
- AWX Automation:
|
|
icon: awx.png
|
|
href: https://awx.snarfnet.net
|
|
description: Ansible Automation Controller
|
|
- Semaphore:
|
|
icon: semaphore.png
|
|
href: https://semaphore.snarfnet.net
|
|
description: Playbook Execution Engine
|
|
- Storage & Clusters:
|
|
- Longhorn Aerodrome:
|
|
icon: longhorn.png
|
|
href: https://longhorn.aerodrome.snarfnet.net
|
|
description: Aerodrome Distributed Flash Storage
|
|
- Longhorn Spaceport:
|
|
icon: longhorn.png
|
|
href: https://longhorn.spaceport.snarfnet.net
|
|
description: Spaceport Distributed Block Storage
|
|
- Rancher (Aerodrome):
|
|
icon: rancher.png
|
|
href: https://aerodrome.snarfnet.net
|
|
description: Kubernetes Management Console
|
|
widget:
|
|
type: customapi
|
|
url: https://aerodrome.snarfnet.net/v3/clusters/local
|
|
headers:
|
|
Authorization: Bearer kubeconfig-u-aqzkufonck4hmbd:bw22b96nv8844k8w5r8lzpz8gnk22tjwj95j6nkzr7hd5dhm4bs6z7
|
|
mappings:
|
|
- field: capacity.cpu
|
|
label: CPU Cores
|
|
- field: capacity.pods
|
|
label: Max Pods
|
|
- field: state
|
|
label: Cluster State
|
|
- Harvester HCI (Spacedock):
|
|
icon: harvester.png
|
|
href: https://harvester.spacedock.snarfnet.net
|
|
description: HCI Virtualization Hypervisors
|
|
widget:
|
|
type: customapi
|
|
url: https://aerodrome.snarfnet.net/v3/clusters/c-cclnt
|
|
headers:
|
|
Authorization: Bearer kubeconfig-u-aqzkufonck4hmbd:bw22b96nv8844k8w5r8lzpz8gnk22tjwj95j6nkzr7hd5dhm4bs6z7
|
|
mappings:
|
|
- field: capacity.cpu
|
|
label: CPU Cores
|
|
- field: capacity.pods
|
|
label: Max Pods
|
|
- field: state
|
|
label: HCI State
|
|
- Portainer Swarm:
|
|
icon: portainer.png
|
|
href: https://shipyard.snarfnet.net
|
|
description: Docker Swarm Container Fleet
|
|
widget:
|
|
type: portainer
|
|
url: https://140.44.4.71:9443
|
|
env: 3
|
|
key: ptr_TCVm8ujeB4zT0oRejyMCwKw5enaPG/uKj1KuF0uOWX8=
|
|
- Infrastructure & Observability:
|
|
- NGINX Proxy Manager:
|
|
icon: nginx-proxy-manager
|
|
href: https://nginx.snarfnet.net
|
|
description: Reverse Proxy & SSL Certificates
|
|
- Uptime Kuma:
|
|
icon: uptime-kuma
|
|
href: https://uptime.snarfnet.net
|
|
description: Multi-Endpoint Availability Probes
|
|
widget:
|
|
type: uptimekuma
|
|
url: http://140.44.4.28:448
|
|
slug: default
|
|
- Zabbix:
|
|
icon: zabbix.png
|
|
href: https://zabbix.snarfnet.net
|
|
description: Infrastructure Metrics & Alarms
|
|
- Grafana:
|
|
icon: grafana.png
|
|
href: https://grafana.snarfnet.net
|
|
description: Real-Time Metrics & AI Dashboards
|
|
widget:
|
|
type: grafana
|
|
url: https://grafana.snarfnet.net
|
|
username: admin
|
|
password: Katzir476!!!
|
|
- Core Node Glances:
|
|
icon: glances.png
|
|
href: http://140.44.4.11:61208
|
|
description: Host Resource Monitor
|
|
- Homelab Topology:
|
|
icon: mdi-sitemap
|
|
href: https://homepage.snarfnet.net/topology.html
|
|
description: Architecture & Network Schematic
|
|
- Environment & Weather:
|
|
- Tempest Weather Station:
|
|
icon: mdi-weather-partly-cloudy
|
|
href: https://snarfhome.snarfnet.net
|
|
description: Backyard Weather Telemetry
|
|
widget:
|
|
type: homeassistant
|
|
url: http://14.4.4.20:8123
|
|
key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIzZWUyNTE1MDk0NGU0ZjRjYmJkMGM1MWI5MThmY2EzYiIsImlhdCI6MTc0NjgxMDM3NSwiZXhwIjoyMDYyMTcwMzc1fQ.Le6M7WL63nxtLTxccFacQR5GVUY5C-a_zGtmXT_uaz4
|
|
custom:
|
|
- template: '{{ states(''sensor.st_00158555_temperature'') | float(0) | round(1)
|
|
}} °F'
|
|
label: Outdoor Temp
|
|
- template: '{{ states(''sensor.st_00158555_feels_like'') | float(0) | round(1)
|
|
}} °F'
|
|
label: Feels Like
|
|
- template: '{{ states(''sensor.st_00158555_humidity'') | float(0) | round(1)
|
|
}} %'
|
|
label: Humidity
|
|
- template: '{{ states(''sensor.st_00158555_wind_speed'') | float(0) | round(1)
|
|
}} mph'
|
|
label: Wind Speed
|
|
settings.yaml: |
|
|
title: SnarfNet Operations & Telemetry
|
|
headerStyle: boxed
|
|
color: slate
|
|
theme: dark
|
|
statusStyle: badge
|
|
background:
|
|
image: https://i.imgur.com/hOzzkCY.jpeg
|
|
blur: sm
|
|
opacity: 50
|
|
brightness: 50
|
|
cardBlur: sm
|
|
quicklaunch:
|
|
searchDescriptions: true
|
|
hideInternetSearch: true
|
|
hideVisitURL: true
|
|
hideVersion: true
|
|
layout:
|
|
Critical Services:
|
|
icon: mdi-shield-check
|
|
style: row
|
|
columns: 3
|
|
GitOps & Automation:
|
|
icon: mdi-git
|
|
style: row
|
|
columns: 4
|
|
Storage & Clusters:
|
|
icon: mdi-server-network
|
|
style: row
|
|
columns: 3
|
|
Infrastructure & Observability:
|
|
icon: mdi-chart-timeline-variant
|
|
style: row
|
|
columns: 3
|
|
Environment & Weather:
|
|
icon: mdi-weather-partly-cloudy
|
|
style: row
|
|
columns: 1
|
|
showStats: true
|
|
providers:
|
|
longhorn:
|
|
url: http://longhorn-backend.longhorn-system.svc.cluster.local:9500
|
|
widgets.yaml: |
|
|
- kubernetes:
|
|
cluster:
|
|
show: true
|
|
cpu: true
|
|
memory: true
|
|
show_names: true
|
|
nodes:
|
|
show: false
|
|
- longhorn:
|
|
total: true
|
|
nodes: false
|
|
- resources:
|
|
label: System
|
|
backend: resources
|
|
cpu: true
|
|
expanded: true
|
|
memory: true
|
|
disk: /
|
|
- search:
|
|
provider: duckduckgo
|
|
target: _blank
|