feat: homecli remote-access commands#109
Conversation
|
@cursor review |
|
Skipping Bugbot: Bugbot is disabled for this repository |
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive CLI commands for managing remote tmate sessions in the rhomecli tool, enabling remote cluster debugging capabilities. The feature allows users to start, stop, list, and manage remote debugging sessions along with their recordings.
Changes:
- Added new Kubernetes client utilities for pod execution and file copying
- Implemented five new remote-access subcommands (start, stop, list, list-recordings, copy-recording)
- Modified chart configuration to enable remote session client and disable large Grafana dashboards
- Added API key validation skip logic for remote-access commands
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| internal/local/chart/v3.go | Enables remote session client and disables large dashboards to stay under Helm limits |
| internal/local/chart/kube.go | Adds K8s client abstractions for pod exec, file copying, and resource queries |
| internal/env/config.go | Adds SkipAPIKeyValidation flag to allow remote commands without API key |
| internal/cli/local/remote/start.go | Implements command to start new tmate sessions with customizable parameters |
| internal/cli/local/remote/stop.go | Implements command to stop sessions by ID, cluster, or all |
| internal/cli/local/remote/list.go | Implements command to list active sessions with multiple output formats |
| internal/cli/local/remote/list_recordings.go | Implements command to list recordings with filtering and formatting |
| internal/cli/local/remote/copy_recording.go | Implements command to copy recordings from PVC to local filesystem |
| internal/cli/local/remote/remote.go | Defines remote-access command group and wires up subcommands |
| internal/cli/local/local.go | Adds blank line (formatting only) |
| internal/cli/cli.go | Integrates remote CLI commands into main CLI |
| internal/cli/app/app.go | Configures API key validation skip for remote-access command group |
| go.mod | Moves k8s.io/utils from indirect to direct dependency |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 9 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Mend security check failures will be resolved by #110 |
commit c4606e9 Merge: a335aa3 511a9db Author: vyeveweka <vitalii.yevenko@weka.io> Date: Fri Jan 30 16:39:32 2026 +0200 Merge pull request #112 from weka/chore/v.yevenko/WH-3694-disable-redis-fix chore: disable redis fix commit 511a9db Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Fri Jan 30 12:23:14 2026 +0200 disabled redis for LWH commit 249a960 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 22:00:15 2026 +0200 fixed redis deployment commit a335aa3 Merge: b3e913b 53deac1 Author: vyeveweka <vitalii.yevenko@weka.io> Date: Thu Jan 29 17:02:26 2026 +0200 Merge pull request #111 from weka/chore/v.yevenko/WH-3694-disable-redis chore: disable redis commit 53deac1 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 14:15:40 2026 +0200 disable redis
commit 073f477 Author: Daniel Binyamin <daniel.binyamin@weka.io> Date: Sun Feb 1 12:51:35 2026 +0200 chore: GitHub Actions release workflow for homecli (WH-3686) (#113) * release github action * updates * adjustments * only release/v.0.4 * fix vulnerability * copilot fixes commit 8afeca4 Author: Daniel Binyamin <daniel.binyamin@weka.io> Date: Sun Feb 1 10:12:00 2026 +0200 feat: homecli remote-access commands (#109) * Add remote session cli commands * get image from configMap * enable remote access values for LWH * copy using sidecar deployment * remove http.go * fix copy recordings * lint + fixes * fixes * pre-commit * fixes 2 * sort recordings list * fix error handling * validate tmte server flags * fixes 4 * Squashed commit of the following: commit c4606e9 Merge: a335aa3 511a9db Author: vyeveweka <vitalii.yevenko@weka.io> Date: Fri Jan 30 16:39:32 2026 +0200 Merge pull request #112 from weka/chore/v.yevenko/WH-3694-disable-redis-fix chore: disable redis fix commit 511a9db Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Fri Jan 30 12:23:14 2026 +0200 disabled redis for LWH commit 249a960 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 22:00:15 2026 +0200 fixed redis deployment commit a335aa3 Merge: b3e913b 53deac1 Author: vyeveweka <vitalii.yevenko@weka.io> Date: Thu Jan 29 17:02:26 2026 +0200 Merge pull request #111 from weka/chore/v.yevenko/WH-3694-disable-redis chore: disable redis commit 53deac1 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 14:15:40 2026 +0200 disable redis * fix merge conflict commit c4606e9 Merge: a335aa3 511a9db Author: vyeveweka <vitalii.yevenko@weka.io> Date: Fri Jan 30 16:39:32 2026 +0200 Merge pull request #112 from weka/chore/v.yevenko/WH-3694-disable-redis-fix chore: disable redis fix commit 511a9db Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Fri Jan 30 12:23:14 2026 +0200 disabled redis for LWH commit 249a960 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 22:00:15 2026 +0200 fixed redis deployment commit a335aa3 Merge: b3e913b 53deac1 Author: vyeveweka <vitalii.yevenko@weka.io> Date: Thu Jan 29 17:02:26 2026 +0200 Merge pull request #111 from weka/chore/v.yevenko/WH-3694-disable-redis chore: disable redis commit 53deac1 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 14:15:40 2026 +0200 disable redis
… (WH-3695) (#110) * Go dependency upgrades and npm overrides * more fixes * skip CVE-2025-50537 * precommit fix * update webapp to vite * precommit * Squashed commit of the following: commit 073f477 Author: Daniel Binyamin <daniel.binyamin@weka.io> Date: Sun Feb 1 12:51:35 2026 +0200 chore: GitHub Actions release workflow for homecli (WH-3686) (#113) * release github action * updates * adjustments * only release/v.0.4 * fix vulnerability * copilot fixes commit 8afeca4 Author: Daniel Binyamin <daniel.binyamin@weka.io> Date: Sun Feb 1 10:12:00 2026 +0200 feat: homecli remote-access commands (#109) * Add remote session cli commands * get image from configMap * enable remote access values for LWH * copy using sidecar deployment * remove http.go * fix copy recordings * lint + fixes * fixes * pre-commit * fixes 2 * sort recordings list * fix error handling * validate tmte server flags * fixes 4 * Squashed commit of the following: commit c4606e9 Merge: a335aa3 511a9db Author: vyeveweka <vitalii.yevenko@weka.io> Date: Fri Jan 30 16:39:32 2026 +0200 Merge pull request #112 from weka/chore/v.yevenko/WH-3694-disable-redis-fix chore: disable redis fix commit 511a9db Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Fri Jan 30 12:23:14 2026 +0200 disabled redis for LWH commit 249a960 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 22:00:15 2026 +0200 fixed redis deployment commit a335aa3 Merge: b3e913b 53deac1 Author: vyeveweka <vitalii.yevenko@weka.io> Date: Thu Jan 29 17:02:26 2026 +0200 Merge pull request #111 from weka/chore/v.yevenko/WH-3694-disable-redis chore: disable redis commit 53deac1 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 14:15:40 2026 +0200 disable redis * fix merge conflict commit c4606e9 Merge: a335aa3 511a9db Author: vyeveweka <vitalii.yevenko@weka.io> Date: Fri Jan 30 16:39:32 2026 +0200 Merge pull request #112 from weka/chore/v.yevenko/WH-3694-disable-redis-fix chore: disable redis fix commit 511a9db Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Fri Jan 30 12:23:14 2026 +0200 disabled redis for LWH commit 249a960 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 22:00:15 2026 +0200 fixed redis deployment commit a335aa3 Merge: b3e913b 53deac1 Author: vyeveweka <vitalii.yevenko@weka.io> Date: Thu Jan 29 17:02:26 2026 +0200 Merge pull request #111 from weka/chore/v.yevenko/WH-3694-disable-redis chore: disable redis commit 53deac1 Author: Vitalii Yevenko <vitalii.yevenko@weka.io> Date: Thu Jan 29 14:15:40 2026 +0200 disable redis * go mod tidy
Summary
Adds
homecli remote-accesscommands for managing remote tmate debugging sessions in Local Weka Home.Commands
remote-access startStarts a new remote tmate session for debugging a Weka cluster. Creates a Kubernetes pod with two containers:
.castfile for later playbackRequired flags:
--cluster-id,--cluster-name,--ssh-keys-pathremote-access stopTerminates running remote session(s) by deleting the session pod(s). Supports three modes:
--session-id <id>— Stop a specific session--cluster-id <uuid>— Stop all sessions for a cluster--all— Stop all active sessionsremote-access listLists all active remote sessions with their session ID, cluster ID, cluster name, and duration.
Output formats:
table(default),json,yamlremote-access list-recordingsLists available session recordings stored in the recordings PVC. Shows filename, size, modification time, and associated cluster ID.
Optional:
--cluster-id <uuid>to filter by clusterOutput formats:
table,json,yamlremote-access copy-recordingCopies session recording files from the Kubernetes PVC to the local filesystem.
--recording <filename>--cluster-id <uuid>--all--output <directory>