Cloudy can query across workspaces. Only install into workspaces you trust. Controlled with SLACK_AUTHORIZED_TEAMS
Cloudy is deployed to prod automatically on push to main
at https://cloudy-server.onrender.com
You can develop Cloudy locally by following these steps:
# Clone the Lightdash cloud announcer repo
git clone https://github.com/lightdash/lightdash-cloud-announcer.git
ℹ️ app id for "dev Cloudy" is A03NM81NBFD
SLACK_SIGNING_SECRET=Get variable from slack app settings
SLACK_CLIENT_ID=Get variable from slack app settings
SLACK_CLIENT_SECRET=Get variable from slack app settings
SLACK_STATE_SECRET=this can be anything
SLACK_AUTHORIZED_TEAMS=T0163M87MB9,T03942PB7E3
PG_CONNECTION_STRING=postgres://user:pass@host:port/database
SITE_ENV=https://cloudy-dev-crazy-cayote.loca.lt
GITHUB_WEBHOOKS_SECRET=Create a new webhook with a secret
GITHUB_ACCESS_TOKEN=Create a new access token
RUDDERSTACK_WRITE_KEY=Get your Rudderstack write key here
RUDDERSTACK_DATA_PLANE_URL=Get your data plane URL here
# Install all the project's dependencies
yarn
# Run the app locally
yarn start
yarn expose
Now you need to update the following URLs with the last Forwarding
url that localtunnel returns:
- Update the
SITE_ENV
environment variable - Update all domains in the
/slack-app-manifest.yaml
- Create or update a slack app at
https://api.slack.com
- Copy in the
slack-app-manifest.yaml
(change command names and bot name if in dev) - Get all the secrets from the "basic information" and update:
SLACK_SIGNING_SECRET
SLACK_CLIENT_ID
SLACK_CLIENT_SECRET
Go to webhooks and create a new webhook
- Payload URL
https://[ngrok domain]/api/github/webhooks
- Content type:
application/json
- Add a secret variable (it can be anything)
- Enable SSL
- "Let me select individual events" ->
Issues
only - Active ✔️
In the app add the following variables:
GITHUB_WEBHOOKS_SECRET=the secret you chose above (it can be anything but must match the one you provided to github)
GITHUB_ACCESS_TOKEN=a personal access token for GitHub
yarn dev
Once the app is running, in your webhook settings in GitHub verify that you can receive the ping event:
In Slack under "event subscriptions" check you can receive the ping event:
Visit https://[ngrok domain]/slack/oauth_redirect
to install the app correctly. This won't work through the api.
slack.com web UI.
- Update all URLs for prod deployment
- Under "manage distribution" set to "publicly available"
yarn knex migrate:make <migration_name> --env production