feat: add support for custom user namespaces when creating persistent storage directories

Closes #3454
This commit is contained in:
Jose Diaz-Gonzalez
2024-01-23 02:25:11 -05:00
parent cb558c1a19
commit 7381cf74c6
2 changed files with 9 additions and 0 deletions

View File

@@ -44,12 +44,19 @@ cmd-storage-ensure-directory() {
CHOWN_FLAG="1000"
elif [[ "$CHOWN_FLAG" == "packeto" ]]; then
CHOWN_FLAG="2000"
elif [[ "$CHOWN_FLAG" == "root" ]]; then
CHOWN_FLAG="0"
elif [[ "$CHOWN_FLAG" == "false" ]]; then
CHOWN_FLAG="false"
else
dokku_log_fail "Unsupported chown permissions"
fi
userns_enabled="$(docker info -f '{{range .SecurityOptions}}{{if eq . "name=userns"}}true{{end}}{{end}}')"
if [[ "$userns_enabled" == "true" ]] && [[ "$CHOWN_FLAG" != "false" ]]; then
CHOWN_FLAG=$((CHOWN_FLAG + 165536))
fi
local storage_directory="${DOKKU_LIB_ROOT}/data/storage/$DIRECTORY"
dokku_log_info1 "Ensuring ${storage_directory} exists"
mkdir -p "${storage_directory}"