Compare commits
12 Commits
edef407a7e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7526ea0a1b | |||
| fc4ca1f3f1 | |||
| 596fa5380a | |||
| 571c5d5d0b | |||
| e467340edd | |||
| fc54063272 | |||
| 2505812fe7 | |||
| 9841e6a55f | |||
| be9bd3a227 | |||
| 62137018ea | |||
| c40577589d | |||
| 64e8bf7d78 |
93
README.md
93
README.md
@@ -6,51 +6,51 @@ 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
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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: ""
|
||||||
@@ -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
Reference in New Issue
Block a user