newsnowlabs / docker-ingress-routing-daemon

Docker swarm daemon that modifies ingress mesh routing to expose true client IPs to service containers
MIT License
190 stars 37 forks source link

Build automated integration test using RunCVM #31

Closed struanb closed 10 months ago

struanb commented 1 year ago

With the launch of RunCVM, build an automated integration test along the same lines as the RunCVM integration test script that launches a multi-node Docker swarm running a webserver service.

By modifying this script to install DIRD on each node, and monitoring the web server logs to observe the client IP addresses, it should be possible to verify the correct working behaviour of DIRD.

An extension to the test should force a service update, causing service containers to terminate and new ones to be created. Again by monitoring the web server logs for client, IP addresses, the correct working behaviour of DIRD can be confirmed.

struanb commented 1 year ago

The RunCVM Docker swarm test has now been extended (commit https://github.com/newsnowlabs/runcvm/commit/f482ef9028b71c985ebfd8a174b594ab339f295e) to support the Docker Ingress Routing Daemon.

In the RunCVM repo, cd tests/00-http-docker-swarm then run DIRD=1 ./test to enable DIRD installation in a test swarm.

It remains to port this integration test to the DIRD codebase.

struanb commented 10 months ago

This integration test, using RunCVM, is now documented in the README, and I will close this issue.