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'):