Repository navigation
[FEAT]: github_enterprise_actions_runner_group / github_actions_runner_group - Support network configuration #2302
Copy link
Copy link
Open
Labels
Type: FeatureNew feature or requestNew feature or request
Description
Describe the need
For the resources github_enterprise_actions_runner_group and github_actions_runner_group I would like support for configuring private networking via Terraform. This would help ease setup and maintenance of a great and cost efficient feature.
data "github_enterprise" "example" {
slug = "example-co"
}
resource "azapi_resource" "subnet_integration" {
type = "GitHub.Network/networkSettings@2024-04-02"
name = "test-subnet-integration"
location = module.vnet.vnet.location
parent_id = module.vnet.rg.id
schema_validation_enabled = false
body = jsonencode({
properties = {
subnetId = module.vnet.subnets["test-subnet"].id
businessId = data.github_enterprise.example.database_id
}
})
lifecycle {
ignore_changes = [tags]
}
}
resource "github_enterprise_actions_runner_group" "example" {
name = "my-awesome-runner-group"
enterprise_slug = data.github_enterprise.enterprise.slug
selected_organization_ids = [github_enterprise_organization.enterprise_organization.database_id]
# NEW
network_configuration_id = azapi_resource.subnet_integration.tags["GithubId"] # optional
disable_network_configuration = false # optional. Only has an effect if network_configuration_id is set
}
resource "azapi_resource" "subnet_integration2" {
type = "GitHub.Network/networkSettings@2024-04-02"
name = "test-subnet-integration"
location = module.vnet.vnet.location
parent_id = module.vnet.rg.id
schema_validation_enabled = false
body = jsonencode({
properties = {
subnetId = module.vnet.subnets["test-subnet2"].id
businessId = data.github_enterprise.example.database_id
}
})
lifecycle {
ignore_changes = [tags]
}
}
resource "github_actions_runner_group" "example" {
name = "xxx"
selected_repository_ids = ["yyy"]
# NEW
network_configuration_id = azapi_resource.subnet_integration2.tags["GithubId"] # optional
disable_network_configuration = false # optional. Only has an effect if network_configuration_id is set
}
Alternatively an optional block can be used to configue this
resource "github_actions_runner_group" "example" {
...
network_configuration {
id = azapi_resource.subnet_integration2.tags["GithubId"] # optional
disable_configuration = false # optional, defaults to false
}
...
}Enterprise:
Github team:
SDK Version
No response
API Version
No response
Relevant log output
No response
Code of Conduct
- I agree to follow this project's Code of Conduct
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type: FeatureNew feature or requestNew feature or request
Type
Projects
- StatusShow more project fields🔥 Backlog
- StatusShow more project fieldsIn Progress
Activity
[-][FEAT]: github_enterprise_actions_runner_group - Support network configurations and static IP[/-][+][FEAT]: github_enterprise_actions_runner_group - Support network configuration[/+][-][FEAT]: github_enterprise_actions_runner_group - Support network configuration[/-][+][FEAT]: github_enterprise_actions_runner_group / github_actions_runner_group - Support network configuration[/+]ilmax commentedon Jul 23, 2024
I wanted to give it a go at this one because I would like to automate this part but AFAIK there's no support for it in go-github. It seems like we can only create self-hosted runner but not a runner group that's GitHub hosted. Looking at the API it seems like to me this is not even exposed at the API level according to the documentation.
Am I missing something obvious?
ilmax commentedon Jul 31, 2024
@kfcampbell / @nickfloyd FYI
Laffs2k5 commentedon Dec 11, 2024
There does not seem to be any mention about support for this in the REST API in the GitHub Public Roadmap.
I urge anyone to vote and discuss on this community discussion to raise awareness about missing support in the REST API: https://github.com/orgs/community/discussions/139852
matt-buchanan commentedon Jan 30, 2025
Looks like the APIs for this have just been released: https://github.com/orgs/community/discussions/149651
CpuID commentedon Apr 30, 2025
Can't wait for this functionality to appear in the TF Provider ❤
4 remaining items
ilmax commentedon Mar 4, 2026
Not sure why there's the need to release version v7 of the provider, AFAIK this is already using a version of go-github that supports the functionality.
deiga commentedon Mar 4, 2026
@ilmax at the time of writing we we're about to release v7 due to some breaking changes.
But we changed direction and a major release for go-github upgrades is not currently necessary.
deiga commentedon Mar 4, 2026
I wonder if #3080 is already addressing this need?
ilmax commentedon Mar 4, 2026
Understood, thank you for the clarification.
I don't think so. I think here we need to create an additional resource for the network configuration (at the organization and enterprise level) + add the ability to set that value on a hosted runner.
In #3080 AFAIK doesn't add the option to create a network configuration
deiga commentedon Mar 4, 2026
Ah, yes, you are right.
Sorry, I didn't look too deep into the comparison 😬
Do these PRs fulfill all use-cases from this issue?
ilmax commentedon Mar 4, 2026
#2895 is implementing just the organization network configuration so 1 out of 4 things, but it's a good starting point. Needs to be rebased on top of main and probably it would be wise to add the enterprise network configuration in the same PR.
#3017 Seems to add feature parity between organization and enterprise hoste runners resource and data sources
jndz2 commentedon Mar 4, 2026
If there is anything I can do to help, please let me know. If everything is already in progress, then that's fine.
ilmax commentedon Mar 4, 2026
I would love to get this one implemented, I think #2895 is just partially implemented (need a rebase + implement the enterprise version of the network configuration) Getting that part over the line would be awesome along completing and merging #3017.
deiga commentedon Mar 4, 2026
Considering that #2895 hasn't responded since November last year, it could make sense for that to be picked up by someone else
austenstone commentedon Mar 15, 2026
I'll try to get this merged!
johannespostler commentedon Mar 15, 2026
@austenstone I actually spent some time rebasing this, but I didn't get around to test it yet. Feel free to check it out:
https://github.com/johannespostler/terraform-provider-github/tree/feature/github-organization-network-configurations
jakub-rdr commentedon Aug 25, 2026
Is there any movement on this? It would be great to see this implemented soon.
deiga commentedon Aug 28, 2026
@jakub-rdr please help us with reviewing open PRs like the one linked to this issue.
That can help get this and other features implemented faster 🙏
For review guidance, familiarize yourself with our Contributing and Architecture guidelines☺️