Use awscli instead of s3cmd

This commit is contained in:
Quentin 2020-11-21 15:44:09 +01:00
parent 0f33231ee6
commit 92ab3eedfc
3 changed files with 11 additions and 14 deletions

View file

@ -20,14 +20,14 @@ Our main use case is to provide a distributed storage layer for small-scale self
We propose the following quickstart to setup a full dev. environment as quickly as possible: We propose the following quickstart to setup a full dev. environment as quickly as possible:
1. Setup a rust/cargo environment and install s3cmd. eg. `dnf install rust cargo s3cmd` 1. Setup a rust/cargo environment and install `awscli`. eg. `dnf install rust cargo awscli`
2. Run `cargo build` to build the project 2. Run `cargo build` to build the project
3. Run `./script/dev-cluster.sh` to launch a test cluster (feel free to read the script) 3. Run `./script/dev-cluster.sh` to launch a test cluster (feel free to read the script)
4. Run `./script/dev-configure.sh` to configure your test cluster with default values (same datacenter, 100 tokens) 4. Run `./script/dev-configure.sh` to configure your test cluster with default values (same datacenter, 100 tokens)
5. Run `./script/dev-bucket.sh` to create a bucket named `éprouvette` and an API key that will be stored in `/tmp/garage.s3` 5. Run `./script/dev-bucket.sh` to create a bucket named `eprouvette` and an API key that will be stored in `/tmp/garage.s3`
6. Run `source ./script/dev-env.sh` to configure your CLI environment 6. Run `source ./script/dev-env.sh` to configure your CLI environment
7. You can use `garage` to manage the cluster. Try `garage --help`. 7. You can use `garage` to manage the cluster. Try `garage --help`.
8. You can use `s3grg` to add, remove, and delete files. Try `s3grg --help`, `s3grg put /proc/cpuinfo s3://éprouvette/cpuinfo.txt`, `s3grg ls s3://éprouvette`. `s3grg` is a wrapper on `s3cmd` configured with the previously generated API key (the one in `/tmp/garage.s3`). 8. You can use `s3grg` to add, remove, and delete files. Try `s3grg --help`, `s3grg cp /proc/cpuinfo s3://eprouvette/cpuinfo.txt`, `s3grg ls s3://eprouvette`. `s3grg` is a wrapper on `s3cmd` configured with the previously generated API key (the one in `/tmp/garage.s3`).
Now you should be ready to start hacking on garage! Now you should be ready to start hacking on garage!

View file

@ -6,11 +6,11 @@ GARAGE_DEBUG="${REPO_FOLDER}/target/debug/"
GARAGE_RELEASE="${REPO_FOLDER}/target/release/" GARAGE_RELEASE="${REPO_FOLDER}/target/release/"
PATH="${GARAGE_DEBUG}:${GARAGE_RELEASE}:$PATH" PATH="${GARAGE_DEBUG}:${GARAGE_RELEASE}:$PATH"
garage bucket create éprouvette garage bucket create eprouvette
KEY_INFO=`garage key new --name opérateur` KEY_INFO=`garage key new --name opérateur`
ACCESS_KEY=`echo $KEY_INFO|grep -Po 'GK[a-f0-9]+'` ACCESS_KEY=`echo $KEY_INFO|grep -Po 'GK[a-f0-9]+'`
SECRET_KEY=`echo $KEY_INFO|grep -Po 'secret_key: "[a-f0-9]+'|grep -Po '[a-f0-9]+$'` SECRET_KEY=`echo $KEY_INFO|grep -Po 'secret_key: "[a-f0-9]+'|grep -Po '[a-f0-9]+$'`
garage bucket allow éprouvette --read --write --key $ACCESS_KEY garage bucket allow eprouvette --read --write --key $ACCESS_KEY
echo "$ACCESS_KEY $SECRET_KEY" > /tmp/garage.s3 echo "$ACCESS_KEY $SECRET_KEY" > /tmp/garage.s3
echo "Bucket s3://éprouvette created. Credentials stored in /tmp/garage.s3." echo "Bucket s3://eprouvette created. Credentials stored in /tmp/garage.s3."

View file

@ -6,13 +6,10 @@ GARAGE_DEBUG="${REPO_FOLDER}/target/debug/"
GARAGE_RELEASE="${REPO_FOLDER}/target/release/" GARAGE_RELEASE="${REPO_FOLDER}/target/release/"
PATH="${GARAGE_DEBUG}:${GARAGE_RELEASE}:$PATH" PATH="${GARAGE_DEBUG}:${GARAGE_RELEASE}:$PATH"
ACCESS_KEY=`cat /tmp/garage.s3 |cut -d' ' -f1` export AWS_ACCESS_KEY_ID=`cat /tmp/garage.s3 |cut -d' ' -f1`
SECRET_KEY=`cat /tmp/garage.s3 |cut -d' ' -f2` export AWS_SECRET_ACCESS_KEY=`cat /tmp/garage.s3 |cut -d' ' -f2`
export AWS_DEFAULT_REGION='garage'
alias s3grg="s3cmd \ alias s3grg="aws s3 \
--host 127.0.0.1:3900 \ --endpoint-url http://127.0.0.1:3900"
--access_key=$ACCESS_KEY \
--secret_key=$SECRET_KEY \
--region=garage \
--no-ssl"