Commit Graph

19 Commits

Author SHA1 Message Date
Neon Vortex
5753e6ee78 Update Neon Vortex HTML5 export
Some checks failed
Build and Push to Harbor / build-and-push (push) Failing after 12m12s
Updated game files with latest Godot export

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 15:43:51 -05:00
Neon Vortex
6b10a7da42 Fix CORS headers for static assets (WASM/JS files)
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
Add CORS headers to static assets location block. In nginx, add_header
in a location block replaces all parent add_header directives, so the
CORS headers need to be repeated in the location block that handles
.wasm and .js files.

This fixes the issue where threaded WASM files couldn't load because
they didn't have the required Cross-Origin headers.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:19:44 -05:00
Neon Vortex
2171af4150 Enable CORS headers for Godot threading support
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
The game uses threaded WASM (Neon Vortex.side.wasm exists) which
requires Cross-Origin-Embedder-Policy and Cross-Origin-Opener-Policy
headers for SharedArrayBuffer support.

Without these headers, the game only partially loads because the
threading fails to initialize.

Fixes: Partial page loading issue

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 23:55:40 -05:00
Neon Vortex
19b3698c47 Fix 503 error by moving ingress to neonvortex namespace
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
The ingress was still in the default namespace trying to route
to a service that no longer exists there. Moved ingress to the
neonvortex namespace where the service actually resides.

Fixes: 503 Service Unavailable error
Tested: https://nv.caffeinetux.com now returns HTTP 200

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 23:33:48 -05:00
Neon Vortex
d7bc188ee5 Reorganize to dedicated namespaces with automatic cleanup
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
**Namespace Structure:**
- neonvortex: Application deployment and webhook listener
- flux-builds: Build jobs with automatic cleanup
- flux-system: Flux CD control plane (unchanged)

**Automatic Cleanup:**
- Build jobs: 30-minute TTL after completion
- Cleanup CronJob: Runs every 30 minutes
  - Keeps last 10 successful builds
  - Deletes failed jobs older than 1 hour
  - Removes all jobs older than 24 hours

**Changes:**
- Moved HelmRelease from default to neonvortex namespace
- Moved build jobs from default to flux-builds namespace
- Updated webhook listener to create jobs in flux-builds
- Updated Flux alerts to monitor new namespace
- Cleaned up all resources from default namespace
- Added dedicated ServiceAccounts and RBAC per namespace

**Benefits:**
- Clean namespace separation for better organization
- Automatic job cleanup prevents resource accumulation
- Build history maintained (last 10 successful builds)
- Improved monitoring and troubleshooting
- Default namespace is now clean

Comprehensive migration guide in NAMESPACE_MIGRATION_GUIDE.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 23:27:32 -05:00
Neon Vortex
066d6cae67 Fix Gotify notifications with correct API format
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
- Use /message endpoint with form data instead of JSON
- Update notification provider to use correct Gotify URL
- Fix priority levels for different notification types
- Test notifications should now work properly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 23:06:42 -05:00
Neon Vortex
2c619f86c9 Fix webhook listener to use alpine/k8s image with kubectl
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
- Switch from alpine:latest to alpine/k8s:1.28.13
- Ensures kubectl is available for job creation
- Webhook now successfully triggers build jobs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 22:53:45 -05:00
Neon Vortex
2c61efff72 Add complete webhook-based CI/CD with automatic builds and notifications
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
This commit implements a full webhook-triggered CI/CD pipeline:

**Flux Components:**
- Flux Receiver for Gitea webhooks (generic type, NodePort 30090)
- Notification Provider for notify.caffeinetux.com
- Alerts for git updates, builds, and deployments

**Build Automation:**
- Webhook listener deployment that triggers on git push
- Automatic Kaniko build jobs with git metadata
- Images tagged with both 'latest' and commit SHA
- Build notifications sent at start and completion

**Workflow:**
1. Push to Gitea → Webhooks trigger Flux receiver & build listener
2. Build listener creates Kaniko job with commit info
3. Kaniko builds and pushes to Harbor (latest + SHA tags)
4. Flux auto-deploys latest image to cluster
5. Notifications sent to notify.caffeinetux.com at each stage

