Kvindo™ Cloud Docs
A self-hosted GitLab instance and a runner registered against it. Two stages, in two configurations: the runner needs the instance's FQDN plus a token that only exists once the instance is running, so it cannot be part of the same graph. This assumes the Networking example's kvindo_vpc_subnet.demo and its VPC NAT floating IP exist — the runner needs no floating IP of its own, because it reaches GitLab over the VPC and pulls Docker images through that NAT.
Stage 1 creates the instance. It needs a floating IP: the instance's DNS record is pointed at its public address, so without one GitLab is reachable from inside the VPC only. spec.version must be a release the platform publishes — the Console's picker lists them, and a later upgrade has to move one release at a time (no downgrades, no skipping).
The apply blocks until the instance is up, which takes tens of minutes; terraform output gitlab_fqdn then shows the address it is served at. It is <record_name>-<ulid>.gitlab.kvindo.com — the resource's own id is appended, so it is never the bare name you asked for. Open it and log in as root with var.gitlab_root_password; TLS already works, because instances share a *.gitlab.kvindo.com wildcard certificate.
Now create the runner's own token in the instance: Admin → CI/CD → Runners → New instance runner. Tick Run untagged jobs (or give the runner tags that your jobs request) and copy the glrt-… token it shows you. That is the value runner_token wants — the older instance-wide registration token is not accepted, because the runner authenticates with this token directly instead of registering with it.
A second configuration, so the instance is looked up with a data source and its FQDN is never copied by hand:
Raise concurrency to run more jobs at once; spec.version must be a runner build the platform publishes, and may be omitted to take the default.
Destroying the kvindo_gitlab_runner resource removes its VM but does not unregister it inside GitLab — delete the stale entry in the instance's runner list yourself, or it stays listed forever.
Resource docs
More in this section
Reference