HACKER Q&A
📣 atombender

Is there a good way to run integration tests on Kubernetes?


Background: We currently use Argo Workflows to orchestrate end-to-end integration tests.

Basically, a set of workflow definitions define containers for all the apps that the tests need (typically 7-8 microservice apps, plus services like databases, caches, etc.). Then the last step of the workflow runs test.

The downside is that the workflow needs to duplicate the Kubernetes config that we already deploy with ArgoCD. We keep apps, tests, and ArgoCD definitions in separate repos, and this stuff gets out of sync.

Plus, Argo Workflows is not so great. Poor UI, very flaky, relatively slow, and of course everything is YAML, which is horrible to work with.

We've used CircleCI before, but it's really not good at defining big pipelines with lots of dependencies.

Is there anything better?


  👤 olafmol Accepted Answer ✓
Hi OP/TS! We now have a CircleCI Config SDK in early preview. You can use this SDK to generate a Dynamic Config script to checkout the files you want and generate a very specific list of the jobs and workflows you want to run.

More info on this: https://discuss.circleci.com/t/early-preview-circleci-config...

and

https://circleci.com/docs/2.0/dynamic-config/

Disclaimer: i work for CircleCI. Happy to help if there are any additional questions. We are working on some very cool improvements and optimisations to boost CircleCI into 2022, so any feedback and suggestions are very welcome!


👤 verdverm
Maybe define with CUE and generate the Yaml. https://cuelang.org

You'd then get reusable sections and imports.