Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
3.5 KiB
Talos Host Configuration
Purpose
Talos should be treated as an immutable OS with one durable configuration boundary: machine configuration. If a change must survive reboot, it belongs there.
Persistence Boundary
Temporary fixes are not enough for appliance behavior. The following must be expressed in machine configuration rather than one-off boot changes:
- network interface selection
- DHCP or static addressing
- DNS resolver selection
- host naming behavior
- single-node control-plane scheduling policy
- installer image selection
If a setting only exists in maintenance mode, boot media, or an ad hoc runtime patch and is not written into machine configuration, assume it can be lost on reboot or reinstall.
Single-Node Appliance Scheduling
For a single-node appliance, workloads must be allowed to run on the control-plane node. The durable setting is:
cluster:
allowSchedulingOnControlPlanes: true
This is preferable to repeatedly removing the node-role.kubernetes.io/control-plane:NoSchedule taint by hand. Manual untainting is a recovery step, not the desired steady state.
Network Configuration
Persistent networking should be expressed with Talos network config documents rather than relying on ephemeral interface choices.
Typical durable pieces are:
DHCPv4Configor static address config for the intended NICResolverConfigfor non-DHCP resolvers when appliance DNS must be fixedHostnameConfigwhen a stable Talos hostname policy is desired
Prefer selectors or deterministic device identification over brittle assumptions when possible. If the appliance depends on a specific interface, make that explicit in machine configuration.
Installer Configuration
This Talos-era guidance is historical. Supported Ubuntu/k3s appliances no longer use Talos installer image selection, and release metadata is resolved from OCI artifacts rather than local repository files.
Do not hand-edit installer image references without also re-establishing which published appliance release the node now represents.
Boot Media Rule
After Talos is installed to disk, subsequent boots must come from the installed disk, not the installer ISO.
If the machine is started from installer media again, Talos may halt with the equivalent of:
- Talos is already installed to disk
- the machine booted from another media
- reboot from disk
That is expected behavior. For appliance operations, the steady-state rule is:
- boot from ISO for installation
- install Talos to disk
- remove or detach the ISO
- boot from disk from then on
Storage Assumption
The current single-node appliance profile assumes node-local persistent storage. In practice, that means the Kubernetes cluster must have a working StorageClass suitable for local PVCs before the application stack is expected to settle.
This is a cluster-level dependency, but on a Talos appliance it is effectively part of host bring-up because the application stack relies on it for:
- Postgres
- Redis
- local file storage
- optionally Temporal persistence
Operational Guidance
When recovering a Talos appliance node, follow this order:
- confirm the node is booting from disk rather than installer media
- confirm the intended machine configuration is still applied
- confirm network and resolver configuration are present in machine config
- confirm single-node scheduling is enabled in config
- only then move up to Kubernetes and Flux diagnosis
That order avoids spending time on higher-level symptoms caused by a lost host configuration.