Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebDiscover: Add AWS Management Console as a guided flow #41569

Merged
merged 13 commits into from
May 21, 2024

Conversation

kimlisa
Copy link
Contributor

@kimlisa kimlisa commented May 14, 2024

closes #30150

requires: #41543

recommend reviewing by commit

Screen.Recording.2024-05-15.at.9.10.32.PM.mov

changelog: Add AWS Management Console as a guided flow using AWS OIDC integration in the "Enroll New Resource" view in the web UI

@github-actions github-actions bot requested review from avatus and gzdunek May 14, 2024 23:39
@public-teleport-github-review-bot

@kimlisa - this PR will require admin approval to merge due to its size. Consider breaking it up into a series smaller changes.

@kimlisa kimlisa changed the base branch from marco/awsoidc_app_public_addr to master May 14, 2024 23:41
@gravitational gravitational deleted a comment from github-actions bot May 14, 2024
@kimlisa kimlisa removed the tctl tctl - Teleport admin tool label May 14, 2024
@zmb3
Copy link
Collaborator

zmb3 commented May 15, 2024

I'd be interested in seeing what this looks like when things fail. What happens if you don't have the right permissions or you paste an invalid ARN?

(I've noticed in a lot of these workflows we tend to test the happy path quite well, but the failures often end up spitting out 50-line error messages that are ugly and incomprehensible.)

@kimlisa
Copy link
Contributor Author

kimlisa commented May 15, 2024

I'd be interested in seeing what this looks like when things fail. What happens if you don't have the right permissions or you paste an invalid ARN?

this particular guide is pretty fool proof, the only way it will fail is if you did not define iam role correctly. if you use an invalid role, the web launcher will fail. I did put a hint box if you can't connect:
image

the basic error check with retry and permission checking is there:

if you dont have application server read list perms:
image
image

if you dont have integration CRUD or app create/update
image

if you dont have setup access (this will vary depending on if you are sso as well):
image
image

invalid arn:
image

(I've noticed in a lot of these workflows we tend to test the happy path quite well, but the failures often end up spitting out 50-line error messages that are ugly and incomprehensible.)

yeah 😢, most bugs are edge cases we didn't account for like one example is using private subnets for rds database flow, you won't know it was that issue until hours later. hardening the flow and improving error messages and identifying more failure points is our next goal

Copy link
Contributor

@gzdunek gzdunek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass.

@kimlisa kimlisa requested a review from gzdunek May 21, 2024 00:31
Copy link
Contributor

@gzdunek gzdunek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't have a chance to run it, but it looks good!

</StyledBox>
<OutlineInfo mb={3} linkColor="buttons.link.default" width="800px">
<Text>
If connection can't be established, ensure the IAM role you are trying
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If connection can't be established, ensure the IAM role you are trying
If the connection can't be established, ensure the IAM role you are trying

@kimlisa kimlisa enabled auto-merge May 21, 2024 18:51
@kimlisa kimlisa added this pull request to the merge queue May 21, 2024
Merged via the queue into master with commit 1588fe9 May 21, 2024
41 checks passed
@kimlisa kimlisa deleted the lisa/discover/aws-cli branch May 21, 2024 19:24
@public-teleport-github-review-bot

@kimlisa See the table below for backport results.

Branch Result
branch/v15 Failed

kimlisa added a commit that referenced this pull request May 21, 2024
* Pass integration field with apps

* Add new endpoints, update types, add regex

* Add yaml template for app access for access info

* Define aws console as a selectable resource

* AwsAccount step also fetches apps if awsConsole is detected

* Implement create app server

* Implement setup access view

* Implement test connection view

* Define aws console flow

* Add tsh cli command for accessing aws cli

* Address CR

* Improve language

* Address CR part 2
kimlisa added a commit that referenced this pull request May 21, 2024
* Pass integration field with apps

* Add new endpoints, update types, add regex

* Add yaml template for app access for access info

* Define aws console as a selectable resource

* AwsAccount step also fetches apps if awsConsole is detected

* Implement create app server

* Implement setup access view

* Implement test connection view

* Define aws console flow

* Add tsh cli command for accessing aws cli

* Address CR

* Improve language

* Address CR part 2
kimlisa added a commit that referenced this pull request May 21, 2024
* Pass integration field with apps

* Add new endpoints, update types, add regex

* Add yaml template for app access for access info

* Define aws console as a selectable resource

* AwsAccount step also fetches apps if awsConsole is detected

* Implement create app server

* Implement setup access view

* Implement test connection view

* Define aws console flow

* Add tsh cli command for accessing aws cli

* Address CR

* Improve language

* Address CR part 2
github-merge-queue bot pushed a commit that referenced this pull request May 22, 2024
…1864)

* Pass integration field with apps

* Add new endpoints, update types, add regex

* Add yaml template for app access for access info

* Define aws console as a selectable resource

* AwsAccount step also fetches apps if awsConsole is detected

* Implement create app server

* Implement setup access view

* Implement test connection view

* Define aws console flow

* Add tsh cli command for accessing aws cli

* Address CR

* Improve language

* Address CR part 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use AWS OIDC integration for AWS CLI/console access
5 participants