StackStorm / stackstorm-k8s

K8s Helm Chart that codifies StackStorm (aka "IFTTT for Ops" https://stackstorm.com/) Highly Availability fleet as a simple to use reproducible infrastructure-as-code app
https://helm.stackstorm.com/
Apache License 2.0
105 stars 107 forks source link

CI/CD: Switch to lightweight Kubernetes distribution #243

Closed arm4b closed 1 year ago

arm4b commented 3 years ago

Currently, we're relying on CircleCI large container size that provides 4CPUs & 15GB RAM ~which is a paid feature~ (Update: it's free now): https://github.com/StackStorm/stackstorm-ha/blob/3ba85e6c584229e21cf41e2d19ec14f2bef4ffcc/.circleci/config.yml#L52-L55

1) Switch to a smaller CircleCI container size 2) Replace K8s with a lightweight distribution like K3s or K0s that'll fit CI/CD environment better:

~Hopefully, this could also help with the issues when builds reported random stability failures caused by etcd/K8s/CircleCI~ (Update: it runs well recently).

cognifloyd commented 2 years ago

This looks like a good way to run k3s in Github Actions: https://github.com/marketplace/actions/actions-k3s

cognifloyd commented 2 years ago

Or this for kind: https://github.com/marketplace/actions/kind-cluster

arm4b commented 1 year ago

Adding an update here as some things are outdated now (sorry for that!). We're using CircleCI for free these days and the container we're using is large as well: https://github.com/StackStorm/stackstorm-k8s/blob/b45c85937e08f97cd697e66d764763835fb9e1a3/.circleci/config.yml#L50-L55

so no issues with CircleCI running minikube + k8s + helm for now as that probably provides the most consistent K8s testing experience.

But perhaps having an additional run in K3s to see if it works makes sense too?