-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathTaskfile.yaml
More file actions
68 lines (59 loc) · 1.87 KB
/
Taskfile.yaml
File metadata and controls
68 lines (59 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
# yaml-language-server: $schema=https://taskfile.dev/schema.json
version: "3"
vars:
TALOS_DIR: "{{.ROOT_DIR}}/talos"
CLUSTER_NAME: homelab
TALOS_ISO_PATH: /tmp/talos.iso
CLUSTER_TEMPLATE_PATH: "{{.ROOT_DIR}}/talos/homelab.yaml"
includes:
flux:
dir: .taskfiles/flux
taskfile: .taskfiles/flux
format:
dir: .taskfiles/format
taskfile: .taskfiles/format
precommit:
dir: .taskfiles/precommit
taskfile: .taskfiles/precommit
talos:
dir: .taskfiles/talos
taskfile: .taskfiles/talos
tasks:
default:
silent: true
cmds: ["task -l"]
bootstrap:
desc: "Run the full cluster provisioning"
cmds:
- task: download-iso
- task: template-sync
- task: kubeconfig
- task: helmfile-apply
download-iso:
desc: "Download Talos ISO with specific extensions and kernel args"
cmds:
- omnictl download iso --arch amd64 --secureboot --extensions amdgpu,amd-ucode,i915,intel-ice-firmware,intel-ucode,iscsi-tools,realtek-firmware --extra-kernel-args -lockdown,lockdown=integrity,mitigations=off --output {{.TALOS_ISO_PATH}}
status:
- test -f {{.TALOS_ISO_PATH}}
template-sync:
desc: "Sync the cluster template to Omni"
cmds:
- omnictl cluster template sync -f {{.CLUSTER_TEMPLATE_PATH}}
kubeconfig:
desc: "Get kubeconfig for the cluster"
cmds:
- omnictl kubeconfig -c {{.CLUSTER_NAME}}
helmfile-apply:
desc: "Apply helmfile (cilium, flux-operator, flux-instance)"
cmds:
- helmfile --quiet --file {{.TALOS_DIR}}/helmfile.yaml apply --skip-diff-on-install --suppress-diff
deps:
desc: Initialize workstation dependencies with Brew
cmds:
- brew bundle {{.CLI_ARGS}}
preconditions:
- sh: command -v brew
msg: |
Homebrew is not installed. Using MacOS, Linux or WSL?
Head over to https://brew.sh to get up and running.