This repo contains protobuf schemas that are used by plumber
.
The proto schemas are used to generate CLI flags in plumber
. protos/cli.proto:CLIOptions
is the entry point.
If you want to modify/add/remove cmds/args/flags, you will want to:
- Clone this repo
- Create a branch
- Make changes to the schemas and include associated
// @gotags: kong:""
comments - Run
make generate/all
- Copy the generated PB's into the
plumber/vendor/github.com/batchcorp/plumber-schemas/...
dir - Verify that plumber works with your new flags
- If yes, create a PR for the
plumber-schemas
repo - Once the PR is merged, update plumber-schemas entry in plumber's
go.mod
to point to new release version - Run
go mod vendor
to ensure plumber fetches the appropriateplumber-schemas
version
git co -b username/change
make generate/all
// this will run generate/go, generate/ts and run the struct tag injectorgit add -a
git commit -a -m "updated schema XYZ
git push origin head
- Open PR, review, merge
The build
workflow will automatically create a tag for the last commit.
It is important that filenames are globally unique. This is because of a namespace issue: golang/protobuf#1122
Due to the above and the fact that plumber uses two sets of schemas
(batchcorp/plumber-schemas
and batchcorp/collector-schemas
), there is a
high chance for naming collisions.
To avoid potential issues - use a ps_$pkgName_
prefix for all filenames.