Add Snap fullnode daemon

This commit is contained in:
Michael Vines
2018-06-24 10:10:55 -07:00
parent ed6ba55261
commit ce361c2cdc
12 changed files with 340 additions and 73 deletions

30
snap/hooks/configure vendored Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/bash -e
echo Stopping daemons
snapctl stop --disable solana.daemon-drone
snapctl stop --disable solana.daemon-leader
snapctl stop --disable solana.daemon-validator
mode="$(snapctl get mode)"
if [[ -z "$mode" ]]; then
exit 0
fi
$SNAP/bin/setup.sh "$(snapctl get num-tokens)"
case $mode in
leader+drone)
snapctl start --enable solana.daemon-leader
snapctl start --enable solana.daemon-drone
;;
leader)
snapctl start --enable solana.daemon-leader
;;
validator)
snapctl start --enable solana.daemon-validator
;;
*)
echo "Error: Unknown mode: $mode"
exit 1
;;
esac

View File

@@ -10,6 +10,10 @@ grade: devel
# CUDA dependency, so use 'devmode' confinement for now
confinement: devmode
hooks:
configure:
plugs: []
apps:
drone:
command: solana-drone
@@ -44,7 +48,35 @@ apps:
client-demo:
command: solana-client-demo
daemon-validator:
daemon: simple
command: validator.sh
daemon-leader:
daemon: simple
command: leader.sh
daemon-drone:
daemon: simple
command: drone.sh
parts:
solana-rsync:
plugin: nil
override-build: |
# TODO: build rsync from source instead of sneaking it in from the host
# system...
set -x
mkdir -p $SNAPCRAFT_PART_INSTALL/bin
cp -av /usr/bin/rsync $SNAPCRAFT_PART_INSTALL/bin/
solana-scripts:
plugin: nil
override-build: |
set -x
mkdir -p $SNAPCRAFT_PART_INSTALL/bin
cp -av multinode-demo/* $SNAPCRAFT_PART_INSTALL/bin/
solana-cuda:
plugin: rust
rust-channel: stable