Page MenuHomePhabricator

Catalyst configuration as code
Closed, ResolvedPublic5 Estimated Story Points

Description

Custom configuration we need to codify:

  • Cloud VPS data volume (including /etc/fstab, e.g. "UUID=<id> /mnt/k3s-data ext4 defaults,nofail 0 2")
  • K3s installation
  • Helm installation on k3s control plane
  • Configure k3s to use the Cloud VPS data volume for storage
  • Installing the GitLab agent on the k3s control plane for GitLab to be able to run helm to manage our charts
  • (To investigate) the sysctl config for the number of open inodes OR ensuring base::sysctl::inotify::max_user_instances: 1024 is present in project hiera config OR nothing
  • systemd timer and unit for reaping older images
  • For agent nodes configure crictl
  • Custom resource manifests for shared db node (for taints, etc)
  • Add the logrotation from: T398222#10978418
  • CloudVPS web proxies

Details

Related Changes in GitLab:
TitleReferenceAuthorSource BranchDest Branch
add Makefile, update README and morerepos/test-platform/catalyst/catalyst-tofu!2jnucheT396897main
first functional version of the Catalyst IaC stackrepos/test-platform/catalyst/catalyst-tofu!1jnucheT396897main
Customize query in GitLab

Event Timeline

This comment was removed by jnuche.
This comment was removed by jnuche.

This is the list of all the customization we need to add/investigate/codify:

  • Cloud VPS data volume (including /etc/fstab, e.g. "UUID=<id> /mnt/k3s-data ext4 defaults,nofail 0 2")
  • K3s installation
  • Configure k3s to use the Cloud VPS data volume for storage
  • Installing the GitLab agent on the k3s control plane for GitLab to be able to run helm to manage our charts
  • (To investigate) the sysctl config for the number of open inodes OR ensuring base::sysctl::inotify::max_user_instances: 1024 is present in project hiera config OR nothing
  • systemd timer and unit for reaping older images
  • For agent nodes configure crictl
  • Custom resource manifests for shared db node (for taints, etc)
thcipriani renamed this task from Tofuing catalyst infrastructure to Catalyst configuration as code.Jun 16 2025, 4:54 PM
thcipriani updated the task description. (Show Details)

The outcomes of T397078 and T397077 show the OpenStack API is stable.

At this point probably the best option to add our configuration is the user data/cloud init functionality of OpenStack. This couples the config management with the VM creation/management, so I believe it would make sense to handle infra management in this story as well (at least the VMs part)

jnuche set the point value for this task to 5.
jnuche moved this task from Backlog to Kulupu Olin on the Catalyst board.
jnuche edited projects, added: Catalyst (Kulupu Olin); removed: Catalyst.
jnuche moved this task from Backlog to In progress on the Catalyst (Kulupu Olin) board.

These changes are pretty large, so it might be good to walk through this during an office hours. Tentatively, let's try to walk through this during the Monday 2025-08-25 office hours and decide if this is a good enough starting point to build from. @jnuche will that work for you?

Part I: is merged! There exists a tofu to give us a cluster.

Part II: Documentation of how to use this and tools/Makefile/Docker so everyone can run this, in progress.

jnuche moved this task from In progress to Waiting for review on the Catalyst (ma moku) board.