Parcourir la source

Configure dat bootstrap servers

Bob Mottram il y a 7 ans
Parent
révision
d1f1328a12
1 fichiers modifiés avec 54 ajouts et 2 suppressions
  1. 54
    2
      src/freedombone-app-datserver

+ 54
- 2
src/freedombone-app-datserver Voir le fichier

@@ -84,6 +84,55 @@ function datserver_generate_bootstraps {
84 84
     echo 'module.exports = function (opts) {';
85 85
     echo '  return extend(DEFAULT_OPTS, opts) // opts takes priority';
86 86
     echo '}'; } > $DATSERVER_BOOTSTRAP_FILE
87
+
88
+  chown datserver:datserver $DATSERVER_BOOTSTRAP_FILE
89
+}
90
+
91
+function datserver_configure_bootstraps {
92
+    read_config_param DATSERVER_DISCOVERY1
93
+    read_config_param DATSERVER_DISCOVERY2
94
+
95
+    read_config_param DATSERVER_BOOTSTRAP1
96
+    read_config_param DATSERVER_BOOTSTRAP2
97
+    read_config_param DATSERVER_BOOTSTRAP3
98
+    read_config_param DATSERVER_BOOTSTRAP4
99
+
100
+    data=$(mktemp 2>/dev/null)
101
+    dialog --backtitle $"Freedombone Control Panel" \
102
+           --title $"dat bootstrap servers" \
103
+           --form $"Specify discovery and bootstrap servers:\\n" 14 68 6 \
104
+           $"Discovery 1:" 1 1 "$DATSERVER_DISCOVERY1" 1 35 26 25 \
105
+           $"Discovery 2:" 2 1 "$DATSERVER_DISCOVERY2" 2 35 26 25 \
106
+           $"Bootstrap 1:" 3 1 "$DATSERVER_BOOTSTRAP1" 3 35 26 25 \
107
+           $"Bootstrap 2:" 4 1 $"$DATSERVER_BOOTSTRAP2" 4 35 4 25 \
108
+           $"Bootstrap 3:" 5 1 $"$DATSERVER_BOOTSTRAP3" 5 35 4 25 \
109
+           $"Bootstrap 4:" 6 1 $"$DATSERVER_BOOTSTRAP4" 6 35 4 25 \
110
+           2> "$data"
111
+    sel=$?
112
+    case $sel in
113
+        1)  rm -f "$data"
114
+            return;;
115
+        255) rm -f "$data"
116
+             return;;
117
+    esac
118
+    DATSERVER_DISCOVERY1=$(sed -n 1p < "$data")
119
+    DATSERVER_DISCOVERY2=$(sed -n 2p < "$data")
120
+    DATSERVER_BOOTSTRAP1=$(sed -n 3p < "$data")
121
+    DATSERVER_BOOTSTRAP2=$(sed -n 4p < "$data")
122
+    DATSERVER_BOOTSTRAP3=$(sed -n 4p < "$data")
123
+    DATSERVER_BOOTSTRAP4=$(sed -n 4p < "$data")
124
+    rm "$data"
125
+
126
+    write_config_param DATSERVER_DISCOVERY1
127
+    write_config_param DATSERVER_DISCOVERY2
128
+
129
+    write_config_param DATSERVER_BOOTSTRAP1
130
+    write_config_param DATSERVER_BOOTSTRAP2
131
+    write_config_param DATSERVER_BOOTSTRAP3
132
+    write_config_param DATSERVER_BOOTSTRAP4
133
+
134
+    datserver_generate_bootstraps
135
+    systemctl restart datserver
87 136
 }
88 137
 
89 138
 function logging_on_datserver {
@@ -142,12 +191,13 @@ function datserver_add_dat {
142 191
 
143 192
 function configure_interactive_datserver {
144 193
     W=(1 $"Add a dat"
145
-       2 $"Browse or edit feeds")
194
+       2 $"Browse or edit feeds"
195
+       3 $"Bootstrap servers")
146 196
 
147 197
     while true
148 198
     do
149 199
         # shellcheck disable=SC2068
150
-        selection=$(dialog --backtitle $"Freedombone Administrator Control Panel" --title $"dat server" --menu $"Choose an operation, or ESC for main menu:" 10 70 3 "${W[@]}" 3>&2 2>&1 1>&3)
200
+        selection=$(dialog --backtitle $"Freedombone Administrator Control Panel" --title $"dat server" --menu $"Choose an operation, or ESC for main menu:" 11 70 4 "${W[@]}" 3>&2 2>&1 1>&3)
151 201
 
152 202
         if [ ! "$selection" ]; then
153 203
            break
@@ -160,6 +210,8 @@ function configure_interactive_datserver {
160 210
                chown -R datserver:datserver $DATSERVER_DIRECTORY/feeds
161 211
                systemctl restart datserver
162 212
                ;;
213
+            3) datserver_configure_bootstraps
214
+               ;;
163 215
         esac
164 216
     done
165 217
 }