Skip to content

Cannot configure custom certificate authority #12529

Closed

Description

@AyluinReymaer

Bug Report

Description

When configuring a custom CA as documented here, the nodes no longer properly start and get stuck in a reboot loop.

Have created a patch.yaml file exactly as mentioned in the doc then ran the below command:

talosctl.exe patch mc --nodes 192.168.2.102 --patch @patch.yaml

Node is rebooted and no longer becomes ready.

Checking the logs, it seems that it fails on the task writeUserFiles with the below error:

create operation not allowed outside of /var: "/etc/ssl/certs/homelab-root-ca.crt"

Out of curiosity, I ran talosctl get mc --nodes 192.168.2.102 -o yaml and found that the previous patch op defined this on the machine config:

machine:
    files:
        - content: |
              -----BEGIN CERTIFICATE-----
                      REDACTED
              -----END CERTIFICATE-----
          permissions: 0o644
          path: /etc/ssl/certs/homelab-root-ca.crt
          op: create

Logs

Image

Environment

  • Talos version:
    • Client:
      Tag: v1.11.5
      SHA: bc34de6
      Built:
      Go version: go1.24.9
      OS/Arch: windows/amd64
    • Server:
      NODE: 192.168.2.102
      Tag: v1.11.5
      SHA: bc34de6
      Built:
      Go version: go1.24.9
      OS/Arch: linux/amd64
      Enabled: RBAC
  • Kubernetes version: [kubectl version]: v1.35.0
  • Platform:

Activity

  1. frezbo commented on Jan 2, 2026

    @frezbo
    Member

    Your machine config has .machine.files set which should not be used along with trustedrootsconfig

  2. AyluinReymaer commented on Jan 2, 2026

    @AyluinReymaer
    Author

    I have no idea what just happened...

    Yesterday, I tried installing the CA cert the wrong way, with .machine.files. However, I edited it out with talosctl.exe edit mc and rebooted in order to get the node back online.

    I confirmed that the files property was not there before patching it again with only the trustedrootsconfig this time, which ended up failing and the .machine.files appeared once more, even though the patch.yaml file did not have anything to configure this property. It only had the trustedrootsconfig doc.

    Now, I was replicating the issue once more and gathering screenshots as evidence, replicating the same steps as done yesterday. Even the patch file is the same since I didn't touch it since yesterday.

    Now it works... The trustedrootsconfig document is there and .machine.files is not...

    I guess I can close this issue since its resolved, but it is very strange how .machine.files ended up there when I patched only the trustedrootsconfig, but is not happening again now...

  3. locked as resolved and limited conversation to collaborators on Mar 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions