Add "Home"
commit
555d21a223
1 changed files with 60 additions and 0 deletions
60
Home.md
Normal file
60
Home.md
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
# go-devops
|
||||
|
||||
Infrastructure management, build tooling, and portable development environments for the Lethean network. Part of the [Core Go ecosystem](https://forge.lthn.ai/core).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
go get forge.lthn.ai/core/go-devops
|
||||
```
|
||||
|
||||
**Requires**: Go 1.25+, depends on `forge.lthn.ai/core/go`
|
||||
|
||||
## Package Map
|
||||
|
||||
| Import Path | Description |
|
||||
|---|---|
|
||||
| `go-devops/infra` | Infrastructure config, Hetzner Cloud API, Hetzner Robot API, CloudNS DNS |
|
||||
| `go-devops/devops` | Portable dev environment: boot, shell, test, serve, Claude sandbox, image management |
|
||||
| `go-devops/devops/sources` | Image download sources (GitHub Releases, CDN) |
|
||||
| `go-devops/build` | Build system: project discovery, archive creation, multi-language builders |
|
||||
| `go-devops/build/builders` | Language-specific builders: Go, Wails, C++, Docker, LinuxKit, Taskfile |
|
||||
| `go-devops/build/buildcmd` | CLI commands: build, release, SDK generation, PWA, project scaffolding |
|
||||
| `go-devops/container` | LinuxKit container management for dev environments |
|
||||
| `go-devops/release` | Release automation: versioning, changelogs, SDK generation |
|
||||
| `go-devops/release/publishers` | Package publishers: npm, Docker, Homebrew, Scoop, Chocolatey, AUR |
|
||||
| `go-devops/deploy/coolify` | Coolify deployment client |
|
||||
| `go-devops/deploy/python` | Embedded Python for deployment scripts |
|
||||
| `go-devops/sdk` | SDK generators |
|
||||
|
||||
## Quick Start
|
||||
|
||||
```go
|
||||
import "forge.lthn.ai/core/go-devops/infra"
|
||||
|
||||
// Load infrastructure config
|
||||
cfg, err := infra.Load("infra.yaml")
|
||||
appServers := cfg.AppServers()
|
||||
|
||||
// Hetzner Cloud
|
||||
hcloud := infra.NewHCloudClient(token)
|
||||
servers, err := hcloud.ListServers(ctx)
|
||||
|
||||
// CloudNS DNS
|
||||
dns := infra.NewCloudNSClient(authID, password)
|
||||
zones, err := dns.ListZones(ctx)
|
||||
```
|
||||
|
||||
See [[Infrastructure]] for Hetzner and DNS APIs, [[DevOps-Tools]] for the dev environment.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- `github.com/spf13/cobra` -- CLI framework
|
||||
- `github.com/Snider/Borg` -- Secure blob storage
|
||||
- `golang.org/x/crypto` -- SSH utilities
|
||||
- `github.com/kluctl/go-embed-python` -- Embedded Python runtime
|
||||
- `github.com/getkin/kin-openapi` -- OpenAPI spec parsing
|
||||
|
||||
## Licence
|
||||
|
||||
EUPL-1.2
|
||||
Loading…
Add table
Reference in a new issue