Mercurial > code > home > repos > infra
comparison tasks.py @ 326:5b88b38f2471
huge reorg, reog toplevel functions in preparation of a ui with nice task lists
author | drewp@bigasterisk.com |
---|---|
date | Mon, 20 Jan 2025 21:55:08 -0800 |
parents | 4d1b6a6e65d2 |
children |
comparison
equal
deleted
inserted
replaced
325:4d1b6a6e65d2 | 326:5b88b38f2471 |
---|---|
1 from invoke import task | 1 from invoke.tasks import task |
2 | 2 |
3 cmd = ''' | 3 cmd = ''' |
4 HOME=/root | 4 HOME=/root |
5 export HOME | 5 export HOME |
6 eval `keychain --quiet --eval id_ecdsa` | 6 eval `keychain --quiet --eval id_ecdsa` |
11 def _run(ctx, s): | 11 def _run(ctx, s): |
12 ctx.run(cmd + ('--no-wait' * 0) + ' -y inventory.py %s' % s, pty=True, echo=True) | 12 ctx.run(cmd + ('--no-wait' * 0) + ' -y inventory.py %s' % s, pty=True, echo=True) |
13 | 13 |
14 | 14 |
15 @task | 15 @task |
16 def users(ctx): | |
17 _run(ctx, 'users.py') | |
18 | |
19 | |
20 @task | |
21 def ssh(ctx): | |
22 _run(ctx, 'ssh.py') | |
23 | |
24 | |
25 @task | |
26 def system(ctx): | |
27 _run(ctx, 'system.py') | |
28 | |
29 | |
30 @task | |
31 def apt(ctx): | |
32 _run(ctx, 'apt/apt.py') | |
33 | |
34 | |
35 @task | |
36 def packages(ctx): | |
37 _run(ctx, 'packages.py') | |
38 | |
39 | |
40 @task | |
41 def net(ctx): | |
42 _run(ctx, 'net.py') | |
43 | |
44 | |
45 @task | |
46 def dns(ctx): | |
47 _run(ctx, 'dns.py') | |
48 | |
49 | |
50 @task | |
51 def dns_check(ctx): | 16 def dns_check(ctx): |
52 _run(ctx, 'dns_check.py -v') | 17 _run(ctx, 'dns_check.py -v') |
53 | 18 |
54 | 19 |
55 @task | 20 @task |
56 def dns_k8s_check(ctx): | 21 def dns_k8s_check(ctx): |
57 ctx.run('pdm run python dns_k8s_check.py', pty=True) | 22 ctx.run('pdm run python dns_k8s_check.py', pty=True) |
58 | |
59 | |
60 @task | |
61 def wireguard(ctx): | |
62 _run(ctx, 'wireguard.py') | |
63 | |
64 | |
65 @task | |
66 def kube(ctx): | |
67 _run(ctx, 'kube.py') | |
68 | |
69 | |
70 @task | |
71 def sync(ctx): | |
72 _run(ctx, 'sync.py') | |
73 | |
74 | |
75 @task | |
76 def mail(ctx): | |
77 _run(ctx, 'mail.py') | |
78 | |
79 | |
80 @task | |
81 def home(ctx): | |
82 _run(ctx, 'home.py') | |
83 | 23 |
84 | 24 |
85 @task | 25 @task |
86 def multikube(ctx): # danger- wipes previous k3s | 26 def multikube(ctx): # danger- wipes previous k3s |
87 from multikube_config import server_node, nodes | 27 from multikube_config import server_node, nodes |
96 """) | 36 """) |
97 | 37 |
98 | 38 |
99 @task | 39 @task |
100 def all(ctx): | 40 def all(ctx): |
101 configs = [ | 41 for opGroup in [ |
102 'users.py', | 42 'users', |
103 'ssh.py', | 43 'system', |
104 'system.py', | 44 'apt', |
105 'apt/apt.py', | 45 'packages', |
106 'packages.py', | 46 'net', |
107 'net.py', | 47 'dns', |
108 'dns.py', | 48 'wireguard', |
109 'wireguard.py', | 49 'kube', |
110 'kube.py', | 50 'sync', |
111 'sync.py', | 51 'mail', |
112 'mail.py', | 52 'home', |
113 'home.py', | 53 ]: |
114 ] | 54 ctx.run( |
115 ctx.run(' '.join([cmd, '--no-wait', '-y', 'inventory.py'] + configs), pty=True) | 55 ' '.join([ |
56 cmd, #'--no-wait', | |
57 '-y', | |
58 'inventory.py', | |
59 'all_operations.py' | |
60 ]), | |
61 pty=True, | |
62 env={'GROUP': opGroup}) | |
116 ctx.run('touch /my/proj/infra/ran_all.timestamp') | 63 ctx.run('touch /my/proj/infra/ran_all.timestamp') |
117 | 64 |
118 | 65 |
119 @task | 66 @task |
120 def get_fact(ctx, host='dash', fact='server.LinuxDistribution'): | 67 def get_fact(ctx, host='dash', fact='server.LinuxDistribution'): |