diff --git a/buildbot-osx.sh b/buildbot-osx.sh new file mode 100644 index 0000000..adf1055 --- /dev/null +++ b/buildbot-osx.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +#unset PYTHONPATH +#export CURL_CA_BUNDLE=/usr/local/share/ca-certificates/bitmessage-proxy.crt + +#echo "--cacert /usr/local/share/ca-certificates/bitmessage-proxy.crt" > ~/.curlrc + +#brew install https://storage.bitmessage.org/python@2--2.7.17_1.high_sierra.bottle.1.tar.gz +#cp /usr/local/share/ca-certificates/bitmessage-proxy.crt /usr/local/etc/openssl/certs/bitmessage-proxy.pem && /usr/local/opt/openssl@1.0/bin/c_rehash +#/usr/local/opt/python@2/bin/python -m pip config set global.cert /usr/local/share/ca-certificates/bitmessage-proxy.crt +/usr/local/opt/python@2/bin/python -m pip install py2app +#brew tap cartr/qt4 +#brew install qt@4 +#brew install pyqt@4 + +export LDFLAGS="-L/usr/local/opt/openssl@1.0/lib" +export CPPFLAGS="-I/usr/local/opt/openssl@1.0/include" + +#/usr/local/opt/python@2/bin/python -m pip install sip +export ARCHFLAGS="-arch i386 -arch x86_64" +#buildscripts/osx.sh test + +#curl -O https://www.riverbankcomputing.com/static/Downloads/sip/4.19.24/sip-4.19.24.tar.gz +#hg clone https://www.riverbankcomputing.com/hg/sip +#cd sip +#hg archive -r 4.19.24 -t tgz ../sip-4.9.24.tar.gz +curl -O https://storage.bitmessage.org/sip-4.19.24.tar.gz +tar xzvf sip-4.19.24.tar.gz +cd sip-4.19.24 +/usr/local/opt/python@2/bin/python configure.py +make && make install +cd .. +make -C src/bitmsghash +mv src/bitmsghash/a.out src/bitmsghash/bitmsghash.so +cd src && /usr/local/opt/python@2/bin/python build_osx.py py2app +if [ $? -ne 0 ] ; then + exit 1 +fi +hdiutil create -fs HFS+ -volname "Bitmessage" -srcfolder dist/Bitmessage.app dist/bitmessage-test.dmg diff --git a/cloud-init/maas/user-data b/cloud-init/maas/user-data new file mode 100644 index 0000000..dc048f7 --- /dev/null +++ b/cloud-init/maas/user-data @@ -0,0 +1,177 @@ +## template: jinja +#cloud-config + +# ordering +#cloud_final_modules: + + +# packages +package_update: true +package_upgrade: false +packages: + - libvirt-daemon-system + - linux-modules-{{sys_info.release}} + - linux-modules-extra-{{sys_info.release}} + - nfs-common + - ovmf + - cachefilesd + - cloud-image-utils + - networkd-dispatcher + - autosuspend + - virtinst + - lm-sensors + - docker.io + - hfsprogs + - ntfs-3g-dev + - dosfstools + +# root +disable_root: false +ssh_deletekeys: true +ssh_pwauth: false +ssh_authorized_keys: + - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVrfim4EMF7FzAnQF51frpsPgN\ + JxfkzvBEC80wgwwP0AzD2iFPS57a6sXbie+sX7ALX89gmRwFtrKOwGYRYoQfU6dA\ + hPirbpKY4BcTQx8N31fazceVJL0Y1kqSngNjYMbo1q0L5dgLBtPoVGcnriFAVGLg\ + 1+p9FIJTDK4rbwnYyDJyjruSAfnqVaWmqlMNAZNhqxOikBOh5M+3qPj0wmSKOE1r\ + oE4HmQKUl62UjDWTkLLNx5u75QywQz+r8S0QNkSu/0iaeUdgkv3p0SsU4X5dmwuZ\ + dbySMWkqy0zUCky2+qDqxzN6wHgnePZcedSobsIpxwDK0IrHpbaaBzVNn1uh shu\ + rdeek@nitrokey1" + - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1ADz4g7BkLoq9CEffl7jxp4Ms\ + Brtv12rYpskUMV2HKH48Uwue/yjqvwxaRk4Nd0TG2fQisqsB3GYLRe+6R00zbn2k\ + A5k49gQEt6EnVVlsTWSp6iutCi8CEOSxFew/r//NOJbKQPWN2yCh8TQowks+lM/z\ + wlFhzfoqDjgMCU13IW/O9RphnMACnx1o/EvUeoozcCMbAzJOq4I/YOSJwavuTUUC\ + lnD4tyPs1HyYVcw+4Bti1QERkE+tbbgXUAy7WvxXpEflfenHHIAnjqUCW3LUJ6wT\ + roq55FQ1RT7WE+XddL5OI+o4vbQVG8cbYXwCk6/m+P051v9PfnyecI6qj8wd shu\ + rdeek@yubikey1" + - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Pebz7cNpL/Hikzfwzdnujcd1\ + BWw4D4e1OXQaoCGcq2/gL+Wym8InL5qZ5hOgaF8lRVX5ys7m75uOyg8LOIRu0A27\ + TzWzf9brV8TF5rsIhHYSK0CAA81G5NqOQgP3b7SANcs3PEWtxz+OeqFo7dcsQZij\ + czRNunM73CBsTFZQCmNE2ZBh2QaQ1d/1lmYTqGlJ8DJrqeXXVc3S1Jln2nZ49XQM\ + qdG49KvU66Xhd8kaukucDBl8iNLWpQ+N9Ao1SOnNlJVpLi6XUy9Hx3X3wVbrLQaH\ + slIG6+AeZGpO/l3gKrQM3fjM2H+w9ow1rWcMdHgjxWZUryE7K1vzbpm4vNIf shu\ + rdeek@brusli" + - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoNYZ1L/rR44/sUb6fzTXb99Cr\ + P+B9j01DRin5RT8Y59oD9R9TvsQcLztpXzvl4JQJfvjGou3ywVAuXTf8ksf/VHWn\ + fGtZ3X1nWvuAeERwTFIIl8gR9xwTVjXDsLp3Feiqw6wHKdMI3BqI3oJ/Wn6gBxWg\ + nm5UZbZMdWlAEAH1ucdxTOZ/+3aTC/hGb0N6ujp7MExTSUAs5xeSKHpocTdkD2Ra\ + jC2Y+mbug0yt92XCHZX39zsQcxFd4NokTa2iJNO0bAYWXlXDPWRLuUfOrWWfuLn+\ + OPH71pj+ysb6jrwFk+1sGV9h1GuxZne1+i42CGKoKomJaCMLE7kvMF6Solu/ shu\ + rdeek@whisper" + +users: + - name: pool + shell: /bin/bash + ssh-authorized-keys: + - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Pebz7cNpL/Hikzfwzdnujcd1\ + BWw4D4e1OXQaoCGcq2/gL+Wym8InL5qZ5hOgaF8lRVX5ys7m75uOyg8LOIRu0A27\ + TzWzf9brV8TF5rsIhHYSK0CAA81G5NqOQgP3b7SANcs3PEWtxz+OeqFo7dcsQZij\ + czRNunM73CBsTFZQCmNE2ZBh2QaQ1d/1lmYTqGlJ8DJrqeXXVc3S1Jln2nZ49XQM\ + qdG49KvU66Xhd8kaukucDBl8iNLWpQ+N9Ao1SOnNlJVpLi6XUy9Hx3X3wVbrLQaH\ + slIG6+AeZGpO/l3gKrQM3fjM2H+w9ow1rWcMdHgjxWZUryE7K1vzbpm4vNIf shu\ + rdeek@brusli" + - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFqJU6yabcgGi6lYSusxdpKo\ + gw6XR320kDCenRfxuJkH buildbot@dumb.bitmessage.at" + +# system settings +timezone: Europe/Vienna +hostname: {{v1.instance_id}} +fqdn: {{v1.instance_id}}.homedevops + +# disk settings +disk_setup: + /dev/nvme0n1: + table_type: gpt + layout: true + overwrite: false +fs_setup: + - label: cache + device: /dev/nvme0n1 + filesystem: ext4 + partition: 1 + overwrite: false + +# change defaults +write_files: + - path: /etc/default/cachefilesd + content: | + RUN="yes" + - path: /etc/networkd-dispatcher/routable.d/50-wakeonlan + permissions: '0750' + owner: root:root + content: | + #!/bin/bash + /sbin/ethtool -s "$IFACE" wol g + - path: /etc/systemd/system/docker.service.d/tcp.conf + owner: root:root + content: | + [Service] + ExecStart= + ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock + - path: /etc/autosuspend.conf + content: | + [general] + interval = 30 + idle_time = 1800 + suspend_cmd = /bin/systemctl {{ds.meta_data.suspend_cmd}} + wakeup_cmd = sh -c 'echo 0 > /sys/class/rtc/rtc0/wakealarm && echo {timestamp:.0f} >/sys/class/rtc/rtc0/wakealarm' + woke_up_file = /var/run/autosuspend-just-woke-up + lock_file = /var/lock/autosuspend.lock + lock_timeout = 30 + + [check.RemoteUsers] + class = Users + enabled = true + name = root + terminal = .* + host = [0-9].* + + [check.Processes] + enabled = true + processes = qemu-img,qemu-system-x86_64,qemu-system-i386,qemu-system-x86_64-spice,containerd-shim + + [check.Load] + enabled = true + threshold = 2.5 + +# mount +mounts: + - [ LABEL=cache, /var/cache/disk, auto, "discard,user_xattr" ] + - [ /var/cache/disk/ephemeral, /var/lib/libvirt/ephemeral, none, "bind" ] + - [ /var/cache/disk/docker, /var/lib/docker, none, "bind" ] + - [ /var/cache/disk/fscache, /var/cache/fscache, none, "bind" ] + - [ "files:/srv/nfs4/images", /var/lib/libvirt/backingstore, "nfs4", + "ro,rsize=131072,wsize=131072,fsc,hard,intr,proto=tcp,sync,nofail" ] + +# early +bootcmd: + - [ mkdir, -p, /var/cache/disk, + /var/lib/libvirt/backingstore, + /var/lib/libvirt/ephemeral, + /var/cache/fscache, + /var/lib/docker ] + +# post boot +runcmd: + - [ systemctl, stop, sshd ] + - [ mkdir, -p, /var/cache/disk/ephemeral, /var/cache/disk/docker, + /var/cache/disk/fscache ] + - [ iptables, -N, dockerapi ] + - [ iptables, -A, dockerapi, -s, 192.168.42.20, -j, ACCEPT ] + - [ iptables, -A, dockerapi, -j, DROP ] + - [ iptables, -I, INPUT, -p, tcp, '--dport', 2375, -j, dockerapi ] + - [ apt, -y, upgrade ] + - [ sed, -i, 's/.*MaxSessions.*/MaxSessions 200/g', /etc/ssh/sshd_config ] + - [ usermod, -aG, 'docker,libvirt', pool ] + - [ mount, -a ] + - [ wget, 'https://storage.bitmessage.org/qemu.hook', -O, + /etc/libvirt/hooks/qemu ] + - [ chmod, a+rx, /etc/libvirt/hooks/qemu ] + - [ systemctl, restart, libvirtd ] + - [ wget, 'https://storage.bitmessage.org/virt-install-all.sh', -O, + /usr/local/bin/virt-install-all.sh ] + - [ chmod, a+rx, /usr/local/bin/virt-install-all.sh ] + - [ /usr/local/bin/virt-install-all.sh ] + - 'sensors-detect --auto|sed -n "/#----cut here---/,/#----cut here----/p"|grep -vE "^#"|xargs -n 1 modprobe' + - [ systemctl, start, sshd ] + - [ systemctl, start, docker ]