Commit graph

38 commits

Author SHA1 Message Date
d70ba748f5 Introduce Lifecycle for every endpoint and manage listeners in the renamed Orchestrator
- merge packages to get a more concise layout because plugins are no more and therefore there's not a lot to be exported
- fix test logger
- rework config parsing to be easier and more transparent
- remove unnecessary APIs because dynamic endpoint handling is rather a won't implement
2021-02-10 20:26:45 +00:00
2d97beaf70
Refactor gRPC sink
- rename it to GenericSink
- add tests
- update dependencies
- improve test step to always get a report
- add NoOpSink for tests
2021-01-27 13:31:51 +01:00
2c02b0c941
Add basic metric sink 2021-01-26 19:00:46 +01:00
cc72595398
Subscribe sinks with a context to automatically remove them when context is canceled 2021-01-26 18:50:53 +01:00
6d2737b501
Move HTTPS handling to http_mock handler 2021-01-26 18:42:07 +01:00
63a6516d99
Added audit stream to HTTP proxy 2021-01-26 18:20:52 +01:00
af0a7a2375
Capture source and destination addresses as byte arrays
- update necessary tests

This removes a lot of complexity because IPv4 and IPv6 addresses can be handled the same way.
To distinguish between them it's enough to take their length into account.
Parsing should be straight forward in any language.
2021-01-26 18:20:51 +01:00
37c87adaf3
Apply comments 2021-01-26 18:19:54 +01:00
2f0f3edfdf
Moved code of commands to their main package
- add init code to reduce code duplication of connection setup
2021-01-26 18:19:52 +01:00
af31b1166a
Audit API prototype
- watch events interactively
- pipe events to files
- remove file subscriptions
2021-01-26 18:19:03 +01:00
bb9f45ce91
Move sinks to extra package 2021-01-26 18:17:37 +01:00
6c448fd318
Add DNS details 2021-01-26 18:17:37 +01:00
0468c93671
Integrate into handlers 2021-01-26 18:17:37 +01:00
63607dfd67
Implement log and writer sinks
Add reader
2021-01-26 18:17:37 +01:00
1e8139e845
Add first draft of event stream 2021-01-26 18:17:37 +01:00
9041da7245 Resolve "generate-ca command has wrong validity" 2021-01-04 16:21:03 +00:00
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
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
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
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
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
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
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
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