* Create `ClusterStore` that manages cluster state
* Fix tests that mocked tshd directly
* Remove IPC to notify the main process about cluster list changes
* Load immer plugins in `MainProcess`
* Improve comments
* Refactor `useSender`
* Get rid of unnecessary Map and try/catch around send
* Get rid of `MainProcess.create`
* Do not return early `c.proxyHost` is falsy
* Add more context to test
* Add missing logout handler in main process
* Fix applying patches
* Adjust `subscribeToClusterStore` to updated `startAwaitableSenderListener`
* Crash window when sending state update fails
* Extract WebContents navigation handlers and add tests for opening links
* Improve error message
* Initialize `ClusterStore` synchronously
* Convert `lazyTshdClient` field to `getTshdClient` function, add docs
* Remove unused eslint directive
* Add stories for list/view session recordings, minor UI changes
* Type check storybook, use import.meta.dirname instead of __dirname
* Add mocking for the session recordings service
* Clear all queries between stories
* Unexport interface
* Undo unnecessary changes
* Try using `.mts` for main
* Undo node v24 changes
* Add license
* Add configurable playback speed to session recording player
* Load more events sooner when the playback speed is increased
* Update default speed to 1
* Prettier
* Add license
* Add support for Bedrock models to the session summarizer
- Add protocol buffers
- Add validation
- Add dependency on Bedrock SDK
- Move GenerateTestSession to the OSS code
* Tidy up the go.mod file
* Enable/disable Bedrock on the auth server level
* Add bedrockruntime to e_imports, rerun mod-tidy-all
* Add a comment to GetModules()
* Revert e/ change
The index page of the Infrastructure as Code section of the docs was
originally intended to explain dynamic resources, so links to the guides
contained within the section are neither up to date nor particularly
visible. This change improves the visibility of links to the sections
within the IaC section, and focuses the IaC index page more on its
current purpose.
Edit the IaC index page to:
- Explain dynamic resources in terms of IaC tools.
- Remove information that is already included elsewhere, and not
relevant to using IaC tools to manage Teleport.
- Update reference links. Add links to Operator and Terraform provider
resource references.
- Move key guide links to the introductory section of this page.
- Remove the example manifests, since these aren't necessary once a user
chooses to get started with a particular IaC tool. The examples are
too minimal to be useful, but long enough to take up substantial space
within the guide. This helps shorten the guide and focus on key
information.
Closes#60077
Edit the EC2 instance auto-discovery guides (manual and guided) so the
list of IAM permissions required for discoverable EC2 instances is in
the Prerequisites section. There is no reason for this discussion to be
in the same section of the page as the permissions for the Teleport
Discovery Service itself. Since attaching an IAM policy to discoverable
instances takes place outside the scope of this guide, it makes sense to
add this information to the Prerequisites.
* Add protobuf definitions for service health
* Track `UpdatedAt` timestamp on service statuses
* Track service type against status
* Send service health with bot status
* Store service health against bot instance
* Add `TELEPORT_DISABLE_TBOT_HEARTBEAT_EXTRAS` control
Closes#60179
The example command for connecting to the database lists `root` as the
database user, when it should be the user the guide told us to create in
an earlier step.
* MWI: Wait for service health before sending first heartbeat
Uses the new `AllServicesReported` method to wait for all services to report
their initial status before sending the "startup" heartbeat, with a timeout of
30 seconds.
In one-shot mode, if the outer context is canceled (typically caused by another
service returning an error) we'll hang on for up to 5 seconds to try to send the
heartbeat before shutting down.
* Swap clockwork with testing/synctest
* Prevent identity service from reporting its status too early
* Use test context
* Extract durations into constants
* [api] Add ListOIDCConnectors
This commits deperecates GetOIDCConnectors, which should be replaced by a paginated counterpart:
ListOIDCConnectors
Towards: gravitational/teleport.e/issues/6759
Changelog: Add paginated API ListOIDCConnectors, deprecate GetOIDCConnectors
* error ctx for logger
* Add a semaphore to recording processing
* Update the concurrency limit to 20
* Update concurrency limit to 150
* Add metrics for sessions processed/processing
* Add a gauge for pending sessions
* Define subsystem once
* Add license
The AWS IAM Roles Anywhere integration syncs Profiles as Teleport AWS
Apps.
In order to use the API, Teleport uses a specific Profile which is
configured as the Profile Syncer's Profile.
This Profile is only meant to be used by Teleport for syncing profiles,
and should not be available as an end-user Profile/Teleport AWS App.
During the Sync set up, we show the user all the available profiles.
This listing operation, wrongly, returns the Profile used for the
Profile Syncer.
We are showing a Profile that will not be available later on.
This PR changes the listing to only show the profiles that will be
synced, removing the Profile used in the Profile Syncer.
* Add `service_health` to bot instance protos
* Add aggregated service health to `show`
* Add services section to `show`
* Add health status column to `ls`
* Extra tabs are not welcome
* Handle zero services when aggregating health status
* Add OS and ARCH info for client tools managed updates
* Optimized initial tsh/tctl installation in tests to perform it once and re-use
* Add reading binary headers in order to identify OS and ARCH if it is not defined in configuration file.
* Enable `noImplicitThis`
* Get rid of `memoize`
* Refactor `runOnce`
* Verify return value of `runOnce`
* Fix name
* Return value from `runOnce` in test
This method will be used by the heartbeat service to wait until services have
reported their initial status (with a timeout) before submitting the initial
heartbeat. Otherwise, we'd potentially report all services as "initializing"
for 30 minutes in daemon mode, or forever in long-shot mode.
* abstract pluginsyncfilter builder func
* update package API
- rename filterinputs -> inputs
- update BuildFilters to NewFromInputs which returns propper Filters type now
* Make the `bot.Bot` responsible for registering service and tagging logger
* Defer registering services until we know they're needed
* Add explanatory comment
* Make status reporting opt-in for long running services
* Clarify doc comment on `GetStatusReporter`
* Fix missing `--format` flag
* Use v2 rpc
* Add `--search` flag
* Add `--query` flag
* Add `--sort-index` and `--sort-order` flags
* Remove `generation` and add `version` fields to output
* Allow enabling the auth cache for the test process
* Add list bot instances tests
* Sync join method access logic between tctl and web
* Access `authentication.JoinMethod` safely
* Unhide `--format` flag
* Simplify version header label
* Fallback to v1 ListBotInstances
* Refactor to remove use of `authclient.ClientI`
* A way better fallback implementation 🙌
* typo 🙄
* Refactor to single interface
* Added client version output when --debug flag is added to tsh commands
* Moved client version output to logger
* Altered tsh client version output to match tbot's, added test coverage
* Updated test to check versions in output
Previously, role names were effectively limited to 30 characters even
though MySQL supports up to 32.
The activation procedure now:
- Unquotes the role name from JSON
- Stores it in a TEXT variable (not a narrow VARCHAR)
- Re-quotes with proper escaping before GRANT
This allows full-length (32-char) role names to work.
* tctl resources: convert db
* remove mfa requirement for db
* fix an issue that new handler cannot handle multiple objects in same file
* preallocate rows
* Set AddKeysToAgent to no for WebUI clients; Remove unused code.
* Fix Signers method which overwrites local agent keys with system agent keys.
* Add test.
* Add Client IP Restriction entitlement
* Add Client IP Restriction entitlement
* Add new entitlement to pb Features
* Fix tests
* Fix entitlements.ts using `CloudIPRestrictions`
* docs: update local users
* docs: update verbiage for local users
Co-authored-by: Paul Gottschling <[email protected]>
---------
Co-authored-by: Paul Gottschling <[email protected]>