annotate tasks.py @ 147:51a48aeca8ba

node/npm fixes
author drewp@bigasterisk.com
date Sat, 11 Mar 2023 12:19:25 -0800
parents ee0384eebee5
children ae13e608b105
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
1
b664f1027992 system.py port from ansible
drewp@bigasterisk.com
parents: 0
diff changeset
3 cmd = '''
0
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
4 HOME=/root
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
5 export HOME
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
6 eval `keychain --quiet --eval id_ecdsa`
1550a6db59b3 first ported section from ansible. shorter, faster, clearer.
drewp@bigasterisk.com
parents:
diff changeset
7 cd /my/proj/infra
3
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 1
diff changeset
8 env/bin/pyinfra '''
1
b664f1027992 system.py port from ansible
drewp@bigasterisk.com
parents: 0
diff changeset
9
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
10 def _run(ctx, s):
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
11 ctx.run(cmd + 'inventory.py %s' % s, pty=True, echo=True)
34
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 23
diff changeset
12
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 96
diff changeset
13
59
fa7a71b8a97f more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents: 54
diff changeset
14 @task
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
15 def users(ctx): _run(ctx, 'users.py')
59
fa7a71b8a97f more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents: 54
diff changeset
16
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
17 @task
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
18 def ssh(ctx): _run(ctx, 'ssh.py')
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
19
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
20 @task
145
drewp@bigasterisk.com
parents: 139
diff changeset
21 def system(ctx): _run(ctx, 'system.py')
34
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 23
diff changeset
22
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 23
diff changeset
23 @task
145
drewp@bigasterisk.com
parents: 139
diff changeset
24 def packages(ctx): _run(ctx, 'packages.py')
5
7e8c7de5b490 port wireguard setup
drewp@bigasterisk.com
parents: 3
diff changeset
25
3
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 1
diff changeset
26 @task
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
27 def net(ctx): _run(ctx, 'net.py')
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents: 8
diff changeset
28
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
29 @task
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
30 def dns(ctx): _run(ctx, 'dns.py')
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
31
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
32 @task
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
33 def dns_check(ctx): _run(ctx, 'dns_check.py -v')
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 96
diff changeset
34
68
4a28a6b26af4 new task
drewp@bigasterisk.com
parents: 61
diff changeset
35 @task
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
36 def dns_k8s_check(ctx): ctx.run('env/bin/python dns_k8s_check.py', pty=True)
8
226f3c8419b2 kube setup
drewp@bigasterisk.com
parents: 7
diff changeset
37
14
ac4d24d01b68 add syncthing service
drewp@bigasterisk.com
parents: 12
diff changeset
38 @task
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
39 def wireguard(ctx): _run(ctx, 'wireguard.py')
14
ac4d24d01b68 add syncthing service
drewp@bigasterisk.com
parents: 12
diff changeset
40
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
41 @task
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
42 def kube(ctx): _run(ctx, 'kube.py')
8
226f3c8419b2 kube setup
drewp@bigasterisk.com
parents: 7
diff changeset
43
226f3c8419b2 kube setup
drewp@bigasterisk.com
parents: 7
diff changeset
44 @task
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
45 def kube_bang(ctx): _run(ctx, 'kube.py --limit bang')
16
c5784e3d4f8d mail/postfix setup on prime
drewp@bigasterisk.com
parents: 14
diff changeset
46
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
47 @task
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
48 def sync(ctx): _run(ctx, 'sync.py')
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 96
diff changeset
49
96
b70070570e10 new task for building ntop from source
drewp@bigasterisk.com
parents: 72
diff changeset
50 @task
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
51 def mail(ctx): _run(ctx, 'mail.py')
110
de407da9224a homedir links
drewp@bigasterisk.com
parents: 103
diff changeset
52
de407da9224a homedir links
drewp@bigasterisk.com
parents: 103
diff changeset
53 @task
139
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
54 def home(ctx): _run(ctx, 'home.py')
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
55
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
56 @task
105b628e3bfa compact/dry
drewp@bigasterisk.com
parents: 136
diff changeset
57 def pipe(ctx): ctx.run(cmd + 'inventory.py pipe.py --limit pipe', pty=True)
96
b70070570e10 new task for building ntop from source
drewp@bigasterisk.com
parents: 72
diff changeset
58
111
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents: 110
diff changeset
59 @task
115
8012f6095220 update to current configs
drewp@bigasterisk.com
parents: 113
diff changeset
60 def multikube(ctx): # danger- wipes previous k3s
111
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents: 110
diff changeset
61 from multikube_config import server_node, nodes
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents: 110
diff changeset
62 ctx.run(cmd + 'inventory.py multikube_wipe.py', pty=True)
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents: 110
diff changeset
63 ctx.run(cmd + f'inventory.py multikube.py --limit {server_node}', pty=True)
113
c520672d0930 closer to multi-node k3s working, but still doesn't quite network right
drewp@bigasterisk.com
parents: 111
diff changeset
64 if nodes:
136
375515ab60ba multikube experiment junk. do not run
drewp@bigasterisk.com
parents: 126
diff changeset
65 ctx.run(cmd + f'inventory.py multikube.py {" ".join(f"--limit {n}" for n in nodes)}', pty=True)
375515ab60ba multikube experiment junk. do not run
drewp@bigasterisk.com
parents: 126
diff changeset
66 print("""now try
375515ab60ba multikube experiment junk. do not run
drewp@bigasterisk.com
parents: 126
diff changeset
67 curl http://10.43.0.10:9153/metrics | head
375515ab60ba multikube experiment junk. do not run
drewp@bigasterisk.com
parents: 126
diff changeset
68 k3s kubectl run hello --image crccheck/hello-world
375515ab60ba multikube experiment junk. do not run
drewp@bigasterisk.com
parents: 126
diff changeset
69 curl -m2 http://`kubectl get pod/hello '-o=jsonpath={.status.podIP}'`:8000
375515ab60ba multikube experiment junk. do not run
drewp@bigasterisk.com
parents: 126
diff changeset
70 """)
111
340d778a1682 start multikube experiment
drewp@bigasterisk.com
parents: 110
diff changeset
71
16
c5784e3d4f8d mail/postfix setup on prime
drewp@bigasterisk.com
parents: 14
diff changeset
72
60
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
73 @task
54
00d5cd21cade save ran_all.timestamp
drewp@bigasterisk.com
parents: 50
diff changeset
74 def all(ctx):
60
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
75 configs = [
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
76 'users.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
77 'ssh.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
78 'system.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
79 'packages.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
80 'net.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
81 'dns.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
82 'wireguard.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
83 'kube.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
84 'sync.py',
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
85 'mail.py',
110
de407da9224a homedir links
drewp@bigasterisk.com
parents: 103
diff changeset
86 'home.py',
60
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
87 ]
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
88 # https://github.com/Fizzadar/pyinfra/issues/787
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
89 #ctx.run(' '.join([cmd, 'inventory.py'] + configs), pty=True)
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 59
diff changeset
90 for c in configs:
126
fe3ae7c95e65 collect all apt/sources.list into a central template
drewp@bigasterisk.com
parents: 115
diff changeset
91 ctx.run(' '.join([cmd, 'inventory.py', c]), pty=True)
54
00d5cd21cade save ran_all.timestamp
drewp@bigasterisk.com
parents: 50
diff changeset
92 ctx.run('touch /my/proj/infra/ran_all.timestamp')
00d5cd21cade save ran_all.timestamp
drewp@bigasterisk.com
parents: 50
diff changeset
93
00d5cd21cade save ran_all.timestamp
drewp@bigasterisk.com
parents: 50
diff changeset
94
16
c5784e3d4f8d mail/postfix setup on prime
drewp@bigasterisk.com
parents: 14
diff changeset
95 @task
3
61945df2a392 updates to work on recent raspbian installs
drewp@bigasterisk.com
parents: 1
diff changeset
96 def get_fact(ctx, host='dash', fact='server.LinuxDistribution'):
8
226f3c8419b2 kube setup
drewp@bigasterisk.com
parents: 7
diff changeset
97 ctx.run(cmd + f'{host} -vv fact {fact}', pty=True)