|  | @@ -43,7 +43,71 @@ DATSERVER_HYPERCORED_VERSION='1.4.1'
 | 
	
		
			
			| 43 | 43 |  DATSERVER_DIRECTORY=/etc/datserver
 | 
	
		
			
			| 44 | 44 |  DATSERVER_PORT=3282
 | 
	
		
			
			| 45 | 45 |  
 | 
	
		
			
			| 46 |  | -datserver_variables=(MY_USERNAME)
 | 
	
		
			
			|  | 46 | +# bootstrap servers are specified here
 | 
	
		
			
			|  | 47 | +DATSERVER_BOOTSTRAP_FILE=$DATSERVER_DIRECTORY/node_modules/datland-swarm-defaults/index.js
 | 
	
		
			
			|  | 48 | +
 | 
	
		
			
			|  | 49 | +DATSERVER_DISCOVERY1=
 | 
	
		
			
			|  | 50 | +DATSERVER_DISCOVERY2=
 | 
	
		
			
			|  | 51 | +DATSERVER_BOOTSTRAP1=
 | 
	
		
			
			|  | 52 | +DATSERVER_BOOTSTRAP2=
 | 
	
		
			
			|  | 53 | +DATSERVER_BOOTSTRAP3=
 | 
	
		
			
			|  | 54 | +DATSERVER_BOOTSTRAP4=
 | 
	
		
			
			|  | 55 | +
 | 
	
		
			
			|  | 56 | +datserver_variables=(MY_USERNAME
 | 
	
		
			
			|  | 57 | +                     DATSERVER_DISCOVERY1
 | 
	
		
			
			|  | 58 | +                     DATSERVER_DISCOVERY2
 | 
	
		
			
			|  | 59 | +                     DATSERVER_BOOTSTRAP1
 | 
	
		
			
			|  | 60 | +                     DATSERVER_BOOTSTRAP2
 | 
	
		
			
			|  | 61 | +                     DATSERVER_BOOTSTRAP3
 | 
	
		
			
			|  | 62 | +                     DATSERVER_BOOTSTRAP4)
 | 
	
		
			
			|  | 63 | +
 | 
	
		
			
			|  | 64 | +function datserver_add_discovery_domain {
 | 
	
		
			
			|  | 65 | +    server_domain="$1"
 | 
	
		
			
			|  | 66 | +
 | 
	
		
			
			|  | 67 | +    if [ ! "$server_domain" ]; then
 | 
	
		
			
			|  | 68 | +        return
 | 
	
		
			
			|  | 69 | +    fi
 | 
	
		
			
			|  | 70 | +
 | 
	
		
			
			|  | 71 | +    if [ ${#server_domain} -lt 4 ]; then
 | 
	
		
			
			|  | 72 | +        return
 | 
	
		
			
			|  | 73 | +    fi
 | 
	
		
			
			|  | 74 | +
 | 
	
		
			
			|  | 75 | +    if grep -q "$server_domain" $DATSERVER_BOOTSTRAP_FILE; then
 | 
	
		
			
			|  | 76 | +       return
 | 
	
		
			
			|  | 77 | +    fi
 | 
	
		
			
			|  | 78 | +
 | 
	
		
			
			|  | 79 | +    sed -i "/var DEFAULT_DISCOVERY/a '$server_domain'," $DATSERVER_BOOTSTRAP_FILE
 | 
	
		
			
			|  | 80 | +    sed -i "s|'$server_domain',|  '$server_domain',|g" $DATSERVER_BOOTSTRAP_FILE
 | 
	
		
			
			|  | 81 | +}
 | 
	
		
			
			|  | 82 | +
 | 
	
		
			
			|  | 83 | +function datserver_add_bootstrap {
 | 
	
		
			
			|  | 84 | +    boostrap_server="$1"
 | 
	
		
			
			|  | 85 | +
 | 
	
		
			
			|  | 86 | +    if [ ! "$boostrap_server" ]; then
 | 
	
		
			
			|  | 87 | +        return
 | 
	
		
			
			|  | 88 | +    fi
 | 
	
		
			
			|  | 89 | +
 | 
	
		
			
			|  | 90 | +    if [ ${#boostrap_server} -lt 4 ]; then
 | 
	
		
			
			|  | 91 | +        return
 | 
	
		
			
			|  | 92 | +    fi
 | 
	
		
			
			|  | 93 | +
 | 
	
		
			
			|  | 94 | +    if grep -q "$boostrap_server" $DATSERVER_BOOTSTRAP_FILE; then
 | 
	
		
			
			|  | 95 | +       return
 | 
	
		
			
			|  | 96 | +    fi
 | 
	
		
			
			|  | 97 | +
 | 
	
		
			
			|  | 98 | +    sed -i "/var DEFAULT_BOOTSTRAP/a '$boostrap_server'," $DATSERVER_BOOTSTRAP_FILE
 | 
	
		
			
			|  | 99 | +    sed -i "s|'$boostrap_server',|  '$boostrap_server',|g" $DATSERVER_BOOTSTRAP_FILE
 | 
	
		
			
			|  | 100 | +}
 | 
	
		
			
			|  | 101 | +
 | 
	
		
			
			|  | 102 | +function datserver_generate_bootstraps {
 | 
	
		
			
			|  | 103 | +    datserver_add_discovery_domain "$DATSERVER_DISCOVERY1"
 | 
	
		
			
			|  | 104 | +    datserver_add_discovery_domain "$DATSERVER_DISCOVERY2"
 | 
	
		
			
			|  | 105 | +
 | 
	
		
			
			|  | 106 | +    datserver_add_bootstrap "$DATSERVER_BOOTSTRAP1"
 | 
	
		
			
			|  | 107 | +    datserver_add_bootstrap "$DATSERVER_BOOTSTRAP2"
 | 
	
		
			
			|  | 108 | +    datserver_add_bootstrap "$DATSERVER_BOOTSTRAP3"
 | 
	
		
			
			|  | 109 | +    datserver_add_bootstrap "$DATSERVER_BOOTSTRAP4"
 | 
	
		
			
			|  | 110 | +}
 | 
	
		
			
			| 47 | 111 |  
 | 
	
		
			
			| 48 | 112 |  function logging_on_datserver {
 | 
	
		
			
			| 49 | 113 |      echo -n ''
 | 
	
	
		
			
			|  | @@ -127,9 +191,11 @@ function upgrade_datserver {
 | 
	
		
			
			| 127 | 191 |      CURR_DATSERVER_HYPERCORED_VERSION=$(get_completion_param "datserver hypercored version")
 | 
	
		
			
			| 128 | 192 |      if [[ "$CURR_DATSERVER_HYPERCORED_VERSION" != "$DATSERVER_HYPERCORED_VERSION" ]]; then
 | 
	
		
			
			| 129 | 193 |          cd $DATSERVER_DIRECTORY || exit 254274
 | 
	
		
			
			|  | 194 | +        systemctl stop datserver
 | 
	
		
			
			| 130 | 195 |          if npm update hypercored@$DATSERVER_HYPERCORED_VERSION; then
 | 
	
		
			
			| 131 | 196 |              set_completion_param "datserver hypercored version" "$DATSERVER_HYPERCORED_VERSION"
 | 
	
		
			
			| 132 | 197 |          fi
 | 
	
		
			
			|  | 198 | +        datserver_generate_bootstraps
 | 
	
		
			
			| 133 | 199 |          chown -R datserver:datserver "$DATSERVER_DIRECTORY"
 | 
	
		
			
			| 134 | 200 |          systemctl restart datserver
 | 
	
		
			
			| 135 | 201 |      fi
 | 
	
	
		
			
			|  | @@ -253,8 +319,7 @@ function install_datserver {
 | 
	
		
			
			| 253 | 319 |          exit 9568356
 | 
	
		
			
			| 254 | 320 |      fi
 | 
	
		
			
			| 255 | 321 |  
 | 
	
		
			
			| 256 |  | -    # bootstrap servers are here:
 | 
	
		
			
			| 257 |  | -    # $DATSERVER_DIRECTORY/node_modules/datland-swarm-defaults/index.js
 | 
	
		
			
			|  | 322 | +    datserver_generate_bootstraps
 | 
	
		
			
			| 258 | 323 |  
 | 
	
		
			
			| 259 | 324 |      chown -R datserver:datserver "$DATSERVER_DIRECTORY"
 | 
	
		
			
			| 260 | 325 |  
 |