Add a new "builder" capability to trigger Nix builds on a dedicated build host via NATS messaging. This allows pre-building NixOS configurations before deployment. New components: - Builder mode: subscribes to build.<repo>.* subjects, executes nix build - Build CLI command: triggers builds with progress tracking - MCP build tool: available with --enable-builds flag - Builder metrics: tracks build success/failure per repo and host - NixOS module: services.homelab-deploy.builder The builder uses a YAML config file to define allowed repositories with their URLs and default branches. Builds can target all hosts or specific hosts, with real-time progress updates. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
37 lines
1.3 KiB
Modula-2
37 lines
1.3 KiB
Modula-2
module git.t-juice.club/torjus/homelab-deploy
|
|
|
|
go 1.25.5
|
|
|
|
require (
|
|
github.com/google/uuid v1.6.0
|
|
github.com/mark3labs/mcp-go v0.43.2
|
|
github.com/nats-io/nats.go v1.48.0
|
|
github.com/nats-io/nkeys v0.4.15
|
|
github.com/prometheus/client_golang v1.23.2
|
|
github.com/urfave/cli/v3 v3.6.2
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
)
|
|
|
|
require (
|
|
github.com/bahlo/generic-list-go v0.2.0 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/buger/jsonparser v1.1.1 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/invopop/jsonschema v0.13.0 // indirect
|
|
github.com/klauspost/compress v1.18.0 // indirect
|
|
github.com/kylelemons/godebug v1.1.0 // indirect
|
|
github.com/mailru/easyjson v0.7.7 // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/nats-io/nuid v1.0.1 // indirect
|
|
github.com/prometheus/client_model v0.6.2 // indirect
|
|
github.com/prometheus/common v0.66.1 // indirect
|
|
github.com/prometheus/procfs v0.16.1 // indirect
|
|
github.com/spf13/cast v1.7.1 // indirect
|
|
github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect
|
|
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
|
|
go.yaml.in/yaml/v2 v2.4.2 // indirect
|
|
golang.org/x/crypto v0.47.0 // indirect
|
|
golang.org/x/sys v0.40.0 // indirect
|
|
google.golang.org/protobuf v1.36.8 // indirect
|
|
)
|