Commit graph

67 commits

Author SHA1 Message Date
Peter 63a6516d99
Added audit stream to HTTP proxy 2021-01-26 18:20:52 +01:00
Peter 03f3ae4173
Enable gRPC reflection to support gRPCurl and gRPCui 2021-01-26 18:20:52 +01:00
Peter 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
Peter 66f2aab9af
Add commands to list sinks and to read a protocol file to JSON 2021-01-26 18:20:51 +01:00
Peter a76d1d1c04
Cleanup in server app 2021-01-26 18:20:50 +01:00
Peter 0138b57782
Merged CLI and server app init 2021-01-26 18:19:54 +01:00
Peter 37c87adaf3
Apply comments 2021-01-26 18:19:54 +01:00
Peter 38293bb8c4
Remove caching for now 2021-01-26 18:19:54 +01:00
Peter af5c55d8c9
Cache .task/ directory to lazy run tasks across stages 2021-01-26 18:19:54 +01:00
Peter 41aa132e80
Cache .task/ directory to lazy run tasks across stages 2021-01-26 18:19:54 +01:00
Peter 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
Peter af31b1166a
Audit API prototype
- watch events interactively
- pipe events to files
- remove file subscriptions
2021-01-26 18:19:03 +01:00
Peter dc4a9b18a3
Moved endpoint handlers in tree 2021-01-26 18:18:59 +01:00
Peter bb9f45ce91
Move sinks to extra package 2021-01-26 18:17:37 +01:00
Peter 6c448fd318
Add DNS details 2021-01-26 18:17:37 +01:00
Peter 0468c93671
Integrate into handlers 2021-01-26 18:17:37 +01:00
Peter 63607dfd67
Implement log and writer sinks
Add reader
2021-01-26 18:17:37 +01:00
Peter 1e8139e845
Add first draft of event stream 2021-01-26 18:17:37 +01:00
Peter eaddf264ce
Add test and coverage reports 2021-01-26 18:17:29 +01:00
Peter 81c4be6343
Replace CI job token with API token 2021-01-05 08:53:05 +01:00
Peter fa5c6491b8 Merge branch '15-generate-ca-command-has-wrong-validity' into 'master'
Resolve "generate-ca command has wrong validity"

Closes #15

See merge request inetmock/inetmock!13
2021-01-04 16:21:03 +00:00
Peter 9041da7245 Resolve "generate-ca command has wrong validity" 2021-01-04 16:21:03 +00:00
Peter e9f79cd59a Merge branch '7-add-advanced-matching-options' into 'master'
Resolve "Add advanced matching options to HTTP handler"

Closes #7

See merge request inetmock/inetmock!11
2020-12-26 13:11:50 +00:00
Peter 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
Peter 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
Peter 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
Peter 9a50ce522c
Complete health API
- complete client implementation
- add server part to gRPC server
2020-06-23 14:54:08 +02:00
Peter 191d352eee
fix container build and add missing demo CA files 2020-06-15 16:29:47 +02:00
Peter 6899c6cc00 Removed generated mocks 2020-06-15 12:34:54 +02:00
Peter 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
Peter 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
Peter 38f8ff319e Apply commented improvements
- skip shutdown of gRPC server if failed to start
- minor refactoring
2020-06-15 12:32:18 +02:00
Peter 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
Peter 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
Peter 13a38298ec Add output format options for upcoming CLI client 2020-06-15 12:32:18 +02:00
Peter 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
Peter 61841648b1 Add gRPC spec 2020-06-15 12:32:18 +02:00
Peter 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
Peter 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
Peter 1775d3dbc6 Add GoReport badge 2020-04-26 18:32:42 +02:00
Peter 480388c264 Update README 2020-04-26 18:30:09 +02:00
Peter 666b137e46 Add some status badges 2020-04-26 18:03:16 +02:00
Peter 127d40e9a6 Merge pull request #3 from baez90/feature/add-http_proxy
http_proxy
2020-04-26 17:58:11 +02:00
Peter a67b8ed36d Improve TLS connection tracking to avoid memory or connection leaks 2020-04-26 01:18:35 +02:00
Peter 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
Peter 43d3c62e01 Move mocks to internal package 2020-04-14 00:20:22 +02:00
Peter 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
Peter f4ca8e91f2
Add some tests to ensure proper configuration parsing 2020-04-12 17:09:50 +02:00
Peter 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
Peter 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