Commit Graph
5218 Commits
Author SHA1 Message Date
Ghassan Gedeon Achi 708dbb1bd9 tctl-investigate[2]: add text output, geo filters, and --skill (#67220)
* feat: text output, geo, and `--skill` support

Layer three orthogonal additions on top of the core command:

  - Text rendering: period header, matches summary, wrapped facet
    panel, events table. `--all-facets` opts out of the top-5
    truncation.
  - Geo filter (`--latitude`/`--longitude`/`--radius`, all three
    required together). Geo applies to events only; the stats endpoint
    has no geo params, so facet counts and `total` cover the
    window+query without geo. Text output prints a Note when geo is
    active.
  - `--skill` prints an embedded Markdown skill for LLM agents and
    skips the backend entirely.

* fix: update skill to follow RFD 0037e

* fix: small fixes reported in PR review

* fix: small suggestion about code comment

* feat: iteration based on notion/customer request

* feat: add sanitization to text rendering

* fix: small fix to the access request review

* fix: typos and PR suggestions

* fix: help message indentation
2026-06-11 18:27:12 +00:00
Paul Gottschling 8adfe5e762 Add page_type and outcome statements to 47 guides (#67674)
We are standardizing docs guides to add a `page_type` frontmatter field,
with values for how-to guides, references, etc. We can then use this
field to apply linting rules that ensure each guide type follows
type-specific docs site conventions. The first convention is that each
docs page must have an outcome statement, the structure of which depends
on the guide's type. Human and AI agent readers can determine from the
outcome statement whether to continue reading the guide or not.

This change assigns the `page_type` frontmatter field to 47 guides.
Where an outcome statement is missing, it adds one. Where an outcome
statement exists, it ensures that the statement matches the standard
structure so we can add a linter later on.

Of the 47 guides:
- 28 guides already included the expected outcome statement, but needed
  a page_type frontmatter field.
- 11 guides included an outcome statement but required tweaking so it
  followed the expected structure.
- 8 guides had no outcome statement at all

In the Jenkins guide, also change "Architecture" to "How it works" to
accommodate the page structure linter (instead of disabling it). In the
current plan, this linter will also run the outcome statement check.
2026-06-11 18:03:35 +00:00
micaandPaul Gottschling 7449cd5dbf docs: refactor docker getting started guide (#62856)
* checkpoints for docker getting started guide

* adding verification commands with expected output preceeding the troubleshooting checkpoints

* adding a few more checkpoint tips

* lint error with  heading

* lint error with  heading

* removing duplicate suggestion and reorganizing

* pulled in master to resolve conflicts as the directory structure changed since I started drafting these updates

* edited checkpoints, formatting, and moved k8 content

* cut down the number of items in the checkpoints, rephrased some sentences, fixed link paths as they were added before the pages was moved

* created a section forcommon troubleshooting items vs so many checkpoints

* changing container to variable

* adding back the sidebar label, and added '-t' (tty) flag to docker exec command to improve text output/alignment

* post-feedback: formatting, troubleshooting content revisions

* post-feedback: formatting, and slimming down troubleshooting content

* post-feedback: formatting, and slimming down troubleshooting content

* rephrasing intro paragraph, as most prod Teleport deployments in containers are running on k8s

* followed AI suggestions and implemented suggestions on removing previous k8 content and streamlining

* cleanup, restored backup guidance

* linter flagged for list spacing - added lines

* Apply suggestions from code review

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

---------

Co-authored-by: Paul Gottschling <paul.gottschling@gmail.com>
2026-06-11 17:49:04 +00:00
Ghassan Gedeon Achi f583472e9a tctl-investigate[1]: add activity-log search command (#67219)
* feat: add `tctl investigate` command

Add a tctl subcommand that searches Teleport's Identity Security
activity logs. The command exposes structured filter flags mirroring
the Identity Security UI: ~19 include/exclude pairs mapping to Lucene
fields (user, resource, IP, country, etc.). Multiple values on the
same flag are OR'd; different flags are AND'd.

`--query` accepts a raw Lucene expression for cases the structured
flags can't express (wildcards, regex, OR across fields) and is
mutually exclusive with the structured filters.

Facets and events are fetched in parallel via errgroup. `total` is
derived from the `event_type` facet on the stats endpoint, so it can
drift a few percent from `len(data)` on long windows.

This PR ships JSON/YAML output only. Text rendering, the geo filter,
and the `--skill` flag land in the next PR in the stack.

* fix: address codex suggestions

* fix: update flag description
2026-06-11 17:47:21 +00:00
micaandNoah Stride 644cae4529 docs: add prereqs to selinux guide (#67586)
* docs: add prereqs to selinux guide

* reduced verbiage, streamlined bullets, and split the agent requirement

* minor sentence edits. also removed dupe info, we already have the first header with the rhel requirements

* Update docs/pages/zero-trust-access/management/security/selinux.mdx

Co-authored-by: Noah Stride <noah.stride@goteleport.com>

---------

Co-authored-by: Noah Stride <noah.stride@goteleport.com>
2026-06-11 17:17:59 +00:00
Travis Rodgers 77008219b5 docs: adding Agentic Identity Framework callouts (#66682)
This PR adds the `Callout` component to Agentic Identity Framework related pages like MCP, Workload Identity, etc.
2026-06-11 14:10:05 +00:00
Travis Rodgers 0ca10ce2a3 docs: spelling fixes (#67684)
This commit fixes various spelling errors throughout the docs
2026-06-11 13:36:50 +00:00
mica a36cdf00cf docs: distinguish host user creation from host sudoers in SSH guides (#67344)
* docs: distinguish host user creation from host sudoers in SSH guides

* clarified conflicting language, added missing comma to yaml as it was causing syntax errors when testing, and clarified examples

* post-feedback: clarifications and corrections

* added note about insecure-drop users
2026-06-10 21:44:06 +00:00
Steven Martin e6888784ef docs: Ref fixes (#67622) 2026-06-10 18:50:48 +00:00
Forrest 52f4a21526 scope-qualified names (#67364) 2026-06-10 18:25:05 +00:00
STeve (Xin) Huang b76e7c49c4 [beams] beams_config audit events (#66810)
* [beams] beams_config update event

* update events to match beam proto change
2026-06-10 12:56:51 +00:00
Ben ArentandPaul Gottschling 0f8210cdb7 Add teleport-session-review skill for Session Recordings + Session Recording Search (#67491)
* First Draft of teleport-session-review skill

Framework based on ACL skill

* Adds Examples and Playbook for how to use Session Search

* Add a preflight check

* Feedback from Docs

* Extra Testing on a Teleport Cloud Tenant

* Docs to Skill

* Remove local dev for now

* update locate commands to include $TSH

* Update docs/pages/identity-security/session-summaries/session-search.mdx

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

* Remove Filter caveats

These have been fixed

---------

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>
2026-06-09 19:55:56 +00:00
Lion Chen f3c6f65e1c Document User Display Names and How Teleport Derives Them (#67459)
* Document user display names and how Teleport derives them

* remove redundant notes on display name behavior in user types documentation

* drop unnecessary word

* refine user display name mapping for Okta, Microsoft Entra ID, SAML/OIDC, and SCIM integrations

* refactor: streamline display name documentation across identity provider integrations

* update user display name documentation

* improve clarity and consistency in user display name documentation
2026-06-09 16:05:28 +00:00
Alan Parraandrosstimothy fbc47e7d37 Add public docs for the CA override feature (#67403)
* Add public docs for the CA override feature

* Use `code` blocks instead of `shell`

* Number steps as n/d. Move alternatives to H3.

* Move intro paragraphs to "How it works"

* Remove "Supported CAs" section, move its contents to other sections

* Mention specific commands in the info box

* Emphasize future growth

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

---------

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
2026-06-09 14:00:58 +00:00
Steven Martin 14ec04c008 docs: Bound keypair fixes (#67588)
* docs: Bound keypair fixes

* docs: fix indentation
2026-06-09 12:49:57 +00:00
Alex Carrithers 8de3b4f238 tctl: add structured output to status commands (#67201)
* tctl: add structured output to status commands

* tctl: use test context in auto update agent status tests
2026-06-09 08:36:53 +00:00
Ben Arent d98ef2bfb9 Bump Date for Identity Activity Center (#65530) 2026-06-08 20:45:31 +00:00
Steven Martin 103298a129 docs: Fix k8s enrollment pages (#67465)
* docs: Fix k8s enrollment pages

* docs: Update minimal set of roles
2026-06-08 19:51:15 +00:00
teleport-renovate[bot]andChris Thach 04471ea746 Update Go version to v1.26.4 (#67476)
* Update Go version to v1.26.4

* Rm GO_VERSION from Makefile/Dockerfile and rely on go.mod to inform Go version. Update code to adhere to 1.26 deprecation/changes.

Signed-off-by: Chris Thach <chris.thach@goteleport.com>

* Bump e to 54d1d0cb67b71860b943de477b3146d32ccdd74a.

Signed-off-by: Chris Thach <chris.thach@goteleport.com>

---------

Signed-off-by: Chris Thach <chris.thach@goteleport.com>
Co-authored-by: teleport-renovate[bot] <275214890+teleport-renovate[bot]@users.noreply.github.com>
Co-authored-by: Chris Thach <chris.thach@goteleport.com>
2026-06-08 14:28:40 +00:00
Steven Martin e72c33426c docs: Helm fixes (#67529) 2026-06-08 13:56:32 +00:00
Steven Martin 1ade712791 docs: Reference doc updates (#67151)
* docs: Reference doc updates

* docs: correct desktop.directory.write audit reference
2026-06-07 19:15:44 +00:00
Steven Martin 11da9fe104 docs: Fix typos in IBM deployment instructions (#67495) 2026-06-05 15:18:12 +00:00
Steven Martin ea7b3e85d5 docs: Clarify Teleport configuration path for Docker (#67494)
Update configuration instructions for Teleport Docker image to specify the correct path for the configuration file.
2026-06-05 15:17:57 +00:00
Paul Gottschling cc89378c3d Add page_type and outcome statements to 54 guides (#67079)
We are standardizing docs guides to add a page_type frontmatter field,
with values for how-to guides, references, etc. We can then use this
field to apply linting rules that ensure each guide type follows
type-specific docs site conventions. The first convention is that each
docs page must have an outcome statement, the structure of which depends
on the guide's type. Human and AI agent readers can determine from the
outcome statement whether to continue reading the guide or not.

This change assigns the `page_type` frontmatter field to 55 guides.
Where an outcome statement is missing, it adds one.  Where an outcome
statement exists, it ensures that the statement matches the standard
structure so we can add a linter later on. (A majority of guides were
already compliant.)
2026-06-05 12:40:28 +00:00
Paul Gottschling 36fc5226f2 Add page_type and outcome statements to 46 guides (#67064)
We are standardizing docs guides to add a page_type frontmatter field,
with values for how-to guides, references, etc. We can then use this
field to apply linting rules that ensure each guide type follows
type-specific docs site conventions. The first convention is that each
docs page must have an outcome statement, the structure of which depends
on the guide's type. Human and AI agent readers can determine from the
outcome statement whether to continue reading the guide or not.

This change applies a `page_type` frontmatter field to 46 guides in the
`enroll-resources` section of the docs. Most of these guides already
include the expected outcome statement. For those that do not, this
change adds one:
- Automatic user provisioning introduction partial
- Host user creation
- Encrypted session recording guide
- ClickHouse guide (rewording the existing outcome statement to match
  the standard structure we are rolling out).
- Automatic session recording key rotation
- Manual session recording key rotation
- macOS launchd guide
2026-06-05 12:40:11 +00:00
Tiago Silva 7fd409da6b tctl recordings search: rename time flags and add JSON/YAML pagination (#67501)
Rename --from/--to to --from-utc/--to-utc on `recordings search` to
match the `recordings ls` flag naming convention. The old names are
kept as hidden aliases for backward compatibility.

For JSON and YAML output formats, automatically paginate through result
batches until up to 500 sessions are collected rather than stopping
after the first batch. When results are truncated, a --resume-token
hint is printed to stderr so the caller can continue from where the
previous run left off.

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
2026-06-05 10:36:24 +00:00
Steven Martin f421f9011d docs: Fix zypper remove command parameter (#67450) 2026-06-04 17:09:07 +00:00
teleport-renovate[bot]andChris Thach 887960a4dc Update Go version to v1.25.11 (#67420)
Co-authored-by: teleport-renovate[bot] <275214890+teleport-renovate[bot]@users.noreply.github.com>
Co-authored-by: Chris Thach <chris.thach@goteleport.com>
2026-06-04 15:31:22 +00:00
Paul Gottschling 997a60747d Restore single log out partial (#66878)
Fixes #64890

Before #61492, the SSO index page briefly documented single log out
(SLO) for SAML. #61492 refactored our SSO authentication connector
guides to remove the duplication between the landing page and individual
IdP guides, but inadvertently removed the reference to the partial that
documented SLO. This change restores the partial to the closest location
available to its original one: below the `idp-initiated.mdx` partial in
our SAML guidance.
2026-06-04 13:35:51 +00:00
Julia Ogris da6575c877 app: Reject duplicate effective public_addr in static config (#66824)
* app: Reject duplicate effective public_addr in static config

Extend the existing duplicate-name check in applyAppsConfig to also
reject static apps that resolve to the same effective routing FQDN.
Fail fast at startup rather than dispatch non-deterministically via
servers[rand.N(len(servers))] in lib/web/app/match.go.

Compute the effective FQDN per app as:

- public_addr, normalized through idna.ToASCII + trim trailing dot +
  lowercase to match services.ValidateApp's proxy-collision compare,
- name + proxy_public_addr (one entry per proxy public addr) when
  public_addr is empty, or when use_any_proxy_public_addr is true
  (matching utils.AssembleAppFQDN),
- name + cluster_name as a fallback when proxy_service is enabled
  but proxy_public_addr is unset (matching proxyDNSName in
  lib/web/apps.go).

Limit the check to static app_service.apps. Dynamic apps are out of
scope; defer best-effort detection to a follow-up RFD.

* app: Address review feedback on static FQDN dedupe

Mirror runtime registration when computing default app FQDNs.
`FindPublicAddr` in `lib/srv/app/watcher.go` uses an IP-valued
proxy `public_addr` as-is and falls back to `cluster_name` only
when the proxy `public_addr` is unset; the validator previously
skipped IPs and fell back to `cluster_name` whenever a proxy
`public_addr` looked like an IP, which let a YAML config slip
through that would still collide at registration.

Extract `utils.DefaultAppFQDN(appName, proxyHost, clusterName)` as
the shared source of truth for default FQDN derivation. Both the
static config validator (`lib/config`) and `FindPublicAddr` call
it so the two paths stay in sync.

Ignore the local `proxy_service` config when it is disabled.
`FindPublicAddr` reads registered proxies from the backend, so a
disabled local proxy contributes nothing at runtime; the
validator was previously treating leftover `cfg.Proxy.PublicAddrs`
entries as effective routing suffixes and could fail startup on a
false duplicate FQDN when the apps would route through a
different proxy.

Make a malformed proxy `public_addr` or `cluster_name` non-fatal
during validation. Enabling `app_service` should not block startup
on an address that no app depends on. Skip the malformed entry, log
a warning, and let the dedupe pass continue; a real collision still
errors.

Sort per-app FQDN iteration before checking the seen-set so the
error message is stable when one app has several effective FQDNs
that each collide with a previously seen app. Go map iteration is
random and the prior code picked whichever order Go produced.

Clarify the comment about `CheckAndSetDefaults`: it validates
`app.Name` and `app.PublicAddr` as DNS-1123 forms, it does not
transform them. The dedupe step relies on the input already
being lowercase ASCII without a trailing dot.

* app: Trim duplicate-FQDN docs and simplify sort

Cut the FQDN-derivation and multi-proxy implementation detail from the
duplicate-routing docs so users only see that colliding FQDNs are
ambiguous and Teleport rejects them when `proxy_service` is colocated.

Replace the collect-then-sort pair with `slices.Sorted`.
2026-06-03 22:12:51 +00:00
TarasandPaul Gottschling a67dffebd6 docs: add Redshift DBeaver connection guide (#67371)
* docs: add Redshift DBeaver connection guide

* Update docs/pages/connect-your-client/third-party/gui-clients.mdx

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

---------

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>
2026-06-03 12:51:14 +00:00
Steven Martin cc5546df35 docs: Fix formatting issues in role-spec (#67368) 2026-06-02 16:51:19 +00:00
Steven Martin db12103126 docs: zta doc fixes (#67347) 2026-06-02 00:00:59 +00:00
Paul Gottschling e20f1df42d Add Networking Reference Troubleshooting section (#64219)
* Add Networking Reference Troubleshooting section

See #62997

Edit the Networking Reference to add a Troubleshooting section covering
three common networking errors when setting up a Teleport cluster:

- Connection reset by peer
- First record does not look like a TLS handshake
- Authentication handshake failed (teleport.cluster.local)

* Edit Networking Reference connection reset section

Make the guidance more general and explain the origin for users who may
not be familiar with TCP fundamentals.

* Clarify the Networking reference

Responds to **zmb3** feedback:

- Don't use code style to refer to a Teleport process.
- Use a broader level of detail for the "connection reset" discussion.
- Remove incorrect indication that that the Proxy Service has a SAN.
2026-06-01 19:32:33 +00:00
Steven Martin 8baffbe981 docs: Amazon Keyspaces fixes (#67322) 2026-06-01 17:49:02 +00:00
Dan Upton bac052a934 docs/rdp: Specifically recommend 32-bit color depth (#67306) 2026-06-01 15:59:16 +00:00
mica a1d4c5e1c9 docs: adding agentic identity in feature matrix (#66502)
* docs: adding agentic identity in feature matrix

* post-meeting: Chris W. edits

* organizing Beams in per-feature structure to match rest of the tables

* Firecracker and beam lifecycle details
2026-05-30 05:36:10 +00:00
Pawel Kopiczko ae0e1cc478 Docs: Fix Okta role mapping example (#67175) 2026-05-29 22:36:51 +00:00
Erik Tate 65c74bcfdd adding missing docs for scoped kube access (#67211) 2026-05-29 21:54:40 +00:00
Hugo Shaka 1453212f2a operator: add secret lookup to oidc's google_service_account (#67196) 2026-05-29 20:56:40 +00:00
Evan Freed d17abba37e [18.8.2] Bump cloud docs (#66449)
* [18.7.6] Bump cloud docs

bump cloud docs

* bump to 18.8.0

bump

* Update docs/config.json
2026-05-29 16:09:49 +00:00
Alex Carrithers 3b2b7d1882 tctl: document existing format flags (#67163) 2026-05-29 13:48:14 +00:00
Marco Dinis e995ce4d2f Docs: Add support for enrolling uniform Azure VM Scale Sets (#66754) 2026-05-29 09:20:05 +00:00
Ghassan Gedeon Achi 47bfc60239 feat: add detection get command to tctl (#66888)
Adds the `tctl detections get` command that allows you to retrieve the
details of a security alert from Access Graph.
2026-05-28 21:58:12 +00:00
Ghassan Gedeon Achi 23c42032f7 feat(tctl): add detections ls for Access Graph (#66885)
Adds the first user-facing Access Graph tctl command, listing security
detections with filters and a time window.

Talks to Access Graph through the web proxy and relies on the backend's typed
501/credential errors (see access-graph#1998) instead of a pre-emptive
features.json probe, so the CLI stays stateless.
2026-05-28 21:04:32 +00:00
Michelle Bergquist e7eccdea71 Add environment profile to Cloud Cluster Updates doc (#66876) 2026-05-28 20:35:19 +00:00
Yassine Bounekhla c28001c8c9 Add web_terminal_copy_mode role option (#66597)
* add web terminal copy mode role option

* CR
2026-05-28 19:58:49 +00:00
Pawel Kopiczko 06caf3c8ff Docs: Promote OIN form beta (#67124) 2026-05-28 10:46:44 +00:00
Alex Carrithers 22bac96447 tctl: add YAML parity for structured output commands (#67126)
* tctl: add YAML parity for structured output commands

* Add WriteProto Go Doc comment

* Make output format flag visible in evaluate-db-access command

* Make output format flag visible in evaluate SSH command

* remove x509 override dry-run format flag

* refactor: simplify error messages for unknown output formats

* refactor: replace printJSON with utils.WriteJSON and WriteJSONArray
2026-05-28 06:26:09 +00:00
Steven MartinandTener f865fa0f6e docs: Update db docs (#67141)
* docs: Update db docs

* docs: Fix formatting

* docs: fix formatting

Co-authored-by: Tener <krzysztof.skrzetnicki@goteleport.com>

---------

Co-authored-by: Tener <krzysztof.skrzetnicki@goteleport.com>
2026-05-27 20:28:54 +00:00