Commit Graph

13 Commits

Author SHA1 Message Date
CaffeineTux
d4c53395d8 Add playwright persistence to HelmRelease values
Moved persistence configuration to HelmRelease values override
to ensure it takes precedence over chart defaults.
2025-11-16 03:22:59 -05:00
CaffeineTux
9324249185 Fix playwright persistence configuration
Changed from 'size' to 'downloadSize' and 'screenshotSize' to match
playwright-mcp chart expectations.
2025-11-16 03:18:47 -05:00
CaffeineTux
6581a93ac2 Move secrets to HelmRelease values field
Secrets are now in the HelmRelease spec.values field.
This allows Flux to pass them directly to Helm during deployment.

Next step: Extract these to SOPS-encrypted Secret and use valuesFrom.
2025-11-16 03:15:08 -05:00
CaffeineTux
a754d05075 Add secrets to MCP umbrella values for deployment
Individual MCP charts don't support existingSecret pattern.
Secrets are now embedded in values.yaml which is stored in git.

NOTE: This is a temporary solution. Future improvement should:
- Modify MCP charts to support existingSecret
- Or use SealedSecrets/SOPS-encrypted valuesFrom in Flux

All 16 MCP charts now ready for deployment via Flux.
2025-11-16 03:11:16 -05:00
CaffeineTux
c539116eb4 Configure MCP servers to use Harbor OCI registry
- Updated Chart.yaml dependencies to use OCI registry
- Added HelmRepository resource for Harbor
- Created Harbor registry secret (SOPS-encrypted)
- Updated HelmRelease to use HelmRepository instead of Git source
- Packaged and pushed all 16 MCP charts to Harbor OCI registry
- Updated .sops.yaml to handle platform secrets

All MCP charts are now available at:
oci://images.caffeinetux.com/mcp-charts
2025-11-16 03:04:40 -05:00
CaffeineTux
f06c33ddf2 Remove invalid HelmRelease dependency
Removed dependency on 'mcp-secrets' HelmRelease which doesn't exist.
Secrets are deployed via Kustomize in the same namespace.
2025-11-16 02:37:38 -05:00
CaffeineTux
440b1ec375 Fix Gotify provider to use generic webhook type
Changed from unsupported 'gotify' type to 'generic' webhook.
Gotify API token is embedded in the URL.
2025-11-16 02:36:50 -05:00
CaffeineTux
64be88c9fe Fix GitRepository references in Kustomizations
Changed all references from 'homelab' to 'flux-system' to match
the actual GitRepository resource created by Flux bootstrap.
2025-11-16 02:36:17 -05:00
Flux
dc18835453 Add Flux sync manifests 2025-11-16 07:34:56 +00:00
Flux
38197323ad Add Flux v2.4.0 component manifests 2025-11-16 07:34:52 +00:00
CaffeineTux
5e0b770d45 Add Flux bootstrap and Gotify notifications
- Added SOPS-encrypted Gotify API token
- Created Gotify notification provider for Flux alerts
- Added bootstrap Kustomization for notifications
- Updated .sops.yaml to handle bootstrap directory
- Configured alerts for all GitRepository, Kustomization, and HelmRelease events
2025-11-16 02:34:11 -05:00
CaffeineTux
61b9134c36 Add migration status documentation
Tracks completed tasks and next steps for GitOps migration.
Includes security notes for secrets management.
2025-11-16 02:30:04 -05:00
CaffeineTux
9fc30a3573 Initial homelab GitOps repository setup
This commit establishes the foundation for the homelab GitOps repository:

- Created layered architecture (infrastructure/platform/apps)
- Added MCP servers umbrella chart with SOPS-encrypted secrets
- Configured Flux Kustomizations for infrastructure and platform layers
- Set up SOPS + Age for secrets management
- Added .gitignore and documentation

MCP servers include:
- Gateway with auth (API keys in encrypted secrets)
- n8n MCP (workflow automation)
- Playwright MCP (browser automation)
- Kubernetes MCP (kubectl operations)
- GitHub MCP (repository management)
- Gitea MCP (self-hosted git)
- SQLite MCP (database operations)
- Filesystem MCP (file operations)
- Fetch MCP (HTTP requests)
- Memory MCP (shared memory/state)

All secrets are encrypted with SOPS using Age encryption.
2025-11-16 02:28:44 -05:00