support new runner configuration flow and APIs
New Data Source / Resource
The runner registration process is changing with the deprecation of runner registration tokens. Runners are now to be pre-configured via the API or GUI before they can be used with Authentication Tokens.
Some examples of things that are needed:
resource "gitlab_instance_runner_configuration" "my_runner" {
name = "my-new-runner"
description = "my new runner"
tags = ["tag1", "tag2"]
run_untagged = false
}
# auth token should also be obtainable from the above resource definition
data "gitlab_instance_runner_configuration_auth_token "my_runner_token" {
name = "my-new-runner"
}
resource gitlab_group_runner_configuration" "my_group_runner" {
group = var.groupid
description = "my new runner"
tags = ["tag1", "tag2"]
run_untagged = false
}
Etcetera for project runners.
The above resources are only an example of the kinds of functionality we need and may obviously differ based on the eventual runner API implementation and the GitLab terraform provider team's design sensibilities.
Related GitLab APIs
API documentation:
TBD
Additional Details
-
GitLab REST API resources available (read for data sources, crud for resources) -
go-gitlabdoes support the related GitLab API already -
I'd like to contribute it myself