devopus-api

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2026 License: Apache-2.0

README

devopus-api

The contracts of Devopus: what the CLI, the agent and the workspace platform (devopus-server) agree on.

Package What
proto/ Protobuf of the APIs: workspace/v1 (the platform), sync/v1 (agents' link), agent/v2 (the agent's local API), auth/v1 (sign-in)
gen/ Go and Connect code generated from proto/ (committed)
spec devopus.yaml: the project's settings, their validation, overrides and changes
catalog Services an application runs on (php, node, mysql…) and their versions
signing Signed settings: what a device signs and how it is checked
secrets End-to-end encryption of the project's secrets
go get github.com/amalychev/devopus-api@latest

Development

go test ./...
go tool -modfile=tools/go.mod buf lint
go tool -modfile=tools/go.mod buf generate   # after changing proto/: gen/ is committed

Breaking changes to proto/ are checked against main (buf breaking). A field that goes away is reserved, its number never reused.

License

Apache-2.0.

Directories

Path Synopsis
Package catalog knows the types of services a project is made of (docs/product/ glossary.md): runtimes the applications run on, stores and tools that run as their own containers, and processes that run an application's code in the background.
Package catalog knows the types of services a project is made of (docs/product/ glossary.md): runtimes the applications run on, stores and tools that run as their own containers, and processes that run an application's code in the background.
gen
Package secrets is the end-to-end encryption of a workspace's secrets (ADR-0009, docs/architecture/security.md): age with X25519 keys.
Package secrets is the end-to-end encryption of a workspace's secrets (ADR-0009, docs/architecture/security.md): age with X25519 keys.
Package signing signs and checks versions of projects' settings (ADR-0018, risk R21, layer 2).
Package signing signs and checks versions of projects' settings (ADR-0018, risk R21, layer 2).
Package spec is the model of a project (docs/product/glossary.md): its applications — usually one git repository each — and its services, each living in the project and attached to one or more of its applications.
Package spec is the model of a project (docs/product/glossary.md): its applications — usually one git repository each — and its services, each living in the project and attached to one or more of its applications.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL