-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
front-envoy.yaml
148 lines (137 loc) · 4.58 KB
/
front-envoy.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
static_resources:
listeners:
- name: listener_80
address:
socket_address:
address: 0.0.0.0
port_value: 80
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
access_log:
- name: envoy.access_loggers.file
typed_config:
"@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
path: "/var/log/access_log"
http_filters:
- name: envoy.filters.http.cors
- name: envoy.filters.http.router
route_config:
name: local_route
virtual_hosts:
- name: backend
require_tls: ALL
domains:
- "*.cryptowise.ai"
routes:
- match:
prefix: "/"
redirect:
path_redirect: "/"
https_redirect: true
http_filters:
- name: envoy.router
typed_config: {}
- name: listener_443
address:
socket_address:
address: 0.0.0.0
port_value: 443
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
access_log:
- name: envoy.access_loggers.file
typed_config:
"@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
path: "/var/log/access_log"
route_config:
name: local_route
virtual_hosts:
- name: backend
domains:
- "*.cryptowise.ai"
routes:
- match:
prefix: "/v1"
route:
cluster: api
# cors:
# allow_origin_string_match:
# prefix: "*"
# allow_credentials: true
# allow_methods: 'GET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS'
# allow_headers: 'Authorization,Accept,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Host,Origin,Referer,User-Agent,X-Requested-With,X-CSRF-TOKEN'
# retry_policy:
# retry_on: connect-failure
# num_retries: 5
# timeout: 60s
- match:
prefix: "/"
route:
cluster: frontend
http_filters:
- name: envoy.filters.http.cors
- name: envoy.filters.http.router
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
# require_client_certificate: true
common_tls_context:
# validation_context:
# trusted_ca:
# filename: "/etc/ssl/certs/ca-certificates.crt"
tls_certificates:
certificate_chain:
filename: "/etc/ssl/certs/cryptowise-ai.pem"
private_key:
filename: "/etc/ssl/certs/cryptowise-ai.key"
clusters:
- name: frontend
connect_timeout: 10s
type: strict_dns
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: frontend
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: frontend
port_value: 80
- name: api
connect_timeout: 10s
type: strict_dns
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: api
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: api
port_value: 80
admin:
access_log_path: /dev/stdout
address:
socket_address:
address: 0.0.0.0
port_value: 8001
# from instance:
# curl --cacert ./certs/platform-web.ai.pem https://172.28.0.4/v1/topics -vk
# then rebuild it with
# docker-compose up --build -d.
# Make a few requests to your services using curl, then log into a shell with
# docker-compose exec front-envoy /bin/bash
# An access.log file should be in /var/log, showing the results of your requests.