37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/usr/bin/env bash
 | |
| # Copyright (C) 2023  Umorpha Systems
 | |
| # SPDX-License-Identifier: AGPL-3.0-or-later
 | |
| 
 | |
| set -euE -o pipefail
 | |
| 
 | |
| # Clusters:
 | |
| # 
 | |
| # | ID | hostname              | location       |
 | |
| # |----+-----------------------+----------------|
 | |
| # |  2 | ewr1.vultrobjects.com | New Jersey     |
 | |
| # |  4 | sgp1.vultrobjects.com | Singapore      |
 | |
| # |  5 | sjc1.vultrobjects.com | Silicon Valley |
 | |
| # |  6 | ams1.vultrobjects.com | Amsterdam      |
 | |
| # |  7 | blr1.vultrobjects.com | Bangalore      |
 | |
| # |  8 | del1.vultrobjects.com | Delhi NCR      |
 | |
| 
 | |
| main() {
 | |
| 	store_id=$(bin/vultr-api object-storage | jq -r '.object_storages[]|select(.label=="Umorpha disk images").id')
 | |
| 	if [[ -z "$store_id" ]]; then
 | |
| 		store_id=$(bin/vultr-api object-storage -XPOST --data '{"label":"Umorpha disk images","cluster_id":5}' | jq -r .object_storage.id)
 | |
| 	fi
 | |
| 	info_resp=$(bin/vultr-api object-storage/$store_id)
 | |
| 
 | |
| 	s3_hostname=$(jq -r .object_storage.s3_hostname <<<"$info_resp")
 | |
| 	export AWS_ACCESS_KEY_ID="$(jq -r .object_storage.s3_access_key <<<"$info_resp")"
 | |
| 	export AWS_SECRET_ACCESS_KEY="$(jq -r .object_storage.s3_secret_key <<<"$info_resp")"
 | |
| 
 | |
| 	if [[ "$1" == hostname ]]; then
 | |
| 		printf '%s\n' "$s3_hostname"
 | |
| 	else
 | |
| 		s3cmd --host="$s3_hostname" --host-bucket="%(bucket)s.${s3_hostname}" "$@"
 | |
| 	fi
 | |
| }
 | |
| 
 | |
| main "$@"
 |