chore: initial commit 🚀
E2E / reject-invalid (bad-vlan-tag) (push) Skipped
E2E / reject-invalid (missing-schematic) (push) Skipped
E2E / reject-invalid (nested-cidr-overlap) (push) Skipped
E2E / reject-invalid (node-uses-gateway-addr) (push) Skipped
E2E / reject-invalid (overlapping-cidrs) (push) Skipped
E2E / reject-invalid (partial-bgp) (push) Skipped
E2E / reject-invalid (reserved-node-name) (push) Skipped
E2E / reject-invalid (bad-bgp-asn) (push) Skipped
E2E / reject-invalid (bad-mac-address) (push) Skipped
E2E / reject-invalid (bad-repo-url) (push) Skipped
E2E / reject-invalid (duplicate-gateway-addrs) (push) Skipped
E2E / reject-invalid (duplicate-node-names) (push) Skipped
E2E / reject-invalid (gateway-node-collision) (push) Skipped
E2E / reject-invalid (missing-dns-token) (push) Skipped
E2E / reject-invalid (missing-external-gateway) (push) Skipped
E2E / reject-invalid (missing-known-hosts) (push) Skipped
E2E / reject-invalid (node-addr-outside-cidr) (push) Skipped
E2E / reject-invalid (non-canonical-cidr) (push) Skipped
E2E / reject-invalid (tiny-svc-cidr) (push) Skipped
E2E / reject-invalid (tunnel-without-dns) (push) Skipped
E2E / accept-valid (internal) (push) Skipped
E2E / accept-valid (multi-controller) (push) Skipped
E2E / validator-tests (push) Skipped
E2E / accept-valid (no-webhook) (push) Skipped
E2E / accept-valid (private) (push) Skipped
E2E / accept-valid (public) (push) Skipped
E2E / accept-valid (single-node) (push) Skipped
E2E / accept-valid (direct) (push) Skipped
E2E / accept-valid (selfhosted) (push) Skipped
E2E / reject-invalid (bad-vlan-tag) (push) Skipped
E2E / reject-invalid (missing-schematic) (push) Skipped
E2E / reject-invalid (nested-cidr-overlap) (push) Skipped
E2E / reject-invalid (node-uses-gateway-addr) (push) Skipped
E2E / reject-invalid (overlapping-cidrs) (push) Skipped
E2E / reject-invalid (partial-bgp) (push) Skipped
E2E / reject-invalid (reserved-node-name) (push) Skipped
E2E / reject-invalid (bad-bgp-asn) (push) Skipped
E2E / reject-invalid (bad-mac-address) (push) Skipped
E2E / reject-invalid (bad-repo-url) (push) Skipped
E2E / reject-invalid (duplicate-gateway-addrs) (push) Skipped
E2E / reject-invalid (duplicate-node-names) (push) Skipped
E2E / reject-invalid (gateway-node-collision) (push) Skipped
E2E / reject-invalid (missing-dns-token) (push) Skipped
E2E / reject-invalid (missing-external-gateway) (push) Skipped
E2E / reject-invalid (missing-known-hosts) (push) Skipped
E2E / reject-invalid (node-addr-outside-cidr) (push) Skipped
E2E / reject-invalid (non-canonical-cidr) (push) Skipped
E2E / reject-invalid (tiny-svc-cidr) (push) Skipped
E2E / reject-invalid (tunnel-without-dns) (push) Skipped
E2E / accept-valid (internal) (push) Skipped
E2E / accept-valid (multi-controller) (push) Skipped
E2E / validator-tests (push) Skipped
E2E / accept-valid (no-webhook) (push) Skipped
E2E / accept-valid (private) (push) Skipped
E2E / accept-valid (public) (push) Skipped
E2E / accept-valid (single-node) (push) Skipped
E2E / accept-valid (direct) (push) Skipped
E2E / accept-valid (selfhosted) (push) Skipped
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
set quiet
|
||||
set shell := ['bash', '-euo', 'pipefail', '-c']
|
||||
set script-interpreter := ['bash', '-euo', 'pipefail']
|
||||
set default-list
|
||||
set default-script
|
||||
|
||||
# Day-2 apply/upgrade recipes rely on topf's built-in diff-and-confirm
|
||||
# prompt; only the destructive reset recipes disable it in favour of just's
|
||||
# own confirmation.
|
||||
|
||||
[doc('Apply Talos config to all nodes (shows a diff and asks first)')]
|
||||
[group('talos')]
|
||||
apply:
|
||||
topf apply
|
||||
|
||||
[arg('mode', pattern='auto|reboot|no-reboot|staged|try')]
|
||||
[doc('Apply Talos config to a node (shows a diff and asks first)')]
|
||||
[group('talos')]
|
||||
apply-node node mode='auto':
|
||||
topf apply --nodes-filter "^{{ node }}$" --mode "{{ mode }}"
|
||||
|
||||
[doc('Show pending config changes without applying them')]
|
||||
[group('talos')]
|
||||
diff:
|
||||
topf apply --dry-run
|
||||
|
||||
[doc('List all nodes and their current state')]
|
||||
[group('talos')]
|
||||
nodes:
|
||||
topf nodes
|
||||
|
||||
[doc('Render Talos machine configs to ./rendered')]
|
||||
[group('talos')]
|
||||
render:
|
||||
topf render --output ./rendered
|
||||
|
||||
[confirm("This will destroy your cluster and reset all nodes to maintenance mode — continue? [y/N]")]
|
||||
[doc('Reset all nodes back to maintenance mode (DESTRUCTIVE)')]
|
||||
[group('talos')]
|
||||
reset:
|
||||
topf reset --confirm=false
|
||||
|
||||
[confirm("This will reset node " + node + " to maintenance mode — continue? [y/N]")]
|
||||
[doc('Reset a single node back to maintenance mode (DESTRUCTIVE)')]
|
||||
[group('talos')]
|
||||
reset-node node:
|
||||
topf reset --nodes-filter "^{{ node }}$" --confirm=false
|
||||
|
||||
# topf intentionally does not manage Kubernetes upgrades
|
||||
[doc('Upgrade Kubernetes')]
|
||||
[group('talos')]
|
||||
upgrade-k8s:
|
||||
talosctl --nodes "$(yq '[.nodes[] | select(.role == "control-plane")][0].ip' topf.yaml)" \
|
||||
upgrade-k8s --to "$(yq '.kubernetesVersion' topf.yaml)"
|
||||
|
||||
[doc('Upgrade Talos on all nodes, one at a time (asks first)')]
|
||||
[group('talos')]
|
||||
upgrade:
|
||||
topf upgrade
|
||||
|
||||
[doc('Upgrade Talos on a single node (asks first)')]
|
||||
[group('talos')]
|
||||
upgrade-node node:
|
||||
topf upgrade --nodes-filter "^{{ node }}$"
|
||||
Reference in New Issue
Block a user