Skip to content

Conversation

@laurazard
Copy link
Contributor

@laurazard laurazard commented Dec 11, 2025

Fixes #8720

@github-project-automation github-project-automation bot moved this to To Do in Planning Dec 11, 2025
@laurazard laurazard self-assigned this Dec 11, 2025
@laurazard laurazard force-pushed the poc-talos-debug branch 8 times, most recently from ce722ef to 97f4bb2 Compare December 17, 2025 12:17
@laurazard laurazard force-pushed the poc-talos-debug branch 3 times, most recently from 95c259b to 79cd19e Compare January 12, 2026 12:59
@laurazard laurazard moved this from To Do to In Progress in Planning Jan 12, 2026
@laurazard
Copy link
Contributor Author

@smira when you get a sec can you TAL and see if you have any early feedback/ideas?

@laurazard laurazard requested a review from smira January 12, 2026 13:06
@laurazard laurazard force-pushed the poc-talos-debug branch 2 times, most recently from 3da742a to 4d9c6ca Compare January 12, 2026 13:39
@smira smira moved this from In Progress to In Review in Planning Jan 14, 2026
@smira smira force-pushed the poc-talos-debug branch 2 times, most recently from 5e0b486 to f9893d7 Compare January 28, 2026 17:31
smira added a commit to smira/talos that referenced this pull request Jan 29, 2026
Instead of defaulting to one2many, list explicitly one2many supported
APIs.

The idea is that any new API will only be "normal" gRPC API, so we can
flip the switch, and consider one2many APIs as "legacy".

Extracted from siderolabs#12392

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
smira added a commit to smira/talos that referenced this pull request Jan 29, 2026
Instead of defaulting to one2many, list explicitly one2many supported
APIs.

The idea is that any new API will only be "normal" gRPC API, so we can
flip the switch, and consider one2many APIs as "legacy".

Extracted from siderolabs#12392

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
smira added a commit to smira/talos that referenced this pull request Jan 29, 2026
Instead of defaulting to one2many, list explicitly one2many supported
APIs.

The idea is that any new API will only be "normal" gRPC API, so we can
flip the switch, and consider one2many APIs as "legacy".

Extracted from siderolabs#12392

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
smira added a commit to smira/talos that referenced this pull request Jan 30, 2026
These new APIs only support one2one proxying, so they don't have any
hacks, and look as regular gRPC APIs.

Old APIs are deprecated, but still supported.

Implement client-side multiplexing in `talosctl`, provide fallback to
old APIs for legacy Talos versions.

New APIs include removing an image, importing an image.

Extracted from siderolabs#12392

Co-authored-by: Laura Brehm <laurabrehm@hey.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
smira added a commit to smira/talos that referenced this pull request Jan 30, 2026
These new APIs only support one2one proxying, so they don't have any
hacks, and look as regular gRPC APIs.

Old APIs are deprecated, but still supported.

Implement client-side multiplexing in `talosctl`, provide fallback to
old APIs for legacy Talos versions.

New APIs include removing an image, importing an image.

Extracted from siderolabs#12392

Co-authored-by: Laura Brehm <laurabrehm@hey.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
@smira smira self-assigned this Feb 2, 2026
smira added a commit to smira/talos that referenced this pull request Feb 2, 2026
These new APIs only support one2one proxying, so they don't have any
hacks, and look as regular gRPC APIs.

Old APIs are deprecated, but still supported.

Implement client-side multiplexing in `talosctl`, provide fallback to
old APIs for legacy Talos versions.

New APIs include removing an image, importing an image.

Extracted from siderolabs#12392

Co-authored-by: Laura Brehm <laurabrehm@hey.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
@smira smira changed the title 🚧 [WIP] (POC) feat: talosctl debug feat: talosctl debug Feb 3, 2026
@smira smira force-pushed the poc-talos-debug branch 2 times, most recently from 3b97cbe to dac9c15 Compare February 3, 2026 19:01
@smira

This comment was marked as resolved.

@smira smira marked this pull request as ready for review February 4, 2026 13:19
Copy link
Member

@smira smira left a comment

Choose a reason for hiding this comment

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

🎉

@github-project-automation github-project-automation bot moved this from In Review to Approved in Planning Feb 4, 2026
}

// TestRunAlpine tests running a simple alpine container via DebugService.
func (suite *DebugSuite) TestRunAlpine() {
Copy link
Member

Choose a reason for hiding this comment

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

I wonder if we can use this for all other tests that does nsenter

Copy link
Member

Choose a reason for hiding this comment

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

yep, we could I guess - I can create an issue to transform this, we might still nsenter due to different mount namespace

Copy link
Member

@frezbo frezbo left a comment

Choose a reason for hiding this comment

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

🆒

This implements a way to run a debug container with a provided image on
the node.

The container runs with privileged profile, allowing to issue debugging
commands (e.g. using some advanced network tools) to troubleshoot a
machine.

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
@smira
Copy link
Member

smira commented Feb 5, 2026

/m

@talos-bot talos-bot merged commit d43a01c into siderolabs:main Feb 5, 2026
103 of 104 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Done in Planning Feb 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Ability to debug nodes with running debug container

4 participants