No description
  • Go 91.3%
  • HTML 7.7%
  • Shell 1%
Find a file
Snider 27315f1850 chore(devops): add external/process submodule + go.work entry (Mantis #1342)
Adds go-process as a submodule under external/process at v0.14.0-3, wires
it into go.work alongside the other external/* deps. Structural prep —
the placeholder pseudo-version `dappco.re/go/process v0.0.0-...` in
go.mod still blocks `go work sync` resolution. Full unblock requires
addressing two stubbed pseudo-versions plus go-scm's `replace
codeberg.org/forgejo/go-sdk => ./third_party/forgejo` violation. New
ticket follows.
2026-05-01 15:31:38 +01:00
.claude-plugin fix(plugin): remove invalid commands schema from plugin.json 2026-03-13 10:54:45 +00:00
.core chore: add .core/ build and release configs 2026-03-06 18:52:36 +00:00
docs fix(devops): r2 — replace must* helpers with stdlib + verify CLI module resolution on PR #2 2026-04-27 17:29:14 +01:00
external chore(devops): add external/process submodule + go.work entry (Mantis #1342) 2026-05-01 15:31:38 +01:00
go refactor(go): restructure to /go/ subtree (Phase 1, Mantis #1231) 2026-05-01 06:46:46 +01:00
playbooks feat: add Ansible playbooks and design plans from CLI 2026-02-21 21:16:52 +00:00
.gitignore chore: add .core/ and .idea/ to .gitignore 2026-03-15 10:17:49 +00:00
.gitmodules chore(devops): add external/process submodule + go.work entry (Mantis #1342) 2026-05-01 15:31:38 +01:00
.woodpecker.yml ci: woodpecker pipeline (Go) — golangci-lint/eslint/phpstan + sonar.lthn.sh 2026-04-29 00:03:03 +01:00
AGENTS.md refactor(core): align go-devops with hardened core/go reference shape 2026-04-29 05:51:31 +01:00
CLAUDE.md fix(devops): r2 — replace must* helpers with stdlib + verify CLI module resolution on PR #2 2026-04-27 17:29:14 +01:00
go.work chore(devops): add external/process submodule + go.work entry (Mantis #1342) 2026-05-01 15:31:38 +01:00
LICENCE chore: add EUPL-1.2 LICENCE file (UK English canonical) 2026-05-01 08:33:55 +01:00
README.md fix(devops): address CodeRabbit findings on PR #2 2026-04-27 15:07:24 +01:00
sonar-project.properties ci: woodpecker pipeline (Go) — golangci-lint/eslint/phpstan + sonar.lthn.sh 2026-04-28 23:33:19 +01: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.26

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.