{"id":20252601,"url":"https://github.com/streamdal/plumber-schemas","last_synced_at":"2025-04-10T23:22:00.819Z","repository":{"id":37520955,"uuid":"385404288","full_name":"streamdal/plumber-schemas","owner":"streamdal","description":"Protobuf schemas used by plumber and plumber-ui.","archived":false,"fork":false,"pushed_at":"2024-12-01T21:14:05.000Z","size":7563,"stargazers_count":6,"open_issues_count":2,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-31T21:36:36.284Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/streamdal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-12T22:51:27.000Z","updated_at":"2024-12-01T20:30:58.000Z","dependencies_parsed_at":"2024-06-18T21:10:39.003Z","dependency_job_id":"908e7749-a866-43bb-90d3-b43888da8dcf","html_url":"https://github.com/streamdal/plumber-schemas","commit_stats":{"total_commits":330,"total_committers":10,"mean_commits":33.0,"dds":0.6303030303030304,"last_synced_commit":"882b391a54fa2466d563f56a1f1784e58449638f"},"previous_names":["batchcorp/plumber-schemas"],"tags_count":186,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamdal%2Fplumber-schemas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamdal%2Fplumber-schemas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamdal%2Fplumber-schemas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamdal%2Fplumber-schemas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/streamdal","download_url":"https://codeload.github.com/streamdal/plumber-schemas/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248313179,"owners_count":21082813,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T10:17:32.198Z","updated_at":"2025-04-10T23:22:00.793Z","avatar_url":"https://github.com/streamdal.png","language":"JavaScript","readme":"plumber-schemas\n===============\n\nThis repo contains protobuf schemas that are used by `plumber`.\n\n# IMPORTANT\n\nThe proto schemas are used to generate CLI flags in `plumber`. `protos/cli.proto:CLIOptions` is the entry point.\n\nIf you want to modify/add/remove cmds/args/flags, you will want to:\n\n1. Clone this repo\n2. Create a branch\n3. Make changes to the schemas and include associated `// @gotags: kong:\"\"` comments\n4. Run `make generate/all`\n5. Copy the generated PB's into the `plumber/vendor/github.com/batchcorp/plumber-schemas/...` dir\n6. Verify that plumber works with your new flags\n7. If yes, create a PR for the `plumber-schemas` repo\n8. Once the PR is merged, update plumber-schemas entry in plumber's `go.mod` to point to new release version\n9. Run `go mod vendor` to ensure plumber fetches the appropriate `plumber-schemas` version\n\n# Making changes\n\n1. `git co -b username/change`\n1. `make generate/all` // this will run generate/go, generate/ts and run the struct tag injector\n3. `git add -a`\n4. `git commit -a -m \"updated schema XYZ`\n5. `git push origin head`\n6. Open PR, review, merge\n\nThe `build` workflow will automatically create a tag for the last commit.\n\n# Globally unique filenames\n\nIt is important that filenames are _globally_ unique. This is because of a\nnamespace issue: https://github.com/golang/protobuf/issues/1122\n\nDue to the above and the fact that plumber uses two sets of schemas \n(`batchcorp/plumber-schemas` and `batchcorp/collector-schemas`), there is a\nhigh chance for naming collisions.\n\nTo avoid potential issues - use a `ps_$pkgName_` prefix for all filenames.\n\n## Example namespace conflict\n\n![namespace_conflict.png](assets/namespace_conflict.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamdal%2Fplumber-schemas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstreamdal%2Fplumber-schemas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamdal%2Fplumber-schemas/lists"}