| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | set -x | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export MINIO_CI_CD=1 | 
					
						
							|  |  |  | killall -9 minio | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rm -rf ${HOME}/tmp/dist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | scheme="http" | 
					
						
							|  |  |  | nr_servers=4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | addr="localhost" | 
					
						
							|  |  |  | args="" | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | for ((i = 0; i < $((nr_servers)); i++)); do | 
					
						
							|  |  |  | 	args="$args $scheme://$addr:$((9100 + i))/${HOME}/tmp/dist/path1/$i" | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo $args | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | for ((i = 0; i < $((nr_servers)); i++)); do | 
					
						
							|  |  |  | 	(minio server --address ":$((9100 + i))" $args 2>&1 >/tmp/log$i.txt) & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sleep 10s | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ ! -f ./mc ]; then | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	wget --quiet -O ./mc https://dl.minio.io/client/mc/release/linux-amd64/./mc && | 
					
						
							|  |  |  | 		chmod +x mc | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | set +e | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export MC_HOST_minioadm=http://minioadmin:minioadmin@localhost:9100/ | 
					
						
							| 
									
										
										
										
											2024-05-19 02:19:01 +08:00
										 |  |  | ./mc ready minioadm | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | ./mc ls minioadm/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ./mc admin config set minioadm/ api root_access=off | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sleep 3s # let things settle a little | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ./mc ls minioadm/ | 
					
						
							|  |  |  | if [ $? -eq 0 ]; then | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	echo "listing succeeded, 'minioadmin' was not disabled" | 
					
						
							|  |  |  | 	exit 1 | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | set -e | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | killall -9 minio | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export MINIO_API_ROOT_ACCESS=on | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | for ((i = 0; i < $((nr_servers)); i++)); do | 
					
						
							|  |  |  | 	(minio server --address ":$((9100 + i))" $args 2>&1 >/tmp/log$i.txt) & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | set +e | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-23 07:07:14 +08:00
										 |  |  | ./mc ready minioadm/ | 
					
						
							| 
									
										
										
										
											2023-09-16 17:28:06 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | ./mc ls minioadm/ | 
					
						
							|  |  |  | if [ $? -ne 0 ]; then | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	echo "listing failed, 'minioadmin' should be enabled" | 
					
						
							|  |  |  | 	exit 1 | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | killall -9 minio | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rm -rf /tmp/multisitea/ | 
					
						
							|  |  |  | rm -rf /tmp/multisiteb/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "Setup site-replication and then disable root credentials" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | minio server --address 127.0.0.1:9001 "http://127.0.0.1:9001/tmp/multisitea/data/disterasure/xl{1...4}" \
 | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	"http://127.0.0.1:9002/tmp/multisitea/data/disterasure/xl{5...8}" >/tmp/sitea_1.log 2>&1 & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | minio server --address 127.0.0.1:9002 "http://127.0.0.1:9001/tmp/multisitea/data/disterasure/xl{1...4}" \
 | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	"http://127.0.0.1:9002/tmp/multisitea/data/disterasure/xl{5...8}" >/tmp/sitea_2.log 2>&1 & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | minio server --address 127.0.0.1:9003 "http://127.0.0.1:9003/tmp/multisiteb/data/disterasure/xl{1...4}" \
 | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	"http://127.0.0.1:9004/tmp/multisiteb/data/disterasure/xl{5...8}" >/tmp/siteb_1.log 2>&1 & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | minio server --address 127.0.0.1:9004 "http://127.0.0.1:9003/tmp/multisiteb/data/disterasure/xl{1...4}" \
 | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	"http://127.0.0.1:9004/tmp/multisiteb/data/disterasure/xl{5...8}" >/tmp/siteb_2.log 2>&1 & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | export MC_HOST_sitea=http://minioadmin:minioadmin@127.0.0.1:9001 | 
					
						
							|  |  |  | export MC_HOST_siteb=http://minioadmin:minioadmin@127.0.0.1:9004 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-18 05:43:59 +08:00
										 |  |  | ./mc ready sitea | 
					
						
							|  |  |  | ./mc ready siteb | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | ./mc admin replicate add sitea siteb | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ./mc admin user add sitea foobar foo12345 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ./mc admin policy attach sitea/ consoleAdmin --user=foobar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ./mc admin user info siteb foobar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | killall -9 minio | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "turning off root access, however site replication must continue" | 
					
						
							|  |  |  | export MINIO_API_ROOT_ACCESS=off | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | minio server --address 127.0.0.1:9001 "http://127.0.0.1:9001/tmp/multisitea/data/disterasure/xl{1...4}" \
 | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	"http://127.0.0.1:9002/tmp/multisitea/data/disterasure/xl{5...8}" >/tmp/sitea_1.log 2>&1 & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | minio server --address 127.0.0.1:9002 "http://127.0.0.1:9001/tmp/multisitea/data/disterasure/xl{1...4}" \
 | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	"http://127.0.0.1:9002/tmp/multisitea/data/disterasure/xl{5...8}" >/tmp/sitea_2.log 2>&1 & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | minio server --address 127.0.0.1:9003 "http://127.0.0.1:9003/tmp/multisiteb/data/disterasure/xl{1...4}" \
 | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	"http://127.0.0.1:9004/tmp/multisiteb/data/disterasure/xl{5...8}" >/tmp/siteb_1.log 2>&1 & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | minio server --address 127.0.0.1:9004 "http://127.0.0.1:9003/tmp/multisiteb/data/disterasure/xl{1...4}" \
 | 
					
						
							| 
									
										
										
										
											2023-05-26 13:07:25 +08:00
										 |  |  | 	"http://127.0.0.1:9004/tmp/multisiteb/data/disterasure/xl{5...8}" >/tmp/siteb_2.log 2>&1 & | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | export MC_HOST_sitea=http://foobar:foo12345@127.0.0.1:9001 | 
					
						
							|  |  |  | export MC_HOST_siteb=http://foobar:foo12345@127.0.0.1:9004 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-18 05:43:59 +08:00
										 |  |  | ./mc ready sitea | 
					
						
							|  |  |  | ./mc ready siteb | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-29 03:24:14 +08:00
										 |  |  | ./mc admin user add sitea foobar-admin foo12345 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sleep 2s | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ./mc admin user info siteb foobar-admin |