11# Contributing
22
3+ ## Prerequisites
4+
5+ To build and run this extension locally, you need:
6+
7+ - [ Go] ( https://go.dev/dl/ ) 1.26 or later
8+ - [ GNU Make] ( https://www.gnu.org/software/make/ )
9+ - [ GoReleaser] ( https://goreleaser.com/ ) (used by ` make build ` )
10+ - [ Docker] ( https://www.docker.com/ ) (required for ` make container ` and container-based tests)
11+ - [ Helm] ( https://helm.sh/docs/intro/install/ ) and [ helm-unittest] ( https://github.com/helm-unittest/helm-unittest ) (for chart development; ` make charttesting ` and ` make chartlint ` )
12+
313## Getting Started
414
5151 . Clone the repository
919
1020## Tasks
1121
12- The ` Makefile ` in the project root contains commands to easily run common admin tasks:
22+ The ` Makefile ` in the project root contains commands to easily run common admin tasks. Run ` make help ` to list all available targets.
1323
14- | Command | Meaning |
15- | ----------------| -------------------------------------------------------------------------------------------------------|
16- | ` $ make tidy ` | Format all code using ` go fmt ` and tidy the ` go.mod ` file. |
17- | ` $ make audit ` | Run ` go vet ` , ` staticheck ` , execute all tests and verify required modules. |
18- | ` $ make build ` | Build a binary for the extension. Creates a file called ` extension ` in the repository root directory. |
19- | ` $ make run ` | Build and then run the created binary. |
24+ | Command | Meaning |
25+ | --------------------| -------------------------------------------------------------------------------------------------------|
26+ | ` $ make tidy ` | Format all code using ` go fmt ` and tidy the ` go.mod ` file. |
27+ | ` $ make audit ` | Run ` go vet ` , ` staticcheck ` , execute all tests and verify required modules. |
28+ | ` $ make build ` | Build a binary for the extension. Creates a file called ` extension ` in the repository root directory. |
29+ | ` $ make run ` | Build and then run the created binary. |
30+ | ` $ make container ` | Build the container image (` extension-stackstate:latest ` ) using Docker buildx. |
2031
2132## Releasing the Code/Docker Image
2233
@@ -29,14 +40,14 @@ To make a new release, do the following:
2940
3041## Releasing Helm Chart Changes
3142
32- 1 . Update the version number in the [ Chart.yaml] ( charts/steadybit-extension-stackstate/Chart.yaml )
43+ 1 . Update the version number in the [ Chart.yaml] ( ./ charts/steadybit-extension-stackstate/Chart.yaml)
3344 2 . Commit and push the changes.
3445
3546Changing the Helm chart without bumping the version will result in the following error:
3647
3748```
3849> Releasing charts...
39- Error: error creating GitHub release steadybit-extension-scaffold -1.0.0: POST https://api.github.com/repos/steadybit/extension-scaffold /releases: 422 Validation Failed [{Resource:Release Field:tag_name Code:already_exists Message:}]
50+ Error: error creating GitHub release steadybit-extension-stackstate -1.0.0: POST https://api.github.com/repos/steadybit/extension-stackstate /releases: 422 Validation Failed [{Resource:Release Field:tag_name Code:already_exists Message:}]
4051```
4152
4253## Contributor License Agreement (CLA)
0 commit comments