Skip to content

Commit 6f0ded6

Browse files
authored
Merge branch 'master' into roman/icdocs
2 parents 3ba6ade + deedeb7 commit 6f0ded6

File tree

154 files changed

+8996
-2052
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+8996
-2052
lines changed

.github/ISSUE_TEMPLATE/testplan.md

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ as well as an upgrade of the previous version of Teleport.
2020
- [ ] Labels
2121
- [ ] Static Labels
2222
- [ ] Dynamic Labels
23+
- [ ] [Resource-based Labels](https://goteleport.com/docs/admin-guides/management/admin/labels/#apply-resource-based-labels) using `server_info`
2324

2425
- [ ] Trusted Clusters
2526
- [ ] Adding Trusted Cluster Valid Static Token
@@ -1186,21 +1187,20 @@ manualy testing.
11861187
## Desktop Access
11871188
11881189
- Direct mode (set `listen_addr`):
1189-
- [ ] Can connect to AD desktop defined in static `hosts` section.
11901190
- [ ] Can connect to AD desktop defined in static `static_hosts` section.
11911191
- [ ] Can connect to non-AD desktop defined in static `static_hosts` section.
1192-
- [ ] Can connect to non-AD desktop defined in static `non_ad_hosts` section.
11931192
- [ ] Can connect to desktop discovered via LDAP
11941193
- IoT mode (reverse tunnel through proxy):
1195-
- [ ] Can connect to AD desktop defined in static `hosts` section.
11961194
- [ ] Can connect to AD desktop defined in static `static_hosts` section.
11971195
- [ ] Can connect to non-AD desktop defined in static `static_hosts` section.
1198-
- [ ] Can connect to non-AD desktop defined in static `non_ad_hosts` section.
11991196
- [ ] Can connect to desktop discovered via LDAP
12001197
- [ ] Connect multiple `windows_desktop_service`s to the same Teleport cluster,
12011198
verify that connections to desktops on different AD domains works. (Attempt to
12021199
connect several times to verify that you are routed to the correct
12031200
`windows_desktop_service`)
1201+
- [ ] Set `client_idle_timeout` to a small value and verify that idle sessions
1202+
are terminated (the session should end and an audit event will confirm it
1203+
was due to idle connection)
12041204
- Verify user input
12051205
- [ ] Download [Keyboard Key Info](https://dennisbabkin.com/kbdkeyinfo/) and
12061206
verify all keys are processed correctly in each supported browser. Known
@@ -1216,11 +1216,8 @@ manualy testing.
12161216
- [ ] Verify that placing a desktop lock terminates an active desktop session.
12171217
- [ ] Verify that placing a role lock terminates an active desktop session.
12181218
- Labeling
1219-
- [ ] Set `client_idle_timeout` to a small value and verify that idle sessions
1220-
are terminated (the session should end and an audit event will confirm it
1221-
was due to idle connection)
12221219
- [ ] All desktops have `teleport.dev/origin` label.
1223-
- [ ] Dynamic desktops have additional `teleport.dev` labels for OS, OS
1220+
- [ ] Desktops discovered via LDAP have additional `teleport.dev` labels for OS, OS
12241221
Version, DNS hostname.
12251222
- [ ] Regexp-based host labeling applies across all desktops, regardless of
12261223
origin.
@@ -1278,12 +1275,14 @@ manualy testing.
12781275
- [ ] A file from inside the shared directory can be copy-pasted to another folder inside the shared directory
12791276
- [ ] A folder from inside the shared directory can be copy-pasted to another folder inside shared directory (and its contents retained)
12801277
- RBAC
1281-
- [ ] Give the user one role that explicitly disables directory sharing (`desktop_directory_sharing: false`) and confirm that the option to share a directory doesn't appear in the menu
1278+
- [ ] Give the user one role that explicitly disables directory sharing (`desktop_directory_sharing: false`)
1279+
and confirm that the option to share a directory doesn't appear in the menu and that the directory sharing
1280+
icon is in a disabled state.
12821281
- Per-Session MFA
1283-
- [ ] Attempting to start a session no keys registered shows an error message
1284-
- [ ] Attempting to start a session with a webauthn registered pops up the "Verify Your Identity" dialog
1285-
- [ ] Hitting "Cancel" shows an error message
1286-
- [ ] Hitting "Verify" causes your browser to prompt you for MFA
1282+
- [ ] Attempting to start a session with no keys registered shows an error message
1283+
- [ ] Attempting to start a session with a webauthn registered pops up the MFA dialog
1284+
- [ ] Canceling this dialog (clicking the X in the corner) shows an error
1285+
- [ ] Hitting "Passkey or MFA Device" causes your browser to prompt you for MFA
12871286
- [ ] Cancelling that browser MFA prompt shows an error
12881287
- [ ] Successful MFA verification allows you to connect
12891288
- Session Recording
@@ -1292,8 +1291,8 @@ manualy testing.
12921291
- [ ] Verify async recording (`mode: node` or `mode: proxy`)
12931292
- [ ] Sessions show up in session recordings UI with desktop icon
12941293
- [ ] Sessions can be played back, including play/pause functionality
1295-
- [ ] Sessions playback speed can be toggled while its playing
1296-
- [ ] Sessions playback speed can be toggled while its paused
1294+
- [ ] Sessions playback speed can be toggled while it's playing
1295+
- [ ] Sessions playback speed can be toggled while it's paused
12971296
- [ ] A session that ends with a TDP error message can be played back, ends by displaying the error message,
12981297
and the progress bar progresses to the end.
12991298
- [ ] Attempting to play back a session that doesn't exist (i.e. by entering a non-existing session id in the url) shows
@@ -1338,8 +1337,6 @@ manualy testing.
13381337
- Non-AD setup
13391338
- [ ] Installer in GUI mode finishes successfully on instance that is not part of domain
13401339
- [ ] Installer works correctly invoked from command line
1341-
- [ ] Non-AD instance can be added to `non_ad_hosts` section in config file and is visible in UI
1342-
- [ ] Non-AD can be added as dynamic resource and is visible in UI
13431340
- [ ] Non-AD instance has label `teleport.dev/ad: false`
13441341
- [ ] Connecting to non-AD instance works with OSS if there are no more than 5 non-AD desktops
13451342
- [ ] Connecting to non-AD instance fails with OSS if there are more than 5 non-AD desktops
@@ -1353,7 +1350,7 @@ manualy testing.
13531350
- [ ] `tctl get dynamic_windows_desktop` works with all supported formats
13541351
- [ ] Adding dynamic Windows desktop that doesn't match labels for any Windows Desktop Service does not create any
13551352
Windows desktop
1356-
- [ ] Adding dynamic Windows desktop that matches some `windows_desktop_services`s creates Windows desktops for each
1353+
- [ ] Adding dynamic Windows desktop that matches some `windows_desktop_service`s creates Windows desktops for each
13571354
matching WDS
13581355
- [ ] Updating dynamic Windows desktop updates corresponding Windows desktops
13591356
- [ ] Updating dynamic Windows desktop's labels so it no longer matches `windows_desktop_services` deletes

.github/workflows/doc-tests.yaml

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,14 @@ jobs:
4444
- name: Checkout
4545
uses: actions/checkout@v4
4646
with:
47-
repository: "gravitational/docs"
48-
path: "docs"
47+
repository: 'gravitational/teleport'
48+
path: 'teleport'
49+
50+
- name: Checkout
51+
uses: actions/checkout@v4
52+
with:
53+
repository: 'gravitational/docs'
54+
path: 'docs'
4955

5056
# Cache node_modules. Unlike the example in the actions/cache repo, this
5157
# caches the node_modules directory instead of the yarn cache. This is
@@ -69,6 +75,7 @@ jobs:
6975
run: yarn install
7076

7177
- name: Prepare docs site configuration
78+
working-directory: docs
7279
# The environment we use for linting the docs differs from the one we
7380
# use for the live docs site in that we only test a single version of
7481
# the content.
@@ -83,34 +90,24 @@ jobs:
8390
# of gravitational/teleport. We override this in order to build only a
8491
# single version of the docs.
8592
run: |
86-
if [ $GITHUB_EVENT_NAME = "pull_request" ]; then
87-
BRANCH=$GITHUB_HEAD_REF;
88-
elif [ $GITHUB_EVENT_NAME = "merge_group" ]; then
89-
# GitHub populates $GITHUB_REF with:
90-
# refs/heads/gh-readonly-queue/<base branch>/pr-<PR number>-<SHA>
91-
#
92-
# We strip the "refs/heads/" prefix so we can check out the branch.
93-
BRANCH=$(echo $GITHUB_REF | sed -E "s|refs/heads/(.*)|\1|")
94-
else
95-
echo "Unexpected event name: $GITHUB_EVENT_NAME";
96-
exit 1;
97-
fi
98-
99-
cd $GITHUB_WORKSPACE/docs
10093
echo "" > .gitmodules
10194
rm -rf content/*
10295
cd content
103-
# Add a submodule at docs/content/teleport
104-
git submodule add --force -b $BRANCH -- https://github.com/gravitational/teleport
96+
# Rather than using a submodule, copy the teleport source into the
97+
# content directory.
98+
cp -r $GITHUB_WORKSPACE/teleport $GITHUB_WORKSPACE/docs/content
10599
cd $GITHUB_WORKSPACE/docs
106-
echo "{\"versions\": [{\"name\": \"teleport\", \"branch\": \"$BRANCH\", \"deprecated\": false}]}" > $GITHUB_WORKSPACE/docs/config.json
100+
echo "{\"versions\": [{\"name\": \"teleport\", \"branch\": \"teleport\", \"deprecated\": false}]}" > $GITHUB_WORKSPACE/docs/config.json
101+
cat <<< "$(jq '.scripts."git-update" = "echo Skipping submodule update"' package.json)" > package.json
107102
yarn build-node
108103
109104
- name: Check spelling
110-
run: cd $GITHUB_WORKSPACE/docs && yarn spellcheck content/teleport
105+
working-directory: 'docs'
106+
run: yarn spellcheck content/teleport
111107

112-
- name: Lint the docs
113-
run: cd $GITHUB_WORKSPACE/docs && yarn markdown-lint
108+
- name: Lint docs formatting
109+
working-directory: 'docs'
110+
run: yarn markdown-lint
114111

115112
- name: Test the docs build
116113
working-directory: docs

Makefile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,12 @@ GO_LDFLAGS ?= -w -s $(KUBECTL_SETVERSION)
4848
ifeq ("$(TELEPORT_DEBUG)","true")
4949
BUILDFLAGS ?= $(ADDFLAGS) -gcflags=all="-N -l"
5050
BUILDFLAGS_TBOT ?= $(ADDFLAGS) -gcflags=all="-N -l"
51+
BUILDFLAGS_TELEPORT_UPDATE ?= $(ADDFLAGS) -gcflags=all="-N -l"
5152
else
5253
BUILDFLAGS ?= $(ADDFLAGS) -ldflags '$(GO_LDFLAGS)' -trimpath -buildmode=pie
5354
BUILDFLAGS_TBOT ?= $(ADDFLAGS) -ldflags '$(GO_LDFLAGS)' -trimpath
55+
# teleport-update builds with disabled cgo, buildmode=pie is not required.
56+
BUILDFLAGS_TELEPORT_UPDATE ?= $(ADDFLAGS) -ldflags '$(GO_LDFLAGS)' -trimpath
5457
endif
5558

5659
GO_ENV_OS := $(shell go env GOOS)
@@ -240,7 +243,8 @@ endif
240243

241244
# On Windows only build tsh. On all other platforms build teleport, tctl,
242245
# and tsh.
243-
BINS_default = teleport tctl tsh tbot fdpass-teleport
246+
BINS_default = teleport tctl tsh tbot fdpass-teleport teleport-update
247+
BINS_darwin = teleport tctl tsh tbot fdpass-teleport
244248
BINS_windows = tsh tctl
245249
BINS = $(or $(BINS_$(OS)),$(BINS_default))
246250
BINARIES = $(addprefix $(BUILDDIR)/,$(BINS))
@@ -312,6 +316,8 @@ endif
312316
CGOFLAG = CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++
313317
BUILDFLAGS = $(ADDFLAGS) -ldflags '-w -s $(KUBECTL_SETVERSION)' -trimpath -buildmode=pie
314318
BUILDFLAGS_TBOT = $(ADDFLAGS) -ldflags '-w -s $(KUBECTL_SETVERSION)' -trimpath
319+
# teleport-update builds with disabled cgo, buildmode=pie is not required.
320+
BUILDFLAGS_TELEPORT_UPDATE = $(ADDFLAGS) -ldflags '-w -s $(KUBECTL_SETVERSION)' -trimpath
315321
endif
316322

317323
ifeq ("$(OS)","darwin")
@@ -397,7 +403,7 @@ $(BUILDDIR)/tbot:
397403

398404
.PHONY: $(BUILDDIR)/teleport-update
399405
$(BUILDDIR)/teleport-update:
400-
GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build -o $(BUILDDIR)/teleport-update $(BUILDFLAGS) ./tool/teleport-update
406+
GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build -o $(BUILDDIR)/teleport-update $(BUILDFLAGS_TELEPORT_UPDATE) ./tool/teleport-update
401407

402408
TELEPORT_ARGS ?= start
403409
.PHONY: teleport-hot-reload

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Here is why you might use Teleport:
1212

1313
Teleport works with SSH, Kubernetes, databases, RDP, and web services.
1414

15-
* Architecture: https://goteleport.com/docs/architecture/introduction
15+
* Architecture: https://goteleport.com/docs/reference/architecture/architecture
1616
* Getting Started: https://goteleport.com/docs/getting-started/
1717

1818
<div align="center">

0 commit comments

Comments
 (0)