338 lines
11 KiB
YAML
338 lines
11 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: |
|
|
- Developer:
|
|
- Github:
|
|
- abbr: GH
|
|
href: https://github.com/
|
|
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
|
|
- ArgoCD:
|
|
icon: argocd.png
|
|
href: https://argo.snarfnet.net
|
|
description: Declarative GitOps Reconciler
|
|
- 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
|
|
- 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
|
|
- Core Node Glances:
|
|
icon: glances.png
|
|
href: http://140.44.4.11:61208
|
|
description: Host Resource Monitor
|
|
|
|
- Environment & Weather:
|
|
- Tempest Weather Station:
|
|
icon: weather.png
|
|
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: boxedWidgets
|
|
color: green
|
|
theme: dark
|
|
layout:
|
|
Critical Services:
|
|
GitOps & Automation:
|
|
Storage & Clusters:
|
|
Infrastructure & Observability:
|
|
Environment & Weather:
|
|
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:
|
|
backend: resources
|
|
cpu: true
|
|
expanded: true
|
|
memory: true
|
|
- search:
|
|
provider: duckduckgo
|
|
target: _blank
|