Skip to content

costaraphael/elixir-envoy-data-plane-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EnvoyDataPlaneApi

Protobuf definitions for the Envoy data plane API.

Can be used to parse/generate Envoy configuration files or to implement control plane servers using gRPC.

The definitions are generated by pulling the official data-plane-api repository, and using buf to handle dependencies run the code generation.

The Elixir code is generated using the protobuf library, and it also depends on the grpc and the google_protos libraries.

Example

Here is a simple example of how to use the generated code to parse the /config_dump endpoint of Envoy's admin API:

Mix.install([:req, :jason, :envoy_data_plane_api])

config_dump =
  "http://my_envoy_server:8001/config_dump"
  |> Req.get!()
  |> then(& &1.body)
  |> Protobuf.JSON.decode!(Envoy.Admin.V3.ConfigDump)

Installation

The package can be installed by adding envoy_data_plane_api to your list of dependencies in mix.exs:

def deps do
  [
    {:envoy_data_plane_api, "~> 0.1.0"}
  ]
end

The docs can be found at https://hexdocs.pm/envoy_data_plane_api.

About

Elixir protobuf implementation of the Envoy data plane API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published