The Cozystack project has released Talm, a configuration manager for Talos Linux

The developers of the open-source PaaS platform Cozystack have prepared the Talm project, designed to simplify the configuration of bare-metal servers for Talos Linux, an operating system for running Kubernetes that features a Kubernetes-like API and is configured using a single YAML manifest. Although Talm was created for the declarative installation of Cozystack, it is not tied specifically to this platform and can be used to manage any configurations of Talos Linux. The project is being developed under the MPL license.

The need for another configuration manager for Talos Linux arises from the focus on bare-metal servers. The developers aimed to create the simplest interface, similar to Helm and kubectl, which are well-known utilities for Kubernetes administrators.

Given that each physical server has a different configuration (MAC addresses, interfaces, and disks), a separate configuration file is required for each node. A straightforward manager is needed to generate such configuration files based on collected information and to update them declaratively.

Dynamic generation of configuration files from a specified template is used for this purpose. There are ready-made presets 'generic' and 'cozystack'. Talm is capable of gathering information from the Talos API during the generation stage and using it for the resulting configurations. These configuration files do not contain secrets, only changes, which makes it convenient to store them in Git and manage them declaratively.

In most respects, Talm mimics the structure of Helm, operating with the concept of a chart that describes templates for generating configurations. Helm-like lookup functions are supported for querying the Talos API directly and collecting additional metadata for generating configuration files using 'go templates' and the sprig library.

Command: talm template -t templates/controlplane.yaml -e 1.2.3.4 -n 1.2.3.4 > nodes/srv1.yaml

Queries the node '1.2.3.4' via the API, generates a new configuration file for it from the template, substituting the necessary data. The generated configuration file can be applied immediately with a single command: talm apply -f nodes/srv1.yaml

In each of these configuration files, Talm sets its own modeline, which remembers the endpoints of the node and the templates from which it was derived, making them easy to apply and update without specifying additional options. Talm supports all the same commands as the upstream utility talosctl, but allows you to pass the node configuration file, for example: talm dashboard -f nodes/srv1.yaml -f nodes/srv2.yaml -f nodes/srv3.yaml

will display an interactive dashboard for all three nodes. And the command: talm get routes -f nodes/srv1.yaml

will output the list of routes on the node "srv1"

If necessary, configuration files can be offloaded with the "—full" option to a separate PXE server, allowing nodes to download them automatically. Thus, Talm maintains the variability of bare-metal servers, providing convenient management in accordance with GitOps best practices.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster