Merge pull request #6775 from dokku/better-herokuish-perms
Ensure files get created with the correct permissions when building with herokuish
This commit is contained in:
@@ -96,11 +96,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "herokuish",
|
"name": "herokuish",
|
||||||
"version": "0.7.3",
|
"version": "0.8.0",
|
||||||
"urls": {
|
"urls": {
|
||||||
"amd64": "https://github.com/gliderlabs/herokuish/releases/download/v0.7.3/herokuish_0.7.3_linux_x86_64.tgz",
|
"amd64": "https://github.com/gliderlabs/herokuish/releases/download/v0.8.0/herokuish_0.8.0_linux_x86_64.tgz",
|
||||||
"arm64": "https://github.com/gliderlabs/herokuish/releases/download/v0.7.3/herokuish_0.7.3_linux_x86_64.tgz",
|
"arm64": "https://github.com/gliderlabs/herokuish/releases/download/v0.8.0/herokuish_0.8.0_linux_x86_64.tgz",
|
||||||
"arm": "https://github.com/gliderlabs/herokuish/releases/download/v0.7.3/herokuish_0.7.3_linux_x86_64.tgz"
|
"arm": "https://github.com/gliderlabs/herokuish/releases/download/v0.8.0/herokuish_0.8.0_linux_x86_64.tgz"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ trigger-builder-herokuish-builder-build() {
|
|||||||
local DOCKER_BUILD_LABEL_ARGS="--label=org.label-schema.schema-version=1.0 --label=org.label-schema.vendor=dokku --label=com.dokku.app-name=$APP"
|
local DOCKER_BUILD_LABEL_ARGS="--label=org.label-schema.schema-version=1.0 --label=org.label-schema.vendor=dokku --label=com.dokku.app-name=$APP"
|
||||||
DOKKU_APP_USER=$(config_get "$APP" DOKKU_APP_USER || true)
|
DOKKU_APP_USER=$(config_get "$APP" DOKKU_APP_USER || true)
|
||||||
DOKKU_APP_USER=${DOKKU_APP_USER:="herokuishuser"}
|
DOKKU_APP_USER=${DOKKU_APP_USER:="herokuishuser"}
|
||||||
if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-herokuish/dockerfiles/copy-source.Dockerfile" --build-arg APP_IMAGE="$DOKKU_IMAGE" --build-arg DOKKU_APP_USER=$DOKKU_APP_USER -t $IMAGE "$SOURCECODE_WORK_DIR"; then
|
if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-herokuish/dockerfiles/copy-source.Dockerfile" --build-arg APP_IMAGE="$DOKKU_IMAGE" --build-arg "DOKKU_APP_USER=$DOKKU_APP_USER" --build-arg "TRACE=$DOKKU_TRACE" -t $IMAGE "$SOURCECODE_WORK_DIR"; then
|
||||||
DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$TAR_CID"
|
DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$TAR_CID"
|
||||||
dokku_log_warn "Failure extracting app code"
|
dokku_log_warn "Failure extracting app code"
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ trigger-builder-herokuish-builder-release() {
|
|||||||
DOKKU_APP_USER=$(config_get "$APP" DOKKU_APP_USER || true)
|
DOKKU_APP_USER=$(config_get "$APP" DOKKU_APP_USER || true)
|
||||||
DOKKU_APP_USER=${DOKKU_APP_USER:="herokuishuser"}
|
DOKKU_APP_USER=${DOKKU_APP_USER:="herokuishuser"}
|
||||||
|
|
||||||
if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-herokuish/dockerfiles/builder-release.Dockerfile" --build-arg APP_IMAGE="$IMAGE" --build-arg DOKKU_APP_USER=$DOKKU_APP_USER -t "$IMAGE" "$TMP_WORK_DIR"; then
|
if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-herokuish/dockerfiles/builder-release.Dockerfile" --build-arg APP_IMAGE="$IMAGE" --build-arg "DOKKU_APP_USER=$DOKKU_APP_USER" -t "$IMAGE" "$TMP_WORK_DIR"; then
|
||||||
dokku_log_warn "Failure injecting environment variables"
|
dokku_log_warn "Failure injecting environment variables"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -3,6 +3,5 @@ FROM $APP_IMAGE
|
|||||||
|
|
||||||
ARG DOKKU_APP_USER herokuishuser
|
ARG DOKKU_APP_USER herokuishuser
|
||||||
COPY --chown=$DOKKU_APP_USER 00-global-env.sh 01-app-env.sh /app/.profile.d/
|
COPY --chown=$DOKKU_APP_USER 00-global-env.sh 01-app-env.sh /app/.profile.d/
|
||||||
RUN chown -R "$DOKKU_APP_USER:$DOKKU_APP_USER" /app
|
|
||||||
USER $DOKKU_APP_USER
|
USER $DOKKU_APP_USER
|
||||||
ENV HEROKUISH_SETUIDGUID false
|
ENV HEROKUISH_SETUIDGUID false
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ ARG APP_IMAGE
|
|||||||
FROM $APP_IMAGE
|
FROM $APP_IMAGE
|
||||||
|
|
||||||
ARG DOKKU_APP_USER herokuishuser
|
ARG DOKKU_APP_USER herokuishuser
|
||||||
RUN USER=$DOKKU_APP_USER /exec true
|
ARG TRACE
|
||||||
|
RUN TRACE=$TRACE USER=$DOKKU_APP_USER /exec true
|
||||||
COPY --chown=$DOKKU_APP_USER . /app
|
COPY --chown=$DOKKU_APP_USER . /app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ENV HEROKUISH_DISABLE_CHOWN true
|
ENV HEROKUISH_DISABLE_CHOWN true
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
ARG APP_IMAGE
|
ARG APP_IMAGE
|
||||||
FROM $APP_IMAGE
|
FROM $APP_IMAGE
|
||||||
|
|
||||||
|
ARG DOKKU_APP_USER herokuishuser
|
||||||
COPY --chown=$DOKKU_APP_USER .env.d /tmp/env
|
COPY --chown=$DOKKU_APP_USER .env.d /tmp/env
|
||||||
COPY --chown=$DOKKU_APP_USER .env /app/.env
|
COPY --chown=$DOKKU_APP_USER .env /app/.env
|
||||||
|
|||||||
@@ -39,7 +39,9 @@ trigger-builder-herokuish-pre-build-buildpack() {
|
|||||||
echo "$dotenv_contents" >"$TMP_WORK_DIR/.env"
|
echo "$dotenv_contents" >"$TMP_WORK_DIR/.env"
|
||||||
config_export app "$APP" --format envfile --merged >>"$TMP_WORK_DIR/.env"
|
config_export app "$APP" --format envfile --merged >>"$TMP_WORK_DIR/.env"
|
||||||
|
|
||||||
if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-herokuish/dockerfiles/pre-build.Dockerfile" --build-arg APP_IMAGE="$IMAGE" -t $IMAGE "$TMP_WORK_DIR"; then
|
DOKKU_APP_USER=$(config_get "$APP" DOKKU_APP_USER || true)
|
||||||
|
DOKKU_APP_USER=${DOKKU_APP_USER:="herokuishuser"}
|
||||||
|
if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-herokuish/dockerfiles/pre-build.Dockerfile" --build-arg APP_IMAGE="$IMAGE" --build-arg "DOKKU_APP_USER=$DOKKU_APP_USER" -t $IMAGE "$TMP_WORK_DIR"; then
|
||||||
dokku_log_warn "Failure injecting BUILD_ENV into build environment"
|
dokku_log_warn "Failure injecting BUILD_ENV into build environment"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user