Skip to content

Commit

Permalink
fix lint issues
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Beemer <[email protected]>
  • Loading branch information
beeme1mr committed Jan 21, 2025
1 parent c04d1b7 commit 1cdeb80
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 14 deletions.
File renamed without changes.
26 changes: 12 additions & 14 deletions protobuf/buf.md → buf.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# Flagd build spec

### Managed by [OpenFeature](https://github.com/open-feature).
This repository contains grpc service definitions that developers can use for interacting with [flagd](https://flagd.dev).

This repository contains grpc service definitions that developers can use for interacting with [flagd](https://github.com/open-feature/flagd).
Below are the modules exposed through this repository:

Given below are the modules exposed through this repository,

- [Flag evaluation](#Flag-evaluation)
- [Flag sync](#Flag-sync)
- [Flag evaluation](#flag-evaluation)
- [Flag sync](#flag-sync)

## Flag evaluation

Expand All @@ -16,27 +14,27 @@ The module `schema.v1` contains a single `Service`, describing the 5 core `rpcs`
response objects (`ResolveXXXRequest` and `ResolveXXXResponse`). The final `rpc` on the `Service` is a streamed response
named `EventStream`, this is used to pass internal events to the client, such as `configuration_change` and `provider_ready`.

Internally, flagd uses the connect protocol, meaning it is compatible with grpc interfaces. If your desired language has
a supported plugin for generating connect stubs then it is recommended to use these over grpc.
Internally, flagd uses the connect protocol, meaning it is compatible with grpc interfaces.
If your desired language has a supported plugin for generating connect stubs then it is recommended to use these over grpc.

## Flag sync

The module `sync.v1` is a service definition to provide flagd with feature flag configurations.
The server exposes 2 `rpcs`.

### SyncFlags

Flagd acts as the client and initiates the streaming with `SyncFlagsRequest`.
The server implementation will then stream feature flag configurations through `SyncFlagsResponse`. The response contains
`SyncState` which can be utilized to provide flagd with flexible configuration updates.
The server implementation will then stream feature flag configurations through `SyncFlagsResponse`.
The response contains `SyncState` which can be utilized to provide flagd with flexible configuration updates.

### FetchAllFlags

Flagd acts as the client and sends the empty message `FetchAllFlagsRequest`.
The server implementation responds with the full feature flag configuration through the `FetchAllFlagsResponse`.
This `rpc` is used to re-sync flagd's internal state during configuration merge events.

## Code generation

Easiest way to generate grpc code for your language of choice is using provided [buf](https://buf.build/) templates.
For example, with required binaries in your path, java code generation can be done using
`buf generate --template buf.gen.java.yaml` command.

Easiest way to generate gRPC code for your language of choice is using provided [buf](https://buf.build/) templates.
For example, with required binaries in your path, java code generation can be done using `buf generate --template buf.gen.java.yaml` command.
File renamed without changes.

0 comments on commit 1cdeb80

Please sign in to comment.