Commit graph

13 commits

Author SHA1 Message Date
Virgil
21df4909b0 fix(infra): improve hetzner client error handling and naming
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-29 15:21:02 +00:00
1f0372e15b Merge pull request '[agent/claude:opus] DX audit and fix. 1) Review CLAUDE.md — update any outdate...' (#1) from agent/dx-audit-and-fix--1--review-claude-md into main 2026-03-17 08:34:29 +00:00
Snider
7edad1625c fix(tests): update error assertions for coreerr.E format and add missing tests
Test assertions were out of sync with the coreerr.E() error format
introduced in 9a24df3 — updated 8 assertions from "prefix 404" to
"prefix: HTTP 404". Added round-trip tests for UpdateRecord,
EnsureRecord, ClearACMEChallenge, CreateLoadBalancer, DeleteLoadBalancer,
CreateSnapshot, GetLoadBalancer, ListLoadBalancers, GetServer, and unit
tests for HostsByRole/AppServers. Coverage: 62.5% → 80.9%. Updated
CLAUDE.md to reflect go-log/go-io dependencies and coding standards.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 08:34:06 +00:00
Snider
2217aad6f3 chore: sync dependencies for v0.1.5
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 22:18:37 +00:00
Snider
9a24df3d5f refactor: replace fmt.Errorf and errors.New with coreerr.E from go-log
Replace all remaining fmt.Errorf and errors.New calls in production code
with structured coreerr.E(op, msg, err) from forge.lthn.ai/core/go-log.
Covers 10 files across the infra package and cmd/prod and cmd/monitor.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 20:38:10 +00:00
Snider
6beb06686a refactor(config): replace os.ReadFile with coreio.Local.Read
Use the go-io Medium abstraction instead of os.ReadFile in Load().

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 18:31:36 +00:00
Snider
353817e224 chore: sync go.mod dependencies
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 15:37:55 +00:00
Snider
5d6d30979c chore: add .core/ and .idea/ to .gitignore 2026-03-15 10:17:49 +00:00
Snider
63b3194aed fix: update stale import paths and dependency versions from extraction
Resolve stale forge.lthn.ai/core/cli v0.1.0 references (tag never existed,
earliest is v0.0.1) and regenerate go.sum via workspace-aware go mod tidy.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 13:38:59 +00:00
Snider
9912ac7848 docs: add CLAUDE.md project instructions
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:38:01 +00:00
Snider
42024ef476 docs: add human-friendly documentation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:02:40 +00:00
Snider
5626d99a17 feat: add cmd/prod and cmd/monitor from go-devops
Production infrastructure and security monitoring commands now
live alongside the infra library they depend on.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-09 12:28:22 +00:00
Snider
11e32fe965 feat: extract infra package from go-devops
Standalone infrastructure provider APIs: Hetzner Cloud, Hetzner Robot,
CloudNS DNS, and YAML infrastructure configuration parser. Shared HTTP
client with retry, exponential backoff, and rate-limit handling.

69 tests passing with race detector. Zero framework dependencies.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-09 11:34:52 +00:00