From 9a79e99f1ff0a3270fb10b1b9658dd7df7a43fe1 Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Thu, 8 May 2025 13:57:03 +0800
Subject: [PATCH 01/10] chore(storage): add check storage

---
 rootfs/usr/local/bin/get_object | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/rootfs/usr/local/bin/get_object b/rootfs/usr/local/bin/get_object
index c6808e9..5ee263d 100755
--- a/rootfs/usr/local/bin/get_object
+++ b/rootfs/usr/local/bin/get_object
@@ -9,4 +9,6 @@ mc config host add storage \
 
 GET_PATH=/tmp/app.tgz
 
+mc ping storage -x
+
 mc cp storage/"${DRYCC_STORAGE_BUCKET}/${TAR_PATH}" "${GET_PATH}"

From 710db910904f4dca9f0fa4a7fc23b4f3c019f000 Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Mon, 9 Jun 2025 22:28:26 +0800
Subject: [PATCH 02/10] chore(imagebuilder): change networkpolicy name

---
 charts/imagebuilder/templates/imagebuilder-networkpolicy.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/charts/imagebuilder/templates/imagebuilder-networkpolicy.yaml b/charts/imagebuilder/templates/imagebuilder-networkpolicy.yaml
index 4e3b461..767af80 100644
--- a/charts/imagebuilder/templates/imagebuilder-networkpolicy.yaml
+++ b/charts/imagebuilder/templates/imagebuilder-networkpolicy.yaml
@@ -1,7 +1,7 @@
 apiVersion: networking.k8s.io/v1
 kind: NetworkPolicy
 metadata:
-  name: imagebuilder-networkpolicy
+  name: drycc-imagebuilder
 spec:
   podSelector:
     matchLabels:

From 86bd84c0e7d37e0dd7e137cdd72e59e88da24eac Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Mon, 21 Jul 2025 17:44:48 +0800
Subject: [PATCH 03/10] chore(imagebuilder): bump all stack version

---
 rootfs/Dockerfile | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/rootfs/Dockerfile b/rootfs/Dockerfile
index c80efea..8974075 100644
--- a/rootfs/Dockerfile
+++ b/rootfs/Dockerfile
@@ -5,11 +5,11 @@ ENV DRYCC_UID=1001 \
   DRYCC_GID=1001 \
   DRYCC_HOME_DIR=/home/drycc \
   JQ_VERSION="1.7.1" \
-  YQ_VERSION="4.45.1" \
-  PODMAN_VERSION="5.4.2" \
-  MC_VERSION="2025.04.03.17.07.56" \
-  CADDY_VERSION="2.9.1" \
-  PACK_VERSION="0.37.0" \
+  YQ_VERSION="4.46.1" \
+  PODMAN_VERSION="5.5.2" \
+  MC_VERSION="2025.07.16.15.35.03" \
+  CADDY_VERSION="2.10.0" \
+  PACK_VERSION="0.38.2" \
   GOSU_VERSION="1.17"
 
 RUN groupadd drycc --gid ${DRYCC_GID} \

From 438d8f50664ba8781c3e16aaf37c16f48bef5853 Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Tue, 22 Jul 2025 10:52:04 +0800
Subject: [PATCH 04/10] chore(storage): use path style replace lookup

---
 rootfs/usr/local/bin/get_object | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/rootfs/usr/local/bin/get_object b/rootfs/usr/local/bin/get_object
index 5ee263d..f0feb35 100755
--- a/rootfs/usr/local/bin/get_object
+++ b/rootfs/usr/local/bin/get_object
@@ -1,11 +1,10 @@
 #!/usr/bin/env bash
 
-mc config host add storage \
+mc alias set storage \
   "${DRYCC_STORAGE_ENDPOINT}" \
   "${DRYCC_STORAGE_ACCESSKEY}" \
   "${DRYCC_STORAGE_SECRETKEY}" \
-  --lookup "${DRYCC_STORAGE_LOOKUP}" \
-  --api s3v4
+  --path "${DRYCC_STORAGE_PATH_STYLE}"
 
 GET_PATH=/tmp/app.tgz
 

From 7e77ed03ff8a0af80c39682976fbab9f4c0adf8d Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Tue, 22 Jul 2025 13:31:09 +0800
Subject: [PATCH 05/10] fix(pack): PACK_VOLUME_KEY is unset

