Commit Graph

78 Commits

Author SHA1 Message Date
Umputun
fb57a6bb45 remove commented code 2021-06-07 14:54:31 -05:00
Umputun
f8f5871411 quick attempt to de-prioritize assets rules 2021-06-07 14:54:09 -05:00
Umputun
aea74d717f Redirect (#87)
* add @code redirect prefix

* add proxy handling for redirects #86

* add info about redirects
2021-06-06 18:13:59 -05:00
Umputun
7139c57766 RPC plugins support (#85)
* wip

* resolve merge artifacts

* full coverage for conductor

* wire plugin conductor to main and proxy

* wip, with separate match handler

* split matching logic with another handler, add initial docs

* move parts of proxy to handlers, add tests

* add headers in to be sent to proxied url

* merged from master

* add example with docker compose

* supress excesive debug reporting 0-9 disabled in docker

* add plugin tests

* randomize test port

* lint: minor warns

* lint: err shadow
2021-06-01 02:56:39 -05:00
Umputun
556a34f1fb allow reproxy.server to be default for numeric rules 2021-05-26 01:45:42 -05:00
Umputun
e092c7e989 allow docker rules to use external destinations 2021-05-26 00:17:45 -05:00
Umputun
1c1f9d1c3c Docker multi routes (#80)
* support reproxy.N.something labels for docker #78

* lint: suppress false positive

* update linter in ci

* update readme

* add test for failed container parse
2021-05-25 23:48:22 -05:00
Umputun
7e8dca4ccc allow skipping ping param in static provider 2021-05-20 13:14:37 -05:00
Umputun
52e9e7a738 add more time intervals to file event tests 2021-05-18 02:31:36 -05:00
Umputun
095f4d7102 Multi match (#74)
* discovery support for multiple matches

* switch proxy matcher usage, add random selection

* fix multi-match logic

* pass match picker func

* simplify rand picker

* update health params and docs

* fix early termination on discovery multi-match

* add grouping of sorted matches in sorted result

* add mention of live check to readme
2021-05-16 18:34:51 -05:00
nikolay.bystritskiy
bfe5f3fdbf fix ticker, variable names and unnecessary if in Service.Match 2021-05-16 14:17:50 -05:00
nikolay.bystritskiy
e02ddaf256 fix linter warning 2021-05-16 14:17:50 -05:00
nikolay.bystritskiy
49515e307c update health state not sorting or reordering mappers 2021-05-16 14:17:50 -05:00
nikolay.bystritskiy
7bbb7073ba unittest, typos 2021-05-16 14:17:50 -05:00
nikolay.bystritskiy
973d6c9a14 add automatic health-checker 2021-05-16 14:17:50 -05:00
Umputun
d982796e58 simplify consul client a little bit 2021-05-13 02:00:13 -05:00
Negasus
01ae284390 add nolint:prealloc 2021-05-13 01:14:04 -05:00
Negasus
738c3baf6c add consul catalog provider 2021-05-13 01:14:04 -05:00
Umputun
9b9d64894d reproxy.port to enable container 2021-04-28 14:37:11 -05:00
Umputun
2670144e8a add support of docker route prefix 2021-04-28 14:00:38 -05:00
Umputun
69bb10d42f fix default docker dest to include container 2021-04-28 13:40:59 -05:00
Umputun
604391e55e extend tests for tricky cases 2021-04-27 01:57:04 -05:00
Umputun
efded2cf5e flip order in docker proxy+static labels #55
we want proxy rule to have priority over assets rule
2021-04-23 04:05:14 -05:00
Umputun
1aa89cfbd6 fix docker resp struct 2021-04-17 22:55:32 -05:00
Timofey
e7121846da Handle docker API errors 2021-04-17 22:37:32 -05:00
Timofey
813ed6df3d Set minimal supported docker version 2021-04-17 22:37:32 -05:00
Umputun
0a9051d528 lint: unneeded fmt 2021-04-17 02:36:49 -05:00
Umputun
2b492d840a fix tests 2021-04-17 02:35:23 -05:00
Umputun
ee4f8919e1 allow docker to provide static with proxy at the same time #27 2021-04-17 02:17:23 -05:00
Umputun
6ad288afd0 drop docker api version 2021-04-17 02:16:43 -05:00
Umputun
b667720cc3 suppress messages on docker events check 2021-04-16 17:36:57 -05:00
Timofey
7f991b1e18 Refactor
Thx for the feedback.

* Add missing test
* Decouple containerInfo from docker client
* Move refresh interval var to `Docker`
* Minor things
2021-04-16 17:30:54 -05:00
Timofey
76be67d39c Detect changes in running containers
* Naive attempt to detect changes based on container metadata
* And my best effort to test it
2021-04-16 17:30:54 -05:00
Timofey
a91fb6816f Invoke Docker API directly
* Remove third-party docker client dependency
* Simplify code and tests

Might need to run `go mod tidy` and `go mod vendor` afterwards
2021-04-16 17:30:54 -05:00
Umputun
8dca98c6b3 don't resort rules for file provider inside the server #37 2021-04-16 11:10:07 -05:00
Umputun
8cf4b9063d Multiple static location (#36)
* add isStatic flag to mapper, implement for file and static providers

* handle static match response as a special case

* move assets conversion to load time

* rename static to assets everywhere for consistency

* don't overwride asset param in url mapper

* add documentation about assets mode

* add tests
2021-04-16 02:49:00 -05:00
Vladimir Garvardt
66610ef491 Replaced github.com/pkg/errors with stdlib errors wrap 2021-04-14 11:44:20 -05:00
Umputun
47d802679d sort mappers in the list 2021-04-14 02:47:35 -05:00
Umputun
de4a6eca64 container named rerpoxy excluded from discovery 2021-04-13 20:40:42 -05:00
Umputun
5479063f4e limit health check concurrency 2021-04-13 12:34:34 -05:00
Umputun
f6491246f8 support reproxy.port #21
defines which of exposed ports will be used for the destination in case if multiple ports exposed from the container
2021-04-13 12:01:54 -05:00
Umputun
af02a41147 add primitive priority order for discovered containers 2021-04-13 01:52:12 -05:00
Umputun
06a6d595b3 change docker provider defaults
skip without --docker.auto all containers without reproxy.* label
2021-04-12 21:26:31 -05:00
Umputun
02c87ffc7a support multiple servers in reproxy.server label #20 2021-04-12 03:13:25 -05:00
Umputun
a20abd0140 change docker default and add autoapi param #20 2021-04-12 02:57:13 -05:00
Umputun
1ac2f23504 adjust tests for delayed events 2021-04-12 02:29:17 -05:00
Umputun
0e5998d540 add error logging on failed list 2021-04-12 02:11:43 -05:00
Umputun
8b3889d4e5 switch events to provider id, delay repsponse 2021-04-12 02:09:34 -05:00
Umputun
9c659afb0f drop separate ID method from providers, fill directly 2021-04-11 23:41:23 -05:00
Umputun
3bf88c5af3 allow @ substitution in addtion to $ in destination 2021-04-11 21:01:52 -05:00