Skip to content

Instantly share code, notes, and snippets.

@shpwrck
Last active June 6, 2022 19:10
Show Gist options
  • Save shpwrck/64037615587ceb588167dc5692acfc4a to your computer and use it in GitHub Desktop.
Save shpwrck/64037615587ceb588167dc5692acfc4a to your computer and use it in GitHub Desktop.
EnvoyConfig
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 8080
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: service
domains:
- "*"
routes:
- match:
prefix: "/"
route:
cluster: local_service
http_filters:
- name: envoy.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
clusters:
- name: local_service
type: STATIC
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: local_service
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 127.0.0.1
port_value: 80
admin:
access_log_path: "/dev/stdout"
address:
socket_address:
address: 0.0.0.0
port_value: 8081
admin:
access_log_path: "/dev/stdout"
address:
socket_address:
address: 0.0.0.0
port_value: 8081
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 443
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
access_log:
- name: envoy.access_loggers.stdout
typed_config:
"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
codec_type: AUTO
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: app
domains:
- "*"
routes:
- match:
prefix: "/"
route:
cluster: service-http
http_filters:
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
common_tls_context:
tls_certificates:
# The following self-signed certificate pair is generated using:
# $ openssl req -x509 -newkey rsa:2048 -keyout a/front-proxy-key.pem -out a/front-proxy-crt.pem -days 3650 -nodes -subj '/CN=front-envoy'
#
# Instead of feeding it as an inline_string, certificate pair can also be fed to Envoy
# via filename. Reference: https://envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#config-core-v3-datasource.
#
# Or in a dynamic configuration scenario, certificate pair can be fetched remotely via
# Secret Discovery Service (SDS). Reference: https://envoyproxy.io/docs/envoy/latest/configuration/security/secret.
- certificate_chain:
inline_string: |
-----BEGIN CERTIFICATE-----
MIIEJjCCAg6gAwIBAgIRAIohfIqgQKJbREbvHt2bDagwDQYJKoZIhvcNAQELBQAw
PDEOMAwGA1UECgwFSXN0aW8xGDAWBgNVBAMMD0ludGVybWVkaWF0ZSBDQTEQMA4G
A1UEBwwHY2x1c3RlcjAeFw0yMjA2MDYxNzM1NTBaFw0yMjA5MDQxNzM1NTBaMAAw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCq7Uz3D85wUQJAyZUQblZF
2bVBr8oiapcCafFXd3hBejW1L9ugYsfQIDQ/lv+R3unIAjVe59lEVPlgTFJAeyFi
LCkA1UiBJ5Rng9NvXfFewGIIH55x6EUbwL+nn44bmD+0iHDB+x0EUTvPWY7MEhfT
F7yD6IPauG0MBdlB368WMd/UAi1E6cjnKmexlLCmso5v0ap+I4JMvfyGlsFzE+Ko
FI8LSPtcMJTRO8T5pzYQa+bSrePXvuUkNBI2u517057H22oA6Yjwu3FZe46fife/
ObsTpWr/HnSiOPNCOiTqkR561NVRopgHtXwqrA5nKMalQwqj9iH6ZIu5w+MJxq+5
AgMBAAGjXzBdMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB8GA1UdIwQY
MBaAFIaxwQbK5MZHIXAA2Xc7kXi9mka2MBwGA1UdEQEB/wQSMBCCDiouc2tyenlw
ZWsuZGV2MA0GCSqGSIb3DQEBCwUAA4ICAQA3RdIyRVfXyAZwmvGNweu/eQF6LZ0/
HLBGFVLQepfXvEM/juzpv+FzNT8+udocMSe9eEih0/T/zcOXdHt93naECe1bne+Q
Npp5sZ7+h2etRNVPk1tPaSSm/lsRsHTJ0QmC6EbBHvQ0iouNORTRIak5XDKTScYJ
kfmHxyk+HuaissK8eQYoN1QFYumkT5RMA2Q1Ce4tA/WvpYfJO7nChqPRigymeLFr
0rjTkTXGkODoXvWqLyx87jsPH6Qbwaa9fAMUTUxRFgUb7g9d0gA1pFCO35LaEeS0
Ez0FRafGolJ8hW2Hv27dSVVL/Ckep/LoZY9lEevLaRBJgpViksp6tdjGWE6zE4NF
3KfR1iLtsB3MlTMR7A2O+CEkPliq92QjPObAMUeXRzH5RRAZwGCzvz98ySxzxKiR
O78T+UbODdj9/AVQamDo4EiOmIey5Ilb+N4nM7NHYXak00SbwUXdYwVHk+Cri4lV
J8BnQOmbWVHb9zozT20ImLbx1sRRGp8zlb3vEnOW033zligq0IIdjR7bRrha1hIY
OWZSxlnfFd4Q8gOJTWNEJJl8ebliaypoW11BUVvKvwc/GSUTzO8e/BOzLoNsGweo
1+cr98HvCsPPB23CN1+WixqFbBgher2M07HqG36rzh1wHLQGGrCUrD2mw/IbQi9E
6LqE6Q6AYOB+bQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFVTCCAz2gAwIBAgIUKoPnXBI2S/F/CkW2I259Crt0XZswDQYJKoZIhvcNAQEL
BQAwIjEOMAwGA1UECgwFSXN0aW8xEDAOBgNVBAMMB1Jvb3QgQ0EwHhcNMjIwNjA2
MTIzOTE0WhcNMjQwNjA1MTIzOTE0WjA8MQ4wDAYDVQQKDAVJc3RpbzEYMBYGA1UE
AwwPSW50ZXJtZWRpYXRlIENBMRAwDgYDVQQHDAdjbHVzdGVyMIICIjANBgkqhkiG
9w0BAQEFAAOCAg8AMIICCgKCAgEAtwUrqx3mYUI9mmaPAEYjJtWxiMATTcPyjlEa
9RnOVfICu2aFLlpkid9wNpE+eSkmyWe2scGP7BbXSHRgvBRnBq0sBfN2iy2vK5GD
lonoXj2O7SWIdIQxwCJqkQ/D5uqoLDcfVEtbnf4Obqtnyo5KBZgu4LUcSrNRDiBQ
pDkdkkMKd4A54VGfFfDC2FZuljsr/Wks6oiGJRvCibE5GH6zLCdwwWfiRIHb0mnI
06+kWFP43BhGonWWFdS19QmT27eSSHSpGsRuJS8Uc6W7Hxc8gPFD22KWLiT3iUmY
G+jPk2R/vPCVBw57XV/u+u3K0UvMoaNE9AaJc5elZpNBeik8/crkminegZ9fCPBo
iNP4QemLCqJfnv7kCcNC48shuOrtxXVRfngUCKz52Po7YGW+gSMXmmgJrRQXIlar
pdDWOefTLLsHzfdp6Ci60k1wtOAKNL6OLwOt93+AEA80I6bDmHdoiLt6YLmgcb0z
eYKpCQ+Zq1uhnzeSOS9e5oGETReoXY6QwggXxanplRitjmwHioJcmDDnVHtzvjlo
ZBD4mn9zMZ5r0I0NGG2O0Uf1qawXojtXlWVZqXbtSCE+chc0njppe7P5N6ts9Rgq
45om5G/n1C7P6L0NAek8mxweLiZIfiSDDMBk0hwIC85Fk4ELGlJ9fTCUWHFy+IwI
FlBJFosCAwEAAaNpMGcwHQYDVR0OBBYEFIaxwQbK5MZHIXAA2Xc7kXi9mka2MBIG
A1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgLkMCIGA1UdEQQbMBmCF2lz
dGlvZC5pc3Rpby1zeXN0ZW0uc3ZjMA0GCSqGSIb3DQEBCwUAA4ICAQAz/HYgASFE
tvSuncajequH41EF3f9qhwBxYP0DBgckanz6O3n+yD0a8F69Yq8N2FOcAXShpDbJ
UPDAd4U/TkPPV4EQ6rP8t8bo16/KJSznoKYbkZphomeigLn+1lxssbWTqtOQLz4N
KlpBJaEG/NSdjmFdFl85B5dWNN4qoDBUCxAK41nduE1HE4DPBlmRNnY194C8n6pk
oXvqN+tIDsWnM7it/YCliE6J3mLyMMKKkLwu8B9k3jD77LBfI+YSCHrmsLTtBdBN
/liPml+mtjcG8oZvs1qmpAGgzeMgCuiSLxupfphb7qBXUMSJKX408tWQuI8moDp3
47mMYd4gAbICwc4PtAX78Kst6niwQ0yit0BtMRcE8dsVsrNFQEaBpDerYr15Vno8
STs05JnRdxdKvBSrQIKkbAX6l+9948V/DDMJqfnMfNw2ksUcVdl0SNCqTOeZFSm+
AQYW3WonHSdO5bMjo/2FekvbZAzqYT0o2yBMP5fll7gvJkt1dpmdJ1L9mKp7aljV
JuqilTtJ2YcvTyAHc6IFqBSaV8VC3N3gCpn6PyeVz3/RuzrpunmnPNdYOu6eSLTE
CfOGxirfPIQBivgEySdy64CHGlHlAewCM7odP33SCqOyZSxyUGgHhlCu8WLqPbzH
xPQPeXm/+OJk13Sb/iC+zoz85o7kRyO8lQ==
-----END CERTIFICATE-----
private_key:
inline_string: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAqu1M9w/OcFECQMmVEG5WRdm1Qa/KImqXAmnxV3d4QXo1tS/b
oGLH0CA0P5b/kd7pyAI1XufZRFT5YExSQHshYiwpANVIgSeUZ4PTb13xXsBiCB+e
cehFG8C/p5+OG5g/tIhwwfsdBFE7z1mOzBIX0xe8g+iD2rhtDAXZQd+vFjHf1AIt
ROnI5ypnsZSwprKOb9GqfiOCTL38hpbBcxPiqBSPC0j7XDCU0TvE+ac2EGvm0q3j
177lJDQSNrude9Oex9tqAOmI8LtxWXuOn4n3vzm7E6Vq/x50ojjzQjok6pEeetTV
UaKYB7V8KqwOZyjGpUMKo/Yh+mSLucPjCcavuQIDAQABAoIBADybY/z+p85/ivL6
B1cKKKEf7vtZn6zQarc6ZY8EF6nv8XdLfu7B1+PeZ2hc3EYW6oI29kGuqAVos/wH
U+r1PgMXcXqQJeNV63NA9Qm6H8nfIWOMApyVJVwP3mVLWBJEy+HxtzmxFrrfKvv8
33tQtw3sjrWfDpHRbykiMcT/0Y9mjzf+i5ggTCPZhQlcutM4TY2UpX9I+PWZ+8s0
o0F0YBGeN/bXMQFe0hVvZZ/D1VsHy52+nphK67AmIwbS+2if0fixYZ0z9pYW5SIP
EwRu8+8GRd6n/5gHIEYO5pnhIDNap8aPlxDMmt56uLLoP8q5vK7Ll8ksapUUFV3X
8u5gPQECgYEA3ud6YfFWZfp/emyEMxkebkbR5ki0tVXnCLRbcpQYrtESS9ANq6FR
jwvrfWXOlG3T/kVoUo27If6yZbs1NqLIz2RnubJWzQCIDjohlV5y5mTimYRf3xak
Qz82tr6jBYP9VN0Mb2a61ie2ZSHeF72a0YozojURf7h0b+oAMO6O7MkCgYEAxE4u
yTQzvSAeQlnds91Y5IpcNFtYogQMiwUOiD5dm0jIkCiUQoatXc+yYV1/QPICXTiT
JD0FSGO6tDSZ4FHE077OrlyRlzseRCfgOurre5LaN4Qlggl/JaFTqaJfjgtlVG6e
DhcbXKqBUDa7jvFdZ0vWgz0eXNZo/4Ws57sTU3ECgYAbBAUiL8Tf8T9YECTpqIa2
qOCxv2gffjzVIj7fITHopjBIffvaLGAdLT2qYhdqh/EkpTbioojmst7eU5U8fPhH
ooyrxgCdMg5LYyJE30CfyeRo5NFV0YGxIM050tshRQEEMxJZwiKs5/1EPpmTWQiV
kuF1LGdlim6aTcseIxuxeQKBgQCgb615L7rhZTCV1dCGQe92yUXWXJmxwFFoBTf9
Tcs/MFsKxr91J5DlTOxi+wEX2TLpcWWAhoacxTVANoVUej+9NwLAKlOrH9v6pAR0
4q6WjkzedpgZER3jaVhxGY2zD8k/GjD/Hw9zyr5pCnJ7vvQxih/FntwD0BB8VYoc
0h5XYQKBgQDIGlmGHn4XXv/OS08F6qe93+oCkBDLnlshWI8v3vJJo2PJoezd8qga
UVMH8zSYO25lpeNIGWewIpqsRe5UlDk33x4dTxeWD6JG43HnI+pHqeh3r5NMOEAp
V9tdXpzzuzwcUopw5DSVYPCzMpAqmV/oz9AP038B74BuJcwoqo/uYw==
-----END RSA PRIVATE KEY-----
clusters:
- name: service-http
type: STRICT_DNS
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: service-http
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 127.0.0.1
port_value: 80
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment