-
Notifications
You must be signed in to change notification settings - Fork 1
/
example.yaml
283 lines (274 loc) · 11.7 KB
/
example.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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
---
apiVersion: app.vproxy.io/v1alpha1
kind: TcpLb
metadata:
name: lb-http
spec:
address: 0.0.0.0:40080 # for testing purpose, we do not use 80, but +40000 instead
backend: sites
protocol: http
---
apiVersion: app.vproxy.io/v1alpha1
kind: TcpLb
metadata:
name: lb-https
spec:
address: 0.0.0.0:40443
backend: sites
protocol: http
listOfCertKey:
- ck-main
- ck-payment
---
apiVersion: app.vproxy.io/v1alpha1
kind: Socks5Server
metadata:
name: admin-socks5
spec:
address: 0.0.0.0:41080
backend: sites
securityGroup: work-area
allowNonBackend: false
---
apiVersion: app.vproxy.io/v1alpha1
kind: DnsServer
metadata:
name: self-resolver
spec:
address: 0.0.0.0:40053
rrsets: sites
ttl: 600
---
apiVersion: app.vproxy.io/v1alpha1
kind: Upstream
metadata:
name: sites
spec:
serverGroups:
- name: main
- name: payment
---
apiVersion: app.vproxy.io/v1alpha1
kind: ServerGroup
metadata:
name: main
annotations:
host: example.com
spec:
timeout: 1000
period: 5000
up: 2
down: 3
method: wrr
servers:
static:
- name: svr1
address: 127.0.0.1:10001
weight: 10
- name: svr2
address: 127.0.0.1:10002
weight: 10
---
apiVersion: app.vproxy.io/v1alpha1
kind: ServerGroup
metadata:
name: payment
annotations:
host: payment.example.com
spec:
timeout: 1000
period: 5000
up: 2
down: 3
protocol: tcp
method: wrr
servers:
static: [] # use [] to represent an empty list
---
apiVersion: app.vproxy.io/v1alpha1
kind: SecurityGroup
metadata:
name: work-area
spec:
defaultRule: deny
rules:
- name: for-http
clientNetwork: 60.1.2.0/24
protocol: TCP
serverPortMin: 40080
serverPortMax: 40080
rule: allow
- name: for-https
clientNetwork: 60.1.2.0/24
protocol: TCP
serverPortMin: 40443
serverPortMax: 40443
rule: allow
---
apiVersion: app.vproxy.io/v1alpha1
kind: CertKey
metadata:
name: ck-main
spec:
pem:
certs:
- |
-----BEGIN CERTIFICATE-----
MIIDkzCCAnugAwIBAgIJAIvTzI2C9kiQMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNV
BAYTAkNOMQ8wDQYDVQQIDAZ2cHJveHkxDzANBgNVBAcMBnZwcm94eTEPMA0GA1UE
CgwGdnByb3h5MQ8wDQYDVQQLDAZ2cHJveHkxDzANBgNVBAMMBnZwcm94eTAeFw0y
MDAxMjIxODQzMjBaFw0yMTAxMjExODQzMjBaMGsxCzAJBgNVBAYTAkNOMRAwDgYD
VQQIDAdleGFtcGxlMRAwDgYDVQQHDAdleGFtcGxlMRAwDgYDVQQKDAdleGFtcGxl
MRAwDgYDVQQLDAdleGFtcGxlMRQwEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBALsK+DkYTAiQ02uKH/mADkHBBYnJxate
IIIO0L1YVQ+FTKArI2R6heoN3q/q8s2O8KHmD3dIn9fhP2t196Nl9wiHP4GU43FR
BVnKtr0/xJ82YFbymbyFjGzfGBRwn9YK14ggHZf2pNSGgAkqC0l7sgYWXOmee+4G
wxVz3PZspD89oVOcB9ztCdN8R2+xbSjVy2+FMC+2ZN5w+lURI4HB9+m04oV+5AU6
HXt+vRyrp8p063CwxOI8uVpN2YctuJb9aZhCmisBD8dOQ7eTdHjPKX1wvQE9l6q8
ar9UUJMAFdzpKO16UI/+s8IUQZEQN4ZfMVjgOE1ZNWI7fFrAYGspg9cCAwEAAaND
MEEwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwJwYDVR0RBCAwHoIPd3d3LmV4YW1w
bGUuY29tggtleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAnsX0yAoOfKf+
K1DcrRiu+hOY9PP9YFkg4Cl4M/D4aTyk8ez13SLTqUVgG1687GUbx2f4RzilnTo2
dfbvAsC0+pIBIAZ5Z3xiw5UOvijphtuZArVl+FoTBjnAhx8JF1fAebTOnVjaTLfp
Tr3EH113MMzMoQWYl9+19OROtS0ECxsyXcdWpwzpSXimzw9xCYbCyRoYYcsikcY6
Wr5J5CSDOE3+w06TA25NU65S2imYF6/tWWcWNSj9wD/S8OnDUXNHFuOxE5VbSzd8
rqGtYN8L2o0CvBHtEWnUR3ipBKLXVsUJgdPJZJfRwoje2XVGqrxtyBO6dYGn5GrM
tqmywTdZbw==
-----END CERTIFICATE-----
- |
-----BEGIN CERTIFICATE-----
MIIDwjCCAqqgAwIBAgIJANVe3FnIsItZMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNV
BAYTAkNOMQ8wDQYDVQQIDAZ2cHJveHkxDzANBgNVBAcMBnZwcm94eTEPMA0GA1UE
CgwGdnByb3h5MQ8wDQYDVQQLDAZ2cHJveHkxDzANBgNVBAMMBnZwcm94eTAgFw0y
MDAxMjIwNjIwMDRaGA8yMTE5MTIyOTA2MjAwNFowYjELMAkGA1UEBhMCQ04xDzAN
BgNVBAgMBnZwcm94eTEPMA0GA1UEBwwGdnByb3h5MQ8wDQYDVQQKDAZ2cHJveHkx
DzANBgNVBAsMBnZwcm94eTEPMA0GA1UEAwwGdnByb3h5MIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAvxOewUhOqAzb/lRnbjQRBYgohvizlOJg5Julty9o
/RdHe2qTw0EBouvozN2nYPl8awJKofT/N0UWA2ST0DasS4bS6c/h0dnz+14rFWMN
ruBSlJvivCrQJZz4y3oMBkixuuSZibQib28mDGfPnOu50H/wsKhBzdNtVGQxDsSP
fl0Xl4TnxK+sN7IG5as5cg7Gm3J8HJfO3AXyY0jVhKHbFRkUKMVqy3v3aYFtxmro
ikNaeDv2qhhlmojYA1isRiK/+m2n3SoADQXaeGD0SMvPlblQ7x0EBlksfmQD7/Lu
MqqItUr9mdIm8acsp9xFyylb66uTjARTVh5eZ7TD2v0XSQIDAQABo3kwdzAdBgNV
HQ4EFgQUbku+JaaVtvRd9BDACk+FFl2dRqAwHwYDVR0jBBgwFoAUbku+JaaVtvRd
9BDACk+FFl2dRqAwEgYDVR0TAQH/BAgwBgEB/wIBAzAOBgNVHQ8BAf8EBAMCAQYw
EQYJYIZIAYb4QgEBBAQDAgEGMA0GCSqGSIb3DQEBCwUAA4IBAQBm9aUh3qf0A+Qj
Q5LHetjoZOmewaUvRCAfuSnQZx2gOKr+JbOEbXuhoC+/oHxxwT4wVFL9x5Kb34Dk
Tasn7BQUmtn8mFIQ6ryiuXKkjnzitfVOA3bSd2jvfrYHOpvn4oxvLi01deqpohhP
LtfsF/gPEujCD5bm6u3s7i7kn5bFZC45b6yg3rcLeI9VSEm97Guza98HxaUrQA2W
5dGbcerz4xSXaNjbFd7MHBWqy0fh/i82yWSONxPr7RBgo5Gv/usLvZQgUBy9Qd02
eTB9efAr/JnF1SfqHAP++y35iWvY1kiWL56jSbvftrEBJdRfPhg3UP/8IkHLWi5X
5oBm53Ci
-----END CERTIFICATE-----
key: |
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7Cvg5GEwIkNNr
ih/5gA5BwQWJycWrXiCCDtC9WFUPhUygKyNkeoXqDd6v6vLNjvCh5g93SJ/X4T9r
dfejZfcIhz+BlONxUQVZyra9P8SfNmBW8pm8hYxs3xgUcJ/WCteIIB2X9qTUhoAJ
KgtJe7IGFlzpnnvuBsMVc9z2bKQ/PaFTnAfc7QnTfEdvsW0o1ctvhTAvtmTecPpV
ESOBwffptOKFfuQFOh17fr0cq6fKdOtwsMTiPLlaTdmHLbiW/WmYQporAQ/HTkO3
k3R4zyl9cL0BPZeqvGq/VFCTABXc6SjtelCP/rPCFEGREDeGXzFY4DhNWTViO3xa
wGBrKYPXAgMBAAECggEAQs/uTubA8iZZfwZ92W/Gp/I8+jUa6NXcotiL87bD26Fv
956xK8kgYLTHoOs6A/dVOV+mkqNchY6uSsJ+zN01WtSE+NKoU+fvE1333K4UnBKe
YzCRfefue01Nmq+ISLritntSVuABjPDmd1+PXJZUxxvh4Il+F05PDTCv805ndTcA
Pr5DjsJmKWQ/oy7SUXb6lEdpca/DaqtYKCn98hcPw36Rzm4ouRxQSfmiS9YdnucR
P8JIYnQ8zti032R15PAOdfMydYIqgGLVyj/ygdNgUvPK6jDNjRj49YAeAcTuzM6I
1xiJNawrfw7HyCpFG5kDtsRSNZiX/qT15EjVGN0RsQKBgQDbwmPztMIWD63zveqH
G3HA2Gbb1MJvll974CyzKVpdbTYPOxD/lhR+QN4Gu70H/sRkvb1Jb0fZb9+itE0u
soJWK8L+H5ZzXASngyA8CZyUWv2q2gyxUPvpcmm6XFM9MR0REIRN3lK7pZ74CbbC
J3aurq8hqhgauNBXE0t/EEmq7QKBgQDZ42IAjJ8qI3F+w7/4kuvAGxaRfpyBfeJw
v7YdaNzPzT1OuD5xB2bIQX8BmUoHbmFflavEAkrQWoZRriQguLIQ7jJ86hmfYzPY
u2AIA7Pypr7xXl/nRTAAtzgwwVlQl7R/jrw5WO0Q/Keaa09tegx+58e0C07HKqpp
nMR0KAtdUwKBgQC4S7ipG/EcsT+PxriVX8WxFYqFV1NMY45mA6VZBxgae8k3UrC5
t3IuQ1YvzWgE+XpYherlV+aoijLBb3W+8MNvYrnfhjwVOJlKpiP1VZYzsG9FxiGY
3rK0n1fdiynfin223uQlrYoyhf3gQ7057ACTFDoZAF3AozdNnwfUYqN1LQKBgQDK
sPIsHKS8KHieOi9NaC+TaB+YfbXN6HNL+6vItBIl5YGQx2ie8Qm2ZOdnb1gkjZRb
vPoqvw8lv/CP73WAUxCjG1MwTP5E/Z3vkm+FRRyTMHcURnzkwcIkCE1nXZZemKG6
v+dtWcI/OSoZRpZ++zjAnZFzdcl1EcWxtbozbEUWLQKBgQCShaMepCcrUuEk5nFJ
uYx+uc6DCQC38sLBtQmoLz1VB9brqINWalZa+xC1B4cHAsYnOkJ0w8wEHwbrdito
VsxBMqS7smKleqbJJWoH0Wo5sEHbowWZoYQe/sy3oQKATeU/8s8xgqS9ZOAI5T1u
UKtoHeb005GseAiFT6t7dQcxBw==
-----END PRIVATE KEY-----
---
apiVersion: app.vproxy.io/v1alpha1
kind: CertKey
metadata:
name: ck-payment
spec:
pem:
certs:
- |
-----BEGIN CERTIFICATE-----
MIIDkjCCAnqgAwIBAgIJAIvTzI2C9kiRMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNV
BAYTAkNOMQ8wDQYDVQQIDAZ2cHJveHkxDzANBgNVBAcMBnZwcm94eTEPMA0GA1UE
CgwGdnByb3h5MQ8wDQYDVQQLDAZ2cHJveHkxDzANBgNVBAMMBnZwcm94eTAeFw0y
MDAxMjIxODQ1MTlaFw0yMTAxMjExODQ1MTlaMHMxCzAJBgNVBAYTAkNOMRAwDgYD
VQQIDAdleGFtcGxlMRAwDgYDVQQHDAdleGFtcGxlMRAwDgYDVQQKDAdleGFtcGxl
MRAwDgYDVQQLDAdleGFtcGxlMRwwGgYDVQQDDBNwYXltZW50LmV4YW1wbGUuY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6snd1Af03b/SoAhil1n
iPHhh/22KLSknAn7L37JGO4oq56/0uxZzy9I5SlNn0Cm0vHtDghQkztSd0zqJNio
uXDJZyCdOvIwCsQlcPLfAHV3fEFgMSO8ooT+vVkT/lrCgG7LybF+3lxGIfHUc8pQ
PZ//QRLcud1ip6nc9tL/ktL9kGTtLIvXN2oO2WXUBu647q/UHbL1T49nF/Db8osO
4PoTIuGCM+yuAQrUUekmgVqeiH80jRKCXS7/eisRSo6SQiOYXwNmUj4yQRz75MWb
3hsJlvGd9rOqt0IUZ/vyQPbj8Apw+NdKAv0U7HCoY96OgRgw421yqUemeS2SMZN6
nQIDAQABozowODAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAeBgNVHREEFzAVghNw
YXltZW50LmV4YW1wbGUuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQBwGxP0oyINw2FS
2gCTsAbEIz9zaWuhlZ711cNhoQER2AtzbZJortkldizOSOsYj3Z1p17GRp373M+o
bAmkXBvAErLezu2ZhC+VusgLL5ynbejFi/WujQsvvV09+Pk1nbtmSPe1kahfmBiS
naGmN6PU3VaaT1Y9qby/OrvFnXEOV4zN7e2hDaoaetNLZL4Mw5aaMdX370h4mdYf
CTwfEg4AGvaCl2BjxWPksWLzkRRJ5FajnGHsXw3xzdF90u358a5U1oJOF2HA+h9i
/emuFrhknTGbwMdLtee/14nGYMnJBp20Dr7tbeB4QYaHGz3PkOF17wm0UzEzecEC
aEs+rW6g
-----END CERTIFICATE-----
- |
-----BEGIN CERTIFICATE-----
MIIDwjCCAqqgAwIBAgIJANVe3FnIsItZMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNV
BAYTAkNOMQ8wDQYDVQQIDAZ2cHJveHkxDzANBgNVBAcMBnZwcm94eTEPMA0GA1UE
CgwGdnByb3h5MQ8wDQYDVQQLDAZ2cHJveHkxDzANBgNVBAMMBnZwcm94eTAgFw0y
MDAxMjIwNjIwMDRaGA8yMTE5MTIyOTA2MjAwNFowYjELMAkGA1UEBhMCQ04xDzAN
BgNVBAgMBnZwcm94eTEPMA0GA1UEBwwGdnByb3h5MQ8wDQYDVQQKDAZ2cHJveHkx
DzANBgNVBAsMBnZwcm94eTEPMA0GA1UEAwwGdnByb3h5MIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAvxOewUhOqAzb/lRnbjQRBYgohvizlOJg5Julty9o
/RdHe2qTw0EBouvozN2nYPl8awJKofT/N0UWA2ST0DasS4bS6c/h0dnz+14rFWMN
ruBSlJvivCrQJZz4y3oMBkixuuSZibQib28mDGfPnOu50H/wsKhBzdNtVGQxDsSP
fl0Xl4TnxK+sN7IG5as5cg7Gm3J8HJfO3AXyY0jVhKHbFRkUKMVqy3v3aYFtxmro
ikNaeDv2qhhlmojYA1isRiK/+m2n3SoADQXaeGD0SMvPlblQ7x0EBlksfmQD7/Lu
MqqItUr9mdIm8acsp9xFyylb66uTjARTVh5eZ7TD2v0XSQIDAQABo3kwdzAdBgNV
HQ4EFgQUbku+JaaVtvRd9BDACk+FFl2dRqAwHwYDVR0jBBgwFoAUbku+JaaVtvRd
9BDACk+FFl2dRqAwEgYDVR0TAQH/BAgwBgEB/wIBAzAOBgNVHQ8BAf8EBAMCAQYw
EQYJYIZIAYb4QgEBBAQDAgEGMA0GCSqGSIb3DQEBCwUAA4IBAQBm9aUh3qf0A+Qj
Q5LHetjoZOmewaUvRCAfuSnQZx2gOKr+JbOEbXuhoC+/oHxxwT4wVFL9x5Kb34Dk
Tasn7BQUmtn8mFIQ6ryiuXKkjnzitfVOA3bSd2jvfrYHOpvn4oxvLi01deqpohhP
LtfsF/gPEujCD5bm6u3s7i7kn5bFZC45b6yg3rcLeI9VSEm97Guza98HxaUrQA2W
5dGbcerz4xSXaNjbFd7MHBWqy0fh/i82yWSONxPr7RBgo5Gv/usLvZQgUBy9Qd02
eTB9efAr/JnF1SfqHAP++y35iWvY1kiWL56jSbvftrEBJdRfPhg3UP/8IkHLWi5X
5oBm53Ci
-----END CERTIFICATE-----
key: |
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCfqyd3UB/Tdv9K
gCGKXWeI8eGH/bYotKScCfsvfskY7iirnr/S7FnPL0jlKU2fQKbS8e0OCFCTO1J3
TOok2Ki5cMlnIJ068jAKxCVw8t8AdXd8QWAxI7yihP69WRP+WsKAbsvJsX7eXEYh
8dRzylA9n/9BEty53WKnqdz20v+S0v2QZO0si9c3ag7ZZdQG7rjur9QdsvVPj2cX
8Nvyiw7g+hMi4YIz7K4BCtRR6SaBWp6IfzSNEoJdLv96KxFKjpJCI5hfA2ZSPjJB
HPvkxZveGwmW8Z32s6q3QhRn+/JA9uPwCnD410oC/RTscKhj3o6BGDDjbXKpR6Z5
LZIxk3qdAgMBAAECggEAD/yxLO8m4KOPmEQQF6yWi028yUMMFDNSMBWHww+szwQ5
qkVw64uiym3vnJJwJTvx+DklBTyr5LIR5cQbxaiz7C1w3RSU6awKR2mwXgjTb1ZT
qmtZWFI9twAeCZN7vwITa4ysdvuAun7+vrNaFGXzdtgoVLmwxCN4l1UYvNYPpQG2
w374tfvw/ffs95MeU4qarrforQZkBB+A28eDAROP7qSsP0kysval/C7tHDjbIbb1
LneI6UVhw9VwzI1PPJR3woW2f7s+hKM2jxNUGR3VBIzo7tBo5yx52qAObG6muxQO
uEoaAhBbvpPAIRhsQcnJcycrjP3W5TTMxRS3ykPLeQKBgQDQ+U6KLf1GQRv9A5ne
cRgaGKE+Lukx5B3NIzo+Vn+RoZcGtKlEkJ0udAx0kVlTn5cKVcSrmd/BDWKeU6+2
YpBZiYUzOJekt2Ylm3AW5Cfkw8qj2/M+jkD9hHQ/rmuoYIop1GO31c4hK3p8RWNy
6fpv2ecMph5nFC6TSTKeex4w0wKBgQDDmXBDb1sIHBx8v7ZZqmaRXUBPrIDY7z8o
sQ0dZDwjMuEaKiAhstzrqTQBOBjwWmMa5EkcYsM3jNhK6dop6SzKCwigFKQomjrw
PByol/y+lAkuQ/QBo2GMioHzIrMK18+rqOwnYTUYV5Ggp/djHM45dP9phPWiDUSx
HVovwO4AzwKBgAlaLvamKkCbp1oCcD9xRkfctFKpHMybze2hVvj1PA5TcgPdz/l+
k1pB3VDWNG42pTbUMdIQN+BW7gPx8NozvQwUyH5LWRYJEyw5saGEonhtfsMok9FH
4oa2B9HVx4GomGZY2AGhMvFvFbM8E8BP0mJxGRMK2C96yr7Sts466lX7AoGAfpHD
e1+LYGwQYwkLTmpdhKL7ApN1rOrjy8kF24cJAx3hW7T2pde/7R7IcCGEwcM7biNa
y+t8t22EaLV6XrRsLzGEm1HACCYFDX9YbCAthIT2i+Gc+5JlhTP7cwF5KgMMduAQ
MEtOuDmyGmuWQaRaLgPvYrCO4hYD5ThBK7WETTECgYBs4yIzEs7eFiUTYxgtEKFi
9aXCmYb+GI5UBzsaN8Snvf1yo6pd0ON0UIRx7wAGAC1sWcynALhcVGsqe79QTT/g
Cs4YC02iLmrsfM04QJh9BydXtPAvVTFxpAIiLsizUWwFUcOj66uRaEhacOqRNODO
v1okLwGdEP9DfZna88x76g==
-----END PRIVATE KEY-----