Skip to content

docs: add security and resources page for Talos Containers - #891

Draft
Iheanacho-ai wants to merge 1 commit into
siderolabs:mainfrom
Iheanacho-ai:talos-containers-security-resources
Draft

Iheanacho-ai wants to merge 1 commit into
siderolabs:mainfrom
Iheanacho-ai:talos-containers-security-resources

Conversation

@Iheanacho-ai

Copy link
Copy Markdown
Member

What

Adds "Configure Security and Resources for a Talos Container", a how-to page, to the v1.14 and v1.15 docs.

Part of #885. This is the security and resources half. Startup order and networking will be a separate page once siderolabs/talos#14731 lands.

Why

#885 is split into two pages, and only the startup half depends on the networks rename. This half can merge now.

Change

  • New talos-containers/configure-security-and-resources.mdx in v1.14 and v1.15, covering:
    • the restricted and privileged profiles
    • adding and dropping capabilities
    • runAs
    • machinedAccess
    • CPU and memory limits
  • The machinedAccess section opens with a warning: a container with the setting can request any role.
  • It then states what the setting doesn't grant. The socket is owned by uid 50, so the container also needs runAs 50, DAC_OVERRIDE, or privileged.
  • The v1.15 copy adds WorkloadResourceConfig and CPUPartitionConfig for limiting all containers together.

@majabojarska, two hidden TODOs need your confirmation:

  • The minimum grant for machinedAccess.
  • That added capabilities don't survive for a non-root runAs. Talos sets no ambient capabilities.

Testing

  • Ran: style-check-changed-local, check-frontmatter-changed, canonical-links-check.
  • Where: locally, against the release-1.14 and main Talos source and containerd v2.3.6.
  • By: an agent (Claude Code). Each claim was checked against the source:
    • the profile translation
    • AllGrantableCapabilities
    • the machined socket owner and authorization rule
    • the cpu.max and memory.max mapping
    • limits being dropped in container mode
  • Result: the checks pass. Nothing was run on a machine.
  • Filled from outside the page: privileged excludes SYS_BOOT and SYS_MODULE, which the reference doesn't mention.

@mintlify

mintlify Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Preview approval required

This pull request comes from a fork, so Mintlify won't build a preview until someone with write access approves commit fa6da9e.

Approve preview

@Iheanacho-ai
Iheanacho-ai marked this pull request as draft October 26, 2026 22:22
@github-project-automation github-project-automation Bot moved this to To Do in Planning Oct 26, 2026
@talos-bot talos-bot moved this from To Do to In Review in Planning Oct 26, 2026
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

📋 Automated documentation review

⚠️ The reviewer did not finish on commit fa6da9e (it timed out or errored) — see the workflow run log. This run did not produce a result; any findings from an earlier run on this PR still stand.

@majabojarska
majabojarska self-requested a review October 27, 2026 11:51
@smira smira removed this from Planning Oct 27, 2026
@Iheanacho-ai
Iheanacho-ai force-pushed the talos-containers-security-resources branch 4 times, most recently from ba6728d to be35dd1 Compare October 28, 2026 13:15
Add a how-to page to the v1.14 and v1.15 docs covering the security
side of a ContainerConfig document: the restricted and privileged
profiles, adding and dropping capabilities, runAs, and Talos API access
with machinedAccess.

The machinedAccess section states what the setting does and what it
does not: it mounts the machined socket and lets the container request
any role, but the socket is owned by the apid user, so the container
also needs runAs 50, DAC_OVERRIDE, or the privileged profile.

Resource limits, networking, and startup order have their own pages.

Part of siderolabs#885

Signed-off-by: Amarachi Iheanacho <amarachi.iheanacho@siderolabs.com>
@Iheanacho-ai
Iheanacho-ai force-pushed the talos-containers-security-resources branch from be35dd1 to fa6da9e Compare October 28, 2026 15:46

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants