From d2d64331c1826e6928790836739be35e27498193 Mon Sep 17 00:00:00 2001 From: Doug Szumski Date: Wed, 4 Nov 2026 17:29:35 +0000 Subject: [PATCH] Add Monitoring team with Redfish exporter fork repo We have maintained this fork for some time and use it in OpenStack deployments via Kayobe. Since it is not tied to Kayobe, just used with it, we add a new Monitoring team to own it. Membership mirrors the OpenStack team. Assisted-By: Claude Opus 5.5 --- .../group_vars/all/source-repositories | 10 ++++++ terraform/github/branches.tf | 32 +++++++++++++++++++ terraform/github/teams.tf | 7 ++++ terraform/github/terraform.tfvars.json | 29 +++++++++++++++++ terraform/github/variables.tf | 9 ++++++ 5 files changed, 87 insertions(+) diff --git a/ansible/inventory/group_vars/all/source-repositories b/ansible/inventory/group_vars/all/source-repositories index cb7edcbc..557c3c80 100644 --- a/ansible/inventory/group_vars/all/source-repositories +++ b/ansible/inventory/group_vars/all/source-repositories @@ -32,6 +32,8 @@ community_files: * @stackhpc/batch kayobe: | * @stackhpc/kayobe + monitoring: | + * @stackhpc/monitoring openstack: | * @stackhpc/openstack platform: | @@ -123,6 +125,14 @@ source_repositories: - codeowners: content: "{{ community_files.codeowners.kayobe }}" dest: ".github/CODEOWNERS" + # Monitoring team + redfish_exporter: + repository_type: "single-branch" + workflows: [] + community_files: + - codeowners: + content: "{{ community_files.codeowners.monitoring }}" + dest: ".github/CODEOWNERS" # OpenStack team bifrost: synced_releases: diff --git a/terraform/github/branches.tf b/terraform/github/branches.tf index 3ad9afab..7f04b46f 100644 --- a/terraform/github/branches.tf +++ b/terraform/github/branches.tf @@ -369,6 +369,38 @@ resource "github_branch_protection" "kayobe_branch_protection_master" { } } +resource "github_branch_protection" "monitoring_branch_protection" { + for_each = toset(var.repositories["Monitoring"]) + repository_id = data.github_repository.repositories[each.key].node_id + + pattern = data.github_repository.repositories[each.key].default_branch + require_conversation_resolution = true + allows_deletions = false + allows_force_pushes = false + + required_pull_request_reviews { + dismiss_stale_reviews = true + require_code_owner_reviews = true + required_approving_review_count = 1 + } + + restrict_pushes { + blocks_creations = false + push_allowances = [ + resource.github_team.organisation_teams["Developers"].node_id + ] + } + + required_status_checks { + contexts = lookup(var.required_status_checks, each.key, { "default" : [] }).default + strict = false + } + + lifecycle { + prevent_destroy = true + } +} + resource "github_branch_protection" "openstack_branch_protection_py_3-6" { for_each = toset(var.repositories["OpenStack"]) repository_id = data.github_repository.repositories[each.key].node_id diff --git a/terraform/github/teams.tf b/terraform/github/teams.tf index a06b9ef7..86e73dd3 100644 --- a/terraform/github/teams.tf +++ b/terraform/github/teams.tf @@ -46,6 +46,13 @@ resource "github_team_repository" "kayobe_repositories" { permission = "push" } +resource "github_team_repository" "monitoring_repositories" { + for_each = toset(var.repositories["Monitoring"]) + team_id = resource.github_team.organisation_teams["Monitoring"].id + repository = each.value + permission = "push" +} + resource "github_team_repository" "openstack_repositories" { for_each = toset(var.repositories["OpenStack"]) team_id = resource.github_team.organisation_teams["OpenStack"].id diff --git a/terraform/github/terraform.tfvars.json b/terraform/github/terraform.tfvars.json index 096a4798..6ce6e0f7 100644 --- a/terraform/github/terraform.tfvars.json +++ b/terraform/github/terraform.tfvars.json @@ -56,6 +56,9 @@ "stackhpc-kayobe-config", "ansible-collection-kayobe-workflows" ], + "Monitoring": [ + "redfish_exporter" + ], "OpenStack": [ "barbican", "bifrost", @@ -237,6 +240,27 @@ ] } }, + "Monitoring": { + "description": "Team responsible for monitoring development", + "privacy": "closed", + "users": { + "maintainers": [ + "dougszumski", + "jovial", + "m-bull", + "MurrayGroves" + ], + "members": [ + "bbezak", + "cityofships", + "mnasiadka", + "motehue", + "priteau", + "technowhizz", + "stackhpc-ci" + ] + } + }, "OpenStack": { "description": "Team responsible for OpenStack development", "privacy": "closed", @@ -386,6 +410,11 @@ "Build OpenStack admin guide" ] }, + "redfish_exporter": { + "default": [ + "build" + ] + }, "stackhpc-kayobe-config": { "default": [ "Tox pep8 with Python 3.10", diff --git a/terraform/github/variables.tf b/terraform/github/variables.tf index 21244849..8db4ea7a 100644 --- a/terraform/github/variables.tf +++ b/terraform/github/variables.tf @@ -23,6 +23,7 @@ variable "repositories" { "Ansible" = [], "Batch" = [], "Kayobe" = [], + "Monitoring" = [], "OpenStack" = [], "Platform" = [], "ReleaseTrain" = [], @@ -73,6 +74,14 @@ variable "teams" { members = [], } }, + "Monitoring" = { + description = "Team responsible for monitoring development" + privacy = "closed" + users = { + maintainers = [], + members = [], + } + }, "OpenStack" = { description = "Team responsible for OpenStack development" privacy = "closed"