comparison multikube.py @ 289:65e28d2e0cd8

move static templates to files/ ; use inventory tags for selecting hosts+features ; other refactors
author drewp@bigasterisk.com
date Sun, 21 Apr 2024 17:07:23 -0700
parents 3af02e24eaf9
children 5b88b38f2471
comparison
equal deleted inserted replaced
288:3af02e24eaf9 289:65e28d2e0cd8
45 cache_time=1000) 45 cache_time=1000)
46 # one time; writes to $HOME 46 # one time; writes to $HOME
47 #skaffold config set --global insecure-registries bang5:5000 47 #skaffold config set --global insecure-registries bang5:5000
48 48
49 49
50 def pi_cgroup_setup():
51 old_cmdline = host.get_fact(FindInFile, path='/boot/cmdline.txt', pattern=r'.*')[0]
52 if 'cgroup' not in old_cmdline:
53 cmdline = old_cmdline + ' cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory'
54 files.line(path='/boot/cmdline.txt', line='.*', replace=cmdline)
55 # pi needs reboot now
56
57
58 def host_prep(): 50 def host_prep():
59 server.sysctl(key='net.ipv4.ip_forward', value="1", persist=True) 51 server.sysctl(key='net.ipv4.ip_forward', value="1", persist=True)
60 server.sysctl(key='net.ipv6.conf.all.forwarding', value="1", persist=True) 52 server.sysctl(key='net.ipv6.conf.all.forwarding', value="1", persist=True)
61 server.sysctl(key='net.ipv6.conf.all.disable_ipv6', value='1', persist=True) 53 server.sysctl(key='net.ipv6.conf.all.disable_ipv6', value='1', persist=True)
62 server.sysctl(key='fs.inotify.max_user_instances', value='8192', persist=True) 54 server.sysctl(key='fs.inotify.max_user_instances', value='8192', persist=True)
64 56
65 # https://sysctl-explorer.net/net/ipv4/rp_filter/ 57 # https://sysctl-explorer.net/net/ipv4/rp_filter/
66 #none, strict, loose = 0, 1, 2 58 #none, strict, loose = 0, 1, 2
67 #server.sysctl(key='net.ipv4.conf.default.rp_filter', value=loose, persist=True) 59 #server.sysctl(key='net.ipv4.conf.default.rp_filter', value=loose, persist=True)
68 60
69 if is_pi:
70 pi_cgroup_setup()
71 61
72 def service_name(): 62 def service_name():
73 return 'k3s.service' if host.name == server_node else 'k3s-node.service' 63 return 'k3s.service' if host.name == server_node else 'k3s-node.service'
64
74 65
75 def config_and_run_service(): 66 def config_and_run_service():
76 role = 'server' if host.name == server_node else 'agent' 67 role = 'server' if host.name == server_node else 'agent'
77 which_conf = 'config-server.yaml.j2' if host.name == server_node else 'config-agent.yaml.j2' 68 which_conf = 'config-server.yaml.j2' if host.name == server_node else 'config-agent.yaml.j2'
78 69