aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--docker/auto-backup/Dockerfile10
-rwxr-xr-xdocker/auto-backup/daemon.bash17
-rw-r--r--template/coscli-config.yaml.template9
-rw-r--r--template/docker-compose.yaml.template5
-rwxr-xr-xtool/aio.py4
6 files changed, 21 insertions, 25 deletions
diff --git a/.gitignore b/.gitignore
index 490616a..c7fcf38 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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"),