{"id":51584632,"url":"https://github.com/apache/skywalking-banyandb-client-proto","last_synced_at":"2026-07-11T09:01:30.656Z","repository":{"id":329385824,"uuid":"1112154439","full_name":"apache/skywalking-banyandb-client-proto","owner":"apache","description":"BanyanDB public client Protocol Buffer and gRPC definitions","archived":false,"fork":false,"pushed_at":"2026-07-10T07:11:08.000Z","size":105,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-10T09:08:25.734Z","etag":null,"topics":["apm","database","distributed-tracing","logging","metrics","observability","skywalking","time-series"],"latest_commit_sha":null,"homepage":"https://skywalking.apache.org/","language":"Python","has_issues":false,"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/apache.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,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-08T08:21:10.000Z","updated_at":"2026-07-10T07:11:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/apache/skywalking-banyandb-client-proto","commit_stats":null,"previous_names":["apache/skywalking-banyandb-client-proto"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/apache/skywalking-banyandb-client-proto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fskywalking-banyandb-client-proto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fskywalking-banyandb-client-proto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fskywalking-banyandb-client-proto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fskywalking-banyandb-client-proto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/skywalking-banyandb-client-proto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fskywalking-banyandb-client-proto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35356478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-11T02:00:05.354Z","response_time":104,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["apm","database","distributed-tracing","logging","metrics","observability","skywalking","time-series"],"created_at":"2026-07-11T09:01:29.610Z","updated_at":"2026-07-11T09:01:30.614Z","avatar_url":"https://github.com/apache.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BanyanDB Client Proto Definitions\n\n\u003cimg src=\"http://skywalking.apache.org/assets/logo.svg\" alt=\"Sky Walking logo\" height=\"90px\" align=\"right\" /\u003e\n\nThis repo contains the **BanyanDB public client Protocol Buffer / gRPC definitions**, plus a small toolchain to:\n\n- **Sync** protos from the upstream BanyanDB repo (`apache/skywalking-banyandb`)\n- **Normalize and merge** upstream protos into a stable client-facing layout under `proto/banyandb/v1/`\n- **Generate + compile Java** from the synced protos to verify the sync is valid (also enforced in CI)\n\n## Upstream source of truth\n\nProtos are synced from the Apache SkyWalking BanyanDB repository:\n\n- **Repo**: `apache/skywalking-banyandb`\n- **Path**: `api/proto/banyandb/\u003cmodule\u003e/v1/*.proto`\n\nLocally, this repo maintains a consolidated, client-friendly layout:\n\n- `proto/banyandb/v1/banyandb-common.proto`\n- `proto/banyandb/v1/banyandb-database.proto`\n- `proto/banyandb/v1/banyandb-measure.proto`\n- `proto/banyandb/v1/banyandb-model.proto`\n- `proto/banyandb/v1/banyandb-property.proto`\n- `proto/banyandb/v1/banyandb-stream.proto`\n- `proto/banyandb/v1/banyandb-trace.proto`\n\nThese files are produced by `scripts/sync_proto.py`, which also rewrites imports to match the merged layout.\n\n## Prerequisites\n\n- **Python**: 3.x (for `scripts/sync_proto.py`)\n- **Java**: JDK 17 (for compilation verification)\n- **Maven**: use `./mvnw` (recommended) or a system `mvn`\n\nIf you use `./mvnw` and hit a permission error, run:\n\n```bash\nchmod +x mvnw\n```\n\n## Sync protos\n\n### Preview changes (dry-run)\n\n```bash\nmake sync-proto-dry-run\n```\n\nOr directly (with extra options):\n\n```bash\npython3 scripts/sync_proto.py --branch main --dry-run\n```\n\n### Apply changes\n\nInteractive (asks for confirmation):\n\n```bash\nmake sync-proto\n```\n\nNon-interactive (useful in automation):\n\n```bash\npython3 scripts/sync_proto.py --branch main --force\n```\n\n### Sync only specific module(s)\n\n```bash\npython3 scripts/sync_proto.py --branch main --module common --module measure --force\n```\n\nValid modules are: `common`, `database`, `measure`, `model`, `property`, `stream`, `trace`.\n\n### Sync via GitHub Actions (opens a PR)\n\nRun the workflow “Sync Proto Files” (`.github/workflows/sync-proto.yml`) with an optional `branch` input (defaults to `main`).\n\n## Verify the sync (generate + compile)\n\nThe fastest correctness check after syncing is to **generate Java from the protos and compile**:\n\n```bash\nmake compile\n```\n\nThis runs `mvn clean compile` (preferring `./mvnw` if present), which:\n\n- Generates Java sources from `proto/**/*.proto` into `target/generated-sources/`\n- Compiles them into `target/classes/`\n\nThis is also what CI runs in “Verify Proto Files” (`.github/workflows/verify-proto.yml`).\n\n## Clean\n\n```bash\nmake clean\n```\n\n## Project structure\n\n```\n.\n├── proto/\n│   └── banyandb/\n│       └── v1/                 # Consolidated (synced) proto files\n├── scripts/\n│   └── sync_proto.py           # Sync + merge tool (pulls from upstream GitHub)\n├── pom.xml                     # Java compile verification (protoc + javac via Maven)\n├── mvnw                        # Maven wrapper (preferred)\n├── Makefile                    # Convenience targets\n└── README.md\n```\n\n## Code of conduct\nThis project adheres to the Contributor Covenant [code of conduct](https://www.apache.org/foundation/policies/conduct). By participating, you are expected to uphold this code.\nPlease follow the [REPORTING GUIDELINES](https://www.apache.org/foundation/policies/conduct#reporting-guidelines) to report unacceptable behavior.\n\n## Contact Us\n* Mail list: **dev@skywalking.apache.org**. Mail to `dev-subscribe@skywalking.apache.org`, follow the reply to subscribe the mail list.\n* Send `Request to join SkyWalking slack` mail to the mail list(`dev@skywalking.apache.org`), we will invite you in.\n* Twitter, [ASFSkyWalking](https://twitter.com/ASFSkyWalking)\n* QQ Group: 901167865(Recommended), 392443393\n* [bilibili B站 视频](https://space.bilibili.com/390683219)\n\n## License\n[Apache 2.0 License.](LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fskywalking-banyandb-client-proto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fskywalking-banyandb-client-proto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fskywalking-banyandb-client-proto/lists"}