Thanks for helping. Bug reports, plugin ideas, docs fixes and code are all welcome.
- Report a bug or ask for a feature: open an issue. Include the version (
monitor --version), what you expected and what happened. - Ask a question or share a setup: use GitHub Discussions.
- Add a plugin: protocols and device types are plugins, never core changes. Start from
pkg/pluginand an existing plugin such asplugins/http, and read the feature specs. - Change the design: edit the relevant feature spec or add an ADR from the template in the same pull request.
- Security issues: do not open a public issue. Email security@plusclouds.com.
Look for issues labelled good first issue.
Requirements: Docker; Go 1.27 to build and test from source. See Development in the README to run the stack.
make build # bin/monitor
make test # unit and integration tests with -race (needs Docker)
make lint # golangci-lint, including gosec
make check # everything CI runsIf you change api/openapi.yaml, run make generate and commit the result.
- Branch from
master, one topic per pull request. - Use conventional commit prefixes (
feat:,fix:,docs:,ci:). - Add or update tests;
make checkmust pass. - Update the docs and CHANGELOG.md for user-visible changes.
- Dependencies must use a license on the allowlist (see
ALLOWED_LICENSESin the Makefile).
By contributing you agree your work is released under the MIT license.