Commit graph

15124 commits

Author SHA1 Message Date
Forrest e3b574a797
allow teleport to start when some etcd nodes are unreachable (#32438) 2023-09-28 22:34:44 +00:00
Forrest 45649440b0
reduce log spam (#31208) 2023-09-28 22:26:21 +00:00
Tiago Silva 61e04e0f2e
Fix remote pool of signed certs when exec into leaf clusters (#32644)
* Fix remote pool of signed certs when exec into leaf clusters

This PR fixes the list of acceptable CAs from the leaf cluster when
exec into a leaf cluster pod.

Fixes #32380

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

* add unit test

---------

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
2023-09-28 17:55:11 +00:00
Jakub Nyckowski eaa5d5be61
Revise Docker handling in OS compatibility script (#32711)
* Revise Docker handling in OS compatibility script

This commit revises how Docker containers are interacted with in build-test-compat.sh. Optimized Docker image pulling process by pulling images in parallel to speed up the testing process. Makefile targets in Github workflow are also parallelized to speed up the build process.

* Simplify and parallel docker logic
2023-09-28 17:39:24 +00:00
Alan Parra ca4caf92bf
Allow MFA deletion using challenges (#32702)
* Add ExistingMFAResponse to DeleteMFADeviceSyncRequest

* Update generated protos

* Support challenge-based deletion on DeleteMFADeviceSync

* Refactor TestDeleteMFADeviceSync; use optional mode and drop spares
2023-09-28 16:53:51 +00:00
Yassine Bounekhla 10a1f2d1d1
add eice discover flow (#32202) 2023-09-28 16:38:26 +00:00
Zac Bergquist c2f470fe66
Fix the in-product link to trusted cluster docs (#32671)
Closes #31354
2023-09-28 15:36:17 +00:00
Anton Miniailo 4def17e560
Add connection information to multiplexer logs so it's easier to investigate (#32712) 2023-09-28 14:52:21 +00:00
Rafał Cieślak 4ff4eb32a0
Make spacing of Connect My Computer status more consistent (#32733)
* Make spacing of Connect My Computer status more consistent

* Add server labels to Running story, add ErrorWithAlertAndLogs story

* Change copy depending on whether the agent is running

* Fix proxyVersion in story

Co-authored-by: Grzegorz Zdunek <gzdunek@users.noreply.github.com>

---------

Co-authored-by: Grzegorz Zdunek <gzdunek@users.noreply.github.com>
2023-09-28 14:33:48 +00:00
Alan Parra 32bcd71591
fix: Fix panic on tsh device enroll --current-device (#32694)
* Test RunAdmin enrollment failure

* Fix RunAdmin when enrollment fails, protect tsh from nil device
2023-09-28 13:56:46 +00:00
Alan Parra 601c9525b7
Cleanup and simplify MFA test helpers (#32592)
* Cleanup getMockedWebauthnAndRegisterRes - TestCompleteAccountRecovery

* Cleanup getMockedWebauthnAndRegisterRes - TestChangeUserAuthentication

* Cleanup getMockedWebauthnAndRegisterRes - createUserWithSecondFactors

* Cleanup and drop getMockedWebauthnAndRegisterRes

* Simplify addOneOfEachMFADevice

* Use SetEmitter()

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>

---------

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
2023-09-28 13:53:48 +00:00
Grzegorz Zdunek 288241d696
Update e (#32721) 2023-09-28 08:29:23 +00:00
Lisa Kim a2d788d698
Add promoted access list title to teleterm access request (#32708) 2023-09-28 06:13:12 +00:00
Jakub Nyckowski 6e7f538aae
An attempt to fix our failing builds (#32681)
* An attempt to fix our failing builds

* Add merge_group condition to checkout step in workflows

This update adds a condition to the checkout step in various GitHub workflows to ensure it only runs when the event_name is "merge_group".

* Fix syntax

* Use v4 tag for checkout action instead of pinned commit

Co-authored-by: Reed Loden <reed@goteleport.com>

---------

Co-authored-by: Reed Loden <reed@goteleport.com>
2023-09-27 23:20:56 +00:00
fheinecke d20606f54e
Cut CI unit test runtime in half (#32706) 2023-09-27 23:17:19 +00:00
fheinecke 2322e007cf
Fixed issue where prerelease container image tags can overwrite production container image tags (#32699) 2023-09-27 22:14:11 +00:00
Steven Martin b97856865f
docs: helm updates (#32639) 2023-09-27 21:36:39 +00:00
Michelle Bergquist b2e6c16565
conditionally show assist popover (#32267) 2023-09-27 20:36:51 +00:00
Steven Martin 3d16a9383f
docs: update Teleport Team prereqs (#32687)
* docs: update Teleport Team prereqs

* update Team prereqs

* correct link

* correct link
2023-09-27 20:22:19 +00:00
Marco André Dinis 9a428beac6
DiscoveryConfig: add service with rbac support (#32371)
* DiscoveryConfig: add service with rbac support

This PR adds the DiscoveryConfig service protected by RBAC rules.

A PR will follow that uses this service to expose the service in the
gRPC server.

* review pt1
2023-09-27 20:09:26 +00:00
Michael Wilson 84dbc45e1d
Error when redundant prefixes are detected in events. (#32652)
* Error when redundant prefixes are detected in events.

When creaeting a new events watcher, redundant prefixes will be detected
and produce an error. This should prevent developer mistakes where watched
prefixes overlap, causing subsets of events not to be parsed. This has been
verified manually.

* Add in test for event watcher verification.

* Run GCI.
2023-09-27 20:05:04 +00:00
Lisa Kim 13f749a971
Web: Extract re-usable parts and add new icons (#32529)
* Create useRefClickOutside

* Add notification icon

* Add teleport gear icon

* Extract components for re-use

* Add list magnifying glass icon

* Address CRs
2023-09-27 19:08:14 +00:00
Brian Joerger f87c46ad73
Make Hardware Key unit test interactive (#32235)
* Make yubikey unit test interactive and add to test plan.

* Move yubikey hardware signer method tests to interactive yubikey test.

* Remove hardware key interactive unit test from testplan
2023-09-27 18:55:47 +00:00
Jakub Nyckowski eb82a9b5db
Add Access List title to access request. (#32618)
* Add Access List title to access request.

* Add test
Squash some bugs
2023-09-27 18:45:49 +00:00
Forrest b3822abafa
various loadtest improvements (#31804) 2023-09-27 18:09:40 +00:00
Anton Miniailo 31de09a02c
Fix usage of ClusterName from config when starting Auth server (#32624) 2023-09-27 17:42:51 +00:00
Steven Martin b654e1d0b1
docs: remove multi level claim reference (#32613)
* docs: remove multi level claim reference

* fix ref
2023-09-27 17:14:46 +00:00
Andrew Burke cf3bf183b9
Drain unused SSH channels (#32505)
This change drains unused SSH channels and requests to prevent a
situation where an attacker could repeatedly open channels and
send data that won't be read, causing Teleport to eventually run
out of memory.
2023-09-27 17:05:48 +00:00
Michael 45b7ee73cd
Sort cloud label names to the back (#32589) 2023-09-27 15:53:32 +00:00
Reed Loden 1a9c026741
Convert examples/teleport-usage to use distroless image (#32532)
Standardize `examples/teleport-usage` to use the same base image
and other (general) build commands as `integrations/kube-agent-updater`
and `integrations/operator`.

The main change is moving from `debian:stable-slim` to `distroless/static-debian12`.
2023-09-27 15:26:08 +00:00
STeve (Xin) Huang d2a284be11
[docs] DB access troubleshoot sts:AssumeRole not authorized (#32406)
* [docs] DB access troubleshot sts:AssumeRole not authorized

* fix spelling

* review comments
2023-09-27 15:02:56 +00:00
Rafał Cieślak aa02d5b75a
Connect: Add --debug flag, don't pass --insecure flag in dev mode by default (#32629)
* Do not pass --insecure to tshd in dev mode by default

We ran into a bug related to certs in tshd that wasn't uncovered during
development because of the --insecure flag being passed by default.

* Add --debug flag

We need a way to pass --debug to tshd from a packaged app.
2023-09-27 14:30:23 +00:00
Krzysztof Skrzętnicki f47a1b4b53
Properly apply client_idle_timeout to database access sessions (#32485)
* Add test for auto disconnect (disconnect happens, query updates the timer).

* Fix: In database service, `clientConn` returned from `MonitorConn`
was never used, causing unjustified idle timeouts.
2023-09-27 14:18:59 +00:00
rosstimothy 5dc2841177
Start migrating tctl edit away from force creating resources (#32604)
`tctl edit` was always performing a forceful update in the same way
that `tctl create -f` was. This prevents optimistic from being
enforced during the update step of the edit command and thus nullifies
some of the usefulness of the feature(preventing concurrent updates
to a resource).

Since not all resources support Update operations, some only support
Upsert, and optimistic locking will slowly be added one resource at
at time the new behavior was only implemented for user resources.
The UpdateHandlers will be updated in follow up PRs when the resource
has support for optimistic locking added.
2023-09-27 13:53:49 +00:00
Grzegorz Zdunek cc8fb14258
Connect My Computer: Agent compatibility fixes (#32477)
* Allow agent compatibility state to be 'unknown'

* Show warning icon instead of read dot as the status indicator

* Add a comment

* Remove unnecessary check for agent compatibility

* Avoid creating portal if topBarContainerRef is not present

* Check compatibility when autostarting, not before autostart

* Flip autoStart to false on failed autostart

* Don't show Alert from CompatibilityError if current action has failed

* Run prettier

---------

Co-authored-by: Rafał Cieślak <rafal.cieslak@goteleport.com>
2023-09-27 13:21:45 +00:00
Michael Wilson bccb25bb8f
Fix Access List Members cache and eventing. (#32619)
* Fix Access List Members cache and eventing.

Two things were happening that were shadowing the Access List members cache
and eventing.

1. In the cache collections, the wrong reader was being assigned to the
   lookup map. The correct reader was being used elsewhere, however, so the
   caching tests appear to have still been working.
2. The watcher in lib/services/local/events.go apparently collapses prefixes
   if they overlap. Prefix `access_list_members` is encompassed by
   `access_list`, so the access list members prefix was eliminated from the
   watcher. As a result, access list member events were being processed by
   the access list parser, which resulted in non-critical warnings.

Local testing and dogfooding has yielded that this has had no apparent impact,
at least in situations without cache propagation. However, I've got a feeling
that this could affect situations with multiple auth servers.

While I'm here, I've eliminated the pointer-to-pointer logic in the access
list unmarshaling, which was excised elsewhere and should be excised here as
well.

* Use ExactKey, fix accessListMemberParser as well.
2023-09-27 13:04:52 +00:00
rosstimothy 06e49aaef1
Use Proxy gRPC API during log in (#32388) 2023-09-27 11:16:40 +00:00
dependabot[bot] 7cb13b09cc
Bump graphql from 16.6.0 to 16.8.1 (#32329)
Bumps [graphql](https://github.com/graphql/graphql-js) from 16.6.0 to 16.8.1.
- [Release notes](https://github.com/graphql/graphql-js/releases)
- [Commits](https://github.com/graphql/graphql-js/compare/v16.6.0...v16.8.1)

---
updated-dependencies:
- dependency-name: graphql
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-27 08:50:48 +00:00
Krzysztof Skrzętnicki d47f9ba9ed
Fix enterprise version check (#32554) 2023-09-27 07:00:22 +00:00
Anton Miniailo e24fa791f3
Use cluster name from ServerIdentity for Auth multiplexer (#32603)
Proxy sends signed PROXY headers using cluster name from ServerIdentity.
If cluster name in file config was changed it didn't match with original cluster name and
auth service couldn't verify Proxy's signed headers.
2023-09-27 05:41:11 +00:00
Gavin Frazar e3f34a22c6
remove docs for deprecated flags (#32525) 2023-09-27 01:33:27 +00:00
lsgunn-teleport 9c1fd94f69
Remove reference to use a load balancer (#32596) 2023-09-26 22:49:24 +00:00
STeve (Xin) Huang 1ee983b8ef
Fix issue Teleport Connect Kube terminal throws internal server error (#32595)
Co-authored-by: fheinecke <23390735+fheinecke@users.noreply.github.com>
2023-09-26 22:31:09 +00:00
Paul Gottschling 9b61099dfe
Fix overflow in dropdown menu (#32386)
Closes gravitational/docs#353

One dropdown menu item within the Installation page has a label that
overflows. This change shortens the label to fix the overflow.

While another route would have been to change the CSS of the dropdown
menu, widening it would start to approach the maximum width of some
mobile devices.

In general, the Installation page is filled with interactive boxes that
make for a somewhat convoluted reading experience. A later change will
reconsider the information architecture of this page.
2023-09-26 22:14:34 +00:00
Jakub Nyckowski e13137016c
Add 'promoted' access request state (#31346)
* This change introduces a new 'promoted' access request state. The state represents that an access request has been promoted to an access list.

Affected code was modified to adjust to the new promoted state and ensure correct system's behavior.

Added a new 'GetAccessRequest' method for internal use to retrieve access request info.
Disallowed direct promotion of access requests. Introduced 'SubmitAccessReviewAllowPromotion' for promotions.
Added 'PromoteAccessRequest' method and updated its usage to restrict direct promotions.
Refactored code for better readability and testing. Renamed some functions, simplified logic, added test helpers.
Introduced 'promoted' state for access requests to handle promotion workflow.
Added 'PromotedAccessListTitle' in 'AccessReview' to track promotion state.

* Refactor function and message names for better clarity

The function and message names related to the promotion of an access request to an access list were restructured for better readability and consistency. Names like 'PromoteAccessReqResponse'  have been replaced with more descriptive names such as 'PromoteAccessRequestResponse'. This increases clarity and consistency across the project.

* Remove the hacky GRPC server implementation

* Change method names to be more descriptive

Renamed all instances of 'PromoteAccessRequest' to 'AccessRequestPromote' in multiple files. The new method name provides a more descriptive and clear understanding of the method's function, which improves code readability and maintenance. This change applies to method definitions, comments, and error messages.

* Refine error message and introduce IsPromoted method

Refined the error message in 'access_request.go' to better indicate that only promoted requests can set the promoted access list title, not just have one. This enhances clarity of error message. Additionally, introduced 'IsPromoted' method in 'access_request.go' file. This method will be useful for quickly checking if a request is in the PROMOTED state.

* Rename variable in SubmitAccessReview method

Renamed the variable "params" to "submission" in the 'SubmitAccessReview' function, in 'auth_with_roles.go' file. The name "submission" provides clearer indictation of its role in submitting access review. This enhances code readability and understandability. No logic changes were made during this update.
2023-09-26 18:46:50 +00:00
Paul Gottschling 7f5387c595
Update the supported versions table for v14 (#31321)
Also note the updated release cadence:

- We release a major version every four months.
- With our policy to support three versions, each major version is supported for
  12 months.
2023-09-26 18:08:48 +00:00
Brian Joerger 64d94666b7
Refactor PIV metadata certificate logic (#32250)
* Change PIV metadata cert to be self signed by an ephemeral key so it can be signed without touch/pin.

* Refactor touch prompt logic.

* Prompt user before overwriting non-teleport certificates instead of just returning an error.

* Update RFD and Docs.

* Address CR.

* Export some methods and variables for use in tests.

* Address comments.
2023-09-26 18:04:40 +00:00
Steven Martin 8d38a06fdd
docs: oracle guide steps (#32518) 2023-09-26 18:00:12 +00:00
Paul Gottschling 2c457b11c1
Fix install-linux.mdx (#32402)
Closes #32195

Correct some issues that were confusing or wrong:

- Move "Community Edition" to the first, default tab. Since we removed
  scopes from the docs, and "Teleport Team" was the first tab in this
  partial, it looked like Teleport Team was the intended default
  installation.  This is incorrect.
- Change the Teleport Team installation instructions to show the Cloud
  installation steps.
2023-09-26 17:59:44 +00:00
Edoardo Spadolini 0a15612b40
Simplify LockTarget.IsEmpty implementation (#32568) 2023-09-26 17:36:03 +00:00