100 Commits
Author SHA1 Message Date
Edoardo Spadolini aabcf0bfc3 Don't fetch the role list twice for Kubernetes connection locks (#68959)
* Add MaxKubernetesConnections to the AccessChecker interface

* Don't fetch the role list again in the Kube forwarder

* Move tracing span to acquireConnectionLock

* Add TODO for scoped identities
2026-07-29 19:52:07 +00:00
Edoardo Spadolini 2311545106 Make LockTarget comparable (#68874)
* Benchmark authz.Context.LockTargets

* Make LockTarget comparable

* Add a test against the addition of non-simple fields to LockTarget

* Clarify comment about gogoproto options

* Fix TestSSHAccessLockTargets tests

* Clarify the comparable assertion
2026-07-22 15:48:07 +00:00
Edoardo Spadolini 0875f93125 Bump e ref (#68843) 2026-07-21 15:38:09 +00:00
Edoardo Spadolini 7a8a4745b5 DSQL backend docs (#68797)
* DSQL backend docs

* Add a minimum version note

* Warn against possible additional permissions

* Make the warning against more than two auths an admonition

* Avoid the wrath of cspell

* Change to kinesis_stream_name

* Add link to AWS config file docs
2026-07-21 15:03:56 +00:00
Edoardo Spadolini 82e6326a37 Try to avoid capturing stack traces when checking system roles (#68808)
* Add SystemRole.IsValid method

* Use SystemRole.IsValid method

* Fix TestValidateRoleName
2026-07-21 13:00:54 +00:00
Edoardo Spadolini 78760c283a Always generate hybrid protobuf definitions (#68393)
* Add retag filter for protoc-gen-go

* Delete .pb.go and make grpc

find . -not -path './e/*' -name '*.pb.go' -delete && make grpc

* make gen-resource-docs

* Add comment listing the current consumers of open or hybrid api
2026-07-10 17:28:28 +00:00
Edoardo Spadolini 3a321a1b55 Fix dynamodbbk's interactions with item expiry (#68038)
* Fix CRUD expiry behavior in dynamodbbk

* Fix AtomicWrite expiry behavior in dynamodbbk

* DynamoDB relies on server-side TTL expiry so it can't use a fake clock

* fixup! Fix CRUD expiry behavior in dynamodbbk

* Allow Delete to delete expired items

* Remove some unnecessary whitespace

* Take the time before the backend call in Get and Delete
2026-07-02 10:13:17 +00:00
Edoardo Spadolini 02298d394a Add a check against reentrancy in lib/cache tests (#67973) 2026-06-29 17:44:12 +00:00
Edoardo Spadolini dc815f972c Add dsql and kinesis to go.mod (#68169) 2026-06-29 11:49:50 +00:00
Edoardo SpadoliniandMarek Smoliński 394ff188cb Avoid reentrancy in Cache.GetAccessListOwners (#67963)
* Shrink the interface needed by GetMembersFor

* Avoid reentrancy in Cache.GetAccessListOwners

* Try deadlocking in TestGetAccessListOwners

* Use a struct for accessListMembersListerStore

Co-authored-by: Marek Smoliński <[email protected]>

---------

Co-authored-by: Marek Smoliński <[email protected]>
2026-06-22 14:46:01 +00:00
Edoardo Spadolini 8ddaac3698 Use unwrapped connections to the Auth API in agents connected to a control plane in multiplex mode (#64177)
* Run the connection upgrade test with reversetunnelv2

* Use unwrapped connections to the auth in multiplex listener mode

* Clarify wording in debug log

* Add a test for ALPN used in direct and proxy mode

* Update godocs

* Change struct names for better clarity
2026-06-11 14:25:34 +00:00
Edoardo Spadolini be792eebf1 Fix flaky backend batch tests (#67683) 2026-06-11 08:21:54 +00:00
Edoardo Spadolini 98bdeb0540 Fix missing early return in reverse tunnel transport handler (#67560) 2026-06-08 17:14:06 +00:00
Edoardo Spadolini 5c1c9d157d Disable the embedded session helper by default (#67386) 2026-06-03 09:56:48 +00:00
Edoardo Spadolini ad8fbc4b23 Update ansible-like load test (#67265) 2026-06-01 13:53:03 +00:00
Edoardo Spadolini 4dfdc15944 Allow concurrent connections to forwarded SSH agents (#67116)
* Allow concurrent connections to forwarded SSH agents

* Silence forbidigo in the new tests
2026-06-01 08:56:52 +00:00
Edoardo Spadolini 6413a5ae2e Add an optional unstable rate limit for ResolveSSHTarget (#66952)
* Move CreateAuditStream unstable envvar to lib/service

* Add an optional rate limit for ResolveSSHTarget

* Fix logging oddities

* Actually set the create audit stream limit metric

* Fix and synctest TestCreateAuditStreamLimit
2026-05-22 23:03:52 +00:00
Edoardo Spadolini 4767f8cfcb Use iterators in ResolveSSHTargets (#66945)
* Avoid collecting matching nodes in ResolveSSHTarget

* Allow using GetSSHTargets as a stream
2026-05-22 12:47:40 +00:00
Edoardo Spadolini 737bda9b31 Optimize contains(split()) in resource expression parser (#66645)
* Bump gravitational/predicate to WIP commit

* Remove some allocations in predicate expressions

* Optimize contains(split()) in resource expression parser

* Do a type-safe assert on the result of astutil.Apply

* Keep the full value argument in the early exit of optimizeSplitContains

* Handle degenerate cases in splitContains

* Expand on the benchmark

* Rename LazyStringSlice to StringSlice

* Document StringSlice

* Fix test

* Fix handling of split on empty string

* Bump gravitational/predicate to 1.4.0

* Optimize multibyte delimiters too

* Update godoc for optimizeSplitContains

* Clarify the logic in splitContainsAffix

* Actually use multi-byte delimiters in BenchmarkSplitContains

* Revert "Actually use multi-byte delimiters in BenchmarkSplitContains"

This reverts commit 595bb85ba9.

* Revert "Optimize multibyte delimiters too"

This reverts commit f285928e99.

* Add some tests with overlap of target and delimiter

* Clarify the return value of the AST optimization visitors

* Add unit test just for the new string splitting

* Add some broken utf8 coverage too
2026-05-14 21:34:38 +00:00
Edoardo Spadolini ebc779b053 Upgrade gravitational/trace to v1.5.4 (#66437) 2026-05-05 15:31:35 +00:00
Edoardo Spadolini bfc9e3d257 Use the circuit breaker config in authclient.HTTPClient (#66295) 2026-04-30 08:36:23 +00:00
Edoardo Spadolini f4b1fc64c5 Add needrestart exception for the session helper (#66189)
* Add needrestart exception for the session helper

* Fix shellcheck linting
2026-04-28 17:39:14 +00:00
Edoardo Spadolini 63adac1061 Use the correct time in SFTPSummary events (#66251) 2026-04-28 17:21:50 +00:00
Edoardo Spadolini da24c17c22 Increase timeout in TwoClustersTunnel (#66221) 2026-04-28 08:00:28 +00:00
Edoardo Spadolini c6aed47c2a Bump e ref (#66128) 2026-04-24 12:25:47 +00:00
Edoardo Spadolini b98921dff8 session-helper: Build changes (#66003)
* Build and test changes for sessionhelper

* Always print text in check-session-helper

* Fix TwoClustersTunnel
2026-04-24 10:07:18 +00:00
Edoardo Spadolini 3da0f44c80 session-helper: embeddable binary and embedding logic (#65784)
* Clean up unneeded forwarder for reexec.IsReexec

* Disallow reexec through common.Run

* Remove the checkhomedir SSH subsystem

* Add true reexec subcommand

* Assume /proc/self/exe is always usable

* Add sessionhelper embed logic
2026-04-17 14:16:53 +00:00
Edoardo Spadolini 68ea089c6f Bump e ref (#65827) 2026-04-16 10:33:34 +00:00
Edoardo Spadolini 2f1a3eafbf Bump gravitational/trace to 1.5.3 (#65787) 2026-04-15 15:37:42 +00:00
Edoardo Spadolini bcffdcbfd6 session-helper: move the sftp subcommand to reexec.RunAndExit (#65392)
* Split the approver map away from FileTransferRequest

* Move or copy files in session/reexec/sftputils and session/reexec/reexecsftp

* Split up copied files and clean up the new session packages

* Use custom types for SFTP audit log events

* Clean up imports and run sftp in RunAndExit

* Finish renaming types and functions

* Streamline reexec in main and tests

* Add test with the legacy SFTP event implementation
2026-04-15 13:28:27 +00:00
Edoardo Spadolini 34e1eb86b6 Use gravitational/ci-etcd 3.3.27 (#65635) 2026-04-10 13:40:57 +00:00
Edoardo Spadolini 85eecbcd21 Bump gravitational/ci-etcd to 3.3.27 (#65616) 2026-04-10 06:38:39 +00:00
Edoardo Spadolini a60b33de5e Convert the template in session/auditd to string formatting (#65393) 2026-04-08 10:16:09 +00:00
Edoardo Spadolini 825b23049e session-helper: move srv.RunAndExit to session/reexec (#65263)
* Move the reexec parts of lib/srv to session/reexec

* Update references to the moved bits of lib/srv

* Avoid testutils in session/reexec

* Shuffle some constants around to avoid imports in session/reexec

* Vendor in the relevant parts of logutils in session/reexec

* Remove unnecessary symlink checks when opening files

* Inline the last two things from lib/utils in session/reexec

* Inline moved constants

* Deprecate group name consts and fix missed inlines

* Add missing session/reexec.TestMain with reexec check

* Reuse existing constants from the log constants package in session

* Fix broken godoc link
2026-04-08 09:40:52 +00:00
Edoardo Spadolini e732eb93bb session-helper: fix operator and kube-agent-updater builds (#65466) 2026-04-07 17:29:43 +00:00
Edoardo Spadolini 644f415a27 session-helper: submodule preparation and dependencies of lib/srv/reexec.go (#65145)
* Depguard rules for the session submodule

* Move lib/auditd to session/auditd

* Move lib/loginuid to session/loginuid

* Reduce dependencies of lib/utils/envutils

* Move lib/utils/envutils to session/envutils

* Split the SSH utilities of sshutils/x11 into sshutils/x11forward

* Move lib/sshutils/x11 to session/networking/x11

* Move lib/sshutils/networking to session/networking

* Move lib/shell to session/shell

* Move lib/utils/uds to session/uds

* Move lib/utils/host to session/host

* Move lib/pam to session/pam

* Avoid lib/utils/log in session/pam

* Move lib/service/servicecfg.PAMConfig to session/pam/pamcfg.PAMConfig

* Move lib/srv/uacc to session/uacc

* Avoid importing lib/utils in session/uacc

* Move lib/selinux to session/selinux

* Avoid lib/utils and lib/utils/log in session/selinux

* make go-mod-tidy-all

* Update oss-fuzz path for session/networking/x11
2026-04-01 12:34:10 +00:00
Edoardo Spadolini 389a6ddf99 Reduce scope of MFARequiredUnknown in PerformSessionMFACeremony (#64765) 2026-03-23 11:49:58 +00:00
Edoardo Spadolini 4c3b227887 Update assets/loadtest/azure (#64695) 2026-03-19 15:27:08 +00:00
Edoardo Spadolini 629c205f6c Improve error reporting in tsh ssh if the MFA API is unavailable (#63984)
* Clean up message and layout of MFARequiredUnknownError

* Mark rate limits and connection problems as MFARequiredUnknown

* Debug log the ConnectToNode error that was ignored
2026-03-18 09:38:56 +00:00
Edoardo SpadoliniandAlan Parra c3632c9456 Replace the endpoint-specific rate limit for CreateAuthenticateChallenge with a custom rate limiter for unauthenticated requests (#64559)
* Add a limiter.RateLimiter helper for peer addresses

* Add custom rate limit for CreateAuthenticateChallenge

* Remove endpoint-based rate limit for CreateAuthenticateChallenge

* Tweak existing rate limit test to use synctest

* Hide rate limit details from error response

* Make the limiter configurable for TestAdminActionMFA

* Use a regular require.Greater check instead of a static assertion

* Update lib/auth/grpcserver_test.go

Co-authored-by: Alan Parra <[email protected]>

* Treat a nil request as a ContextUser request

* Undo changes to make the limiter configurable

* fix TestCustomRateLimiting

---------

Co-authored-by: Alan Parra <[email protected]>
2026-03-15 19:36:02 +00:00
Edoardo Spadolini 21a0f9f3e7 Don't suggest the use of resource headers in parsers (#64601) 2026-03-13 17:44:26 +00:00
Edoardo Spadolini 83fc3ac219 Add relay service section to the test plan (#64593) 2026-03-13 17:44:04 +00:00
Edoardo Spadolini ed76e109f3 Forbid semver.New in the forbidigo linter (#64307)
* Forbid semver.New in forbidigo

* Fix type in require.Greater

* Fix missed semver.New in build.assets

* Restore whitespace in Test_formatAzureIdentities

* Re-fix TestAzure
2026-03-11 08:39:00 +00:00
Edoardo Spadolini da0a1c90be Warn against the use of DynamoDB global tables (#64377)
* Warn against the use of DynamoDB global tables

* update cspell
2026-03-06 17:08:59 +00:00
Edoardo Spadolini f94b59db69 Bump modernc.org/sqlite to v1.46.1 (#63986) 2026-02-19 21:20:51 +00:00
Edoardo Spadoliniandrosstimothy 058f583f3f RFD 0244 - Teleport session helper binary (#63112)
* RFD 0244 - Teleport SSHd helper binary

* Call the helper teleport-session

* Link to the LWN article on memfd sealing

* Preliminary performance results

* Rename RFD file to session-helper

* Mention the instance size where the tests were ran

* Mention the resulting increase in size

* Update RFD to mention compressing the embedded helper

* Update 0244-session-helper.md

Co-authored-by: rosstimothy <[email protected]>

* Explicitly list the fcntl F_ADD_SEALS flags

* update cspell.json

---------

Co-authored-by: rosstimothy <[email protected]>
2026-02-19 19:53:24 +00:00
Edoardo Spadolini af34a7076b Improve the happy path of Client Tools Managed Update re-execution (#63774)
* Display early debug logging for autoupdate tools in tsh

* Avoid reporting success on exec failure

* Use a shared lock in GetToolsConfig

* Return the selected tool from Updater.CheckLocal if available and ready

* Reexecute locally available client tools immediately

* Add a test for the fast reexec path

* fix expected, actual order in require
2026-02-18 16:11:51 +00:00
Edoardo Spadolini 02e797564c Add clarification for session tickets in QUIC peering (#62907) 2026-01-20 22:00:39 +00:00
Edoardo Spadolini aabe46f84f Manage TLS session tickets manually in QUIC peering (#62896)
* Manage TLS session tickets manually in QUIC peering

* Remove static assert on return types
2026-01-16 09:49:44 +00:00
Edoardo Spadolini 0e05621f04 Guard against nil in notifications and access request caches (#62834) 2026-01-15 10:24:29 +00:00
Edoardo Spadolini 7b04c2d8e0 Run Bloat Check workflow if Makefile is modified (#62819) 2026-01-14 09:19:57 +00:00
Edoardo Spadolini 2c221c7905 Disable -buildmode=pie (#62776)
* Disable -buildmode=pie

* Update e
2026-01-12 18:50:00 +00:00
Edoardo Spadolini 26f7d04dcd Use gnu host triple for windows CI builds (#62390) 2025-12-22 17:19:22 +00:00
Edoardo Spadolini 25f98191dc Run the readiness logic synchronously (#62178)
* Run the readiness logic synchronously

* Document special event handling in BroadcastEvent

* Make NewSupervisor fallible

* Move logging out of the processState state machine
2025-12-12 11:06:39 +00:00
Edoardo Spadolini bc4abc1459 Skip app_server heartbeats with no changes (#61960)
* Add UnconditionalUpdateApplicationServer to PresenceInternal

* Support resetting subintervals in Multi

* Skip app_server heartbeats with no changes

* Don't rely on the order of Equal, OnlyTimestampsDifferent and Different
2025-12-10 16:02:34 +00:00
Edoardo Spadolini 3bc5362d33 Deflake TestRemoteRotation (#61850) 2025-12-01 16:37:58 +00:00
Edoardo SpadoliniandNoah Stride 53115c99de Update Relay docs for Kube access (#61834)
* Update Relay docs for Kube access

* Update docs/pages/reference/architecture/relay.mdx

Co-authored-by: Noah Stride <[email protected]>

---------

Co-authored-by: Noah Stride <[email protected]>
2025-12-01 16:37:21 +00:00
Edoardo Spadolini 8f71f833a0 Add relayAddr value to the teleport-kube-agent chart (#61833) 2025-11-28 10:54:20 +00:00
Edoardo Spadolini 6ac97224ba Remove goexperiment.synctest constraint in lib/inventory/controller_test.go (#61784) 2025-11-26 12:57:39 +00:00
Edoardo Spadolini 94304de981 Client support for Kubernetes access with a Relay Service (#61271)
* Add helper function for kuberelay SNI

* Support the kube relay in tbot's kubernetes/v2

* Use the relay in tsh kube login

* Support connecting through a relay in the kube proxy

* Support the relay in kube forwarding in Connect
2025-11-24 15:35:49 +00:00
Edoardo Spadolini 6a82d66bb5 Avoid staleness race condition in genericCollector (#61636) 2025-11-21 15:19:19 +00:00
Edoardo Spadolini 11661a2532 Prevent chdir race condition in hasAccessibleHomeDir (#61634) 2025-11-21 13:26:32 +00:00
Edoardo Spadolini cfcb4f9e41 Split clusters in generated kubeconfig files (#61419)
* Split clusters in generated kubeconfig files

* Fail on WebProxyAddr parsing error unless it is empty

* fix Test_maybeStartKubeLocalProxy

* add comment for old and new config in LocalProxyClustersFromDefaultConfig
2025-11-18 09:59:35 +00:00
Edoardo Spadolini ded7698909 Kubernetes forwarding in the Relay Service (#60974)
* Add signaling for supported tunnel types to relay tunnel

* Enable relay tunnel client for kubernetes_service

* Add kube_server to the relay cache

* Add passive forwarder for kubernetes access through the relay

* Add wildcard SNI suffix to kube service SANs if a relay is configured

* Add SNI-dispatching grpc transport for the relay transport server

* Enable kubernetes forwarding in the relay service

* Advertise support for kube tunnels in the relay

* Add tests
2025-11-14 22:25:00 +00:00
Edoardo Spadolini 18d2450b24 Update RFD 0153 to use envelopes for gRPC APIs (#61349) 2025-11-14 14:13:25 +00:00
Edoardo SpadoliniandAlan Parra 4b801854ad Avoid race conditions in getHostUsers (#61218)
* Avoid race conditions in getHostUsers

* Actually remove old implementation

* Copy pw_name once

Co-authored-by: Alan Parra <[email protected]>

---------

Co-authored-by: Alan Parra <[email protected]>
2025-11-11 23:29:35 +00:00
Edoardo Spadolini 9c9981d622 Clean up runtime.SetFinalizer uses (#61008) 2025-11-05 21:15:08 +00:00
Edoardo Spadolini 7ebcc8513d Fix wrong typing in GenericWatcher and services/readonly (#60943)
* Fix wrong typing in GenericWatcher and services/readonly

* Add missing ReadOnlyFuncs
2025-11-03 15:58:34 +00:00
Edoardo Spadolini 7ba1b47aa2 Use access point for the watcher in the relay node watcher (#60894) 2025-10-31 22:57:36 +00:00
Edoardo Spadolini b80641e92a Prevent mutation in backend.Key.components (#60506)
* Prevent mutation in backend.Key

* Allow empty NewKey return value

* Explain TestKeyAppendKeyNoOverwrite

* ExactKey should return a trailing slash
2025-10-29 18:48:43 +00:00
93c8f28c3a Relay service architecture reference (#60364)
* Relay service architecture reference

* Finish unfinished sentence

* Reword docs for relay_server tbot option

Co-authored-by: Chris Thach <[email protected]>

* Reword relay service description

Co-authored-by: Chris Thach <[email protected]>

* Add tsh usage examples

* Link to config reference and clarify networking a bit more

* Wording

* Apply suggestions from code review

Co-authored-by: Chris Thach <[email protected]>

* Expand and move network protocol description

* remove author from TODO to appease cspell

* Update docs/pages/reference/architecture/relay.mdx

Co-authored-by: Chris Thach <[email protected]>

---------

Co-authored-by: Chris Thach <[email protected]>
Co-authored-by: Chris Thach <[email protected]>
2025-10-27 17:42:35 +00:00
Edoardo Spadolini dca469f9fe Remove KindInstaller from the ForProxy cache (#60487)
* Remove KindInstaller from the ForProxy cache

* Use the auth cache config in TestInstallers
2025-10-24 11:36:23 +00:00
Edoardo Spadolini a732b67cdf Add relay group and IDs to all resource heartbeats (#60441)
* Add relay group and IDs to all resource heartbeats

* make derive
2025-10-21 20:22:58 +00:00
Edoardo Spadolini 0dd97ba2d5 Relay reference docs (#60156)
* Relay configuration options

* Include teleport-relay chart reference

* tsh relay envvar and flag

* Specify minimum Teleport version

* Add warning in relay chart
2025-10-11 17:05:16 +00:00
Edoardo Spadolini ed781eac09 Deflake TestSSHServerBasics (#60062)
* Deflake TestSSHServerBasics

* Put lib/inventory tests in synctest

* Parallelize the synctest-enabled tests too

* Support 1.24 synctest
2025-10-08 23:04:10 +00:00
Edoardo Spadolini 53fb1af148 Tweak deadline errors in relay tunnel conns (#59992)
* Tweak deadline errors in relay tunnel conns

* Appease linter and add a test
2025-10-07 08:43:53 +00:00
Edoardo Spadolini 49b15a8e23 Support editing the default_relay_addr trait in tctl users (#59779)
* Support editing the default_relay_addr trait in tctl users

* Highlight nodes with relay in tsh ls
2025-10-06 11:05:32 +00:00
Edoardo Spadolini 19cb4f5515 Add chart for the Relay service (#59454)
* Chart yaml, values and helpers

* address comments

* autogenerated reference docs

* add missing extra labels and annotations for the service

* admonition formatting

* version and image helpers

* join secret name helper

* resources

* update reference

* add linting

* Add helm unittests

* Allow custom key for the trusted CA bundle secret

* Remove check for negative replicaCount value

* Clean up .lint/full.yaml and fill it in a bit more

* Fix selector labels indentation in PDB

* Redo tests avoiding snapshots

* Update exercise-configmap to render the whole chart for linting
2025-10-02 16:17:46 +00:00
Edoardo Spadolini a99a04482f Add mcp_tools and default_relay_addr to the trait editor (#59776)
* Add mcp_tools and default_relay_addr to the trait editor

* Move traitDescriptions next to traitsPreset
2025-10-01 12:02:01 +00:00
Edoardo Spadolini 9be346c58f Relay SSH routing logic and transport server (#58855)
* Relay SSH routing logic and transport server

* peer client changes
2025-09-25 15:18:03 +00:00
Edoardo Spadolini dc5482d6c7 RFD 213 - Relay, a lightweight tier 2 proxy (#54603)
* RFD 213 - Relay, a lightweight tier 2 proxy

* clarify review questions

* Simplify wording, divide servers into clients/agents/relays

* no relay to proxy tunnels, default relay address on login, cleanups

* cspell

* required approvers

* separate listeners for ssh transport and kube sni routing
2025-09-25 13:37:13 +00:00
Edoardo Spadolini e1102466ae Relay peering client and server (#58854)
* proto: relay peering messages

* make grpc

* Relay peering server and client

* fallible client creation, comments

* server comments
2025-09-25 10:19:36 +00:00
Edoardo Spadolini a5c5444894 Relay tunnel client and server (#58755)
* proto: relay tunnel messages

* make grpc

* Relay tunnel server and client

* Explain tls and yamux configs

* clarify logger adapter

* clarify reserved fields

* Clarify serverConn selection logic

* add a todo to handle the control stream messages more efficiently
2025-09-23 21:28:15 +00:00
Edoardo Spadolini 98fcf32f0b Update the semaphore expiry in AcquireSemaphoreWithRetry (#59372) 2025-09-22 08:15:23 +00:00
Edoardo Spadolini cd0a0b330c Add support for using the relay in tsh and Machine ID (#59095)
* Support relay transport in the proxy client

* Support generating client options at login time

* Support storing, overriding and using the relay in tsh

* Set the default relay address based on a trait

* Display relay info from the profile in tsh status

* Add relay support to tbot ssh multiplexer

* use relay_server like proxy_server

* Make the trait name similar to other internal traits

* Simplify default status, add info in debug

* Only show relay address in status if set
2025-09-17 10:14:04 +00:00
Edoardo Spadolini 0d6f28d721 Relay tunnel discovery API (#58754)
* proto: relay tunnel grpc discovery service

* make grpc

* Tunnel discover server implementation

* Describe ALPN protocol name constant

* Fix double import

* Avoid false positive in unused linter

* explicit trace.Wrap in discover

* avoid unnecessary pointer conversions

* prioritize tunnel protocol in ALPN

* make the server credentials a separate struct

* avoid false positive in unused linter again
2025-09-09 10:34:23 +00:00
Edoardo Spadolini dd9518bc63 Add relay info holder for the SSH server heartbeat (#58753)
* proto: relay server heartbeat fields

* make grpc

* Update relay_service config section

* Fill in the Relay heartbeat

* Add relay info holder for the SSH server heartbeat

* add clarifying TODO
2025-09-08 16:06:21 +00:00
Edoardo Spadolini 87ff1f661f Flesh out relay_service configuration and heartbeats (#57645)
* proto: relay server heartbeat fields

* make grpc

* Update relay_service config section

* Fill in the Relay heartbeat
2025-09-05 08:54:33 +00:00
Edoardo Spadolini 5bd21bc669 tctl: support getting and deleting relay_server items (#57644) 2025-08-08 09:20:31 +00:00
Edoardo Spadolini 2f5aa794a8 Add ForRelay cache and needed permissions (#57636) 2025-08-08 08:27:52 +00:00
Edoardo Spadolini 9cf24e9f78 Allow ignoring errors in tctl workload-identity x509-issuer-overrides sign-csrs (#57600) 2025-08-07 17:24:25 +00:00
Edoardo Spadolini 549118b591 Disallow new uses of gogoproto jsonpb (#57492)
* Disallow new uses of gogoproto jsonpb

* fix wrong package name in depguard description
2025-08-04 12:57:23 +00:00
Edoardo Spadolini 617da217ae Reduce access point API surface for Authorizer and ConnectionMonitor (#57269)
* Reduce access point API surface for ConnectionMonitor

* Reduce access point API surface for Authorizer
2025-07-31 19:28:58 +00:00
Edoardo Spadolini e3d9af08f8 Allow io.Reader in ReadProxyLineV2 (#57270)
* Allow io.Reader in ReadProxyLineV2

* ignore staticcheck
2025-07-29 20:05:59 +00:00
Edoardo Spadolini ac473cb900 Add an optional delay before Teleport shutdown (#57042) 2025-07-28 09:35:57 +00:00
Edoardo Spadolini e7927fcb2a Add relay info to types.ServerV2 (#56845)
* proto: Relay group and IDs fields in ServerSpecV2

* make grpc

* Add Relay group and IDs to CompareServers

* make -C integrations/operator crd

* make -C integrations/terraform docs
2025-07-16 16:58:10 +00:00
Edoardo Spadolini 260b7cb9e2 Trace the correct error return value in Router.DialWindowsDesktop (#56559) 2025-07-08 16:17:35 +00:00
Edoardo Spadolini 6377f46e20 Upgrade quic-go to v0.53.0 (#56302) 2025-07-01 13:52:13 +00:00
Edoardo Spadolini 1cb642736a Avoid counterproductive checks in IsUserAuthority and IsHostAuthority (#56250) 2025-06-30 19:00:52 +00:00
Edoardo Spadolini 28a7e43d1d Skeleton for relay_service and heartbeat (#55782)
* Add Relay system role

* Add relay_service skeleton

* Proto definitions for relay heartbeats in the inventory stream

* make grpc

* Relay heartbeats through the inventory

* Allow RoleRelay to not have audit log write permissions for now

* godoc for top level config structs
2025-06-23 13:43:07 +00:00