forked from onedr0p/home-ops
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Taskfile.yml
47 lines (39 loc) · 1.37 KB
/
Taskfile.yml
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
---
version: "3"
vars:
PROJECT_DIR:
sh: "git rev-parse --show-toplevel"
CLUSTER_DIR: "{{.PROJECT_DIR}}/cluster"
K3S_PRIMARY_MASTER_NODE_USERNAME: "ubuntu"
K3S_PRIMARY_MASTER_NODE_ADDR: "192.168.42.10"
K3S_LB_ADDR: "192.168.1.1"
env:
KUBECONFIG: "{{.CLUSTER_DIR}}/kubeconfig"
includes:
formatter: .taskfiles/formatter.yml
linter: .taskfiles/linter.yml
tasks:
update-deps:
- task: update-deps:ansible
- task: update-deps:pre-commit
update-deps:ansible:
desc: install/upgrade ansible deps
dir: ansible
cmds:
- "ansible-galaxy install -r requirements.yml --roles-path ~/.ansible/roles --force"
- "ansible-galaxy collection install -r requirements.yml --collections-path ~/.ansible/collections --force"
update-deps:pre-commit:
desc: install/upgrade pre-commit deps
cmds:
- pre-commit autoupdate
- pre-commit install --install-hooks
pre-commit:
desc: Run pre-commit
cmds:
- pre-commit run --all-files
kubeconfig:
desc: Remotely fetch kubeconfig from Kubernetes
cmds:
- rsync --verbose --progress --partial --rsync-path="sudo rsync" {{.K3S_PRIMARY_MASTER_NODE_USERNAME}}@{{.K3S_PRIMARY_MASTER_NODE_ADDR}}:/etc/rancher/k3s/k3s.yaml "{{.CLUSTER_DIR}}/kubeconfig"
- sed -i '' 's/127.0.0.1/{{.K3S_LB_ADDR}}/g' "{{.CLUSTER_DIR}}/kubeconfig"
- chmod go-r "{{.CLUSTER_DIR}}/kubeconfig"