chore: rename assassin cluster to T14s and add kavita gitops manifests

This commit is contained in:
kenpat 2026-06-15 11:56:59 -05:00
parent 24be0b06c8
commit 4545b5c5e0
16 changed files with 84 additions and 9 deletions

View file

@ -15,12 +15,12 @@ Internet
│ Active-Active across 3 connectors
├── cloudflared on monk (primary home machine)
├── cloudflared on kscloud1 (Hetzner VPS, <KSCLOUD1_PUBLIC_IP>)
└── cloudflared on assassin (T14, currently OFF)
└── cloudflared on T14s (currently OFF)
Tailscale overlay network (VPN mesh):
monk <MONK_TAILSCALE_IP>
kscloud1 <KSCLOUD1_TAILSCALE_IP> ← hosts shared Authentik Postgres + Redis
assassin <ASSASSIN_TAILSCALE_IP> (off)
T14s <T14S_TAILSCALE_IP> (off)
pixel-6 <PIXEL6_TAILSCALE_IP>
samurai <SAMURAI_TAILSCALE_IP>
```

View file

@ -0,0 +1,39 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: kavita
namespace: kavita
labels:
app: kavita
spec:
replicas: 1
selector:
matchLabels:
app: kavita
template:
metadata:
labels:
app: kavita
spec:
containers:
- name: kavita
image: ghcr.io/kareadita/kavita:latest
ports:
- containerPort: 5000
name: http
env:
- name: TZ
value: "UTC"
volumeMounts:
- name: kavita-config
mountPath: /kavita/config
- name: kavita-library
mountPath: /books
volumes:
- name: kavita-config
persistentVolumeClaim:
claimName: kavita-config-pvc
- name: kavita-library
hostPath:
path: /home/kenpatmonk/kitestacks-live/library/books
type: Directory

View file

@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1
kind: Kustomization
resources:
- namespace.yaml
- pvc.yaml
- deployment.yaml
- service.yaml

View file

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: kavita

12
apps/kavita/pvc.yaml Normal file
View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: kavita-config-pvc
namespace: kavita
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: local-path

14
apps/kavita/service.yaml Normal file
View file

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: kavita
namespace: kavita
spec:
selector:
app: kavita
ports:
- protocol: TCP
port: 80
targetPort: 5000
name: http
type: ClusterIP

View file

@ -5,9 +5,8 @@ metadata:
namespace: flux-system
spec:
interval: 1m
path: ./apps/kavita-docker-automation
path: ./apps/kavita
prune: true
sourceRef:
kind: GitRepository
name: kitestacks-homelab
targetNamespace: automation

View file

@ -29,4 +29,4 @@ Verified command:
```bash
kubectl get nodes
assassin Ready control-plane
T14s Ready control-plane

View file

@ -21,7 +21,7 @@ The homelab is currently operating in a hybrid state:
Hostname:
```text
assassin
T14s
```
Role:
@ -70,7 +70,7 @@ kubectl get nodes
Expected Result:
```text
assassin Ready control-plane
T14s Ready control-plane
```
---
@ -131,7 +131,7 @@ Purpose:
kitestacks-homelab
├── apps
├── clusters
│ └── assassin
│ └── T14s
├── docs
├── infrastructure
└── media

View file

@ -19,7 +19,7 @@ Cloud Failover (PERMANENT, active-active - NOT cold standby):
- Tailscale IP: <KSCLOUD1_TAILSCALE_IP>
- Runs a full replica of all 9 services
assassin (T14): retired/OFF, no longer part of the topology.
T14s: Active cluster node (GitOps).
Domains:
- www.kitestacks.com (+ ai, auth, gitforge, grafana, kavita, links, status, tasks)