**Configuration:**
- Token: APMvTuncQJmm6vd
- Webhook path: /hook/548969c2b24c717fe9e5af8c78ddfeec40d3024c270c7e85ac8f986259aeec9a
- Build trigger: http://<node-ip>:30091/webhook
- Comprehensive setup documentation in WEBHOOK_SETUP_GUIDE.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 22:50:07 -05:00
Neon Vortex
e61dc3bd58 Fix build trigger container image to use Alpine-based image
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
- Switch from bitnami/kubectl to alpine/k8s for proper package manager
- Add curl to dependencies for potential future webhook support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 22:02:01 -05:00
Neon Vortex
d919cbd263 Simplify CI/CD pipeline with CronJob-based build trigger
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
- Add CronJob that polls git repository every 2 minutes for changes
- Automatically triggers Kaniko build jobs when new commits detected
- Images tagged with both 'latest' and 'v1.0.<commit-sha>' for versioning
- Remove complex Tekton/Flux image automation dependencies
- Add comprehensive simple CI/CD setup documentation

This provides a reliable, simple CI/CD pipeline:
1. Push code to Gitea
2. CronJob detects changes within 2 minutes
3. Kaniko builds and pushes to Harbor
4. Flux deploys latest image automatically

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 21:59:33 -05:00
Neon Vortex
473de53cff Add complete CI/CD pipeline with Tekton and Flux image automation
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
- Add Tekton pipeline and triggers for automated builds on git push
- Add Flux ImageRepository to track Harbor registry images
- Add Flux ImagePolicy for semantic versioning strategy
- Add Flux ImageUpdateAutomation to auto-update HelmRelease
- Update HelmRelease with image automation marker
- Add comprehensive CI/CD pipeline setup documentation

This enables automatic build and deployment when pushing to Gitea:
1. Gitea webhook triggers Tekton pipeline
2. Kaniko builds and pushes image to Harbor
3. Flux detects new image and updates deployment
4. Application automatically deploys to cluster

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 21:56:12 -05:00
Neon Vortex
67a6ae146f Add Flux CD configuration and update Neon Vortex HTML5 export
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
- Add Flux GitRepository and HelmRelease manifests for automated deployment
- Update Neon Vortex game files (HTML5 export with WASM optimization)
- Add Kubernetes manifests: Kaniko build job, MPD config, and Ingress
- Add MPD Docker configuration with improved settings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 21:39:02 -05:00
Neon Vortex
ce8d9029c1 Fix Neon Vortex button input and add Jellyfin WAL mode
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
- Comment out CORS headers in nginx.conf to fix button input blocking
- Add WAL enable job for Jellyfin to resolve database locking issues
- Include comprehensive troubleshooting documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 17:51:34 -05:00
Neon Vortex
5b52eb9999 Add comprehensive Godot HTML5 export guide and remove stub files
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
- Created detailed best practices guide for Godot HTML5/Web exports
- Removed empty stub files (they mask problems rather than solving them)
- Kept favicon.ico as it's a legitimate browser requirement
- Guide covers export config, optimization, deployment, and troubleshooting
2025-11-22 14:34:00 -05:00
Neon Vortex
d3c424d6d7 Add favicon.ico and stub files to prevent 404 errors from scanners
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
2025-11-22 11:13:51 -05:00
Neon Vortex
45ed88a3cd Fix nginx config for index file with spaces
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
2025-11-21 20:03:28 -05:00
Neon Vortex
f947438a7d Fix nginx permission issue for non-root container
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
2025-11-21 20:00:42 -05:00
Neon Vortex
68d09fff18 Add Gitea Actions workflow for building and pushing Docker image
Some checks failed
Build and Push to Harbor / build-and-push (push) Has been cancelled
2025-11-21 19:53:50 -05:00
Neon Vortex
ce0f57c738 Initial commit: Neon Vortex application with Helm chart 2025-11-21 19:51:50 -05:00