mirror of
				https://github.com/minio/minio.git
				synced 2025-11-04 02:01:05 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			120 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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=""
 | 
						|
for ((i=0;i<$[${nr_servers}];i++)); do
 | 
						|
    args="$args $scheme://$addr:$[9100+$i]/${HOME}/tmp/dist/path1/$i"
 | 
						|
done
 | 
						|
 | 
						|
echo $args
 | 
						|
 | 
						|
for ((i=0;i<$[${nr_servers}];i++)); do
 | 
						|
    (minio server --address ":$[9100+$i]" $args 2>&1 > /tmp/log$i.txt) &
 | 
						|
done
 | 
						|
 | 
						|
sleep 10s
 | 
						|
 | 
						|
if [ ! -f ./mc ]; then
 | 
						|
    wget --quiet -O ./mc https://dl.minio.io/client/mc/release/linux-amd64/./mc && \
 | 
						|
       chmod +x mc
 | 
						|
fi
 | 
						|
 | 
						|
set +e
 | 
						|
 | 
						|
export MC_HOST_minioadm=http://minioadmin:minioadmin@localhost:9100/
 | 
						|
 | 
						|
./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
 | 
						|
    echo "listing succeeded, 'minioadmin' was not disabled"
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
killall -9 minio
 | 
						|
 | 
						|
export MINIO_API_ROOT_ACCESS=on
 | 
						|
for ((i=0;i<$[${nr_servers}];i++)); do
 | 
						|
    (minio server --address ":$[9100+$i]" $args 2>&1 > /tmp/log$i.txt) &
 | 
						|
done
 | 
						|
 | 
						|
set +e
 | 
						|
 | 
						|
./mc ls minioadm/
 | 
						|
if [ $? -ne 0 ]; then
 | 
						|
    echo "listing failed, 'minioadmin' should be enabled"
 | 
						|
    exit 1
 | 
						|
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}" \
 | 
						|
      "http://127.0.0.1:9002/tmp/multisitea/data/disterasure/xl{5...8}" >/tmp/sitea_1.log 2>&1 &
 | 
						|
minio server --address 127.0.0.1:9002 "http://127.0.0.1:9001/tmp/multisitea/data/disterasure/xl{1...4}" \
 | 
						|
      "http://127.0.0.1:9002/tmp/multisitea/data/disterasure/xl{5...8}" >/tmp/sitea_2.log 2>&1 &
 | 
						|
 | 
						|
minio server --address 127.0.0.1:9003 "http://127.0.0.1:9003/tmp/multisiteb/data/disterasure/xl{1...4}" \
 | 
						|
      "http://127.0.0.1:9004/tmp/multisiteb/data/disterasure/xl{5...8}" >/tmp/siteb_1.log 2>&1 &
 | 
						|
minio server --address 127.0.0.1:9004 "http://127.0.0.1:9003/tmp/multisiteb/data/disterasure/xl{1...4}" \
 | 
						|
      "http://127.0.0.1:9004/tmp/multisiteb/data/disterasure/xl{5...8}" >/tmp/siteb_2.log 2>&1 &
 | 
						|
 | 
						|
sleep 20s
 | 
						|
 | 
						|
export MC_HOST_sitea=http://minioadmin:minioadmin@127.0.0.1:9001
 | 
						|
export MC_HOST_siteb=http://minioadmin:minioadmin@127.0.0.1:9004
 | 
						|
 | 
						|
./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}" \
 | 
						|
      "http://127.0.0.1:9002/tmp/multisitea/data/disterasure/xl{5...8}" >/tmp/sitea_1.log 2>&1 &
 | 
						|
minio server --address 127.0.0.1:9002 "http://127.0.0.1:9001/tmp/multisitea/data/disterasure/xl{1...4}" \
 | 
						|
      "http://127.0.0.1:9002/tmp/multisitea/data/disterasure/xl{5...8}" >/tmp/sitea_2.log 2>&1 &
 | 
						|
 | 
						|
minio server --address 127.0.0.1:9003 "http://127.0.0.1:9003/tmp/multisiteb/data/disterasure/xl{1...4}" \
 | 
						|
      "http://127.0.0.1:9004/tmp/multisiteb/data/disterasure/xl{5...8}" >/tmp/siteb_1.log 2>&1 &
 | 
						|
minio server --address 127.0.0.1:9004 "http://127.0.0.1:9003/tmp/multisiteb/data/disterasure/xl{1...4}" \
 | 
						|
      "http://127.0.0.1:9004/tmp/multisiteb/data/disterasure/xl{5...8}" >/tmp/siteb_2.log 2>&1 &
 | 
						|
 | 
						|
sleep 20s
 | 
						|
 | 
						|
export MC_HOST_sitea=http://foobar:foo12345@127.0.0.1:9001
 | 
						|
export MC_HOST_siteb=http://foobar:foo12345@127.0.0.1:9004
 | 
						|
 | 
						|
./mc admin user add sitea foobar-admin foo12345
 | 
						|
 | 
						|
sleep 2s
 | 
						|
 | 
						|
./mc admin user info siteb foobar-admin
 |