Skip to content

Commit 30152c0

Browse files
committed
updating script
1 parent 5ad3368 commit 30152c0

File tree

5 files changed

+272
-55
lines changed

5 files changed

+272
-55
lines changed

scripts/docker-setup.sh

Lines changed: 143 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,129 @@
1+
# #!/bin/bash
2+
3+
# # Initialize default values
4+
# VERSION=""
5+
# NODE_NAME=""
6+
# NODE_SIDE_TYPE="high"
7+
# NODE_TYPE=""
8+
# PORT=""
9+
10+
# # Function to display usage
11+
# usage() {
12+
# echo "Usage: $0 [-v|--version <version>] [-n|--name <node_name>] [-s|--side <node_side_type>] [-t|--type <node_type>] [-p|--port <port>]"
13+
# exit 1
14+
# }
15+
16+
# # Parse command line options
17+
# while [[ "$#" -gt 0 ]]; do
18+
# case "$1" in
19+
# -v|--version)
20+
# VERSION="$2"
21+
# shift 2
22+
# ;;
23+
# -n|--name)
24+
# NODE_NAME="$2"
25+
# shift 2
26+
# ;;
27+
# -s|--side)
28+
# NODE_SIDE_TYPE="$2"
29+
# shift 2
30+
# ;;
31+
# -t|--type)
32+
# NODE_TYPE="$2"
33+
# shift 2
34+
# ;;
35+
# -p|--port)
36+
# PORT="$2"
37+
# shift 2
38+
# ;;
39+
# *)
40+
# usage
41+
# ;;
42+
# esac
43+
# done
44+
45+
# # Check if all required options are set
46+
# if [[ -z "$VERSION" || -z "$NODE_NAME" || -z "$NODE_TYPE" || -z "$PORT" ]]; then
47+
# echo "All options are required."
48+
# usage
49+
# fi
50+
51+
52+
# [ -f "$TGZ_FILE" ] && rm -f "$TGZ_FILE"
53+
# [ -f "$COMPOSE_FILE" ] && rm -f "$COMPOSE_FILE"
54+
55+
56+
# #Use curl to download the fille from azure blob storage
57+
# curl -L -o syft-file.tgz "https://openminedblob.blob.core.windows.net/syft-files/syft-compose-file.tar.gz"
58+
59+
60+
# # Unzip the .tgz file
61+
# tar -xzf syft-file.tgz
62+
63+
# #Change directory to the unzipped folder
64+
# cd syft-compose-files
65+
66+
67+
# # Detect OS
68+
# OS="linux"
69+
# case "$(uname)" in
70+
# Darwin)
71+
# OS="mac"
72+
# ;;
73+
# esac
74+
75+
# # Assuming the .env file is in the current directory after unzipping
76+
# # Update the VERSION, NODE_NAME, NODE_SIDE_TYPE, NODE_TYPE, and PORT values based on the OS
77+
# if [[ "$OS" == "mac" ]]; then
78+
# sed -i '' "s/^VERSION=.*$/VERSION=$VERSION/" .env
79+
# sed -i '' "s/^NODE_NAME=.*$/NODE_NAME=$NODE_NAME/" .env
80+
# sed -i '' "s/^NODE_SIDE_TYPE=.*$/NODE_SIDE_TYPE=$NODE_SIDE_TYPE/" .env
81+
# sed -i '' "s/^NODE_TYPE=.*$/NODE_TYPE=$NODE_TYPE/" .env
82+
# sed -i '' "s/^PORT=.*$/PORT=$PORT/" .env
83+
# else
84+
# sed -i "s/^VERSION=.*$/VERSION=$VERSION/" .env
85+
# sed -i "s/^NODE_NAME=.*$/NODE_NAME=$NODE_NAME/" .env
86+
# sed -i "s/^NODE_SIDE_TYPE=.*$/NODE_SIDE_TYPE=$NODE_SIDE_TYPE/" .env
87+
# sed -i "s/^NODE_TYPE=.*$/NODE_TYPE=$NODE_TYPE/" .env
88+
# sed -i "s/^PORT=.*$/PORT=$PORT/" .env
89+
# fi
90+
91+
92+
93+
# # Modify docker-compose.yml if the version is not 0.8.2-beta.6
94+
# if [[ "$VERSION" != "0.8.2-beta.6" ]]; then
95+
# if [[ "$OS" == "mac" ]]; then
96+
# sed -i '' '/command: "\/app\/grid\/start.sh"/s/^/#/' docker-compose.yml
97+
# else
98+
# sed -i '/command: "\/app\/grid\/start.sh"/s/^/#/' docker-compose.yml
99+
# fi
100+
# fi
101+
102+
103+
104+
# # Run the docker compose command
105+
# docker compose --env-file ./.env -p "$NODE_NAME" --profile blob-storage --profile frontend --file docker-compose.yml up -d
106+
107+
# # Change directory out and clean up the downloaded file.tgz
108+
# cd .. && rm -f syft-file.tgz
109+
110+
#!/bin/bash
111+
112+
# Initialize default values
1113
#!/bin/bash
2114

