GitHub Warpgate for Business →

Session recordings§

Warpgate can record sessions and replay them from the admin UI:

  • Visual terminal replay for SSH and Kubernetes exec/attach
  • Video and input replay for RDP and VNC
  • Request and query logs for the HTTP, Kubernetes API, PostgreSQL and MySQL.

Recording is enabled during setup or under Config > Global parameters > Session recordings > Record sessions.

Storage§

Recordings are written to the selected Storage backend:

  • Local disk - for a single node or a cluster with a shared filesystem.
  • S3 (v0.27+) - both AWS and compatible providers. On EC2/EKS, Warpgate can authenticate with its IAM role.

Changing the storage location only affects new recordings and existing files must be copied manually.

With S3, a recording is written to a local scratch file while the session runs and uploaded when it ends. The scratch location defaults to data/recordings-scratch next to the config file. If that isn't writable - the config in /etc, Warpgate running as an unprivileged user - set Local scratch directory in the S3 settings (v0.30+). A relative path is resolved against the config file's directory.

S3 bucket CORS policy§

The admin UI loads recording files directly from the bucket using a presigned URL. For this to work correctly, the bucket needs a specific CORS policy:

[
  {
    "AllowedOrigins": ["https://warpgate.example.com"],
    "AllowedMethods": ["GET", "HEAD"],
    "AllowedHeaders": ["*"],
    "MaxAgeSeconds": 3000
  }
]

On AWS, you can set it up under Permissions > Cross-origin resource sharing.

MinIO allows every origin by default and doesn't need a policy.


Imprint