The Makefile
Every routine task in the repo is a make target; make help lists them.
| Target | Does |
|---|---|
make deps | Download Go modules and install npm packages for web/ and site/ |
make web | Build the console into web/dist and check its size budget |
make dist-placeholder | Create a placeholder console so Go builds without Node |
make build | bin/5050d, bin/5050-agent, bin/5050 for your OS and architecture |
make cross | Linux amd64 and arm64 for all three; macOS and Windows (experimental) for the CLI |
make test | Go tests with -race, plus npm test in web/ |
make test-linux | Integration tests inside a privileged Linux container with the Docker socket |
make cover | Coverage report; fails under the floors |
make lint | gofmt, go vet and golangci-lint |
make gen-ts | Regenerate the console's TypeScript API types and mocks from pkg/api |
make tools, make vulncheck | Install pinned Go tools; run govulncheck |
make check-public | Secret scan, banned words and em dashes, private addresses, and licence headers |
make dev | Run the control plane, an agent and the console dev server locally |
make site | Build this site |
make release-snapshot | A signed snapshot release in dist/, with the test key |
make e2e HOST=user@ip SUITE=... | Build, serve a snapshot and run the VM end-to-end suite |
make e2e-ui | The browser end-to-end suite against E2E_CONSOLE_URL |
make loadtest | The scale test with fake agents against a local control plane |
make clean | Remove build outputs |