3115
# Initialize default values
4116
VERSION=""
5117
NODE_NAME=""
6-
NODE_SIDE_TYPE="high"
118+
NODE_SIDE_TYPE="high" # Default value for NODE_SIDE_TYPE
7119
NODE_TYPE=""
8120
PORT=""
121+
DEFAULT_ROOT_EMAIL="[email protected]"
122+
DEFAULT_ROOT_PASSWORD="changethis"
9123

10124
# Function to display usage
11125
usage() {
12-
echo "Usage: $0 [-v|--version <version>] [-n|--name <node_name>] [-s|--side <node_side_type>] [-t|--type <node_type>] [-p|--port <port>]"
126+
echo "Usage: $0 -v|--version <version> -n|--name <node_name> -t|--type <node_type> -p|--port <port> [-s|--side <node_side_type>] [-email|--root-email <default_root_email>] [--password|--root-password <default_root_password>]"
13127
exit 1
14128
}
15129

@@ -36,6 +150,14 @@ while [[ "$#" -gt 0 ]]; do
36150
PORT="$2"
37151
shift 2
38152
;;
153+
-email|--root-email)
154+
DEFAULT_ROOT_EMAIL="$2"
155+
shift 2
156+
;;
157+
-password|--root-password)
158+
DEFAULT_ROOT_PASSWORD="$2"
159+
shift 2
160+
;;
39161
*)
40162
usage
41163
;;
@@ -48,61 +170,27 @@ if [[ -z "$VERSION" || -z "$NODE_NAME" || -z "$NODE_TYPE" || -z "$PORT" ]]; then
48170
usage
49171
fi
50172

51-
52-
[ -f "$TGZ_FILE" ] && rm -f "$TGZ_FILE"
53-
[ -f "$COMPOSE_FILE" ] && rm -f "$COMPOSE_FILE"
54-
55-
56-
#Use curl to download the fille from azure blob storage
57-
curl -L -o syft-file.tgz "https://openminedblob.blob.core.windows.net/syft-files/syft-compose-file.tar.gz"
58-
59-
60-
# Unzip the .tgz file
61-
tar -xzf syft-file.tgz
62-
63-
#Change directory to the unzipped folder
64-
cd syft-compose-files
65-
66-
67-
# Detect OS
68-
OS="linux"
69-
case "$(uname)" in
70-
Darwin)
71-
OS="mac"
72-
;;
73-
esac
74-
75-
# Assuming the .env file is in the current directory after unzipping
76-
# Update the VERSION, NODE_NAME, NODE_SIDE_TYPE, NODE_TYPE, and PORT values based on the OS
77-
if [[ "$OS" == "mac" ]]; then
78-
sed -i '' "s/^VERSION=.*$/VERSION=$VERSION/" .env
79-
sed -i '' "s/^NODE_NAME=.*$/NODE_NAME=$NODE_NAME/" .env
80-
sed -i '' "s/^NODE_SIDE_TYPE=.*$/NODE_SIDE_TYPE=$NODE_SIDE_TYPE/" .env
81-
sed -i '' "s/^NODE_TYPE=.*$/NODE_TYPE=$NODE_TYPE/" .env
82-
sed -i '' "s/^PORT=.*$/PORT=$PORT/" .env
83-
else
84-
sed -i "s/^VERSION=.*$/VERSION=$VERSION/" .env
85-
sed -i "s/^NODE_NAME=.*$/NODE_NAME=$NODE_NAME/" .env
86-
sed -i "s/^NODE_SIDE_TYPE=.*$/NODE_SIDE_TYPE=$NODE_SIDE_TYPE/" .env
87-
sed -i "s/^NODE_TYPE=.*$/NODE_TYPE=$NODE_TYPE/" .env
88-
sed -i "s/^PORT=.*$/PORT=$PORT/" .env
173+
# Build the Docker run command
174+
DOCKER_RUN_CMD="docker run --rm -d \
175+
--name \"$NODE_NAME\" \
176+
-e VERSION=\"$VERSION\" \
177+
-e NODE_NAME=\"$NODE_NAME\" \
178+
-e NODE_SIDE_TYPE=\"$NODE_SIDE_TYPE\" \
179+
-e NODE_TYPE=\"$NODE_TYPE\" \
180+
-e PORT=\"$PORT\" \
181+
-p \"$PORT:$PORT\""
182+
183+
# Add optional environment variables if provided
184+
if [[ -n "$DEFAULT_ROOT_EMAIL" ]]; then
185+
DOCKER_RUN_CMD="$DOCKER_RUN_CMD -e DEFAULT_ROOT_EMAIL=\"$DEFAULT_ROOT_EMAIL\""
89186
fi
90187

