/envoy-tongsuo

Envoy OpenSSL extensions

Primary LanguageC++Apache License 2.0Apache-2.0

Envoy Logo

Envoy OpenSSL Extensions

The Envoy OpenSSL Extensions project hosts extensions for building Envoy purely with OpenSSL.

OpenSSL is supported by providing a compatiblity library and a set of TLS related classes that track upstream functionality using OpenSSL rather than BoringSSL.

Slack License

Documentation

Repository Structure

Compatiblity Library

Classes

Extensions

Building

After initial checkout, initialize and update submodules for Envoy and BoringSSL:

git submodule init
git submodule update

For a standalone build of the library, see bssl-compat README.

In order to start building the Envoy handshaker extension, first install Bazel. Bazelisk is a user-friendly launcher for Bazel, install a suitable release for the desired platform. Clang is strongly recommended for a successful build.

After installing clang and Bazelisk/Bazel, build Envoy handshaker with:

patch envoy/bazel/repositories.bzl -i bazel/envoy.patch
CC=clang CXX=clang++ bazel build --config=clang --define crypto=system :envoy

Testing

License

The Envoy OpenSSL Extensions project is governed by the Apache License, Version 2.0. See the LICENSE file for the full license text.

More info