Page MenuHomePhabricator

Separate gitlab-cloud-runner k8s cluster provisioning from provider configuration
Closed, ResolvedPublic

Description

Provisioning an underlying k8s cluster and using its outputs to configure a k8s provider leads to OpenTofu dependency hell. From https://search.opentofu.org/provider/opentofu/kubernetes/latest

The most reliable way to configure the Kubernetes provider is to ensure that the cluster itself and the Kubernetes provider resources can be managed with separate apply operations. Data-sources can be used to convey values between the two stages as needed.

Let's separate out the provisioning of the k8s cluster itself from the creation of in-cluster resources.

Details

Related Changes in GitLab:
TitleReferenceAuthorSource BranchDest Branch
digitalocean: Separate management of cluster and in-cluster resourcesrepos/releng/gitlab-cloud-runner!552dduvallreview/separate-digitalocean-applymain
Customize query in GitLab

Event Timeline

dduvall changed the task status from Open to In Progress.Feb 11 2026, 7:51 PM
dduvall triaged this task as Medium priority.

Mentioned in SAL (#wikimedia-releng) [2026-02-26T00:13:08Z] <dduvall> forcing replacement of buildkitd helm release in gitlab-cloud-runner prod cluster due to dependency on removed k8s secret (T416260)

dduvall claimed this task.