91-
92-
93-
# Modify docker-compose.yml if the version is not 0.8.2-beta.6
94-
if [[ "$VERSION" != "0.8.2-beta.6" ]]; then
95-
if [[ "$OS" == "mac" ]]; then
96-
sed -i '' '/command: "\/app\/grid\/start.sh"/s/^/#/' docker-compose.yml
97-
else
98-
sed -i '/command: "\/app\/grid\/start.sh"/s/^/#/' docker-compose.yml
99-
fi
188+
if [[ -n "$DEFAULT_ROOT_PASSWORD" ]]; then
189+
DOCKER_RUN_CMD="$DOCKER_RUN_CMD -e DEFAULT_ROOT_PASSWORD=\"$DEFAULT_ROOT_PASSWORD\""
100190
fi
101191

192+
# Add the Docker image
193+
DOCKER_RUN_CMD="$DOCKER_RUN_CMD \"openmined/grid-backend:$VERSION\""
102194

103-
104-
# Run the docker compose command
105-
docker compose --env-file ./.env -p "$NODE_NAME" --profile blob-storage --profile frontend --file docker-compose.yml up -d
106-
107-
# Change directory out and clean up the downloaded file.tgz
108-
cd .. && rm -f syft-file.tgz
195+
# Execute the Docker run command
196+
eval $DOCKER_RUN_CMD

scripts/k8s/delete_stack 2.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
# Deleting gateway node
4+
bash -c "CLUSTER_NAME=testgateway1 tox -e dev.k8s.destroy || true"
5+
6+
# Deleting domain node
7+
bash -c "CLUSTER_NAME=testdomain1 tox -e dev.k8s.destroy || true"

scripts/k8s/launch_domain 2.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
# Domain Node
4+
bash -c '\
5+
export CLUSTER_NAME=testdomain1 CLUSTER_HTTP_PORT=9082 && \
6+
tox -e dev.k8s.start && \
7+
tox -e dev.k8s.hotreload'

scripts/k8s/launch_gateway 2.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
# Gateway Node
4+
bash -c '\
5+
export CLUSTER_NAME=testgateway1 CLUSTER_HTTP_PORT=9081 DEVSPACE_PROFILE=gateway && \
6+
tox -e dev.k8s.start && \
7+
tox -e dev.k8s.hotreload'

