You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/enos/modules/docker_minio/init.sh

36 lines
1.6 KiB

#!/usr/bin/env bash
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
# This script initializes a minio server to contain the necessary resources to test
SOURCE=$(realpath $(dirname ${BASH_SOURCE[0]})) # get directory of this script
docker pull $MINIO_CLIENT_IMAGE
docker run \
--name minio-client \
--rm \
-e "MINIO_SERVER_CONTAINER_NAME=$MINIO_SERVER_CONTAINER_NAME" \
-e "MINIO_ROOT_USER=$MINIO_ROOT_USER" \
-e "MINIO_ROOT_PASSWORD=$MINIO_ROOT_PASSWORD" \
-e "MINIO_REGION=$MINIO_REGION" \
-e "MINIO_BUCKET_NAME=$MINIO_BUCKET_NAME" \
-e "MINIO_USER_ID=$MINIO_USER_ID" \
-e "MINIO_USER_PASSWORD=$MINIO_USER_PASSWORD" \
-e "MINIO_USER_ACCESS_KEY_ID=$MINIO_USER_ACCESS_KEY_ID" \
-e "MINIO_USER_SECRET_ACCESS_KEY=$MINIO_USER_SECRET_ACCESS_KEY" \
--mount type=bind,src=$SOURCE,dst=/test \
--network $TEST_NETWORK_NAME \
--entrypoint bash \
$MINIO_CLIENT_IMAGE \
-c '
mc alias set miniotest http://$MINIO_SERVER_CONTAINER_NAME:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD};
mc admin config set miniotest region name=${MINIO_REGION};
mc admin service restart miniotest;
mc mb miniotest/${MINIO_BUCKET_NAME}
mc admin user add miniotest ${MINIO_USER_ID} ${MINIO_USER_PASSWORD};
mc admin policy create miniotest testpolicy /test/policy.json;
mc admin policy attach miniotest testpolicy --user ${MINIO_USER_ID};
mc admin user svcacct add miniotest ${MINIO_USER_ID} --access-key ${MINIO_USER_ACCESS_KEY_ID} --secret-key ${MINIO_USER_SECRET_ACCESS_KEY};
'