---
 rootfs/imagebuilder/build | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/rootfs/imagebuilder/build b/rootfs/imagebuilder/build
index dbdcdd5..a78d0ee 100755
--- a/rootfs/imagebuilder/build
+++ b/rootfs/imagebuilder/build
@@ -192,6 +192,9 @@ else
             --default-process web \
             --env-file ${envfile} \
             --network host"
+    # fix(pack): PACK_VOLUME_KEY is unset
+    PACK_VOLUME_KEY=${drycc_app}
+    export PACK_VOLUME_KEY
     if [[ $log_level == "debug" ]] ; then
         pack_build="$pack_build --verbose"
     fi

From 4f9b695ade96843649b8beb8bc80e2a58f00949f Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Tue, 2 Sep 2025 14:06:06 +0800
Subject: [PATCH 06/10] fix(shell): check storage ready

---
 rootfs/usr/local/bin/get_object | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/rootfs/usr/local/bin/get_object b/rootfs/usr/local/bin/get_object
index f0feb35..92f8d17 100755
--- a/rootfs/usr/local/bin/get_object
+++ b/rootfs/usr/local/bin/get_object
@@ -9,5 +9,9 @@ mc alias set storage \
 GET_PATH=/tmp/app.tgz
 
 mc ping storage -x
-
+if ! mc admin info storage > /dev/null 2>&1; then
+  sleep 9s
+else
+  mc ready storage
+fi
 mc cp storage/"${DRYCC_STORAGE_BUCKET}/${TAR_PATH}" "${GET_PATH}"

From c8827ddc50c071f473984aaa725508b0e2380fe3 Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Sun, 14 Sep 2025 01:11:59 +0800
Subject: [PATCH 07/10] chore(imagebuilder): bump new version

---
 rootfs/Dockerfile | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/rootfs/Dockerfile b/rootfs/Dockerfile
index 8974075..ca58215 100644
--- a/rootfs/Dockerfile
+++ b/rootfs/Dockerfile
@@ -5,12 +5,12 @@ ENV DRYCC_UID=1001 \
   DRYCC_GID=1001 \
   DRYCC_HOME_DIR=/home/drycc \
   JQ_VERSION="1.7.1" \
-  YQ_VERSION="4.46.1" \
-  PODMAN_VERSION="5.5.2" \
-  MC_VERSION="2025.07.16.15.35.03" \
-  CADDY_VERSION="2.10.0" \
+  YQ_VERSION="4.47.2" \
+  PODMAN_VERSION="5.6.1" \
+  MC_VERSION="2025.08.13.08.35.41" \
+  CADDY_VERSION="2.10.2" \
   PACK_VERSION="0.38.2" \
-  GOSU_VERSION="1.17"
+  GOSU_VERSION="1.18"
 
 RUN groupadd drycc --gid ${DRYCC_GID} \
   && useradd drycc -u ${DRYCC_UID} -g ${DRYCC_GID} -s /bin/bash -m -d ${DRYCC_HOME_DIR}

From defafc2d4c9ff5e2ed964be6907deaa3548c7928 Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Thu, 18 Sep 2025 09:29:56 +0800
Subject: [PATCH 08/10] chore(charts): bump debian version to trixie

---
 charts/imagebuilder/values.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/charts/imagebuilder/values.yaml b/charts/imagebuilder/values.yaml
index a8061c8..60ec3bc 100644
--- a/charts/imagebuilder/values.yaml
+++ b/charts/imagebuilder/values.yaml
@@ -2,7 +2,7 @@ imageOrg: "drycc"
 imagePullPolicy: "Always"
 imageTag: "canary"
 imageRegistry: "registry.drycc.cc"
-codename: bookworm
+codename: trixie
 containerRegistries: |
   unqualified-search-registries = ["registry.drycc.cc"]
   short-name-mode="permissive"

From 977a6b1f77aa23bc4f365b77869e64ca008dbb1a Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Fri, 17 Oct 2025 14:49:51 +0800
Subject: [PATCH 09/10] chore(imagebuilder): use rclone replace mc

---
 rootfs/Dockerfile               |  6 +++---
 rootfs/usr/local/bin/get_object | 21 +++++++++++----------
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/rootfs/Dockerfile b/rootfs/Dockerfile
index ca58215..2672490 100644
--- a/rootfs/Dockerfile
+++ b/rootfs/Dockerfile
@@ -1,13 +1,13 @@
 ARG CODENAME
 FROM registry.drycc.cc/drycc/base:${CODENAME}
 
