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-schemasrepo - Once the PR is merged, update plumber-schemas entry in plumber's
go.modto point to new release version - Run
go mod vendorto ensure plumber fetches the appropriateplumber-schemasversion
git co -b username/changemake generate/all// this will run generate/go, generate/ts and run the struct tag injectorgit add -agit commit -a -m "updated schema XYZgit 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.
