Dimitris Karakasilis e88f724d19 3100 fix embedded registry config (#812)
Part of: https://github.com/kairos-io/kairos/issues/3100
fixing the manual setup case.

A config similar to this should now work:

master:

```yaml
hostname: metal-{{ trunc 4 .MachineID }}
users:
- name: kairos # Change to your own user
  passwd: kairos # Change to your own password
  groups:
    - admin # This user needs to be part of the admin group


k3s:
  enabled: true
  embedded_registry: true

stages:
  boot:
    - name: "Add registries configuration for k3s/spegel"
      files:
        - path: /etc/rancher/k3s/registries.yaml
          content: |
            mirrors:
              "*":
```

worker:

```yaml
#cloud-config

hostname: metal-{{ trunc 4 .MachineID }}
users:
- name: kairos # Change to your own user
  passwd: kairos # Change to your own password
  groups:
    - admin # This user needs to be part of the admin group

k3s-agent: # Warning: the key is different from the master node one
  enabled: true
  args:
    - --with-node-id # will configure the agent to use the node ID to communicate with the master node
  env:
    K3S_TOKEN: "<token-from-master-/var/lib/rancher/k3s/server/node-token"
    K3S_URL: https://<master-ip-address-here>:6443 # Same IP that you use to log into your master node

stages:
  boot:
    - name: "Add registries configuration for k3s/spegel"
      files:
        - path: /etc/rancher/k3s/registries.yaml
          content: |
            mirrors:
              "*":
```

documentation:
https://docs.k3s.io/installation/registry-mirror#enabling-registry-mirroring

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2025-08-06 17:15:47 +03:00
2025-07-31 09:10:45 +02:00
2025-03-28 15:50:29 +01:00
2025-05-08 11:12:54 +02:00
2022-08-10 10:13:33 +02:00
2023-07-03 21:07:41 +02:00
2024-06-12 13:35:57 +02:00
2023-10-27 12:32:00 +03:00


kairos-white-column 5bc2fe34
Kairos standard provider

Kairos standard provider

license docs go report card

With Kairos you can build immutable, bootable Kubernetes and OS images for your edge devices as easily as writing a Dockerfile. Optional P2P mesh with distributed ledger automates node bootstrapping and coordination. Updating nodes is as easy as CI/CD: push a new image to your container registry and let secure, risk-free A/B atomic upgrades do the rest.

Documentation

Contribute

📚 Getting started with Kairos
💡 Examples
🎥 Video
👐Engage with the Community

🙌 CONTRIBUTING.md
🙋 GOVERNANCE
👷Code of conduct

Provider kairos

This repository hosts the code for provider binary used in Kairos "standard" images which offer full-mesh support. full-mesh support currently is available only with k3s, and the provider follows strictly k3s releases.

Note

The provider-kairos release pipelines have been merged with the kairos ones from version 2.4.0 onward. All image artifacts are released from the kairos repository, both core images and standard images (those with the provider).

To use Kairos with mesh support, download the bootable medium form the kairos releases.

Follow up the examples in our documentation on how to get started:

Upgrades

Upgrading can be done either via Kubernetes or manually with kairos-agent upgrade --image <image>, or you can list available versions with kairos-agent upgrade list-releases.

Container images available for upgrades are pushed to quay, you can check out the image matrix in our documentation.

Description
🌱 k3s and optional libp2p support for Kairos. Build decentralized cluster with libp2p that stretch across 1000km!
Readme Apache-2.0 84 MiB
Languages
Go 100%