Skip to content

feat: homecli remote-access commands#109

Merged
danielBWeka merged 17 commits intorelease/v0.4from
danielb/remote-session-cli-commands
Feb 1, 2026
Merged

feat: homecli remote-access commands#109
danielBWeka merged 17 commits intorelease/v0.4from
danielb/remote-session-cli-commands

Conversation

@danielBWeka
Copy link
Collaborator

@danielBWeka danielBWeka commented Jan 27, 2026

Summary

Adds homecli remote-access commands for managing remote tmate debugging sessions in Local Weka Home.

Commands

remote-access start

Starts a new remote tmate session for debugging a Weka cluster. Creates a Kubernetes pod with two containers:

  • tmate container: Establishes SSH tunnel to tmate server, reports connection info via webhooks to both Cloud and Local Weka Home
  • recorder container: Records the terminal session to an asciinema .cast file for later playback

Required flags: --cluster-id, --cluster-name, --ssh-keys-path


remote-access stop

Terminates 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 sessions

remote-access list

Lists all active remote sessions with their session ID, cluster ID, cluster name, and duration.

Output formats: table (default), json, yaml


remote-access list-recordings

Lists available session recordings stored in the recordings PVC. Shows filename, size, modification time, and associated cluster ID.

Optional: --cluster-id <uuid> to filter by cluster
Output formats: table, json, yaml


remote-access copy-recording

Copies session recording files from the Kubernetes PVC to the local filesystem.

Flag Description
--recording <filename> Copy a specific recording
--cluster-id <uuid> Copy all recordings for a cluster
--all Copy all recordings
--output <directory> Destination directory (required)

@danielBWeka
Copy link
Collaborator Author

@cursor review

@cursor
Copy link

cursor bot commented Jan 27, 2026

Skipping Bugbot: Bugbot is disabled for this repository

@danielBWeka danielBWeka requested a review from Copilot January 27, 2026 20:36
@danielBWeka danielBWeka changed the title feat: rhomecli remote-access commands feat: homecli remote-access commands Jan 27, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@danielBWeka danielBWeka marked this pull request as ready for review January 28, 2026 09:58
@danielBWeka
Copy link
Collaborator Author

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
@danielBWeka danielBWeka merged commit 8afeca4 into release/v0.4 Feb 1, 2026
2 of 3 checks passed
danielBWeka added a commit that referenced this pull request Feb 1, 2026
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
danielBWeka added a commit that referenced this pull request Feb 8, 2026
… (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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants