talos-docker-bootstrap

module
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2026 License: MIT

README

talos-docker-bootstrap

CI Coverage Core Coverage All Go Report Card Go Version Release

Enterprise-grade post-bootstrap for Ubuntu dev VMs.

Scope

  • Configure an existing Ubuntu VM for dev workflows
  • Apply idempotent OS hardening baseline
  • Install and verify Docker
  • Install and verify talosctl
  • Create Talos-in-Docker cluster idempotently (single-node controlplane by default)

Status

Public alpha. First functional release baseline: v0.1.0.

Quick Start

cp configs/talos-bootstrap.example.yaml configs/talos-bootstrap.yaml
# edit configs/talos-bootstrap.yaml (interactive wizard can auto-fill checksum)

make vm-deploy              # VM bootstrap via vmbootstrap
make talos-bootstrap-dry    # Talos bootstrap dry-run
make talos-bootstrap        # Talos bootstrap apply

Note: talos.sha256_checksum must match the VM architecture (amd64 or arm64), since the installer downloads the corresponding talosctl binary.

SSH Host Key Verification

By default, the bootstrap runs in strict mode and refuses to connect if the SSH host key changes. You can control this behavior with:

  • vm.known_hosts_mode: strict | prompt | accept-new | auto-refresh
  • vm.ssh_host_fingerprint: optional SHA256:... fingerprint to pin the expected host key

Best practice for automation is to pass the fingerprint produced by vmbootstrap bootstrap output, so the host key is verified without interactive prompts.

CLI

talos-docker-bootstrap vm-deploy
talos-docker-bootstrap bootstrap --config configs/talos-bootstrap.yaml [--dry-run] [--json]
talos-docker-bootstrap cluster-status --config configs/talos-bootstrap.yaml
talos-docker-bootstrap mount-check --config configs/talos-bootstrap.yaml
talos-docker-bootstrap kubeconfig-export --config configs/talos-bootstrap.yaml --out build/devvm/kubeconfig
talos-docker-bootstrap provision-and-bootstrap --config configs/talos-bootstrap.yaml --bootstrap-result bootstrap-result.yaml [--vm-config configs/vm.example.yaml]

Config Files

  • configs/talos-bootstrap.yaml: main runtime config for Docker/Talos bootstrap on the target VM.
  • configs/talos-bootstrap.example.yaml: template for creating talos-bootstrap.yaml.
  • configs/vcenter.sops.yaml: vCenter credentials/defaults used by delegated vmbootstrap VM deploy flow.
  • configs/vm.*.sops.yaml: VM definitions consumed by delegated vmbootstrap commands.
  • configs/vm.example.yaml: template VM config synced from vmware-vm-bootstrap.
  • configs/defaults.yaml: local defaults for this repo's bootstrap behavior.
  • configs/tool-versions.yaml: pinned tool/version metadata used by automation scripts.

Quality Gates

  • go test ./...
  • go vet ./...
  • golangci-lint
  • make test-cover (core logic coverage report for internal/bootstrap, internal/config, internal/workflow)

Coverage Core tracks production packages (internal/bootstrap, internal/config, internal/workflow). Coverage All tracks total project coverage (including CLI and integration layers).

Directories

Path Synopsis
cmd
internal
cli
ssh
pkg
tools
buildctl command
vmbootstrapctl command

Jump to

Keyboard shortcuts

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