Commit Graph

14 Commits

Author SHA1 Message Date
CaffeineTux
2d09640ef2 Disable playwright and puppeteer MCP servers
These resource-intensive browser automation servers are disabled:
- playwright-mcp: Requires 2Gi memory, complex persistence setup
- puppeteer-mcp: Similar resource requirements

This allows the remaining 13 MCP servers to deploy successfully:
✓ mcp-gateway, n8n-mcp, kubernetes-mcp, github-mcp, gitea-mcp
✓ postgresql-mcp, sqlite-mcp, prometheus-mcp, slack-mcp, s3-mcp
✓ filesystem-mcp, fetch-mcp, memory-mcp

Can re-enable later with proper persistence configuration.
2025-11-16 12:00:00 -05:00
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