Backblaze / boardwalk

A linear remote execution workflow engine built on top of Ansible
Other
11 stars 0 forks source link

boardwalkd (feat): add Slack commands for catching/releasing workspaces #75

Closed asullivan-blze closed 3 months ago

asullivan-blze commented 4 months ago

Adds Slack integration to boardwalkd through means of a Slack App, such that it is now possible to quickly view the status of workspaces--along with the logged events--as well as catch or release workspaces from within Slack. This is intended to augment--not replace--the web dashboard.

Using the Slack app manifest located within slack_app_manifest.yaml, an individual implementing Boardwalk can quickly conmfigure the required settings for the app. Additional configuration, if desired, may be done after--or before by directly editing the manifest--the app is created within Slack's system.

Using this feature is done by providing a Slack app and bot token, in the BOARDWALKD_SLACK_APP_TOKEN and BOARDWALKD_SLACK_BOT_TOKEN environment variables.

Features provided by this integration include:

  1. A Slack app home page, which displays at a glance statuses for configured workspaces
  2. The ability to catch or release one, multiple, or all workspaces.
  3. Viewing the details of a specified workspace.
  4. Adds the following Slack slash-commands: - /brdwlk-version - Returns the currently running version of Boardwalk. - /brdwlk-catch-release - Allows one or more workspaces to be caught or released from a single modal. - /brdwlk-list - Lists workspaces with an active worker

What and why?

How was this tested?

Checklist