Skip to content

Commit 0fbb99d

Browse files
committed
feat: readd config handling, add upgrade path for config
1 parent cebdc64 commit 0fbb99d

File tree

1 file changed

+49
-24
lines changed

1 file changed

+49
-24
lines changed

availup.sh

Lines changed: 49 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,22 @@ while [ $# -gt 0 ]; do
88
fi
99
shift
1010
done
11+
# generate folders if missing
12+
if [ ! -d "$HOME/.avail" ]; then
13+
mkdir $HOME/.avail
14+
fi
15+
if [ ! -d "$HOME/.avail/bin" ]; then
16+
mkdir $HOME/.avail/bin
17+
fi
18+
if [ ! -d "$HOME/.avail/identity" ]; then
19+
mkdir $HOME/.avail/identity
20+
fi
21+
if [ ! -d "$HOME/.avail/data" ]; then
22+
mkdir $HOME/.avail/data
23+
fi
24+
if [ ! -d "$HOME/.avail/config" ]; then
25+
mkdir $HOME/.avail/config
26+
fi
1127
# check if bash is current terminal shell, else check for zsh
1228
if [ -z "$BASH_VERSION" ]; then
1329
if [ -z "$ZSH_VERSION" ]; then
@@ -46,12 +62,30 @@ if [ -z "$network" ]; then
4662
else
4763
NETWORK="$network"
4864
fi
65+
CONFIG_PARAMS="bootstraps=['/dns/bootnode.1.lightclient.goldberg.avail.tools/tcp/37000/p2p/12D3KooWBkLsNGaD3SpMaRWtAmWVuiZg1afdNSPbtJ8M8r9ArGRT','/dns/bootnode.2.lightclient.goldberg.avail.tools/tcp/37000/p2p/12D3KooWRCgfvaLSnQfkwGehrhSNpY7i5RenWKL2ARst6ZqgdZZd']\nfull_node_ws=['wss://rpc-goldberg.sandbox.avail.tools:443','wss://goldberg-rpc.fra.avail.tools:443']\nconfidence=99.0\navail_path='$HOME/.avail/data'\nrecord_ttl=43200\n"
66+
AVAIL_BIN=$HOME/.avail/bin/avail-light
4967
if [ "$NETWORK" = "goldberg" ]; then
5068
echo "📌 Goldberg testnet selected."
5169
VERSION="v1.7.9"
70+
if [ -z "$config" ]; then
71+
CONFIG="$HOME/.avail/config/config.yml"
72+
if [ -f "$CONFIG" ]; then
73+
echo "📄 Configuration file found at $CONFIG."
74+
else
75+
echo "🤷 No configuration file set. This will be automatically generated at startup."
76+
touch $CONFIG
77+
echo -e $CONFIG_PARAMS >> $CONFIG
78+
fi
79+
else
80+
CONFIG="$config"
81+
fi
5282
elif [ "$NETWORK" = "local" ]; then
5383
echo "📌 Local testnet selected."
5484
VERSION="v1.7.9"
85+
if [ -z "$config" ]; then
86+
echo "🚫 No configuration file was provided for local testnet, exiting."
87+
exit 1
88+
fi
5589
else
5690
echo "🚫 Invalid network selected. Select one of the following: goldberg, local."
5791
exit 1
@@ -72,20 +106,11 @@ if [ -z "$identity" ]; then
72106
else
73107
IDENTITY="$identity"
74108
fi
75-
if [ ! -d "$HOME/.avail" ]; then
76-
mkdir $HOME/.avail
77-
fi
78-
if [ ! -d "$HOME/.avail/bin" ]; then
79-
mkdir $HOME/.avail/bin
80-
fi
81-
if [ ! -d "$HOME/.avail/identity" ]; then
82-
mkdir $HOME/.avail/identity
83-
fi
84109
# check if avail-light version matches!
85110
UPGRADE=0
86111
if [ ! -z "$upgrade" ]; then
87112
echo "🔄 Checking for updates..."
88-
if [ -f $HOME/.avail/bin/avail-light ]; then
113+
if [ -f $AVAIL_BIN ]; then
89114
CURRENT_VERSION="v$($HOME/.avail/bin/avail-light --version | cut -d " " -f 2)"
90115
if [ "$CURRENT_VERSION" = "v1.7.8" ] && [ "$VERSION" = "v1.7.9" ]; then
91116
UPGRADE=0
@@ -113,20 +138,24 @@ onexit() {
113138
exit 0
114139
}
115140
# check if avail-light binary is available and check if upgrade variable is set to 0
116-
if [ -f $HOME/.avail/bin/avail-light -a "$UPGRADE" = 0 ]; then
141+
if [ -f $AVAIL_BIN -a "$UPGRADE" = 0 ]; then
117142
echo "✅ Avail is already installed. Starting Avail..."
118143
trap onexit EXIT
119-
if [ -z "$config" ]; then
120-
$HOME/.avail/bin/avail-light --network $NETWORK --app-id $APPID --identity $IDENTITY
121-
else
122-
$HOME/.avail/bin/avail-light --config $CONFIG --app-id $APPID --identity $IDENTITY
123-
fi
144+
$HOME/.avail/bin/avail-light --config $CONFIG --app-id $APPID --identity $IDENTITY
124145
exit 0
125146
fi
126147
if [ "$UPGRADE" = 1 ]; then
127148
echo "🔄 Upgrading Avail..."
128-
if [ -f "$HOME/.avail/bin/avail-light" ]; then
129-
rm $HOME/.avail/bin/avail-light
149+
if [ -f $AVAIL_BIN ]; then
150+
rm $AVAIL_BIN
151+
if [ -f $CONFIG ]; then
152+
rm $CONFIG
153+
touch $CONFIG
154+
echo $CONFIG_PARAMS >> $CONFIG
155+
fi
156+
if [ -d "$HOME/.avail/data" ]; then
157+
rm -rf $HOME/.avail/data
158+
fi
130159
else
131160
echo "🤔 Avail was not installed with availup. Attemping to uninstall with cargo..."
132161
cargo uninstall avail-light || echo "👀 Avail was not installed with cargo, upgrade might not be required!"
@@ -174,14 +203,10 @@ else
174203
# use tar to extract the downloaded file and move it to .avail/bin/ directory
175204
tar -xzf avail-light-$ARCH_STRING.tar.gz
176205
chmod +x avail-light-$ARCH_STRING
177-
mv avail-light-$ARCH_STRING $HOME/.avail/bin/avail-light
206+
mv avail-light-$ARCH_STRING $AVAIL_BIN
178207
rm avail-light-$ARCH_STRING.tar.gz
179208
fi
180209
echo "✅ Availup exited successfully."
181210
echo "🧱 Starting Avail."
182211
trap onexit EXIT
183-
if [ -z "$config" ]; then
184-
$HOME/.avail/bin/avail-light --network $NETWORK --app-id $APPID --identity $IDENTITY
185-
else
186-
$HOME/.avail/bin/avail-light --config $CONFIG --app-id $APPID --identity $IDENTITY
187-
fi
212+
$AVAIL_BIN --config $CONFIG --app-id $APPID --identity $IDENTITY

0 commit comments

Comments
 (0)