No description
Find a file
Claude 802a054ffe
fix(go.mod): correct replace path ../core to ../go
The framework lives at ../go in the canonical workspace layout.
The ../core path was a symlink-specific workaround that broke
the CLI go.work build.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 15:29:53 +00:00
ansible test(ansible): Phase 1 Step 1.5 — error propagation, become, facts & idempotency 2026-02-20 02:58:27 +00:00
build test(build): add builder detection and config tests 2026-02-20 02:39:32 +00:00
container test(devops): Phase 0 test coverage and hardening 2026-02-20 01:36:03 +00:00
deploy feat: extract devops packages from core/go 2026-02-16 15:21:39 +00:00
devkit feat(devkit): Phase 4 — vulnerability scanning, complexity analysis, coverage trending 2026-02-20 06:28:37 +00:00
devops test(devops): Phase 0 test coverage and hardening 2026-02-20 01:36:03 +00:00
docs docs: graduate TODO/FINDINGS into production documentation 2026-02-20 15:03:18 +00:00
infra feat(infra): Phase 2 — API client abstraction, retry logic, rate limiting 2026-02-20 04:11:08 +00:00
release test(release): Phase 3 — publisher integration, SDK generation, breaking change detection 2026-02-20 05:28:20 +00:00
sdk test(release): Phase 3 — publisher integration, SDK generation, breaking change detection 2026-02-20 05:28:20 +00:00
CLAUDE.md fix(go.mod): correct replace path ../core to ../go 2026-02-20 15:29:53 +00:00
go.mod fix(go.mod): correct replace path ../core to ../go 2026-02-20 15:29:53 +00:00
go.sum feat: extract devops packages from core/go 2026-02-16 15:21:39 +00:00
README.md docs: add README with quick start and docs links 2026-02-20 15:11:26 +00:00

go-devops

Infrastructure and build automation library for the Lethean ecosystem. Provides a native Go Ansible playbook executor (~30 modules over SSH without shelling out), a multi-target build pipeline with project type auto-detection (Go, Wails, Docker, C++, LinuxKit, Taskfile), code signing (macOS codesign, GPG, Windows signtool), release orchestration with changelog generation and eight publisher backends (GitHub Releases, Docker, Homebrew, npm, AUR, Scoop, Chocolatey, LinuxKit), Hetzner Cloud and Robot API clients, CloudNS DNS management, container/VM management via QEMU and Hyperkit, an OpenAPI SDK generator (TypeScript, Python, Go, PHP), and a developer toolkit with cyclomatic complexity analysis, vulnerability scanning, and coverage trending.

Module: forge.lthn.ai/core/go-devops Licence: EUPL-1.2 Language: Go 1.25

Quick Start

import (
    "forge.lthn.ai/core/go-devops/ansible"
    "forge.lthn.ai/core/go-devops/build"
    "forge.lthn.ai/core/go-devops/release"
)

// Run an Ansible playbook over SSH
pb, _ := ansible.ParsePlaybook("playbooks/deploy.yml")
inv, _ := ansible.ParseInventory("inventory.yml")
pb.Run(ctx, inv)

// Build and release
artifacts, _ := build.Build(ctx, ".")
release.Publish(ctx, releaseCfg, false)

Documentation

  • Architecture — Ansible integration, build pipeline, infrastructure APIs, release workflow, devkit, SDK generation
  • Development Guide — building, testing, coding standards
  • Project History — completed phases and known limitations

Build & Test

go test ./...
go test -race ./...
go vet ./...
go build ./...

Licence

European Union Public Licence 1.2 — see LICENCE for details.