Hey, I'm one of the engineers on the DevInfra team at Mixpanel, and worked on the Argo implementation. AMA, and we are hiring in general, and for the DevInfra team in specific (feel free to email me, just gotta solve the "puzzle" in my profile :D)
Have you considered using Bazel to build an artifact that describes your deployment configuration? This is something that I've been thinking about trying to implement for some time. Essentially I want to have a way to support defining service configurations like this:
service_binary(
name = "foobar",
srcs = ["foobar.jsonnet"],
deps = ["//jsonnet/service.jsonnet"],
images = ["//a:image"],
)
Then make it possible to create a class of `*_test` rules that would start up a bunch of docker containers in the same network topology they would exist in prod, run your test in the same netns, then clean everything up. It could look something like this: cc_integration_test(
name = "...",
services = ["//a", "//b"],
srcs = ["main.cc"]
)
There's some BazelCon talks about people doing similar stuff but not actually open sourcing their code.P.S. if you use rules_docker please feel free to open a PR to add your company to our README: https://github.com/bazelbuild/rules_docker/#adopters
> service_binary