scripts/testaaaa.sh

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
#!/bin/bash
2+
3+
# Initialize default values
4+
VERSION=""
5+
NODE_NAME=""
6+
NODE_SIDE_TYPE="high"
7+
NODE_TYPE=""
8+
PORT=""
9+
10+
# Function to display usage
11+
usage() {
12+
echo "Usage: $0 [-v|--version <version>] [-n|--name <node_name>] [-s|--side <node_side_type>] [-t|--type <node_type>] [-p|--port <port>]"
13+
exit 1
14+
}
15+
16+
# Parse command line options
17+
while [[ "$#" -gt 0 ]]; do
18+
case "$1" in
19+
-v|--version)
20+
VERSION="$2"
21+
shift 2
22+
;;
23+
-n|--name)
24+
NODE_NAME="$2"
25+
shift 2
26+
;;
27+
-s|--side)
28+
NODE_SIDE_TYPE="$2"
29+
shift 2
30+
;;
31+
-t|--type)
32+
NODE_TYPE="$2"
33+
shift 2
34+
;;
35+
-p|--port)
36+
PORT="$2"
37+
shift 2
38+
;;
39+
*)
40+
usage
41+
;;
42+
esac
43+
done
44+
45+
# Check if all required options are set
46+
if [[ -z "$VERSION" || -z "$NODE_NAME" || -z "$NODE_TYPE" || -z "$PORT" ]]; then
47+
echo "All options are required."
48+
usage
49+
fi
50+
51+
52+
[ -f "$TGZ_FILE" ] && rm -f "$TGZ_FILE"
53+
[ -f "$COMPOSE_FILE" ] && rm -f "$COMPOSE_FILE"
54+
55+
56+
#Use curl to download the fille from azure blob storage
57+
curl -L -o syft-file.tgz "https://openminedblob.blob.core.windows.net/syft-files/syft-compose-file.tar.gz"
58+
59+
60+
# Unzip the .tgz file
61+
tar -xzf syft-file.tgz
62+
63+
#Change directory to the unzipped folder
64+
cd syft-compose-files
65+
66+
67+
# Detect OS
68+
OS="linux"
69+
case "$(uname)" in
70+
Darwin)
71+
OS="mac"
72+
;;
73+
esac
74+
75+
# Assuming the .env file is in the current directory after unzipping
76+
# Update the VERSION, NODE_NAME, NODE_SIDE_TYPE, NODE_TYPE, and PORT values based on the OS
77+
if [[ "$OS" == "mac" ]]; then
78+
sed -i '' "s/^VERSION=.*$/VERSION=$VERSION/" .env
79+
sed -i '' "s/^NODE_NAME=.*$/NODE_NAME=$NODE_NAME/" .env
80+
sed -i '' "s/^NODE_SIDE_TYPE=.*$/NODE_SIDE_TYPE=$NODE_SIDE_TYPE/" .env
81+
sed -i '' "s/^NODE_TYPE=.*$/NODE_TYPE=$NODE_TYPE/" .env
82+
sed -i '' "s/^PORT=.*$/PORT=$PORT/" .env
83+
else
84+
sed -i "s/^VERSION=.*$/VERSION=$VERSION/" .env
85+
sed -i "s/^NODE_NAME=.*$/NODE_NAME=$NODE_NAME/" .env
86+
sed -i "s/^NODE_SIDE_TYPE=.*$/NODE_SIDE_TYPE=$NODE_SIDE_TYPE/" .env
87+
sed -i "s/^NODE_TYPE=.*$/NODE_TYPE=$NODE_TYPE/" .env
88+
sed -i "s/^PORT=.*$/PORT=$PORT/" .env
89+
fi
90+
91+
92+
93+
# Modify docker-compose.yml if the version is not 0.8.2-beta.6
94+
if [[ "$VERSION" != "0.8.2-beta.6" ]]; then
95+
if [[ "$OS" == "mac" ]]; then
96+
sed -i '' '/command: "\/app\/grid\/start.sh"/s/^/#/' docker-compose.yml
97+
else
98+
sed -i '/command: "\/app\/grid\/start.sh"/s/^/#/' docker-compose.yml
99+
fi
100+
fi
101+
102+
103+
104+
# Run the docker compose command
105+
docker compose --env-file ./.env -p "$NODE_NAME" --profile blob-storage --profile frontend --file docker-compose.yml up -d
106+
107+
# Change directory out and clean up the downloaded file.tgz
108+
cd .. && rm -f syft-file.tgz

0 commit comments

Comments
 (0)