action #165345
open[spike][timeboxed:20h] Custom qa-tools team managed low-maintenance platform for hosting team-owned containerized workload
0%
Description
Motivation¶
See #157741, for some helper tools we often use Gitlab pipelines or Github actions to run some repeating jobs however sometimes we need a longer running or even persistent jobs; some of that is currently handled by running it on qam2 but that's not ideal as it involves additional work for handling deployment and maintenance and furthermore, access to the logs is "complicated" as having nice web UI to see the runs/logs is usually preferred.
Goals¶
G1: Achieve the ability to run an arbitrary script from a (Gitlab) repository inside a predefined container built in OBS
G2: Achieve the ability to deploy a long-running script/daemon within a predefined container built in OBS
G3: Evaluate the effort needed to maintain such cluster as an alternative to something like OpenPlatform
Suggestions¶
- Investigate k3s as a lightweight kubernetes; could be installable from https://build.opensuse.org/package/show/devel:kubic/k3s
- Look at deploying own gitlab-runner inside a kubernetes cluster, https://docs.gitlab.com/runner/executors/kubernetes/
- Investigate gitlab-agent to allow deployments from Gitlab to a connected kubernetes cluster, https://docs.gitlab.com/ee/user/clusters/agent/
- Automate installation with something like autoyast/ansible/salt combo
Out of scope¶
- creating VMs (not necessary right now, can be probably solved by introducing something like Harvester later)
- storage (can be solved by using external storage service or probably by introducing something like Longhorn later)
- HA on cluster level (can be easily added later by introducing floating IP)