abhishek9686 11 mesiacov pred
rodič
commit
ea610281d1
1 zmenil súbory, kde vykonal 44 pridanie a 37 odobranie
  1. 44 37
      scripts/nm-quick.sh

+ 44 - 37
scripts/nm-quick.sh

@@ -173,10 +173,10 @@ configure_netclient() {
 	sleep 2
 	# create network for internet access vpn
 	if [ "$INSTALL_TYPE" = "pro" ]; then
-		echo "creating internet-access-vpn network"
-		nmctl network create --name internet-access-vpn --ipv4_addr 100.65.0.0/16
-		sleep 5
 		INET_NODE_ID=$(sudo cat /etc/netclient/nodes.json | jq -r .internet-access-vpn.id)
+		nmctl node create_remote_access_gateway internet-access-vpn $INET_NODE_ID
+		out=$(nmctl node list -o json | jq -r '.[] | select(.id=="$INET_NODE_ID") | .ingressdns = "8.8.8.8"')
+		curl --location --request PUT "https://api.${NETMAKER_BASE_DOMAIN}/api/nodes/internet-access-vpn/${INET_NODE_ID}" --data ${out} --header "Authorization: Bearer ${MASTER_KEY}"
 		curl --location --request POST "https://api.${NETMAKER_BASE_DOMAIN}/api/v1/nodes/internet-access-vpn/${INET_NODE_ID}/inet_gw" --data '{}' --header "Authorization: Bearer ${MASTER_KEY}"
 	fi
 	
@@ -743,51 +743,58 @@ test_connection() {
 setup_mesh() {
 
 	wait_seconds 5
+	netmakerNet=$(nmctl network list -o json | jq -r '.[] | .netid' | grep -w "netmaker")
+	inetNet=$(nmctl network list -o json | jq -r '.[] | .netid' | grep -w "internet-access-vpn")
 
-	local networkCount=$(nmctl network list -o json | jq '. | length')
-
-	# add a network if none present
-	if [ "$networkCount" -lt 1 ]; then
+	# create netmaker network
+	if [[ ${netmakerNet} = "" ]]; then
 		echo "Creating netmaker network (100.64.0.0/16)"
 		# TODO causes "Error Status: 400 Response: {"Code":400,"Message":"could not find any records"}"
 		nmctl network create --name netmaker --ipv4_addr 100.64.0.0/16
 
+		
 		wait_seconds 5
 	fi
-
-	echo "Obtaining a netmaker enrollment key..."
+	# create enrollment key for netmaker network
 	local netmakerTag=$(nmctl enrollment_key list | jq -r '.[] | .tags[0]' | grep -w "netmaker")
-	if [[ ${netmakerTag} = "netmaker" ]]; then
-		# key exists already, fetch token
-		TOKEN=$(nmctl enrollment_key list | jq -r '.[] | select(.tags[0]=="netmaker") | .token')
-	else
-		local tokenJson=$(nmctl enrollment_key create --tags netmaker --unlimited --networks netmaker)
-		TOKEN=$(jq -r '.token' <<<${tokenJson})
-		if test -z "$TOKEN"; then
-			echo "Error creating an enrollment key"
-			exit 1
-		else
-			echo "Enrollment key ready"
+	if [[ ${netmakerTag} = "" ]]; then
+		nmctl enrollment_key create --tags netmaker --unlimited --networks netmaker
+	fi
+
+	# create internet-access-vpn
+	if [ "$INSTALL_TYPE" = "pro" ]; then
+		if [[ ${inetNet} = "" ]]; then
+			echo "Creating internet-access-vpn network (100.65.0.0/16)"
+			# TODO causes "Error Status: 400 Response: {"Code":400,"Message":"could not find any records"}"
+			nmctl network create --name internet-access-vpn --ipv4_addr 100.65.0.0/16
+			wait_seconds 5
+		fi
+
+		# create enrollment key for internet-access-vpn network
+		local inetTag=$(nmctl enrollment_key list | jq -r '.[] | .tags[0]' | grep -w "internet-access-vpn")
+		if [[ ${inetTag} = "" ]]; then
+			nmctl enrollment_key create --tags internet-access-vpn --unlimited --networks internet-access-vpn
+		fi
+
+		# create enrollment key for both networks
+		local netInetTag=$(nnmctl enrollment_key list | jq -r '.[] | .tags[0]' | grep -w "netmaker-inet")
+		if [[ ${netInetTag} = "" ]]; then
+			nmctl enrollment_key create --tags netmaker-inet --unlimited --networks netmaker,internet-access-vpn
 		fi
 	fi
 
-	# if [ "$INSTALL_TYPE" = "pro" ]; then
-	# 	local inetTag=$(nmctl enrollment_key list | jq -r '.[] | .tags[0]' | grep -w "internet-access-vpn")
-	# 	if [[ ${inetTag} = "internet-access-vpn" ]]; then
-	# 		# key exists already, fetch token
-	# 		InetTOKEN=$(nmctl enrollment_key list | jq -r '.[] | select(.tags[0]=="internet-access-vpn") | .token')
-	# 	else
-	# 		local tokenJson=$(nmctl enrollment_key create --tags internet-access-vpn --unlimited --networks internet-access-vpn)
-	# 		InetTOKEN=$(jq -r '.token' <<<${tokenJson})
-	# 		if test -z "$InetTOKEN"; then
-	# 			echo "Error creating an enrollment key"
-	# 			exit 1
-	# 		else
-	# 			echo "Enrollment key ready"
-	# 		fi
-	# 	fi
-
-	# fi
+	if [ "$INSTALL_TYPE" = "pro" ]; then
+		# create enrollment key for both setup networks
+		echo "Obtaining enrollment key..."
+		# key exists already, fetch token
+		TOKEN=$(nmctl enrollment_key list | jq -r '.[] | select(.tags[0]=="netmaker-inet") | .token')
+		
+	else
+
+		echo "Obtaining enrollment key..."
+		# key exists already, fetch token
+		TOKEN=$(nmctl enrollment_key list | jq -r '.[] | select(.tags[0]=="netmaker") | .token')
+	fi
 	
 	wait_seconds 3