Skip to content

docs: support ca rotation with Omni#354

Merged
talos-bot merged 1 commit intosiderolabs:mainfrom
oguzkilcan:docs/ca-rotation
Mar 17, 2026
Merged

docs: support ca rotation with Omni#354
talos-bot merged 1 commit intosiderolabs:mainfrom
oguzkilcan:docs/ca-rotation

Conversation

@oguzkilcan
Copy link
Copy Markdown
Member

Add documentation for CA rotation for Kubernetes and Talos with omnictl

@oguzkilcan
Copy link
Copy Markdown
Member Author

This needs to be merged after Omni 1.6 is released.


`omnictl` needs to be able to reach your Omni instance, Image Factory (Omni uses the default [Image Factory](https://factory.talos.dev/) if not configured otherwise) and Talos nodes over the network.

Also, your Omni instance needs to be able to reach the Talos nodes over the network. If your nodes are behind a firewall, in a private network, or otherwise not directly reachable, you would need to configure a load balancer to forward TCP port 50000 to reach the nodes for Talos API access.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Intentional?

Copy link
Copy Markdown
Member Author

@oguzkilcan oguzkilcan Feb 9, 2026

Choose a reason for hiding this comment

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

Omni instance doesn't need to reach Talos nodes directly. It reaches them over SideroLink. Talos nodes need to be able to initiate the connection though.

Run the following command to rotate the Talos API CA:

```shell
$ omnictl cluster -n <cluster-name> secret rotate talos-ca
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

remove the shell symbol $

Talos sets up root certificate authorities with the lifetime of 10 years, and all Talos and Kubernetes API certificates are issued by these root CAs.
So the rotation of the root CA is only needed if:

- you want to revoke access to the cluster for a leaked break-glass `kubeconfig` or `talosconfig`;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Start each list with Capital letters


There are some details which make Talos and Kubernetes API root CA rotation a bit different, but the general flow is the same:

- generate new CA certificate and key;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Start each list with capital letters

At the end of the flow, old CA is completely removed from the cluster, so all certificates issued by it will be considered invalid.

Omni internally handles all these steps in three stages:
- PRE-ROTATE: Add a new CA certificate as 'accepted',
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

embolden this PRE-ROTATE, same goes with ROTATE and POST-ROTATE

Run the following command to rotate the Kubernetes API CA:

```shell
$ omnictl cluster -n <cluster-name> secret rotate kubernetes-ca
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

remove the shell command here

@oguzkilcan oguzkilcan marked this pull request as ready for review March 16, 2026 14:07
Copilot AI review requested due to automatic review settings March 16, 2026 14:07
@github-project-automation github-project-automation Bot moved this to To Do in Planning Mar 16, 2026
@talos-bot talos-bot moved this from To Do to In Review in Planning Mar 16, 2026
Copy link
Copy Markdown

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

Adds documentation for rotating Talos and Kubernetes API root CAs via omnictl, and links that guidance from the Talos cluster import flow so users can remove the post-import “tainted” state.

Changes:

  • Add a new “CA Rotation” doc covering Talos API and Kubernetes API CA rotation workflows and status checks.
  • Add “Next steps” guidance to the Talos import doc pointing users to CA rotation to remove tainted-by-importing.
  • Register the new doc in the docs navigation (public/docs.json, omni.yaml).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
public/omni/cluster-management/importing-talos-clusters.mdx Adds “Next steps” directing imported-cluster users to CA rotation to remove the import taint label.
public/omni/cluster-management/ca-rotation.mdx New documentation page describing CA rotation flows and relevant omnictl commands.
public/docs.json Adds the new CA rotation page to the Cluster Management docs section.
omni.yaml Adds CA rotation to the Omni “Cluster Management” navigation group.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +2 to +3
title: "CA Rotation"
description: "How to rotate Talos and Kubernetes API root certificate authorities."
@github-project-automation github-project-automation Bot moved this from In Review to Approved in Planning Mar 16, 2026
@oguzkilcan
Copy link
Copy Markdown
Member Author

/m

Add documentation for CA rotation for Kubernetes and Talos with `omnictl`

Signed-off-by: Oguz Kilcan <oguz.kilcan@siderolabs.com>
@Iheanacho-ai
Copy link
Copy Markdown
Member

/m

@talos-bot talos-bot merged commit d03481c into siderolabs:main Mar 17, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Approved to Done in Planning Mar 17, 2026
@oguzkilcan oguzkilcan deleted the docs/ca-rotation branch March 17, 2026 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants