Skip to content

feat(grpc): support FlatBuffers monitor constructs - #1487

Open
danielpaulus wants to merge 6 commits into
mainfrom
daniel/red-800-checkly-cli-flatbuffers-support-for-grpcmonitor
Open

danielpaulus wants to merge 6 commits into
mainfrom
daniel/red-800-checkly-cli-flatbuffers-support-for-grpcmonitor

Conversation

@danielpaulus

Copy link
Copy Markdown
Contributor

Summary

  • add FlatBuffers encoding and compiled BFBS schema support to gRPC monitor constructs
  • preserve FlatBuffers configuration through import/export code generation
  • validate mutually exclusive Protobuf and FlatBuffers fields
  • document compiling .fbs schemas with flatc and loading .bfbs as base64
  • explain why imports find no resources when checks/groups are already project-managed

Linear: https://linear.app/checklyhq/issue/RED-800/checkly-cli-flatbuffers-support-for-grpcmonitor

Validation

  • full CLI test suite: 2,982 passed, 8 skipped
  • targeted gRPC/codegen/docs tests: 49 passed
  • pnpm --filter checkly run test:types
  • ESLint and git diff --check

@danielpaulus
danielpaulus requested a review from sorccu September 18, 2026 14:39
- Use `grpcConfig.mode` to choose between `'BEHAVIOR'` (invoke a unary method) and `'HEALTH'` (standard health-check service).
- In `BEHAVIOR` mode, set `grpcConfig.method` (e.g. `'package.Service/Method'`). Use `grpcConfig.serviceDefinition` (`'REFLECTION'` or `'PROTO_FILE'`) to resolve the service definition.
- For a FlatBuffers service, compile the source schema locally with `flatc -b --schema --bfbs-builtins schema.fbs`. This produces `schema.bfbs`; `.fbs` is the source file and `.bfbs` is the compiled binary schema Checkly consumes. `--bfbs-builtins` preserves attributes used for streaming and nested FlatBuffers fields.
- Set `grpcConfig.encoding` to `'FLATBUFFERS'` and load the compiled schema with `bfbsContent: readFileSync('schema.bfbs').toString('base64')`. Do not set `serviceDefinition` or `protoContent` for FlatBuffers because FlatBuffers does not provide server reflection.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is not in a dedicated flatbuffers section, this, as a top level list item, reads to me as if it commands the agent to always set encoding to FLATBUFFERS. I'm sure it will figure it out but the instructions may not be as straightforward as they could be

@sorccu sorccu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added 1 minor comment about the agent instructions, but this looks alright to me.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants