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.
Metadata
Release files for python-envoy-protobuf-installer 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| python-envoy-protobuf-installer-0.1.0.tar.gz | 8.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| python_envoy_protobuf_installer-0.1.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 14.9 kB
Release files / python-envoy-protobuf-installer-0.1.0.tar.gz
| Download URL | python-envoy-protobuf-installer-0.1.0.tar.gz |
|---|---|
| Size | 8.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
656f4f0482e21bac7763e3fe82013750d7d1879d8a5501932ce7829f6a49ca6d
|
|
BLAKE2b-256 checksum How to use checksums |
a9daef04c0b633e03d6f79667a86ada1867c48622e8531213cbe7492ba93982c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / python_envoy_protobuf_installer-0.1.0-py2.py3-none-any.whl
| Download URL | python_envoy_protobuf_installer-0.1.0-py2.py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
00a094b13ab1fb1efaf9e229d7cfe4933cff16fe02bb311b0d7d2c071de92946
|
|
BLAKE2b-256 checksum How to use checksums |
39d0511eb731213fa1cfa1f5aeb81c6420798c75b8ae19b4a6cee735c530e6ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|