topf

module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2026 License: MIT

README

TOPF - Talos Orchestrator by PostFinance

Go Version License Go Report Card Latest Release

TOPF is managing Talos based Kubernetes clusters. It provides functionality for bootstrapping new clusters, resetting existing ones, and applying configuration changes.

Full Documentation

demo

Installation

Homebrew
brew install postfinance/tap/topf
Go Install
go install github.com/postfinance/topf/cmd/topf@latest
Binary Download

Download the latest binary from GitHub Releases.

Container Image
docker pull ghcr.io/postfinance/topf

Quickstart

Boot at least one Talos machine to maintenance mode.

Create a new folder for you cluster with a topf.yaml file:

kubernetesVersion: 1.34.1
clusterEndpoint: https://192.168.1.100:6443
clusterName: mycluster

nodes:
- host: node1
  ip: 172.20.10.2
  role: control-plane

Create a new patch to specify the install disk and desired talos version:

patches/01-installation.yaml:

machine:
  install:
    disk: /dev/vda
    image: factory.talos.dev/metal-installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba:v1.12.0

Then run topf apply --auto-bootstrap to provision the cluster.

Once finished use topf kubeconfig to create an admin kubeconfig for the cluster and use topf talosconfig to create a valid talosconfig.

For detailed documentation on configuration, commands, patches, and more, visit the full documentation site.

Alternatives

  • talosctl — the official Talos CLI; fully featured but lower-level, requires managing configs and node operations manually
  • talhelper — popular community tool for generating Talos machine configs from a declarative YAML definition
  • Omni — SideroLabs' management platform for Talos clusters with a UI, multi-environment support, and GitOps workflows; available as SaaS or self-hosted (requires a commercial license for production use)

Directories

Path Synopsis
cmd
topf command
Package main is the entrypoint for the Topf CLI
Package main is the entrypoint for the Topf CLI
internal
cmd/apply
Package apply contains the logic to apply Talos configurations to cluster nodes
Package apply contains the logic to apply Talos configurations to cluster nodes
cmd/clusterinfo
Package clusterinfo contains the logic for the clusterinfo command
Package clusterinfo contains the logic for the clusterinfo command
cmd/kubeconfig
Package kubeconfig contains the logic to generate a valid kubeconfig file
Package kubeconfig contains the logic to generate a valid kubeconfig file
cmd/reset
Package reset contains the logic to reset a cluster back to maintenance mode
Package reset contains the logic to reset a cluster back to maintenance mode
cmd/talosconfig
Package talosconfig contains the logic to generate talosconfig file
Package talosconfig contains the logic to generate talosconfig file
cmd/upgrade
Package upgrade contains the logic to upgrade Talos OS on cluster nodes
Package upgrade contains the logic to upgrade Talos OS on cluster nodes
interactive
Package interactive contains code for CLI interactions
Package interactive contains code for CLI interactions
topf
Package topf contains the internal implementations of Topf
Package topf contains the internal implementations of Topf
pkg
clusterinfo
Package clusterinfo contains the output type of the clusterinfo command
Package clusterinfo contains the output type of the clusterinfo command
config
Package config contains the config structs and loading logic for Topf
Package config contains the config structs and loading logic for Topf
providers
Package providers defines the interfaces for the pluggable providers and some helper tooling around them
Package providers defines the interfaces for the pluggable providers and some helper tooling around them
sops
Package sops provides utilities for reading SOPS-encrypted files
Package sops provides utilities for reading SOPS-encrypted files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL