@r5n/hydra 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -14
- package/dist/cli.js +113 -318
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
<img src="https://avatars.githubusercontent.com/u/99986752?s=400&v=4" alt="R5N Labs" width="100" height="100">
|
|
4
4
|
</a>
|
|
5
5
|
|
|
6
|
+
<p><strong>The GitHub Runner Manager That Actually Scales 🚀</strong></p>
|
|
7
|
+
<p><em>🏊 Made for developers who'd rather be coding than configuring</em></p>
|
|
8
|
+
|
|
6
9
|
<h1>Hydra</h1>
|
|
7
|
-
<p><strong>GitHub Self-Hosted Runner Manager</strong></p>
|
|
8
10
|
|
|
9
11
|
<p>
|
|
10
12
|
<a href="https://www.npmjs.com/package/@r5n/hydra">
|
|
@@ -21,15 +23,77 @@
|
|
|
21
23
|
|
|
22
24
|
## Overview
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
Tired of manually setting up GitHub Actions runners? Hydra transforms hours of tedious work into a single command. Create, manage, and monitor dozens of self-hosted runners with the simplicity you've been craving.
|
|
25
27
|
|
|
26
|
-
### ✨
|
|
28
|
+
### ✨ Why Hydra?
|
|
27
29
|
|
|
28
|
-
- 🚀 **
|
|
29
|
-
- 🔧 **
|
|
30
|
-
- 📊 **
|
|
31
|
-
- 🏃 **
|
|
32
|
-
- 🎯 **
|
|
30
|
+
- 🚀 **Lightning Fast** - Create 20 runners in the time it takes to manually create 1
|
|
31
|
+
- 🔧 **Smart Profiles** - Define once, deploy anywhere with reusable configs
|
|
32
|
+
- 📊 **Live Insights** - See exactly what your runners are doing in real-time
|
|
33
|
+
- 🏃 **73KB of Pure Speed** - Installs before your coffee finishes brewing
|
|
34
|
+
- 🎯 **Works Everywhere** - macOS, Linux, Windows - we've got you covered
|
|
35
|
+
|
|
36
|
+
## 🎯 What Can You Do?
|
|
37
|
+
|
|
38
|
+
<details>
|
|
39
|
+
<summary><strong>Create a fleet of runners in seconds</strong></summary>
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
$ hydra create -t $TOKEN -u https://github.com/myorg/repo -m 10 -l "gpu,docker"
|
|
43
|
+
⠋ Downloading runner package... (2.1s)
|
|
44
|
+
✔ Created runner gpu-runner-1
|
|
45
|
+
✔ Created runner gpu-runner-2
|
|
46
|
+
✔ Created runner gpu-runner-3
|
|
47
|
+
✔ Created runner gpu-runner-4
|
|
48
|
+
✔ Created runner gpu-runner-5
|
|
49
|
+
✔ Created runner gpu-runner-6
|
|
50
|
+
✔ Created runner gpu-runner-7
|
|
51
|
+
✔ Created runner gpu-runner-8
|
|
52
|
+
✔ Created runner gpu-runner-9
|
|
53
|
+
✔ Created runner gpu-runner-10
|
|
54
|
+
✅ All 10 runners created successfully in 8.3s
|
|
55
|
+
```
|
|
56
|
+
</details>
|
|
57
|
+
|
|
58
|
+
<details>
|
|
59
|
+
<summary><strong>Monitor your runner army</strong></summary>
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
$ hydra status -p production
|
|
63
|
+
┌─────────────────┬─────────┬───────────┬──────────────┐
|
|
64
|
+
│ Name │ Status │ Busy │ Labels │
|
|
65
|
+
├─────────────────┼─────────┼───────────┼──────────────┤
|
|
66
|
+
│ prod-runner-1 │ ✅ Idle │ No │ linux,docker │
|
|
67
|
+
│ prod-runner-2 │ ✅ Idle │ No │ linux,docker │
|
|
68
|
+
│ prod-runner-3 │ 🔄 Busy │ Yes (2m) │ linux,docker │
|
|
69
|
+
│ prod-runner-4 │ ✅ Idle │ No │ linux,docker │
|
|
70
|
+
│ prod-runner-5 │ ❌ Offline │ - │ linux,docker │
|
|
71
|
+
└─────────────────┴─────────┴───────────┴──────────────┘
|
|
72
|
+
Summary: 3 idle, 1 busy, 1 offline
|
|
73
|
+
```
|
|
74
|
+
</details>
|
|
75
|
+
|
|
76
|
+
<details>
|
|
77
|
+
<summary><strong>Auto-scale based on workload</strong></summary>
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
$ hydra scale -p production --watch --max 10
|
|
81
|
+
🚀 Starting auto-scaling for profile: production
|
|
82
|
+
Configuration:
|
|
83
|
+
• Min runners: 2
|
|
84
|
+
• Max runners: 10
|
|
85
|
+
• Scale up threshold: 3 pending jobs
|
|
86
|
+
• Scale down after: 10 minutes idle
|
|
87
|
+
|
|
88
|
+
🔍 Monitoring runner status...
|
|
89
|
+
⚡ Scaling event: 5 jobs pending, current runners: 3
|
|
90
|
+
→ Scaling up by 2 runners
|
|
91
|
+
✓ Created runner-4
|
|
92
|
+
✓ Created runner-5
|
|
93
|
+
|
|
94
|
+
🔍 Monitoring continues... (press Ctrl+C to stop)
|
|
95
|
+
```
|
|
96
|
+
</details>
|
|
33
97
|
|
|
34
98
|
## 📦 Installation
|
|
35
99
|
|
|
@@ -147,9 +211,9 @@ hydra create --help
|
|
|
147
211
|
|
|
148
212
|
## 🔧 Configuration
|
|
149
213
|
|
|
150
|
-
###
|
|
214
|
+
### The Magic of Profiles 🎭
|
|
151
215
|
|
|
152
|
-
|
|
216
|
+
Stop typing the same commands over and over. Profiles let you define your runner configurations once and reuse them everywhere:
|
|
153
217
|
|
|
154
218
|
#### Example: `hydra.json`
|
|
155
219
|
|
|
@@ -304,7 +368,3 @@ Contributions are welcome! Please see the [main repository](https://github.com/r
|
|
|
304
368
|
Licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for details.
|
|
305
369
|
|
|
306
370
|
---
|
|
307
|
-
|
|
308
|
-
<div align="center">
|
|
309
|
-
Built with ❤️ by <a href="https://github.com/r5n-labs">R5N Labs</a>
|
|
310
|
-
</div>
|