kubernetes / kubernetes/community

Add @release-comms Slack usergroup with reusable data-driven membership pattern

Open
#9,042 5 comments 0 reactions 0 assignees View on GitHub
area/slack-management sig/contributor-experience sig/release
Dominant language
Jupyter Notebook
Stars
13k
Forks
5.4k
Avg merge
2d 17h
Merged PRs (30d)
29

Description

Create a @release-comms Slack usergroup with a reusable automation pattern for data-driven membership. Any project can extend this pattern for their own usergroups without duplicating logic.

/sig contributor-experience
/area slack-management

**Part A: Create @release-comms usergroup**

File: `communication/slack-config/sig-release/usergroups.yaml`

```yaml
- name: release-comms
long_name: Release Communications
description: |
Release Communications team for the current Kubernetes release cycle.
Members are updated each cycle by the Comms Lead.
Has access to the slack-post-message bot for broadcasting to SIG channels.
channels:
- release-comms
- sig-release
members:
- SwathiR03
- dipesh-rawat
- fsmunzo
```

**Part B: Extensible membership sync**

Instead of a single-purpose script for @release-comms, design a generic mechanism that can sync any usergroup from an authoritative data source.

**Data source format** (`communication/slack-config/usergroups-sources.yaml`):

```yaml
sources:
- usergroup: release-comms
repo: kubernetes/sig-release
path: releases/release-1.XX/team.yaml
pathExpression: ".release_comms_members[]"
```

**Sync mechanism** (reusable):

1. Clone the source repo at the configured path
2. Extract members using the configured expression
3. Diff the current `usergroups.yaml` against the desired state
4. Open a PR or auto-merge for certain groups

The sync logic is written once. Adding a new auto-synced usergroup is a few lines of config.

**Alternatively (Phase 1):**

Start with just Part A. The sync script can be added later as an enhancement -- the manual PR pattern (same as @release-team-leads) works today.

**Checklist:**
- [ ] Add @release-comms definition to `sig-release/usergroups.yaml`
- [ ] Ensure standing members exist in `users.yaml`
- [ ] (Phase 2) Build generic sync mechanism

Contributor guide

Open the contributing guide

Research direction

Start with communication/slack-config/sig-release/usergroups.yaml and compare the existing @release-team-leads pattern, then inspect communication/slack-config/users.yaml for the listed members. Decide whether the contribution covers only the release-comms definition or also the proposed source configuration and reusable sync mechanism. Done means the checklist's selected phase is implemented without duplicating usergroup-specific sync logic.

Written by the indexing model from the issue text.

Assessment

Tech stack
yaml
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.