community/communication/slack-config
Bob Killen 069a09f38c Add dockershim slack channel 2021-12-08 10:42:42 -05:00
..
sig-architecture slack-config(enhancements): Update subproject owners 2021-11-11 15:17:48 -05:00
sig-cloud-provider slack: renamed provider-alibaba-cloud channel 2019-12-20 18:31:04 +09:00
sig-docs Add dockershim slack channel 2021-12-08 10:42:42 -05:00
sig-network Add a KPNG announcements channel 2021-09-24 11:10:40 -04:00
sig-release update sig-release usergroups with link to current release cycle 1.23 2021-09-06 09:34:11 -07:00
sig-security Update to alphabetical ordering of channel names 2021-05-21 13:52:02 -07:00
sig-storage Setting up a slack channel for sig-storage subproject kubernetes-cosi 2020-07-17 12:24:37 +00:00
sig-testing Move testing-commons subproject to best-effort 2021-01-27 16:55:27 -05:00
OWNERS Removing myself as Slack moderator 2021-07-13 20:13:31 +02:00
README.md Rename kubernetes-sigs/slack-infra default branch 2021-04-01 15:19:20 -04:00
channels.yaml Add channel for controller-runtime 2021-11-15 21:15:04 +05:30
restrictions.yaml slack/sig-release: s/security-release-team/security-rel-team 2021-04-27 21:39:23 -04:00
template.yaml Add initial slack config 2019-04-11 16:14:45 -07:00
usergroups.yaml Update pinniped user group membership 2021-11-23 10:05:38 -05:00
users.yaml Update pinniped user group membership 2021-11-23 10:05:38 -05:00

README.md

Slack Config

YAML files in this directory control the state of Slack, via Tempelis. Updating a configuration file will result in Slack being updated once the change merges. If a change is not legal, a presubmit will fail.

Users

There is no safe, stable way to derive a specific Slack user from any human-readable identifier. Instead of using Slack IDs everywhere, a single mapping from GitHub usernames to Slack IDs is given in users.yaml. To reference a user, they must first be added to users.yaml.

Channels

Channels can be created by adding a new channel in channels.yaml. Channels should be sorted alphabetically. New channels will be created in accordance with the template specified in template.yaml.

Deleting channels is not permitted, but a channel can be archived by specifying archived: true, or unarchived by removing it (or specifying false).

To rename a channel, set its id property to its current Slack ID, then change the name.

A fully-specified channel looks like this:

- name: slack-admins # mandatory
  id: C4M06S5HS      # optional except when renaming
  archived: false    # optional for unarchived channels

Usergroups

Usergroups are pingable Slack groups. All members of a usergroup can be automatically added to certain channels. A usergroup must have at least one member. A usergroup can be removed by deleting it from the configuration.

Some usergroups (e.g. @test-infra-oncall) are managed by other tooling. To prevent Tempelis from trying to deactivate these usergroups, they can be included on the list and marked as external: true. Other usergroups should look like this:

- name: slack-admins               # mandatory, the pingable handle
  long_name: Slack Admins          # mandatory, the human-readable name
  description: Slack Admin Group   # mandatory, a description
  channels:                        # optional, a list of channels for members to auto-join
    - slack-admins
  members:                         # mandatory, a list of at least one member.
    - castrojo                     # member names must be listed in users.yaml.
    - katharine
    - jeefy
    - mrbobbytables
    - alejandrox1
    - jdumars
    - parispitmann
    - coderanger
    - idvoretskyi
    - idealhack