Commit graph

15366 commits

Author SHA1 Message Date
Nic Klaassen f5e1194bc6
fix: typo in error check (#33090)
While working on https://github.com/gravitational/teleport/pull/32911 I
noticed the following broken error comparison, which would always log
because the error was always wrapped and never exactly matched
`http.ErrServerClosed`:

```
if err != nil && err != http.ErrServerClosed {
    log.Warningf("TLS server exited with error: %v.", err)
}
```

I tried to fix it with `errors.Is`, but unfortunately got the condition
inverted. This fixes the condition to match the original intended
behaviour. It's not useful to log `http.ErrServerClosed` errors because
that error is returned every time the server is manually closed.
2023-10-10 14:59:12 +00:00
rosstimothy b60ea81d54
Update users interface (#32987)
services.UsersService now takes a context and returns the user
from write operations as shown in the diff below. The bulk of the
changes are from modifying code to account for the additional
parameter and/or return value. Functional changes to better make
use of the new API will come in follow up PRs.

```diff
// UserGetter is responsible for getting users
type UserGetter interface {
	// GetUser returns a user by name
-	GetUser(user string, withSecrets bool) (types.User, error)
+	GetUser(ctx context.Context, user string, withSecrets bool) (types.User, error)
}

// UsersService is responsible for basic user management
type UsersService interface {
	UserGetter
	// CreateUser creates user, only if the user entry does not exist
-	CreateUser(user types.User) error
+	CreateUser(ctx context.Context, user types.User) (types.User, error)
	// UpdateUser updates an existing user.
-	UpdateUser(ctx context.Context, user types.User) error
+	UpdateUser(ctx context.Context, user types.User) (types.User, error)
	// UpdateAndSwapUser reads an existing user, runs `fn` against it and writes
	// the result to storage. Return `false` from `fn` to avoid storage changes.
	// Roughly equivalent to [GetUser] followed by [CompareAndSwapUser].
	// Returns the storage user.
	UpdateAndSwapUser(ctx context.Context, user string, withSecrets bool, fn func(types.User) (changed bool, err error)) (types.User, error)
	// UpsertUser updates parameters about user
-	UpsertUser(user types.User) error
+	UpsertUser(ctx context.Context, user types.User) (types.User, error)
	// CompareAndSwapUser updates an existing user, but fails if the user does
	// not match an expected backend value.
	CompareAndSwapUser(ctx context.Context, new, existing types.User) error
	// DeleteUser deletes a user with all the keys from the backend
	DeleteUser(ctx context.Context, user string) error
	// GetUsers returns a list of users registered with the local auth server
-	GetUsers(withSecrets bool) ([]types.User, error)
+	GetUsers(ctx context.Context, withSecrets bool) ([]types.User, error)
	// DeleteAllUsers deletes all users
-	DeleteAllUsers() error
+	DeleteAllUsers(ctx context.Context) error
}
```

Depends on gravitational/teleport.e#2346
Implements step 3 of #32949
2023-10-10 14:07:46 +00:00
Tiago Silva 4b34b89a7d
Fix Kubernetes agent updater helm chart reference to bool (#33111)
This PR fixes a problem where Kubernetes cannot transform the bool value
into a string.

```
Deployment in version "v1" cannot be handled as a Deployment: json: cannot unmarshal bool into Go struct field EnvVar.spec.template.spec.containers.env.value of type string
```

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
2023-10-10 13:52:39 +00:00
STeve (Xin) Huang 434b9dc0f2
[docs] Attempt to clarify ElastiCache/MemoryDB auth methods (#33077)
* [docs] Clarify ElastiCache/MemoryDB auth methods

* review comments
2023-10-10 13:51:54 +00:00
Tiago Silva 27c90c7179
Fix tsh kube credentials when root cluster roles don't allow Kube access (#33014)
* Fix `tsh kube credentials` when root cluster roles don't allow Kube access

This PR fixes an edge case where an error message is printed to the
users without proper knowledge of the role mappings between root and
leaf clusters.

The user certificates include the `kubernetes_users` and
`kubernetes_groups` allowed in the root cluster but nothing prevents the
access to be sucessfull if the leaf cluster roles after the mapping
introduce the kubernetes principals.

This PR prevents tsh from failing when generating certificates for leaf
Kubernetes clusters.

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>

* Update tool/tsh/common/kube.go

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>

* add check to tsh proxy

---------

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>
2023-10-10 13:30:45 +00:00
Rafał Cieślak fdf44c3ce6
Add execing into a pod to Connect test plan (#33206) 2023-10-10 13:12:48 +00:00
Edward Dowling 1428db0885
Update opsgenie docs (#32730)
* Update opsgenie docs

* Update config forScope for opsgenie plugin docs
2023-10-10 12:08:19 +00:00
Rafał Cieślak 971cadb9cb
Reword Troubleshooting section in Connect docs (#32293)
* Reword Troubleshooting section in Connect docs

* Point readers towards Open Logs Directory button

* Mention specific manifestations of partially unusable UI

* Update commands for removing tsh and app_state.json
2023-10-10 09:20:53 +00:00
Rafał Cieślak 26814c72aa
Add missing Connect My Computer docs commits from #32798 (#33151)
* Reduce instances of "just"

* agent lifecycle -> the lifecycle of the agent

* proxy version -> Teleport Proxy Service version

* Simplify sentence about local user requirement

* Add screenshots of Connect My Computer

* Update screenshots of Connect UI
2023-10-10 08:17:38 +00:00
Brian Joerger d2164a2b97
Revert #32918 and make privateKeyPolicyEnabled an optional field (#33173)
* Revert "Revert private key policy error handling in WebUI (#32918)"

This reverts commit 5e11bf5b49.

* Make privateKeyPolicyEnabled an optional field.
2023-10-10 01:15:09 +00:00
lsgunn-teleport 9fcaf7a880
Add server troubleshooting to left nav (#32989) 2023-10-09 22:24:15 +00:00
Lisa Kim 70de43e913
Fixes emitting wrong events for ec2 discover flow (#33176) 2023-10-09 22:13:29 +00:00
lsgunn-teleport 018430d445
Remove device trust relationship as an example of token:create permissions (#33159) 2023-10-09 20:03:14 +00:00
lsgunn-teleport 09bcc9d6ee
[buddy] docs: minor typos and improvements in the description of the Teleport Proxy Service (#33170)
* Minor typos

* Update docs/pages/architecture/proxy.mdx

* fix capitalization and hyphenation and make features more parallel

* fix identity typo

---------

Co-authored-by: Gabriel Petrovay <gabipetrovay@gmail.com>
2023-10-09 20:02:27 +00:00
Brian Joerger 5b850c9bfd
Extend handshake read deadline to allow signature operations that require user input to be completed (hardware key touch/pin). (#32921) 2023-10-09 19:14:38 +00:00
Brian Joerger 5e11bf5b49
Revert private key policy error handling in WebUI (#32918)
* Revert private key policy error handling in WebUI.

* Restore privateKeyPolicyEnabled field.
2023-10-09 18:59:46 +00:00
Brian Joerger 9cf6874b73
Fix flaky test TestParallelKnownHostsFileWrite by reducing contention for known host file lock. (#32938) 2023-10-09 18:47:42 +00:00
Tiago Silva 8f713013c0
Header Connection: close causes kubectl to fail exec (#33050)
* Header `Connection: close` causes `kubectl` to fail exec

The header `Connection: close` causes failure in kubetl when it upgrades
the connection to SPDY.

The `ReadTimeout` and `WriteTimeout` are known to cause problems to
Kubernetes watch streams.

Fixes #33020

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>

* add unit tests

---------

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
2023-10-09 18:28:07 +00:00
Marco André Dinis 81faf9f5bc
Web: Add EC2 name when listing instances in Discover flow (#33064) 2023-10-09 18:07:55 +00:00
lsgunn-teleport 45e9733c05
join_sessions overrides the deny rule for sessions a user is allowed to join (#32991) 2023-10-09 17:34:30 +00:00
lsgunn-teleport f7edb03eb6
docs: Add Docker to partials and update the discord access request plugin (#32886)
* Add Docker to the access request plugin partial and Discord section

* Update another partial for Docker

* Restore variable to teleport.plugin.version

* Update docs/pages/includes/plugins/install-access-request.mdx

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>

---------

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>
2023-10-09 17:33:44 +00:00
rosstimothy 6874bc1844
Start migrating services.UserService to use context and return users (#32920)
* Start migrating services.Identity to use context and return users

Adds new variants of existing methods that are going to be updated
to support propagating context and return users from create, update
and upsert. This is an unfortunate step required because e utilizes
the interface for various functionality. In order to prevent breaking
builds, the temporary methods were added so that e can be converted
to them first, then oss can be updated to the new version of the
interface. Once that is done e will be converted and then the temp
methods will be removed.

* fix typos in comment

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>

* fix: don't set metadata on existing item in CAS

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>

* fix: gci

* fix: set resource id on update

---------

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>
2023-10-09 17:11:39 +00:00
Zac Bergquist f097bb2737
Fix self-signed cert validity on macOS systems (#32698)
As per https://support.apple.com/en-in/HT210176:

> TLS server certificates must contain an ExtendedKeyUsage (EKU)
  extension containing the id-kp-serverAuth OID.

We were not specifying this EKU.

Validated by checking with the old self-signed certs:

    $ security verify-cert -c webproxy_cert.pem -p ssl -r webproxy_cert.pem
    Cert Verify Result: Invalid Extended Key Usage for policy

And then repeating the process after this change:

    $ security verify-cert -c webproxy_cert.pem -p ssl -r webproxy_cert.pem
    ...certificate verification successful.

Closes #32531
2023-10-09 17:03:43 +00:00
dependabot[bot] 446f6688f2
Bump the go group in /integrations/kube-agent-updater with 2 updates (#33118)
* Bump the go group in /integrations/kube-agent-updater with 2 updates

Bumps the go group in /integrations/kube-agent-updater with 2 updates: [github.com/docker/distribution](https://github.com/docker/distribution) and [golang.org/x/mod](https://github.com/golang/mod).


Updates `github.com/docker/distribution` from 2.8.2+incompatible to 2.8.3+incompatible
- [Release notes](https://github.com/docker/distribution/releases)
- [Commits](https://github.com/docker/distribution/compare/v2.8.2...v2.8.3)

Updates `golang.org/x/mod` from 0.12.0 to 0.13.0
- [Commits](https://github.com/golang/mod/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: github.com/docker/distribution
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go
- dependency-name: golang.org/x/mod
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go
...

Signed-off-by: dependabot[bot] <support@github.com>

* Replaced deprecated import

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan Parra <alan.parra@goteleport.com>
2023-10-09 16:49:52 +00:00
dependabot[bot] afaf65ba77
Bump the go group in /assets/aws with 3 updates (#33127)
Bumps the go group in /assets/aws with 3 updates: [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2), [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) and [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2).


Updates `github.com/aws/aws-sdk-go-v2` from 1.21.0 to 1.21.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.21.0...v1.21.1)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.18.42 to 1.18.44
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.42...config/v1.18.44)

Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.122.0 to 1.124.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.122.0...service/ec2/v1.124.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 16:27:40 +00:00
dependabot[bot] 65a36a9052
Bump the go group in /assets/backport with 1 update (#33119)
Bumps the go group in /assets/backport with 1 update: [golang.org/x/oauth2](https://github.com/golang/oauth2).

- [Commits](https://github.com/golang/oauth2/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 16:13:20 +00:00
dependabot[bot] e5ef9c829a
Bump the go group in /build.assets/tooling with 2 updates (#33115)
Bumps the go group in /build.assets/tooling with 2 updates: [golang.org/x/mod](https://github.com/golang/mod) and [golang.org/x/oauth2](https://github.com/golang/oauth2).


Updates `golang.org/x/mod` from 0.12.0 to 0.13.0
- [Commits](https://github.com/golang/mod/compare/v0.12.0...v0.13.0)

Updates `golang.org/x/oauth2` from 0.12.0 to 0.13.0
- [Commits](https://github.com/golang/oauth2/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 16:10:45 +00:00
dependabot[bot] 7bfb36d253
Bump the rust group with 4 updates (#33120)
Bumps the rust group with 4 updates: [byteorder](https://github.com/BurntSushi/byteorder), [libc](https://github.com/rust-lang/libc), [num-derive](https://github.com/rust-num/num-derive) and [num-traits](https://github.com/rust-num/num-traits).


Updates `byteorder` from 1.4.3 to 1.5.0
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.4.3...1.5.0)

Updates `libc` from 0.2.148 to 0.2.149
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.148...0.2.149)

Updates `num-derive` from 0.4.0 to 0.4.1
- [Changelog](https://github.com/rust-num/num-derive/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-derive/compare/num-derive-0.4.0...num-derive-0.4.1)

Updates `num-traits` from 0.2.16 to 0.2.17
- [Changelog](https://github.com/rust-num/num-traits/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-traits/compare/num-traits-0.2.16...num-traits-0.2.17)

---
updated-dependencies:
- dependency-name: byteorder
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust
- dependency-name: num-derive
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust
- dependency-name: num-traits
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 16:06:30 +00:00
rosstimothy aee0839f0b
Add Create/Update/UpsertV2 RPCs for Auth Connectors (#32643)
Adds new RPCs which return the modified connector from write
operations. Server side and interface changes will be don in follow
up PRs to prevent breaking e. This is the first step in enforcing
optimistic locking for auth connectors.

Contributes to #30416.
2023-10-09 15:59:08 +00:00
Rafał Cieślak ae297dedac
Add support for gap prop to Button (#33142)
* Reformat buttons story away from using spacing on individual elements

* Add support for gap prop to Button
2023-10-09 14:59:29 +00:00
Steven Martin 6c166b85a0
docs: remove internal label listing (#33143) 2023-10-09 14:55:36 +00:00
Rafał Cieślak d21ae196e4
Add docs for Connect My Computer (#32798)
* Add docs for Connect My Computer

* Update Troubleshooting Connect My Computer header

This way it doesn't conflict with the general Troubleshooting header.

* Add troubleshooting section about expired token

* Expand section on agent not being visible in cluster

* Mention that logout removes the agent
2023-10-09 14:36:22 +00:00
Alan Parra ceab9afe80
Add single-use certificate issuance to GenerateUserCerts (#33083)
* Refactor TestGenerateUserSingleUseCert, remove stream assumptions

* Refactor TestGenerateUserSingleUseCert, rename to match RPC

* Refactor TestGenerateUserSingleUseCert, assert error messages

* Add single-use certificate issuance to GenerateUserCerts

* Test unary single-use cert issuance

* Change _deviceAuthz test to use unary RPC

* Rename again

* Apply validations to all cert issuance calls
2023-10-09 14:26:16 +00:00
rosstimothy 603bcf43ac
Set revisions on SSO users (#32873)
Update GitHub users to always have the correct revision set when
updating the user.
2023-10-09 13:59:50 +00:00
Marco André Dinis c3550a24e6
OneOff Script: use ent build if cluster is Enterprise (#33061)
* OneOff Script: use ent build if cluster is Enterprise

We were always using the OSS version of teleport in the one-off scripts.

This PR changes that to pick the correct version depending on the
running version in the Proxy.

* use gzip bestspeed for compressing files
2023-10-09 13:44:30 +00:00
Alan Parra 4f2c82b79c
Add Purpose to UserCertsRequest (#33049)
* Add Purpose to UserCertsRequest

* Update generated protos
2023-10-09 13:15:31 +00:00
Gabriel Corado 31fd98a71d
Split RDS Proxy guides per protocol (#32903)
* docs(database-access): split rds proxy page per protocol

* docs(database-access): fix lint
2023-10-09 12:33:35 +00:00
Edward Dowling 4aef0a3a71
Remove check that enforces slack oauthProviders are set (#32910)
* Remove check that enforces slack oauthProviders are set

* Remove test that checks for an error when hosted plugins is true

* Set hosted plugins to always be true

* Update tests that check hosted plugins is disabled

* Add comment explaining hosted being set to true at all times
2023-10-09 11:17:34 +00:00
Anton Miniailo a26b6d88bf
Fix Proxy Kube listener behavior regarding PROXY protocol usage (#32893)
* Fix Proxy Kube listener behavior regarding PROXY protocol usage

We always provided Proxy's PROXYProtocolMode to the listnening kube server,
but its listener could be already behind alpn multiplexed listener,
which already consumed PROXY protocol.

* Use clusterNetworkConfig

Co-authored-by: Tiago Silva <tiago.silva@goteleport.com>

* Improve wording.

* Add option for testing proxy kube multiplexer

* Modify option for setting IgnoreSelfConnections on kube's multiplexer

* Fix spelling

---------

Co-authored-by: Tiago Silva <tiago.silva@goteleport.com>
2023-10-08 23:16:04 +00:00
Tiago Silva c210c39138
Add initial command to session trackers (#32947)
When user starts a session, we do not report the initial command used
which causes visibility problems to moderators when they need to figure
out if they join or not the session.

This PR exposes the intial command for SSH and Kubernetes so moderators
can decide if they want to join the session or not based on the initial
command.

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
2023-10-07 20:25:18 +00:00
Jakub Nyckowski 0834f13d09
Fix git installation path on CentOS 7 docker image (#32714)
When checking GHA logs of OS Compatibility build, I notice info log
```
The repository will be downloaded using the GitHub REST API
To create a local Git repository instead, add Git 2.18 or higher to the PATH
```
suggesting that our self-compiled git is not being used. For some reason out git binary was installed in /usr/local/usr/local/bin/git. I removed the additional /usr/local prefix to install the binary in the correct directory. I also updated git to the latest version.
2023-10-07 16:13:40 +00:00
Zac Bergquist 04d1b4f0b4
Fix some Rust lint warnings caught by Clippy 1.73.0 (#33033) 2023-10-06 21:03:36 +00:00
Steven Martin a63e63ec80
docs: include info for accessing database audit activity (#33063)
* docs: include info for accessing database audit activity

* fix for spelling

* verbiage update

* update verbiage

* verbiage update

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>

* update info

* verbiage update

* verbiage update

* capitatlization

* verbiage update

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>

* verbiage update

---------

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>
Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>
2023-10-06 20:46:08 +00:00
Gus Luxton d2e75a784f
docs: Remove surplus connect.sh script content from docs (#33086) 2023-10-06 20:14:45 +00:00
Gus Luxton 5930977eb2
docs: Add WinSCP to PuTTY client instructions (#32868)
* docs: Add WinSCP to PuTTY client instructions

* Restore validity section

* Restore validity section

* Formatting tweaks

* Merge lists

* Change title

* Fix docs link title to match page

* Bump tsh version for WinSCP support

* Whitelist WinSCP in spellcheck

* putty.mdx -> putty-winscp.mdx
2023-10-06 18:55:58 +00:00
Paul Gottschling d44bd92a30
Deploy 1 docs version in Vercel preview workflow (#32403)
The Vercel preview workflow currently inserts the head branch of a pull
request into the edge version of the Teleport docs. This makes it
difficult to post a link to the correct version, since we need to
include the version number in the path.

This change edits the Vercel preview workflow to include only one
version of the docs--the user's version--in the preview site. This makes
it easier to find the user's changes.
2023-10-06 18:40:49 +00:00
Nic Klaassen db39fb56f9
Reliability improvements for HSM tests (#32911)
* log message improvements

* fix etcd cleanup

* re-enable TestHSMDualAuthRotation

* retry client connection tests

* fixes based on code review

* make fix-imports

* fix: use EventuallyWithT

* set short polling period
2023-10-06 18:30:42 +00:00
Michael Wilson e4da6ab470
Update e ref. (#33065)
Update the e ref to take in the test fixes related to access list frequency.
2023-10-06 15:26:48 +00:00
Marco André Dinis 134974c761
Web: add link to CloudShell on EICE/EC2 Discover flow (#33062)
* Web: add link to CloudShell on EICE/EC2 Discover flow

* use official name: AWS CloudShell
2023-10-06 15:20:50 +00:00
Jakub Nyckowski b32ee8a678
Update docker tag images to v15 (#33042) 2023-10-06 15:13:40 +00:00