annotate tasks.py @ 60:a949704defd0

new pyinfra
author drewp@bigasterisk.com
date Sun, 01 May 2022 23:31:20 -0700
parents fa7a71b8a97f
children b46df76991b6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
1 from invoke import task
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
2
50
68eeca50ae7f ari groups +dialout
drewp@bigasterisk.com
parents: 45
diff changeset
3
1
b664f1027992 system.py port from ansible
drewp@bigasterisk.com
parents: 0
diff changeset
4 cmd = '''
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
5 HOME=/root
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
6 export HOME
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
7 eval `keychain --quiet --eval id_ecdsa`
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
8 cd /my/proj/infra
3
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 1
diff changeset
9 env/bin/pyinfra '''
1
b664f1027992 system.py port from ansible
drewp@bigasterisk.com
parents: 0
diff changeset
10
5
7e8c7de5b490 port wireguard setup
drewp@bigasterisk.com
parents: 3
diff changeset
11
1
b664f1027992 system.py port from ansible
drewp@bigasterisk.com
parents: 0
diff changeset
12 @task
b664f1027992 system.py port from ansible
drewp@bigasterisk.com
parents: 0
diff changeset
13 def users(ctx):
3
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 1
diff changeset
14 ctx.run(cmd + 'inventory.py users.py', pty=True)
1
b664f1027992 system.py port from ansible
drewp@bigasterisk.com
parents: 0
diff changeset
15
5
7e8c7de5b490 port wireguard setup
drewp@bigasterisk.com
parents: 3
diff changeset
16
1
b664f1027992 system.py port from ansible
drewp@bigasterisk.com
parents: 0
diff changeset
17 @task
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
18 def ssh(ctx):
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
19 ctx.run(cmd + 'inventory.py ssh.py', pty=True)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
20
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
21
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
22 @task
1
b664f1027992 system.py port from ansible
drewp@bigasterisk.com
parents: 0
diff changeset
23 def system(ctx):
3
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 1
diff changeset
24 ctx.run(cmd + 'inventory.py system.py', pty=True)
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 1
diff changeset
25
5
7e8c7de5b490 port wireguard setup
drewp@bigasterisk.com
parents: 3
diff changeset
26
7e8c7de5b490 port wireguard setup
drewp@bigasterisk.com
parents: 3
diff changeset
27 @task
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
28 def packages(ctx):
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
29 ctx.run(cmd + 'inventory.py packages.py', pty=True)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
30
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
31
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
32 @task
7
b6fff51f8676 net.py setup. May not be safe on bang yet
drewp@bigasterisk.com
parents: 5
diff changeset
33 def net(ctx):
40
193cd3b051c6 versions and ips
drewp@bigasterisk.com
parents: 36
diff changeset
34 ctx.run(cmd + 'inventory.py net.py -v', pty=True)
7
b6fff51f8676 net.py setup. May not be safe on bang yet
drewp@bigasterisk.com
parents: 5
diff changeset
35
b6fff51f8676 net.py setup. May not be safe on bang yet
drewp@bigasterisk.com
parents: 5
diff changeset
36
b6fff51f8676 net.py setup. May not be safe on bang yet
drewp@bigasterisk.com
parents: 5
diff changeset
37 @task
34
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 23
diff changeset
38 def dns(ctx):
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 23
diff changeset
39 ctx.run(cmd + 'inventory.py dns.py -v', pty=True)
45
ee00f4b5801a new dns-check task
drewp@bigasterisk.com
parents: 40
diff changeset
40 ctx.run(cmd + 'inventory.py dns_check.py -v', pty=True)
ee00f4b5801a new dns-check task
drewp@bigasterisk.com
parents: 40
diff changeset
41
ee00f4b5801a new dns-check task
drewp@bigasterisk.com
parents: 40
diff changeset
42 @task
ee00f4b5801a new dns-check task
drewp@bigasterisk.com
parents: 40
diff changeset
43 def dns_check(ctx):
ee00f4b5801a new dns-check task
drewp@bigasterisk.com
parents: 40
diff changeset
44 ctx.run(cmd + 'inventory.py dns_check.py -v', pty=True)
34
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 23
diff changeset
45
59
fa7a71b8a97f more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents: 54
diff changeset
46 @task
fa7a71b8a97f more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents: 54
diff changeset
47 def dns_k8s_check(ctx):
fa7a71b8a97f more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents: 54
diff changeset
48 ctx.run('env/bin/python dns_k8s_check.py', pty=True)
fa7a71b8a97f more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents: 54
diff changeset
49
34
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 23
diff changeset
50
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 23
diff changeset
51 @task
5
7e8c7de5b490 port wireguard setup
drewp@bigasterisk.com
parents: 3
diff changeset
52 def wireguard(ctx):
7e8c7de5b490 port wireguard setup
drewp@bigasterisk.com
parents: 3
diff changeset
53 ctx.run(cmd + 'inventory.py wireguard.py', pty=True)
7e8c7de5b490 port wireguard setup
drewp@bigasterisk.com
parents: 3
diff changeset
54
7e8c7de5b490 port wireguard setup
drewp@bigasterisk.com
parents: 3
diff changeset
55
3
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 1
diff changeset
56 @task
8
226f3c8419b2 kube setup
drewp@bigasterisk.com
parents: 7
diff changeset
57 def kube(ctx):
45
ee00f4b5801a new dns-check task
drewp@bigasterisk.com
parents: 40
diff changeset
58 ctx.run(cmd + 'inventory.py kube.py -vv ', pty=True)
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
59
8
226f3c8419b2 kube setup
drewp@bigasterisk.com
parents: 7
diff changeset
60
14
ac4d24d01b68 add syncthing service
drewp@bigasterisk.com
parents: 12
diff changeset
61 @task
ac4d24d01b68 add syncthing service
drewp@bigasterisk.com
parents: 12
diff changeset
62 def sync(ctx):
ac4d24d01b68 add syncthing service
drewp@bigasterisk.com
parents: 12
diff changeset
63 ctx.run(cmd + 'inventory.py sync.py ', pty=True)
ac4d24d01b68 add syncthing service
drewp@bigasterisk.com
parents: 12
diff changeset
64
8
226f3c8419b2 kube setup
drewp@bigasterisk.com
parents: 7
diff changeset
65
226f3c8419b2 kube setup
drewp@bigasterisk.com
parents: 7
diff changeset
66 @task
16
c5784e3d4f8d mail/postfix setup on prime
drewp@bigasterisk.com
parents: 14
diff changeset
67 def mail(ctx):
45
ee00f4b5801a new dns-check task
drewp@bigasterisk.com
parents: 40
diff changeset
68 ctx.run(cmd + 'inventory.py mail.py ', pty=True)
16
c5784e3d4f8d mail/postfix setup on prime
drewp@bigasterisk.com
parents: 14
diff changeset
69
c5784e3d4f8d mail/postfix setup on prime
drewp@bigasterisk.com
parents: 14
diff changeset
70
60
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
71 @task
54
00d5cd21cade save ran_all.timestamp
drewp@bigasterisk.com
parents: 50
diff changeset
72 def all(ctx):
60
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
73 configs = [
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
74 'users.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
75 'ssh.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
76 'system.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
77 'packages.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
78 'net.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
79 'dns.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
80 'wireguard.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
81 'kube.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
82 'sync.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
83 'mail.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
84 ]
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
85 # https://github.com/Fizzadar/pyinfra/issues/787
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
86 #ctx.run(' '.join([cmd, 'inventory.py'] + configs), pty=True)
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
87 for c in configs:
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
88 ctx.run(' '.join([cmd, 'inventory.py', c]), pty=True, warn=True)
54
00d5cd21cade save ran_all.timestamp
drewp@bigasterisk.com
parents: 50
diff changeset
89 ctx.run('touch /my/proj/infra/ran_all.timestamp')
00d5cd21cade save ran_all.timestamp
drewp@bigasterisk.com
parents: 50
diff changeset
90
00d5cd21cade save ran_all.timestamp
drewp@bigasterisk.com
parents: 50
diff changeset
91
16
c5784e3d4f8d mail/postfix setup on prime
drewp@bigasterisk.com
parents: 14
diff changeset
92 @task
3
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 1
diff changeset
93 def get_fact(ctx, host='dash', fact='server.LinuxDistribution'):
8
226f3c8419b2 kube setup
drewp@bigasterisk.com
parents: 7
diff changeset
94 ctx.run(cmd + f'{host} -vv fact {fact}', pty=True)