-ENV DRYCC_UID=1001 \
+ARG DRYCC_UID=1001 \
   DRYCC_GID=1001 \
   DRYCC_HOME_DIR=/home/drycc \
   JQ_VERSION="1.7.1" \
   YQ_VERSION="4.47.2" \
   PODMAN_VERSION="5.6.1" \
-  MC_VERSION="2025.08.13.08.35.41" \
+  RCLONE_VERSION="1.71.1" \
   CADDY_VERSION="2.10.2" \
   PACK_VERSION="0.38.2" \
   GOSU_VERSION="1.18"
@@ -21,7 +21,7 @@ RUN install-packages procps psmisc \
   && install-stack jq $JQ_VERSION \
   && install-stack yq $YQ_VERSION \
   && install-stack podman $PODMAN_VERSION \
-  && install-stack mc $MC_VERSION \
+  && install-stack rclone $RCLONE_VERSION \
   && install-stack caddy $CADDY_VERSION \
   && install-stack pack $PACK_VERSION \
   && install-stack gosu $GOSU_VERSION \
diff --git a/rootfs/usr/local/bin/get_object b/rootfs/usr/local/bin/get_object
index 92f8d17..6f0a3ac 100755
--- a/rootfs/usr/local/bin/get_object
+++ b/rootfs/usr/local/bin/get_object
@@ -1,17 +1,18 @@
 #!/usr/bin/env bash
 
-mc alias set storage \
-  "${DRYCC_STORAGE_ENDPOINT}" \
-  "${DRYCC_STORAGE_ACCESSKEY}" \
-  "${DRYCC_STORAGE_SECRETKEY}" \
-  --path "${DRYCC_STORAGE_PATH_STYLE}"
+mkdir -p ~/.config/rclone
+touch ~/.config/rclone/rclone.conf
+rclone config create storage s3 \
+  provider=Other \
+  access_key_id="${DRYCC_STORAGE_ACCESSKEY}" \
+  secret_access_key="${DRYCC_STORAGE_SECRETKEY}" \
+  endpoint="${DRYCC_STORAGE_ENDPOINT}" \
+  force_path_style="${DRYCC_STORAGE_PATH_STYLE:-true}" --no-output
 
 GET_PATH=/tmp/app.tgz
 
-mc ping storage -x
-if ! mc admin info storage > /dev/null 2>&1; then
+if ! rclone lsd storage: > /dev/null 2>&1; then
   sleep 9s
-else
-  mc ready storage
+  echo "waiting for object storage to become ready..."
 fi
-mc cp storage/"${DRYCC_STORAGE_BUCKET}/${TAR_PATH}" "${GET_PATH}"
+rclone copyto storage:"${DRYCC_STORAGE_BUCKET}/${TAR_PATH}" "${GET_PATH}"

From 65dc12ab98e0a9236d381680572893b0273c1097 Mon Sep 17 00:00:00 2001
From: duanhongyi <duanhongyi@doopai.com>
Date: Sat, 15 Nov 2025 21:23:57 +0800
Subject: [PATCH 10/10] chore(podman): bump version to 5.7.0

---
 rootfs/Dockerfile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/rootfs/Dockerfile b/rootfs/Dockerfile
index 2672490..e14ea5d 100644
--- a/rootfs/Dockerfile
+++ b/rootfs/Dockerfile
@@ -5,12 +5,12 @@ ARG DRYCC_UID=1001 \
   DRYCC_GID=1001 \
   DRYCC_HOME_DIR=/home/drycc \
   JQ_VERSION="1.7.1" \
-  YQ_VERSION="4.47.2" \
-  PODMAN_VERSION="5.6.1" \
-  RCLONE_VERSION="1.71.1" \
+  YQ_VERSION="4.48.1" \
+  PODMAN_VERSION="5.7.0" \
+  RCLONE_VERSION="1.71.2" \
   CADDY_VERSION="2.10.2" \
   PACK_VERSION="0.38.2" \
-  GOSU_VERSION="1.18"
+  GOSU_VERSION="1.19"
 
 RUN groupadd drycc --gid ${DRYCC_GID} \
   && useradd drycc -u ${DRYCC_UID} -g ${DRYCC_GID} -s /bin/bash -m -d ${DRYCC_HOME_DIR}
