Installer for Envoy Protobuf files
Project description
envoy-proto-builder
Builds and installs Envoy protocol buffers and the following dependencies:
data-plane-api
googleapis
protoc-gen-validate
opencensus-proto
How it works
Clones the Envoy repository and associated dependencies to a temporary location. Builds the proto files into virtual Python module and installs the module with pip. The protobuf files are available in envoy_proto.
Installation
pip installl envoy-proto-builder
Usage
Running with no arguments will install the Envoy files from the master branch.
usage: envoy-protobuf-builder [-h] [--version VERSION] [--src-dir SRC_DIR] [--no-clone]
optional arguments:
-h, --help show this help message and exit
--version VERSION The Envoy version to build. Defaults to master.
--src-dir SRC_DIR The directory to clone the repositories to. If not specified a temporary
location is used.
--no-clone Build the files with cloning the repositories.
Code Sample
from .common import make_any
from envoy_proto.envoy.config.filter.accesslog.v2.accesslog_pb2 import AccessLog
from envoy_proto.envoy.config.accesslog.v2.file_pb2 import FileAccessLog
from envoy_proto.envoy.api.v2.core.config_source_pb2 import ConfigSource
from envoy_proto.envoy.api.v2.listener.listener_pb2 import (
Filter,
FilterChain,
)
from envoy_proto.envoy.config.filter.network.http_connection_manager.v2.http_connection_manager_pb2 import (
HttpConnectionManager,
HttpFilter,
Rds,
)
FilterChain(
filters=[
Filter(
name='envoy.http_connection_manager',
typed_config=make_any(
HttpConnectionManager(
stat_prefix='ingress_http',
rds=Rds(
route_config_name='local_route',
config_source=ConfigSource(
path='/etc/envoy/routes.yaml',
)
),
http_filters=[
HttpFilter(name='envoy.router')
],
access_log=[
AccessLog(
name='envoy.file_access_log',
typed_config=make_any(
FileAccessLog(
format='''\
%REQ(:METHOD)% %REQ(:AUTHORITY)%%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% -> %UPSTREAM_CLUSTER% %REQ(:PATH)% %RESPONSE_CODE% %RESPONSE_FLAGS%\n''',
path='/dev/stdout',
)
)
)
]
)
)
)
]
)
History
0.1.0 (2019-12-05)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for python-envoy-protobuf-installer-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 656f4f0482e21bac7763e3fe82013750d7d1879d8a5501932ce7829f6a49ca6d |
|
MD5 | 9a13d79eb6a3f043e36c17bf109378aa |
|
BLAKE2b-256 | a9daef04c0b633e03d6f79667a86ada1867c48622e8531213cbe7492ba93982c |
Close
Hashes for python_envoy_protobuf_installer-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00a094b13ab1fb1efaf9e229d7cfe4933cff16fe02bb311b0d7d2c071de92946 |
|
MD5 | 41e6a53d81d65adcc7b83776dc776782 |
|
BLAKE2b-256 | 39d0511eb731213fa1cfa1f5aeb81c6420798c75b8ae19b4a6cee735c530e6ab |