@r5n/hydra 0.3.0

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/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "author": "@ice-chillios",
3
+ "bin": {
4
+ "hydra": "./dist/cli.js"
5
+ },
6
+ "dependencies": {
7
+ "@clack/prompts": "0.11.0",
8
+ "fastest-levenshtein": "1.0.16"
9
+ },
10
+ "description": "A tool for spawning multiple local GitHub self-hosted runners",
11
+ "files": [
12
+ "dist",
13
+ "schema.json",
14
+ "LICENSE"
15
+ ],
16
+ "keywords": [
17
+ "github",
18
+ "runner",
19
+ "self-hosted",
20
+ "ci",
21
+ "cd",
22
+ "automation"
23
+ ],
24
+ "license": "Apache-2.0",
25
+ "main": "dist/cli.js",
26
+ "name": "@r5n/hydra",
27
+ "publishConfig": {
28
+ "access": "public",
29
+ "registry": "https://registry.npmjs.org/"
30
+ },
31
+ "scripts": {
32
+ "build": "rm -rf dist && bun build.ts",
33
+ "clean": "rm -rf dist node_modules",
34
+ "dev": "bun --bun src/cli.ts",
35
+ "package:dryRun": "bun run package:prepare && bun publish --dry-run --no-git-checks --access public --force && bun install",
36
+ "package:prepare": "NODE_ENV=production bun run build && bun ../../tools/scripts/prepare-publish.ts .",
37
+ "package:publish": "bun run package:prepare && bun publish --access public --no-git-checks && bun install",
38
+ "type-check": "bun --bun tsc --noEmit",
39
+ "type-check:go": "tsgo"
40
+ },
41
+ "type": "module",
42
+ "types": "src/cli.ts",
43
+ "version": "0.3.0"
44
+ }
package/schema.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "$comment": "Add this to your hydra.json: \"$schema\": \"https://raw.githubusercontent.com/r5n-labs/clis/refs/heads/develop/packages/hydra/schema.json\"",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "additionalProperties": false,
5
+ "definitions": {
6
+ "profile": {
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "directory": {
10
+ "default": "./gh-runners",
11
+ "description": "Directory where runners will be created",
12
+ "type": "string"
13
+ },
14
+ "labels": {
15
+ "description": "Comma-separated list of labels for the runners",
16
+ "type": "string"
17
+ },
18
+ "name": {
19
+ "default": "runner",
20
+ "description": "Base name for the runners",
21
+ "type": "string"
22
+ },
23
+ "numberOfMachines": {
24
+ "default": 1,
25
+ "description": "Number of runner machines to create",
26
+ "minimum": 1,
27
+ "type": "integer"
28
+ },
29
+ "os": {
30
+ "default": "linux",
31
+ "description": "Operating system for the runners",
32
+ "enum": ["osx", "linux", "windows"],
33
+ "type": "string"
34
+ },
35
+ "overwrite": {
36
+ "default": false,
37
+ "description": "Whether to overwrite existing runners",
38
+ "type": "boolean"
39
+ },
40
+ "run": {
41
+ "default": false,
42
+ "description": "Whether to start runners immediately after creation",
43
+ "type": "boolean"
44
+ },
45
+ "runnerGroup": { "description": "Runner group to assign runners to", "type": "string" },
46
+ "url": {
47
+ "description": "GitHub repository or organization URL",
48
+ "format": "uri",
49
+ "type": "string"
50
+ }
51
+ },
52
+ "type": "object"
53
+ }
54
+ },
55
+ "description": "Configuration for Hydra GitHub self-hosted runner manager",
56
+ "properties": {
57
+ "$schema": { "description": "JSON Schema reference for IDE support", "type": "string" },
58
+ "defaultProfile": {
59
+ "description": "The default profile to use when no profile is specified",
60
+ "type": "string"
61
+ },
62
+ "profiles": {
63
+ "additionalProperties": { "$ref": "#/definitions/profile" },
64
+ "description": "Named profiles for different runner configurations",
65
+ "type": "object"
66
+ }
67
+ },
68
+ "required": ["profiles"],
69
+ "title": "Hydra Configuration",
70
+ "type": "object"
71
+ }