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
File details
Details for the file python-envoy-protobuf-installer-0.1.0.tar.gz
.
File metadata
- Download URL: python-envoy-protobuf-installer-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 656f4f0482e21bac7763e3fe82013750d7d1879d8a5501932ce7829f6a49ca6d |
|
MD5 | 9a13d79eb6a3f043e36c17bf109378aa |
|
BLAKE2b-256 | a9daef04c0b633e03d6f79667a86ada1867c48622e8531213cbe7492ba93982c |
File details
Details for the file python_envoy_protobuf_installer-0.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: python_envoy_protobuf_installer-0.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00a094b13ab1fb1efaf9e229d7cfe4933cff16fe02bb311b0d7d2c071de92946 |
|
MD5 | 41e6a53d81d65adcc7b83776dc776782 |
|
BLAKE2b-256 | 39d0511eb731213fa1cfa1f5aeb81c6420798c75b8ae19b4a6cee735c530e6ab |