Skip to content

Commit

Permalink
Merge branch 'master' into gzdunek/fix-identity-overflow
Browse files Browse the repository at this point in the history
  • Loading branch information
gzdunek authored Nov 15, 2024
2 parents 788503d + da30765 commit 09aefe3
Show file tree
Hide file tree
Showing 176 changed files with 10,969 additions and 3,324 deletions.
33 changes: 15 additions & 18 deletions .github/ISSUE_TEMPLATE/testplan.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ as well as an upgrade of the previous version of Teleport.
- [ ] Labels
- [ ] Static Labels
- [ ] Dynamic Labels
- [ ] [Resource-based Labels](https://goteleport.com/docs/admin-guides/management/admin/labels/#apply-resource-based-labels) using `server_info`

- [ ] Trusted Clusters
- [ ] Adding Trusted Cluster Valid Static Token
Expand Down Expand Up @@ -1186,21 +1187,20 @@ manualy testing.
## Desktop Access
- Direct mode (set `listen_addr`):
- [ ] Can connect to AD desktop defined in static `hosts` section.
- [ ] Can connect to AD desktop defined in static `static_hosts` section.
- [ ] Can connect to non-AD desktop defined in static `static_hosts` section.
- [ ] Can connect to non-AD desktop defined in static `non_ad_hosts` section.
- [ ] Can connect to desktop discovered via LDAP
- IoT mode (reverse tunnel through proxy):
- [ ] Can connect to AD desktop defined in static `hosts` section.
- [ ] Can connect to AD desktop defined in static `static_hosts` section.
- [ ] Can connect to non-AD desktop defined in static `static_hosts` section.
- [ ] Can connect to non-AD desktop defined in static `non_ad_hosts` section.
- [ ] Can connect to desktop discovered via LDAP
- [ ] Connect multiple `windows_desktop_service`s to the same Teleport cluster,
verify that connections to desktops on different AD domains works. (Attempt to
connect several times to verify that you are routed to the correct
`windows_desktop_service`)
- [ ] Set `client_idle_timeout` to a small value and verify that idle sessions
are terminated (the session should end and an audit event will confirm it
was due to idle connection)
- Verify user input
- [ ] Download [Keyboard Key Info](https://dennisbabkin.com/kbdkeyinfo/) and
verify all keys are processed correctly in each supported browser. Known
Expand All @@ -1216,11 +1216,8 @@ manualy testing.
- [ ] Verify that placing a desktop lock terminates an active desktop session.
- [ ] Verify that placing a role lock terminates an active desktop session.
- Labeling
- [ ] Set `client_idle_timeout` to a small value and verify that idle sessions
are terminated (the session should end and an audit event will confirm it
was due to idle connection)
- [ ] All desktops have `teleport.dev/origin` label.
- [ ] Dynamic desktops have additional `teleport.dev` labels for OS, OS
- [ ] Desktops discovered via LDAP have additional `teleport.dev` labels for OS, OS
Version, DNS hostname.
- [ ] Regexp-based host labeling applies across all desktops, regardless of
origin.
Expand Down Expand Up @@ -1278,12 +1275,14 @@ manualy testing.
- [ ] A file from inside the shared directory can be copy-pasted to another folder inside the shared directory
- [ ] A folder from inside the shared directory can be copy-pasted to another folder inside shared directory (and its contents retained)
- RBAC
- [ ] 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
- [ ] 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 and that the directory sharing
icon is in a disabled state.
- Per-Session MFA
- [ ] Attempting to start a session no keys registered shows an error message
- [ ] Attempting to start a session with a webauthn registered pops up the "Verify Your Identity" dialog
- [ ] Hitting "Cancel" shows an error message
- [ ] Hitting "Verify" causes your browser to prompt you for MFA
- [ ] Attempting to start a session with no keys registered shows an error message
- [ ] Attempting to start a session with a webauthn registered pops up the MFA dialog
- [ ] Canceling this dialog (clicking the X in the corner) shows an error
- [ ] Hitting "Passkey or MFA Device" causes your browser to prompt you for MFA
- [ ] Cancelling that browser MFA prompt shows an error
- [ ] Successful MFA verification allows you to connect
- Session Recording
Expand All @@ -1292,8 +1291,8 @@ manualy testing.
- [ ] Verify async recording (`mode: node` or `mode: proxy`)
- [ ] Sessions show up in session recordings UI with desktop icon
- [ ] Sessions can be played back, including play/pause functionality
- [ ] Sessions playback speed can be toggled while its playing
- [ ] Sessions playback speed can be toggled while its paused
- [ ] Sessions playback speed can be toggled while it's playing
- [ ] Sessions playback speed can be toggled while it's paused
- [ ] A session that ends with a TDP error message can be played back, ends by displaying the error message,
and the progress bar progresses to the end.
- [ ] Attempting to play back a session that doesn't exist (i.e. by entering a non-existing session id in the url) shows
Expand Down Expand Up @@ -1338,8 +1337,6 @@ manualy testing.
- Non-AD setup
- [ ] Installer in GUI mode finishes successfully on instance that is not part of domain
- [ ] Installer works correctly invoked from command line
- [ ] Non-AD instance can be added to `non_ad_hosts` section in config file and is visible in UI
- [ ] Non-AD can be added as dynamic resource and is visible in UI
- [ ] Non-AD instance has label `teleport.dev/ad: false`
- [ ] Connecting to non-AD instance works with OSS if there are no more than 5 non-AD desktops
- [ ] Connecting to non-AD instance fails with OSS if there are more than 5 non-AD desktops
Expand All @@ -1353,7 +1350,7 @@ manualy testing.
- [ ] `tctl get dynamic_windows_desktop` works with all supported formats
- [ ] Adding dynamic Windows desktop that doesn't match labels for any Windows Desktop Service does not create any
Windows desktop
- [ ] Adding dynamic Windows desktop that matches some `windows_desktop_services`s creates Windows desktops for each
- [ ] Adding dynamic Windows desktop that matches some `windows_desktop_service`s creates Windows desktops for each
matching WDS
- [ ] Updating dynamic Windows desktop updates corresponding Windows desktops
- [ ] Updating dynamic Windows desktop's labels so it no longer matches `windows_desktop_services` deletes
Expand Down
41 changes: 19 additions & 22 deletions .github/workflows/doc-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,14 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
repository: "gravitational/docs"
path: "docs"
repository: 'gravitational/teleport'
path: 'teleport'

- name: Checkout
uses: actions/checkout@v4
with:
repository: 'gravitational/docs'
path: 'docs'

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

- name: Prepare docs site configuration
working-directory: docs
# The environment we use for linting the docs differs from the one we
# use for the live docs site in that we only test a single version of
# the content.
Expand All @@ -83,34 +90,24 @@ jobs:
# of gravitational/teleport. We override this in order to build only a
# single version of the docs.
run: |
if [ $GITHUB_EVENT_NAME = "pull_request" ]; then
BRANCH=$GITHUB_HEAD_REF;
elif [ $GITHUB_EVENT_NAME = "merge_group" ]; then
# GitHub populates $GITHUB_REF with:
# refs/heads/gh-readonly-queue/<base branch>/pr-<PR number>-<SHA>
#
# We strip the "refs/heads/" prefix so we can check out the branch.
BRANCH=$(echo $GITHUB_REF | sed -E "s|refs/heads/(.*)|\1|")
else
echo "Unexpected event name: $GITHUB_EVENT_NAME";
exit 1;
fi
cd $GITHUB_WORKSPACE/docs
echo "" > .gitmodules
rm -rf content/*
cd content
# Add a submodule at docs/content/teleport
git submodule add --force -b $BRANCH -- https://github.com/gravitational/teleport
# Rather than using a submodule, copy the teleport source into the
# content directory.
cp -r $GITHUB_WORKSPACE/teleport $GITHUB_WORKSPACE/docs/content
cd $GITHUB_WORKSPACE/docs
echo "{\"versions\": [{\"name\": \"teleport\", \"branch\": \"$BRANCH\", \"deprecated\": false}]}" > $GITHUB_WORKSPACE/docs/config.json
echo "{\"versions\": [{\"name\": \"teleport\", \"branch\": \"teleport\", \"deprecated\": false}]}" > $GITHUB_WORKSPACE/docs/config.json
cat <<< "$(jq '.scripts."git-update" = "echo Skipping submodule update"' package.json)" > package.json
yarn build-node
- name: Check spelling
run: cd $GITHUB_WORKSPACE/docs && yarn spellcheck content/teleport
working-directory: 'docs'
run: yarn spellcheck content/teleport

- name: Lint the docs
run: cd $GITHUB_WORKSPACE/docs && yarn markdown-lint
- name: Lint docs formatting
working-directory: 'docs'
run: yarn markdown-lint

- name: Test the docs build
working-directory: docs
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Here is why you might use Teleport:

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

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

<div align="center">
Expand Down
Loading

0 comments on commit 09aefe3

Please sign in to comment.