Commit Graph
84 Commits
Author SHA1 Message Date
Andras BacsaiandClaude 8b90ae3428 feat: Add GitHub Actions self-hosted runner pool system
Implement backend infrastructure and initial UI for managing GitHub Actions
runners on user-owned servers, similar to Blacksmith.sh but self-hosted.

**Backend Implementation:**
- Database schema: github_runner_sources (pools), github_runner_servers (pivot), github_runners (instances)
- Models: GitHubRunnerSource, GitHubRunner with relationships to Server
- GitHub API helpers: JIT config generation, token management, webhook validation
- Webhook handler: Processes workflow_job events, matches labels, provisions runners
- Job queue: ProvisionGithubRunnerJob (server selection, Docker provisioning), CleanupGithubRunnerJob
- Ephemeral runners using JIT configuration for enhanced security

**Testing:**
- Unit tests: Helper functions, webhook validation, model methods
- Feature tests: Webhook flow, provisioning, server selection, relationships

**UI Foundation:**
- Runner Sources index page with source listing
- Routes configured for index, create, and detail views
- Integration into server management section

**How it works:**
1. User creates a GitHub Runner Source (GitHub App + custom label)
2. User adds multiple servers to the runner pool
3. GitHub Actions jobs with matching runs-on label trigger webhook
4. Coolify provisions ephemeral Docker runner on available server
5. Job executes, container auto-removes on completion

**Next steps:**
- Complete UI components (create, detail, server management)
- Add runner history and monitoring
- User documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 09:52:08 +01:00
peaklabs-dev d9248508b4 chore: remove unused waitlist stuff 2024-12-09 12:00:54 +01:00
Andras Bacsai 5475448af5 feat: gitea manual webhooks 2024-05-23 11:30:18 +02:00
Andras Bacsai 54923b7640 feat: collect webhooks during maintenance 2024-03-01 14:04:29 +01:00
Andras Bacsai 678647f39a fix: force enable/disable server in case ultimate package quantity decreases 2024-02-26 10:25:21 +01:00
Andras Bacsai 64fca99c26 feat: server disabled by overflow 2024-02-25 23:34:01 +01:00
Andras Bacsai 1b055f0316 Refactor subscription pricing and update server limit 2024-02-25 14:00:35 +01:00
Andras Bacsai b59e47dcf9 fix: stripe invoice paid webhook
fix: prepare customer initiated tier change
fix: separate view for subscriptions
2024-02-23 11:21:14 +01:00
Andras Bacsai 1ca0464957 fix: permission change updates from webhook 2024-02-20 20:17:04 +01:00
Andras Bacsai fed01fa9d2 Fix subscription retrieval and handle missing subscriptions 2024-02-12 11:48:28 +01:00
Andras Bacsai 45b736bb01 fix: stripe webhooks 2024-02-06 11:11:26 +01:00
Andras Bacsai fd32cd04ab Refactor invoice payment failure handling in webhooks.php 2024-02-04 12:23:00 +01:00
Andras Bacsai 9a127bdc80 Refactor webhook handling logic to remove duplicate code and improve readability 2024-01-29 16:31:10 +01:00
Andras Bacsai 49845f3da7 fix: webhooks for multiple apps 2024-01-29 11:23:04 +01:00
Andras Bacsai 987409bae4 fix: bitbucket manual deployments 2024-01-29 10:43:18 +01:00
Andras BacsaiandGitHub f255a71434 Merge pull request #1673 from Niki2k1/feat/bitbucket-manual-webhook
feat: added manual webhook support for bitbucket
2024-01-29 08:38:05 +01:00
Andras Bacsai 561e424a7d feat: dashboard live deployment view 2024-01-27 18:44:40 +01:00
Andras Bacsai 5c334bbac6 feat: add PR comments 2024-01-26 18:46:50 +01:00
Andras Bacsai e7cafe6850 fix: restrict concurrent deployments per server 2024-01-25 08:36:47 +01:00
Andras Bacsai 6ecb9c21ce cloud: send notification email if payment 2024-01-24 11:28:01 +01:00
Niklas Lausch 54d8cb9027 feat: added manual webhook support for bitbucket 2024-01-24 10:56:24 +01:00
Andras Bacsai 094e1d1bba Fix condition for merge_request actions in webhooks.php 2024-01-15 14:29:54 +01:00
Andras Bacsai 68b25523d6 Fix action condition in merge_request webhook handler 2024-01-15 14:27:45 +01:00
Andras Bacsai 99d07981cf fix 2023-12-15 14:19:29 +01:00
Andras Bacsai b3ee6b7144 fix: add debug output to gitlab webhooks 2023-12-15 14:17:53 +01:00
Andras Bacsai 468ad7d904 fix: no action in webhooks 2023-12-15 14:09:14 +01:00
Andras Bacsai 771dc30b81 fix: do not send telegram noti on intent payment failed 2023-12-11 08:32:42 +01:00
Andras Bacsai d4d2cc71a0 fix: lots of regarding git + docker compose deployments 2023-11-27 14:28:21 +01:00
Andras Bacsai 9012f6b953 Fix GitHub App retrieval in webhooks.php 2023-11-22 16:40:49 +01:00
Andras Bacsai 0590ed7b2e Update webhooks configuration and application search. 2023-11-14 14:07:48 +01:00
Andras Bacsai 8db66952e8 Add manual Git webhooks and migration files 2023-11-14 13:26:14 +01:00
Andras Bacsai fb0b9dbfed Add subscription exclusion for certain plans in
webhook handling
2023-11-10 15:41:44 +01:00
Andras Bacsai 9617000daa Add stripe_excluded_plans config variable and
handle excluded plans in webhook
2023-11-10 15:36:02 +01:00
Andras Bacsai 143e4e0d23 lol 2023-11-06 13:30:37 +01:00
Andras Bacsai 73f3a09157 oops 2023-11-06 13:29:44 +01:00
Andras Bacsai b6d8851c99 fix: no id found 2023-11-06 10:22:46 +01:00
Andras Bacsai f1da735c40 fix: gh webhook response 200 to installation_repositories 2023-11-06 10:16:21 +01:00
Andras Bacsai e583beb753 fix: invoice.paid should sleep for 5 seconds 2023-11-03 14:51:29 +01:00
Andras Bacsai 38f59b9410 revert 2023-10-27 10:30:15 +02:00
Andras Bacsai ebe6655349 update invoice paid 2023-10-27 10:28:43 +02:00
Andras Bacsai 038ea08ca7 add payment_intent.payment_failed to subs 2023-10-27 10:26:35 +02:00
Andras Bacsai ba424efd39 cloud: fix subs 2023-10-27 10:17:13 +02:00
Andras Bacsai 7d06fc4403 fix: do not show subscription cancelled noti 2023-10-01 18:14:24 +02:00
Andras Bacsai bcffbe418b fix: preview deployments name, status etc 2023-10-01 12:02:44 +02:00
Andras Bacsai febc399568 fix: not found base_branch in git webhooks 2023-09-30 20:47:07 +02:00
Andras Bacsai a86e971020 wip: services 2023-09-19 15:51:13 +02:00
Andras Bacsai da4c2ee60f fix: boarding
fix: error handling
fix: restarting state
2023-09-15 15:34:25 +02:00
Andras Bacsai 8412802f4d oh wow, it is cool! 2023-09-14 15:52:04 +02:00
Andras Bacsai c76a1b1ba5 fix: webhooks should not run if server is not functional 2023-09-12 13:10:39 +02:00
Andras Bacsai 6da4e78374 feat: trial 2023-09-12 11:19:21 +02:00