Project

General

Profile

action #165345

Updated by jbaier_cz 3 months ago

## 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 Demonstrate ability to run an arbitrary script from a (Gitlab) repository inside a predefined container built in OBS 
 **G2**: Achieve the Demonstrate 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](https://k3s.io) 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)

Back