You are viewing the development docs which are in progress. There is no guarantee that the development documentation will be accurate, including instructions, links, and other information. For the latest stable documentation, click here.
Architecture
Explore the internal design of Kairos and how its modular, container-based approach supports secure, reproducible infrastructure.
This section contains refrences to how Kairos works internally.
Setup process
kairos node at first boot will start the kairos-agent service, you can always check what’s happening by running journalctl -fu kairos-agent.
This service will setup k3s and edgevpn dynamically on first-boot, once it configures the machine it does not run on boot anymore, unless /usr/local/.kairos/deployed is removed..
Those are the steps executed in sequence by the kairos-agent service:
- Will create a
edgevpn@kairosservice and enabled on start. The configuration for the connection is stored in/etc/systemd/system.conf.d/edgevpn-kairos.envand depends on the cloud-init configuration file provided during installation time - Automatic role negotiation starts, nodes will co-ordinate for an IP and a role
- Once roles are defined a node will either set the
k3sork3s-agentservice. Configuration for each service is stored in/etc/sysconfig/k3sand/etc/sysconfig/k3s-agentrespectively
Paths
The following paths are relevant for Kairos:
| Path | Description |
|---|---|
| /usr/local/.kairos/deployed | Sentinel file written after bootstrapping is complete. Remove to retrigger automatic bootstrap |
| /usr/local/.kairos/lease | IP Lease of the node in the network. Delete to change IP address of the node |