diff options
author | crupest <crupest@outlook.com> | 2022-11-23 20:06:23 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-11-23 20:06:23 +0800 |
commit | f47f7802424efdbef6006d1e31f9b6840f1f13ab (patch) | |
tree | 4688d77820194213887a7b2c2a615ec63b67848f | |
parent | d22287917ce6500641beeb36675d61adf071a2f0 (diff) | |
download | crupest-f47f7802424efdbef6006d1e31f9b6840f1f13ab.tar.gz crupest-f47f7802424efdbef6006d1e31f9b6840f1f13ab.tar.bz2 crupest-f47f7802424efdbef6006d1e31f9b6840f1f13ab.zip |
Fix coscli.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | docker/auto-backup/Dockerfile | 10 | ||||
-rwxr-xr-x | docker/auto-backup/daemon.bash | 17 | ||||
-rw-r--r-- | template/coscli-config.yaml.template | 9 | ||||
-rw-r--r-- | template/docker-compose.yaml.template | 5 | ||||
-rwxr-xr-x | tool/aio.py | 4 |
6 files changed, 21 insertions, 25 deletions
@@ -3,4 +3,3 @@ mailserver.env data nginx-config __pycache__ -coscli-config.yaml diff --git a/docker/auto-backup/Dockerfile b/docker/auto-backup/Dockerfile index 7df267c..5ac1672 100644 --- a/docker/auto-backup/Dockerfile +++ b/docker/auto-backup/Dockerfile @@ -4,11 +4,19 @@ COPY install-coscli.bash /install-coscli.bash RUN /install-coscli.bash FROM alpine:latest -RUN apk add --no-cache coreutils bash tar xz yq +RUN apk add --no-cache coreutils bash tar xz ARG CRUPEST_AUTO_BACKUP_INIT_DELAY=0 ARG CRUPEST_AUTO_BACKUP_INTERVAL=1d +ARG CRUPEST_AUTO_BACKUP_COS_SECRET_ID +ARG CRUPEST_AUTO_BACKUP_COS_SECRET_KEY +ARG CRUPEST_AUTO_BACKUP_COS_REGION +ARG CRUPEST_AUTO_BACKUP_BUCKET_NAME ENV CRUPEST_AUTO_BACKUP_INIT_DELAY=${CRUPEST_AUTO_BACKUP_INIT_DELAY} ENV CRUPEST_AUTO_BACKUP_INTERVAL=${CRUPEST_AUTO_BACKUP_INTERVAL} +ENV CRUPEST_AUTO_BACKUP_COS_SECRET_ID=${CRUPEST_AUTO_BACKUP_COS_SECRET_ID} +ENV CRUPEST_AUTO_BACKUP_COS_SECRET_KEY=${CRUPEST_AUTO_BACKUP_COS_SECRET_KEY} +ENV CRUPEST_AUTO_BACKUP_COS_REGION=${CRUPEST_AUTO_BACKUP_COS_REGION} +ENV CRUPEST_AUTO_BACKUP_BUCKET_NAME=${CRUPEST_AUTO_BACKUP_BUCKET_NAME} COPY --from=coscli-downloader /coscli /coscli COPY daemon.bash /daemon.bash VOLUME [ "/data", "/root/.cos.yaml" ] diff --git a/docker/auto-backup/daemon.bash b/docker/auto-backup/daemon.bash index 5dd8cfe..c2b91f9 100755 --- a/docker/auto-backup/daemon.bash +++ b/docker/auto-backup/daemon.bash @@ -14,16 +14,9 @@ fi xz --version tar --version -bucket_yaml=$(yq ".buckets[] | select(.alias == \"crupest-backup\")" ~/.cos.yaml) - -# check bucket_yaml is not empty -if [[ -z "$bucket_yaml" ]]; then - echo "Bucket crupest-backup not found. Please check your coscli config." 1>&2 - exit 1 -fi - -bucket_name=$(echo "$bucket_yaml" | yq ".name") -bucket_region=$(echo "$bucket_yaml" | yq ".region") +# do not echo next command +/coscli set --secret_id "${CRUPEST_AUTO_BACKUP_COS_SECRET_ID}" --secret_key "${CRUPEST_AUTO_BACKUP_COS_SECRET_KEY}" +/coscli add --alias "crupest-backup" --bucket "${CRUPEST_AUTO_BACKUP_BUCKET_NAME}" --region "${CRUPEST_AUTO_BACKUP_COS_REGION}" function backup { # Output "Begin backup..." in yellow and restore default @@ -42,8 +35,8 @@ function backup { destination="cos://crupest-backup/$current_time.tar.xz" echo "Use coscli to upload data to $destination ..." - echo "Bucket name: $bucket_name" - echo "Bucket region: $bucket_region" + echo "Bucket name: ${CRUPEST_AUTO_BACKUP_BUCKET_NAME}" + echo "Bucket region: ${CRUPEST_AUTO_BACKUP_COS_REGION}" # upload to remote /coscli cp /tmp/data.tar.xz "$destination" diff --git a/template/coscli-config.yaml.template b/template/coscli-config.yaml.template deleted file mode 100644 index d0768a3..0000000 --- a/template/coscli-config.yaml.template +++ /dev/null @@ -1,9 +0,0 @@ -cos: - base: - secretid: ${CRUPEST_AUTO_BACKUP_COS_ACCESS_KEY_ID} - secretkey: ${CRUPEST_AUTO_BACKUP_COS_SECRET_ACCESS_KEY} - sessiontoken: "" - buckets: - - name: ${CRUPEST_AUTO_BACKUP_BUCKET_NAME} - alias: crupest-backup - region: ${CRUPEST_AUTO_BACKUP_COS_REGION} diff --git a/template/docker-compose.yaml.template b/template/docker-compose.yaml.template index af87acc..bb8ac3f 100644 --- a/template/docker-compose.yaml.template +++ b/template/docker-compose.yaml.template @@ -106,6 +106,11 @@ services: context: ./docker/auto-backup dockerfile: Dockerfile pull: true + args: + - CRUPEST_AUTO_BACKUP_COS_SECRET_ID=${CRUPEST_AUTO_BACKUP_COS_SECRET_ID} + - CRUPEST_AUTO_BACKUP_COS_SECRET_KEY=${CRUPEST_AUTO_BACKUP_COS_SECRET_KEY} + - CRUPEST_AUTO_BACKUP_COS_REGION=${CRUPEST_AUTO_BACKUP_COS_REGION} + - CRUPEST_AUTO_BACKUP_BUCKET_NAME=${CRUPEST_AUTO_BACKUP_BUCKET_NAME} tags: - "crupest/auto-backup:latest" container_name: auto-backup diff --git a/tool/aio.py b/tool/aio.py index 8a07802..687ef40 100755 --- a/tool/aio.py +++ b/tool/aio.py @@ -302,9 +302,9 @@ config_var_list: list = [ "password for halo h2 database, once used never change it", lambda: os.urandom(8).hex()), ConfigVar("CRUPEST_IN_CHINA", "set to true if you are in China, some network optimization will be applied", lambda: "false"), - ConfigVar("CRUPEST_AUTO_BACKUP_COS_ACCESS_KEY_ID", + ConfigVar("CRUPEST_AUTO_BACKUP_COS_SECRET_ID", "access key id for Tencent COS, used for auto backup", "Please input your Tencent COS access key id for backup:"), - ConfigVar("CRUPEST_AUTO_BACKUP_COS_SECRET_ACCESS_KEY", + ConfigVar("CRUPEST_AUTO_BACKUP_COS_SECRET_KEY", "access key secret for Tencent COS, used for auto backup", "Please input your Tencent COS access key for backup:"), ConfigVar("CRUPEST_AUTO_BACKUP_COS_REGION", "region for Tencent COS, used for auto backup", "Please input your Tencent COS region for backup:", "ap-hongkong"), |