kubernetes / kubernetes/community
Add @release-comms Slack usergroup with reusable data-driven membership pattern
- 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
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