chore: rename assassin cluster to T14s and add kavita gitops manifests
This commit is contained in:
parent
24be0b06c8
commit
4545b5c5e0
16 changed files with 84 additions and 9 deletions
|
|
@ -15,12 +15,12 @@ Internet
|
||||||
│ Active-Active across 3 connectors
|
│ Active-Active across 3 connectors
|
||||||
├── cloudflared on monk (primary home machine)
|
├── cloudflared on monk (primary home machine)
|
||||||
├── cloudflared on kscloud1 (Hetzner VPS, <KSCLOUD1_PUBLIC_IP>)
|
├── cloudflared on kscloud1 (Hetzner VPS, <KSCLOUD1_PUBLIC_IP>)
|
||||||
└── cloudflared on assassin (T14, currently OFF)
|
└── cloudflared on T14s (currently OFF)
|
||||||
|
|
||||||
Tailscale overlay network (VPN mesh):
|
Tailscale overlay network (VPN mesh):
|
||||||
monk <MONK_TAILSCALE_IP>
|
monk <MONK_TAILSCALE_IP>
|
||||||
kscloud1 <KSCLOUD1_TAILSCALE_IP> ← hosts shared Authentik Postgres + Redis
|
kscloud1 <KSCLOUD1_TAILSCALE_IP> ← hosts shared Authentik Postgres + Redis
|
||||||
assassin <ASSASSIN_TAILSCALE_IP> (off)
|
T14s <T14S_TAILSCALE_IP> (off)
|
||||||
pixel-6 <PIXEL6_TAILSCALE_IP>
|
pixel-6 <PIXEL6_TAILSCALE_IP>
|
||||||
samurai <SAMURAI_TAILSCALE_IP>
|
samurai <SAMURAI_TAILSCALE_IP>
|
||||||
```
|
```
|
||||||
|
|
|
||||||
39
apps/kavita/deployment.yaml
Normal file
39
apps/kavita/deployment.yaml
Normal 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
|
||||||
7
apps/kavita/kustomization.yaml
Normal file
7
apps/kavita/kustomization.yaml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- pvc.yaml
|
||||||
|
- deployment.yaml
|
||||||
|
- service.yaml
|
||||||
4
apps/kavita/namespace.yaml
Normal file
4
apps/kavita/namespace.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: kavita
|
||||||
12
apps/kavita/pvc.yaml
Normal file
12
apps/kavita/pvc.yaml
Normal 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
14
apps/kavita/service.yaml
Normal 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
|
||||||
|
|
@ -5,9 +5,8 @@ metadata:
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 1m
|
interval: 1m
|
||||||
path: ./apps/kavita-docker-automation
|
path: ./apps/kavita
|
||||||
prune: true
|
prune: true
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: GitRepository
|
kind: GitRepository
|
||||||
name: kitestacks-homelab
|
name: kitestacks-homelab
|
||||||
targetNamespace: automation
|
|
||||||
|
|
@ -29,4 +29,4 @@ Verified command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubectl get nodes
|
kubectl get nodes
|
||||||
assassin Ready control-plane
|
T14s Ready control-plane
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ The homelab is currently operating in a hybrid state:
|
||||||
Hostname:
|
Hostname:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
assassin
|
T14s
|
||||||
```
|
```
|
||||||
|
|
||||||
Role:
|
Role:
|
||||||
|
|
@ -70,7 +70,7 @@ kubectl get nodes
|
||||||
Expected Result:
|
Expected Result:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
assassin Ready control-plane
|
T14s Ready control-plane
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -131,7 +131,7 @@ Purpose:
|
||||||
kitestacks-homelab
|
kitestacks-homelab
|
||||||
├── apps
|
├── apps
|
||||||
├── clusters
|
├── clusters
|
||||||
│ └── assassin
|
│ └── T14s
|
||||||
├── docs
|
├── docs
|
||||||
├── infrastructure
|
├── infrastructure
|
||||||
└── media
|
└── media
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ Cloud Failover (PERMANENT, active-active - NOT cold standby):
|
||||||
- Tailscale IP: <KSCLOUD1_TAILSCALE_IP>
|
- Tailscale IP: <KSCLOUD1_TAILSCALE_IP>
|
||||||
- Runs a full replica of all 9 services
|
- Runs a full replica of all 9 services
|
||||||
|
|
||||||
assassin (T14): retired/OFF, no longer part of the topology.
|
T14s: Active cluster node (GitOps).
|
||||||
|
|
||||||
Domains:
|
Domains:
|
||||||
- www.kitestacks.com (+ ai, auth, gitforge, grafana, kavita, links, status, tasks)
|
- www.kitestacks.com (+ ai, auth, gitforge, grafana, kavita, links, status, tasks)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue