Compare commits

..

12 Commits

374 changed files with 604 additions and 164 deletions

View File

@@ -6,52 +6,52 @@ All applications are managed using GitOps principles with ArgoCD and utilize cer
## Repository Structure ## Repository Structure
The repository is organized with one directory per application, containing all necessary Kubernetes resources: The repository is split into three top-level areas. Within each, there is one directory per application/component, and every manifest follows the `<app>-<kind>.yaml` naming convention.
``` ```
├── argocd/ # GitOps continuous deployment ├── infra/ # Cluster infrastructure
├── cert-manager/ # TLS certificate management │ ├── argocd/ # GitOps continuous deployment
├── metallb/ # Load balancer │ ├── cert-manager/ # TLS certificate management
├── kubevip/ # High availability │ ├── cloud-native-postgres/ # PostgreSQL operator
├── longhorn/ # Distributed storage │ ├── envoy-gateway/ # Kubernetes Gateway API configuration
├── cloud-native-postgres/ # PostgreSQL operator │ ├── kubevip/ # High availability
├── envoy-gateway/ # Kubernetes Gateway API configuration │ ├── longhorn/ # Distributed storage
├── infisical/ # Secrets management │ └── metallb/ # Load balancer
├── authentik/ # Identity provider and SSO
├── it-tools/ # IT utilities ├── applications/ # Deployed workloads
├── jellyfin/ # Media server │ ├── authentik/ # Identity provider and SSO
├── immich/ # Photo and video management │ ├── azure-ddns-python/ # Dynamic DNS updater
├── minecraft/ # Game servers │ ├── bentopdf/ # PDF conversion
├── gitea/ # Git service │ ├── comfyui/ # Stable Diffusion workflow UI
├── jenkins/ # CI/CD automation │ ├── databasus/ # Database management
├── n8n/ # Workflow automation │ ├── excalidraw/ # Whiteboard / diagramming
├── react-resume/ # Resume builder application │ ├── gitea/ # Git service
├── passbolt/ # Password manager │ ├── gotify/ # Push notification server
├── wikijs/ # Documentation wiki │ ├── immich/ # Photo and video management
├── zipline/ # File sharing │ ├── infisical/ # Secrets management
├── gotify/ # Push notification server │ ├── it-tools/ # IT utilities
├── ntfy/ # Push notifications │ ├── jellyfin/ # Media server
├── bentopdf/ # PDF conversion │ ├── minecraft/ # Game servers
├── excalidraw/ # Whiteboard / diagramming │ ├── minio-aistor/ # S3-compatible object storage
├── searxng/ # Privacy-respecting search engine │ ├── n8n/ # Workflow automation
├── uptime-kuma/ # Uptime monitoring │ ├── netbootxyz/ # Network boot service
├── openwebui/ # Web UI for AI models ├── ollama/ # Local LLM runner
├── ollama/ # Local LLM runner ├── openwebui/ # Web UI for AI models
├── comfyui/ # Stable Diffusion workflow UI │ ├── outline/ # Knowledge base / wiki
├── minio-aistor/ # S3-compatible object storage │ ├── passbolt/ # Password manager
├── databasus/ # Database management │ ├── pelican/ # Game server management panel
├── netbootxyz/ # Network boot service │ ├── proxmox/ # Virtualization platform
├── technitium/ # DNS server │ ├── react-resume/ # Resume builder application
├── azure-ddns-python/ # Dynamic DNS updater │ ├── searxng/ # Privacy-respecting search engine
├── victoria-metrics/ # Metrics and monitoring │ ├── technitium/ # DNS server
├── affine/ # Self-hosted collaborative workspace │ ├── truenas/ # Storage system
├── harbor/ # Container image registry │ ├── unifi/ # Network controller
├── pelican/ # Game server management panel │ ├── uptime-kuma/ # Uptime monitoring
├── stable-diffusion/ # Stable Diffusion image generation │ ├── victoria-metrics/ # Metrics and monitoring
├── proxmox/ # Virtualization platform │ ├── wikijs/ # Documentation wiki
├── unifi/ # Network controller │ └── zipline/ # File sharing
├── truenas/ # Storage system
└── deprecated/ # Deprecated applications └── deprecated/ # Deprecated applications
``` ```
## Categories ## Categories
@@ -79,13 +79,11 @@ The repository is organized with one directory per application, containing all n
- **Stable Diffusion**: Image generation service - **Stable Diffusion**: Image generation service
### Self-Hosted Tools ### Self-Hosted Tools
- **AFFiNE**: Collaborative workspace and note-taking platform
- **Harbor**: Container image registry - **Harbor**: Container image registry
- **Pelican**: Game server management panel - **Pelican**: Game server management panel
### Development & CI/CD ### Development & CI/CD
- **Gitea**: Self-hosted Git service with container registry - **Gitea**: Self-hosted Git service with container registry
- **Jenkins**: Automation server for CI/CD pipelines
- **n8n**: Workflow automation platform - **n8n**: Workflow automation platform
- **MinIO AIStor**: S3-compatible object storage - **MinIO AIStor**: S3-compatible object storage
@@ -93,9 +91,9 @@ The repository is organized with one directory per application, containing all n
- **React-Resume**: Resume builder with MinIO and PostgreSQL - **React-Resume**: Resume builder with MinIO and PostgreSQL
- **Passbolt**: Team password manager - **Passbolt**: Team password manager
- **Wiki.js**: Modern documentation platform - **Wiki.js**: Modern documentation platform
- **Outline**: Team knowledge base and wiki (PostgreSQL, Redis/Valkey, MinIO S3, Authentik SSO)
- **Zipline**: File sharing and screenshot service - **Zipline**: File sharing and screenshot service
- **Gotify**: Push notification server with REST API and WebSocket support - **Gotify**: Push notification server with REST API and WebSocket support
- **Ntfy**: Push notification service
- **BentoPDF**: PDF conversion service - **BentoPDF**: PDF conversion service
- **Excalidraw**: Online whiteboard and diagramming tool - **Excalidraw**: Online whiteboard and diagramming tool
- **SearXNG**: Privacy-respecting metasearch engine - **SearXNG**: Privacy-respecting metasearch engine
@@ -118,6 +116,9 @@ The repository is organized with one directory per application, containing all n
- **Nginx Ingress Controller**: Replaced by Envoy Gateway; dropped after upstream support ended in March 2025 - **Nginx Ingress Controller**: Replaced by Envoy Gateway; dropped after upstream support ended in March 2025
- **Psono**: Self-hosted password manager; replaced by Passbolt - **Psono**: Self-hosted password manager; replaced by Passbolt
- **Vaultwarden**: Self-hosted Bitwarden server; no longer in use - **Vaultwarden**: Self-hosted Bitwarden server; no longer in use
- **AFFiNE**: Collaborative workspace and note-taking platform; no longer in use
- **Jenkins**: CI/CD automation server; no longer in use
- **Ntfy**: Push notification service; no longer in use
## Infrastructure ## Infrastructure

View File

@@ -0,0 +1,24 @@
apiVersion: secrets.infisical.com/v1alpha1
kind: InfisicalSecret
metadata:
name: netbootxyz-secrets
namespace: infisical
spec:
hostAPI: https://infisical.jsme.be
resyncInterval: 30
authentication:
kubernetesAuth:
identityId: "9f65814e-bf4c-42fc-b382-26be15b11416"
serviceAccountRef:
name: infisical-auth
namespace: infisical
autoCreateServiceAccountToken: true
secretsScope:
projectSlug: "kubernetes"
envSlug: "prod"
secretsPath: "/netbootxyz"
recursive: true
managedSecretReference:
secretName: netbootxyz-secrets
secretNamespace: netbootxyz
secretType: Opaque

View File

@@ -1,7 +1,7 @@
apiVersion: secrets.infisical.com/v1alpha1 apiVersion: secrets.infisical.com/v1alpha1
kind: InfisicalSecret kind: InfisicalSecret
metadata: metadata:
name: netbootxyz-secrets name: outline-secrets
namespace: infisical namespace: infisical
spec: spec:
hostAPI: https://infisical.jsme.be hostAPI: https://infisical.jsme.be
@@ -11,12 +11,12 @@ spec:
secretsScope: secretsScope:
projectSlug: "kubernetes" projectSlug: "kubernetes"
envSlug: "prod" envSlug: "prod"
secretsPath: "/netbootxyz" secretsPath: "/outline"
recursive: true recursive: true
credentialsRef: credentialsRef:
secretName: infisical-universal-auth secretName: infisical-universal-auth
secretNamespace: infisical secretNamespace: infisical
managedSecretReference: managedSecretReference:
secretName: netbootxyz-secrets secretName: outline-secrets
secretNamespace: netbootxyz secretNamespace: outline
secretType: Opaque secretType: Opaque

View File

@@ -5,6 +5,7 @@ metadata:
namespace: infisical namespace: infisical
spec: spec:
parentRefs: parentRefs:
# Internal gateway only — Infisical is not exposed publicly.
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
kind: Gateway kind: Gateway
name: gateway-internal name: gateway-internal
@@ -39,7 +40,7 @@ spec:
- name: Permissions-Policy - name: Permissions-Policy
value: "camera=(), microphone=(), geolocation=(), payment=()" value: "camera=(), microphone=(), geolocation=(), payment=()"
backendRefs: backendRefs:
- name: infisical - name: infisical-backend
port: 8080 port: 8080
kind: Service kind: Service
group: "" group: ""

View File

@@ -10,4 +10,4 @@ spec:
volumeName: jellyfin-pvc volumeName: jellyfin-pvc
resources: resources:
requests: requests:
storage: 40Gi storage: 80Gi

Some files were not shown because too many files have changed in this diff Show More