teleport/lib
Zac Bergquist bf52b4f3f5
Export desktop recordings to video (#23253)
* Export desktop recordings to video

Add a new tsh command that will write Windows desktop recordings
to an AVI file for offline playback. Encoding is done client side
to avoid consuming server resources.

This uses the Motion JPEG codec (https://en.wikipedia.org/wiki/Motion_JPEG)
for its simplicity and ease of use. Something like ffmpeg would perform
better in nearly every aspect (run time, compression / file size, video
quality, etc), but that would complicate our build process and add extra
native dependencies. This implementation uses pure Go and works on any
platform where tsh runs today.

Also make sure `tsh recordings ls` shows Windows and SSH recordings.

* Untangle test imports

lib/events/eventstest is allowed to import lib/events
(it needs to in order to implement interfaces and use types)

This means lib/events can not import lib/events/eventstest,
which requires that we move some tests from package events
to package events_test

* tdp: break dependency on lib/srv

The lib/srv package is large and contains Unix-specific code.
Now that tsh needs to understand the TDP protocol, we need to
avoid importing lib/srv so that tsh can still build on Windows.
2023-04-06 23:20:00 +00:00
..
agentless Convert tsh ssh to use the proxy transport service instead of ssh (#23228) 2023-04-04 21:31:39 +00:00
asciitable
auditd
auth Export desktop recordings to video (#23253) 2023-04-06 23:20:00 +00:00
authz fix flaky tests (#24117) 2023-04-05 16:39:51 +00:00
automaticupgrades Use stable/cloud when Automatic Upgrades is on. (#23395) 2023-03-28 16:05:09 +00:00
backend Improve performance of ListResources (#23534) 2023-03-24 18:44:39 +00:00
benchmark Introduce tsh bench kube tool (#23781) 2023-04-04 17:29:14 +00:00
bpf Temporary disable BPF tests (#23428) 2023-03-22 13:12:36 +00:00
cache Security fixes 03/23 (#23864) 2023-03-31 21:55:13 +00:00
cgroup Currently, our BPF modules send all events from the kernel to the userspace, where we filter them and log only the ones related to our process. Sending the events between the user and kernel space is expensive, and most of the events are discarded after. (#19354) 2023-02-07 19:20:55 +00:00
circleci
client Fix race in TestSSH/ssh_jump_host_access (#24195) 2023-04-06 19:09:17 +00:00
cloud improve aws utils and database validation (#23157) 2023-03-17 00:45:25 +00:00
config SQL Server PKINIT authentication update (#22792) 2023-03-28 15:04:29 +00:00
configurators
darwin
defaults Add Support for Oracle protocol (#23227) 2023-03-31 17:35:21 +00:00
devicetrust Define an explicit device resource as DeviceV1 (#23901) 2023-04-03 21:23:45 +00:00
events Export desktop recordings to video (#23253) 2023-04-06 23:20:00 +00:00
fixtures Move ALPN dialer, ALPN conn upgrade, Ping conn to api (#23860) 2023-04-03 14:16:30 +00:00
fuzz
githubactions
gitlab GitLab Delegated Joining docs (#23047) 2023-04-03 11:00:44 +00:00
httplib Hosted plugins onboarding prerequisites (#23234) 2023-03-31 16:05:51 +00:00
inventory usagereporter: resource heartbeats (#23093) 2023-03-24 18:47:58 +00:00
joinserver Add Azure join method (#20019) 2023-02-08 17:21:11 +00:00
jwt Add secure client IP propagation throughout teleport (#21080) 2023-02-28 20:38:12 +00:00
kube Support credentials forwarding in Kubernetes Access (#23978) 2023-04-06 12:44:35 +00:00
kubernetestoken
labels
limiter Add metrics to track connection ingress (#19734) 2023-02-01 23:45:34 +00:00
loginrule feat: add login rule evaluator to auth.Server (#20514) 2023-01-24 18:48:55 +00:00
loglimit Deduplicate multiplexer detection errors over 1-minute windows (#20694) 2023-03-08 20:32:44 +00:00
modules fix flaky tests (#24117) 2023-04-05 16:39:51 +00:00
multiplexer Add missing continue and handle error in the test echo SSH server (#24224) 2023-04-06 20:09:16 +00:00
observability
pam Refactor tctl's dependencies (#22693) 2023-03-09 17:48:36 +00:00
plugin
proxy Convert tsh ssh to use the proxy transport service instead of ssh (#23228) 2023-04-04 21:31:39 +00:00
release
restrictedsession Refactor tctl's dependencies (#22693) 2023-03-09 17:48:36 +00:00
reversetunnel Make TestTeleportProcess_reconnectToAuth less flaky (#24170) 2023-04-06 12:37:40 +00:00
secret
service Fix race in TestSSH/ssh_jump_host_access (#24195) 2023-04-06 19:09:17 +00:00
services Integrations service for CRUD operations (#23989) 2023-04-05 16:49:43 +00:00
session Add support for Moderated Sessions in the Web UI (#19647) 2023-01-26 22:52:01 +00:00
shell
srv Export desktop recordings to video (#23253) 2023-04-06 23:20:00 +00:00
sshca
sshutils Add missing continue and handle error in the test echo SSH server (#24224) 2023-04-06 20:09:16 +00:00
system Refactor tctl's dependencies (#22693) 2023-03-09 17:48:36 +00:00
tbot Include correct identity in post-renewal log message (#24240) 2023-04-06 20:15:25 +00:00
teleagent
teleterm Cleanup kubeconfig by kube cluster addr on tsh logout (#23330) 2023-03-21 16:02:15 +00:00
tlsca Metrics: add IsSSO to Discover Events (#23791) 2023-03-31 15:17:07 +00:00
usagereporter usagereporter: on-prem dial home (#23916) 2023-04-05 19:24:32 +00:00
utils Remove unused code (#24163) 2023-04-05 22:49:47 +00:00
versioncontrol
web Export desktop recordings to video (#23253) 2023-04-06 23:20:00 +00:00
runtimeflags.go