Not sure which SDK to use? Check out our Integration Overview documentation.

Overview

For server-side applications, Flipt provides a GRPC API for evaluating flags. The GRPC API SDKs are available in the following languages:

If your language isn’t listed, please see the section below on how to generate a native GRPC client manually. If you choose to open-source this client, please submit a pull request so that we can add it to the docs.

Generate

If a GRPC client in your language isn’t available for download, you can easily generate it yourself using the existing protobuf definition. The GRPC documentation has extensive examples of how to generate GRPC clients in each supported language.

GRPC generates both client implementation and server interfaces. To use Flipt you only need the GRPC client implementation and can ignore the server code as this is implemented by Flipt itself.

Below are two examples of how to generate Flipt clients in both Go and Ruby.

Go Example

  1. Follow the setup instructions on the GRPC website.
  2. Generate using protoc to desired location:
protoc -I ./rpc --go_out=plugins=grpc:/tmp/flipt/go ./rpc/flipt.proto
cd /tmp/flipt/go/flipt
ls
flipt.pb.go          flipt_pb.rb          flipt_services_pb.

Ruby Example

  1. Follow the setup instructions on the GRPC website.
  2. Generate using protoc to the desired location:
grpc_tools_ruby_protoc -I ./rpc --ruby_out=/tmp/flipt/ruby --grpc_out=/tmp/flipt/ruby ./rpc/flipt.proto
cd /tmp/flipt/ruby
ls
flipt_pb.rb          flipt_services_pb.rb