Commit graph

94 commits

Author SHA1 Message Date
49e58ac2e4 Add advanced matching options to HTTP handler
- move to Gitlab
- make code better testable
- create app abstraction for server
- cleanup
2020-12-26 13:11:49 +00:00
57a7e10e74
Add Prometheus metrics (#10)
* Add Prometheus metrics

- cleanup
- update dependencies
- improve parsing of options where possible
- Update Go to latest version
2020-10-02 11:56:48 +02:00
460940e4d8
Fixed TLS issue with mismatching certificates
- fixed fallback to P256 curve
- added option to configure minimal TLS version
- added option to include insecure cipher suites
2020-06-24 12:25:34 +02:00
9a50ce522c
Complete health API
- complete client implementation
- add server part to gRPC server
2020-06-23 14:54:08 +02:00
191d352eee
fix container build and add missing demo CA files 2020-06-15 16:29:47 +02:00
6899c6cc00 Removed generated mocks 2020-06-15 12:34:54 +02:00
108444e094 Add health API and basic CLI support
- remove plugin API due to incompatibility issues
- add Docker build to GitHub Actions
- add custom container friendly config file
2020-06-15 12:32:18 +02:00
2ff0e7cb56 Fix container build
- change build stage to Alpine
- adapt changes in CI pipeline to generate code that is not checked in anymore
- update dependencies
2020-06-15 12:32:18 +02:00
38f8ff319e Apply commented improvements
- skip shutdown of gRPC server if failed to start
- minor refactoring
2020-06-15 12:32:18 +02:00
def844c5fe Cleanup
- remove *.pb.go files
- remove *.mock.go files
- remove config2 references to get cleaner imports
- update dependencies
2020-06-15 12:32:18 +02:00
d89ab3a576 Split to server and CLI binaries
- introduce CLI binary
- move server binary to subdirectory to have a uniformed directory structure
- update goreleaser to build all binaries and create dist packages
- update ignore files accordingly
2020-06-15 12:32:18 +02:00
13a38298ec Add output format options for upcoming CLI client 2020-06-15 12:32:18 +02:00
1ef1f59402 Add gRPC API implementation
- add config struct for API
- add UUID to endpoint to be able to address them uniquely
- add manager to handle all gRPC services
2020-06-15 12:32:18 +02:00
61841648b1 Add gRPC spec 2020-06-15 12:32:18 +02:00
3466037421 Remove plugin commands feature
- remove option to expose commands from a plugins
- remove dynamic command loading to make startup process easier
2020-06-15 12:32:18 +02:00
91f0cf6963 Improve config and startup handling
- use `Unmarshal` method of viper
- move config loading, defaulting and stuff to config package
- move serve to an extra command and move keep only global flags in root command
- add startup logic to onInit method in root command
- update mocks
- clean config structs
- adopt changes in plugins
- update default config
2020-06-15 12:32:18 +02:00
1775d3dbc6 Add GoReport badge 2020-04-26 18:32:42 +02:00
480388c264 Update README 2020-04-26 18:30:09 +02:00
666b137e46 Add some status badges 2020-04-26 18:03:16 +02:00
127d40e9a6 Merge pull request #3 from baez90/feature/add-http_proxy
http_proxy
2020-04-26 17:58:11 +02:00
a67b8ed36d Improve TLS connection tracking to avoid memory or connection leaks 2020-04-26 01:18:35 +02:00
7c2a41ad25 Move TLS/cert handling to main app
- apply changes in proxy plugin and TLS interceptor
- add HTTPS proxy support
- move ca-generation command to main app
- minor refactoring to improve API stability
- move mocks to extra packages to avoid cycling imports
- fix bug in multi-port configuration
- change HTTP proxy to redirect to HTTP mock instead of maintaining custom rules
2020-04-26 00:32:46 +02:00
43d3c62e01 Move mocks to internal package 2020-04-14 00:20:22 +02:00
9236a38be0 Moved endpoint handling to new module
- introduce new endpoints module
- introduce Endpoint and EndpointManager
- introduce new Logging abstraction API to allow proper mocking
- add error return value to Start and Shutdown of endpoints
- add mocks of some internals to allow easier testing
- add generate target to take care of all code generation
2020-04-14 00:15:33 +02:00
f4ca8e91f2
Add some tests to ensure proper configuration parsing 2020-04-12 17:09:50 +02:00
671958e123
Complete first naive HTTP proxy implementation
- HTTPS configuration is till missing
- fix a few minor things in other plugins
- cleanup of config to reduce repeating of the same values multiple times
2020-04-12 03:51:41 +02:00
63a446d7e5
Prepare systemd deployment
- add systemd service
- add default file
- improve logging to see what kind of errors might occur
- ship multiple prepared config files and replace original one with a symlink
- fix current working directory getter
2020-04-12 00:09:30 +02:00
ca1ac7d89a
Move plugins to top level directory in repository
- update Makefiles and GoReleaser config
- update dependencies
2020-04-11 15:31:08 +02:00
ac62eab859
Initial commit http_proxy 2020-04-11 14:13:57 +02:00
9123d0103d
Fix module problems and update release v0.0.1 2020-04-11 14:11:09 +02:00
ac067cd288
Fix plugin modules and test make target 2020-04-11 13:48:13 +02:00
813411044f
Move plugins to sub-modules 2020-04-11 13:04:22 +02:00
d8b7cfa1a2
Merge pull request #4 from baez90/add-license
Create LICENSE
2020-04-11 12:19:45 +02:00
cd79537f67
Create LICENSE 2020-04-11 12:17:15 +02:00
ca76e18b93
Merge pull request #1 from baez90/add-github-ci
Add GitHub ci
2020-04-09 00:47:36 +02:00
6051ea11b1
Add goreleaser 2020-04-09 00:44:13 +02:00
d7f742700c
Add Go GitHub actions config 2020-04-07 21:40:36 +02:00
2475f88df3
Add Makefile and reference to docs 2020-04-07 00:31:47 +02:00
c3e362c8e5
Add some basic docs
- unify http_mock and dns_mock in config styles
- panic if pattern is not a valid regexp in http_mock
- add basic doc structure
2020-04-07 00:17:07 +02:00
63ba6da810
Add basic DNS and DNS-over-TLS implementation
- add random and incremental DNS fallback strategy
- add option to handle DNS requests based on regex patterns
- made Makefiles plugin independent
- extended config
- set default plugins directory in Dockerfile
2020-04-02 00:58:44 +02:00
0ed90708d8
Allow plugins to be resided in subdirectories
- clean output after running tests
- add formatting to make chain
2020-04-01 15:05:44 +02:00
02d8b444e3
Introduce lifetime parameters to generate-ca cmd
- refactored flags parsing
2020-04-01 13:54:00 +02:00
a720b0ee41
Initial working version
* supports HTTP
* support TLS interception e.g. for HTTPS
* support CA generation via cli
* first draft of plugin API
* support commands from plugins
* includes Dockerfile
* includes basic configuration
2020-04-01 04:08:21 +02:00
6012f104af
Initial commit 2020-03-22 10:09:07 +01:00