Requirements
Section titled “Requirements”- Go 1.27 or newer. Every module declares
go 1.27in itsgo.mod. - A Docker Engine for the Docker-facing modules (
docker,docker/compat,builds,updater). They talk to the daemon through the officialgithub.com/moby/moby/clientmodule. - Linux for the probes in
sys/cgroup. On other platforms they quietly return zero values.
Add a module
Section titled “Add a module”-
Fetch the module you need. Each one is versioned on its own, so install only the ones you use:
Terminal window go get go.getarcane.app/acfs@latest -
Import it:
import "go.getarcane.app/acfs" -
Tidy your module graph:
Terminal window go mod tidy
Pinning a version
Section titled “Pinning a version”Tags are prefixed with the module’s directory, but you don’t need to include that prefix when you ask the Go toolchain for a version:
go get go.getarcane.app/kit@v0.4.0# Tagged in the repository as updater/v0.11.4go get go.getarcane.app/updater@v0.11.4To list the available versions:
go list -m -versions go.getarcane.app/updaterWorking on the modules locally
Section titled “Working on the modules locally”If you are changing a module alongside your application, point your build at a local checkout with a Go workspace:
git clone https://github.com/getarcaneapp/kitgo work init . ./kit/updater ./kitThe kit repository has its own go.work that already includes every nested module, so you can
run go test ./... from inside any module directory.