Browse Source

Merge branch 'master' into ota-updates

ota-updates
Mayank 5 years ago
parent
commit
54fdcbb6c9
No known key found for this signature in database GPG Key ID: D037D60476CE748C
  1. 14
      contrib/partitioner/partitioner.py
  2. 1
      docker-compose.yml
  3. 0
      events/signals/.blah
  4. 5
      events/triggers/reboot
  5. 5
      events/triggers/shutdown
  6. 53
      karen

14
contrib/partitioner/partitioner.py

@ -96,6 +96,20 @@ def main():
if len(usb_devs()) == 1:
if len(usb_partitions()) < 1:
try:
print("Running parted...")
os.system('/sbin/parted -s /dev/sda mkpart p ext4 3 100%');
print('Making first partition');
os.system('/sbin/mkfs.ext4 -F /dev/sda1');
except:
print('Error running parted');
sys.exit(1);
else:
print("Already partitioned")
if len(usb_partitions()) == 1:
try:
os.system('/bin/mount /dev/' + usb_partitions()[0] + ' /mnt/data')

1
docker-compose.yml

@ -85,6 +85,7 @@ services:
stop_grace_period: 5m30s
volumes:
- ${PWD}/db:/db
- ${PWD}/events/signals:/signals
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- ${PWD}:${PWD}

0
signals/.gitkeep → events/signals/.blah

5
events/triggers/reboot

@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
docker-compose stop
shutdown -r now

5
events/triggers/shutdown

@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
docker-compose stop
shutdown -h now

53
karen

@ -0,0 +1,53 @@
#!/usr/bin/env bash
# karen watches for signals and executes triggers in the events dir
# karen gets triggered a lot
check_dependencies () {
for cmd in "$@"; do
if ! command -v $cmd >/dev/null 2>&1; then
echo "This script requires \"${cmd}\" to be installed"
exit 1
fi
done
}
check_root () {
if [[ $UID != 0 ]]; then
echo "Error: This script must be run as root."
echo "Can I speak to a manager please?"
exit 1
fi
}
check_dependencies fswatch readlink dirname
check_root
if [[ -n "$1" ]]; then
root_dir="$(readlink -f $1)"
else
root_dir="$(dirname $(readlink -f ${BASH_SOURCE[0]}))/events"
fi
signal_dir="$root_dir/signals"
trigger_dir="$root_dir/triggers"
if [[ ! -d "$root_dir" ]]; then
echo "Root dir does not exist '$root_dir'"
exit 1
fi
echo "karen is running in $root_dir"
fswatch -0 --event=PlatformSpecific $signal_dir | while read -d "" event; do
signal="${event#"$signal_dir"}"
signal="${signal#"/"}"
trigger="$trigger_dir/$signal"
echo "Got signal: $signal"
if test -x "$trigger"; then
echo "karen is getting triggered!"
"$trigger" &
else
echo "No trigger found"
fi
done
Loading…
Cancel
Save