gravitational / teleport

The easiest, and most secure way to access and protect all of your infrastructure.
https://goteleport.com
GNU Affero General Public License v3.0
17.67k stars 1.77k forks source link

Implement "one-click" integrations for access plugins #24495

Open r0mant opened 1 year ago

r0mant commented 1 year ago

Description

We have implemented Cloud-hosted version of the Slack plugin that uses OAuth2 authentication flow to allow users to connect Slack to their Teleport cluster and starts the plugin in the auth server.

We want to extend this to other access plugins and "beef up" our new Integrations page as well with additional easy-to-use integrations for services we have already built.

Most of the access plugins we have already support OAuth2 authorization token flow so we should be able to provide UX similar to the "inaugural" Slack plugin.

For other plugins which do not support OAuth2 and only support e.g. API keys (e.g. OpsGenie), we will allow users to provide the API key and store it in some secret store in the Cloud (e.g. Kubernetes secret).

As part of this work, we will also be migrating plugins to the Teleport repository following Slack's example.

Plan

## Phase 0: Slack (13.0)
- [ ] https://github.com/gravitational/cloud/pull/2678
- [ ] https://github.com/gravitational/cloud/issues/2506
## Phase 1 (13.1 - 13.2)
- [x] https://github.com/gravitational/teleport.e/issues/688 @mdwn 
- [x] PagerDuty @tcsc
- [x] Jira @tcsc 
- [x] Mattermost @kimlisa 
- [x] OpsGenie @EdwardDowling 
## Phase 2 (14.0)
- [x] Discord @tcsc
- [x] ServiceNow @EdwardDowling
## Phase 3 (14.1)
- [ ] MS Teams @tcsc 
zmb3 commented 1 year ago

@tcsc are we good to check off Discord as completed here?