From 848f60eae13f91e7cde4d3963a9e5735c4a59bc3 Mon Sep 17 00:00:00 2001 From: Torsten Curdt Date: Tue, 14 Dec 2021 20:13:00 +0100 Subject: [PATCH 0001/4100] also build for arm64 --- contrib/build-dokku.Dockerfile | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/contrib/build-dokku.Dockerfile b/contrib/build-dokku.Dockerfile index afadbb4bc85..3d279dfc2a5 100644 --- a/contrib/build-dokku.Dockerfile +++ b/contrib/build-dokku.Dockerfile @@ -24,6 +24,7 @@ COPY . ${WORKDIR} ENV GOPATH=/go + FROM builder as amd64 ARG PLUGIN_MAKE_TARGET @@ -39,6 +40,7 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ make version copyfiles \ && make deb-dokku rpm-dokku + FROM builder as armhf COPY --from=amd64 /tmp /tmp @@ -59,4 +61,26 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ GOARCH=arm make version copyfiles \ && DOKKU_ARCHITECTURE=armhf GOARCH=arm make deb-dokku + +FROM builder as arm64 + +COPY --from=amd64 /tmp /tmp +COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated + +RUN rm -rf /tmp/build-dokku + +ARG PLUGIN_MAKE_TARGET +ARG DOKKU_VERSION=master +ARG DOKKU_GIT_REV +ARG IS_RELEASE=false + +RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ + DOKKU_VERSION=${DOKKU_VERSION} \ + DOKKU_GIT_REV=${DOKKU_GIT_REV} \ + IS_RELEASE=${IS_RELEASE} \ + SKIP_GO_CLEAN=true \ + GOARCH=arm64 make version copyfiles \ + && DOKKU_ARCHITECTURE=arm64 GOARCH=arm64 make deb-dokku + + RUN ls -lha /tmp/ From 9f981328d29e80988bd3dacac6236defec60596d Mon Sep 17 00:00:00 2001 From: Torsten Curdt Date: Tue, 14 Dec 2021 20:20:35 +0100 Subject: [PATCH 0002/4100] also release arm64 package --- contrib/release-dokku | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/release-dokku b/contrib/release-dokku index faa929f249a..65e0b7addec 100755 --- a/contrib/release-dokku +++ b/contrib/release-dokku @@ -392,12 +392,14 @@ main() { fn-repo-update "$IS_RELEASE" "$CURRENT_VERSION" "$NEXT_VERSION" fn-build-dokku "$IS_RELEASE" "$NEXT_VERSION" || log-fail "Error building package" fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error extracting deb package" + fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error extracting deb package" fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error extracting deb package" fn-extract-package "$IS_RELEASE" "dokku-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error extracting rpm package" cp -f "build/dokku_${NEXT_VERSION}_amd64.deb" build/dokku.deb if [[ "$RELEASE" != "build" ]]; then fn-publish-package "$IS_RELEASE" "raspbian" "build/dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error publishing deb package" + fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error publishing deb package" fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error publishing deb package" fn-publish-package "$IS_RELEASE" "rpm" "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error publishing rpm package" fn-build-docker-image "$NEXT_VERSION" || log-fail "Error building docker image" @@ -415,6 +417,8 @@ main() { git checkout -- plugins/*/plugin.toml fi + # what about this? + # echo "build/dokku_${NEXT_VERSION}_arm64.deb" >build/deb-filename echo "build/dokku_${NEXT_VERSION}_amd64.deb" >build/deb-filename echo "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" >build/rpm-filename } From 4a86650a4969f568499186b5aabe6dd5ac3155b4 Mon Sep 17 00:00:00 2001 From: Torsten Curdt Date: Tue, 14 Dec 2021 21:25:31 +0100 Subject: [PATCH 0003/4100] removed empty lines --- contrib/build-dokku.Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/contrib/build-dokku.Dockerfile b/contrib/build-dokku.Dockerfile index 3d279dfc2a5..7fac184621e 100644 --- a/contrib/build-dokku.Dockerfile +++ b/contrib/build-dokku.Dockerfile @@ -24,7 +24,6 @@ COPY . ${WORKDIR} ENV GOPATH=/go - FROM builder as amd64 ARG PLUGIN_MAKE_TARGET @@ -40,7 +39,6 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ make version copyfiles \ && make deb-dokku rpm-dokku - FROM builder as armhf COPY --from=amd64 /tmp /tmp @@ -61,7 +59,6 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ GOARCH=arm make version copyfiles \ && DOKKU_ARCHITECTURE=armhf GOARCH=arm make deb-dokku - FROM builder as arm64 COPY --from=amd64 /tmp /tmp @@ -82,5 +79,4 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ GOARCH=arm64 make version copyfiles \ && DOKKU_ARCHITECTURE=arm64 GOARCH=arm64 make deb-dokku - RUN ls -lha /tmp/ From a89cc87a431e732db19a42a1d31579a7911be810 Mon Sep 17 00:00:00 2001 From: Torsten Curdt Date: Tue, 14 Dec 2021 21:31:28 +0100 Subject: [PATCH 0004/4100] removed commented out lines --- contrib/release-dokku | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/release-dokku b/contrib/release-dokku index 65e0b7addec..65511524011 100755 --- a/contrib/release-dokku +++ b/contrib/release-dokku @@ -417,8 +417,6 @@ main() { git checkout -- plugins/*/plugin.toml fi - # what about this? - # echo "build/dokku_${NEXT_VERSION}_arm64.deb" >build/deb-filename echo "build/dokku_${NEXT_VERSION}_amd64.deb" >build/deb-filename echo "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" >build/rpm-filename } From 46c9d0e33fc048d039f5f7421b7f42d78e55c117 Mon Sep 17 00:00:00 2001 From: Torsten Curdt Date: Tue, 14 Dec 2021 21:32:32 +0100 Subject: [PATCH 0005/4100] copy the right binaries --- contrib/build-dokku.Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/build-dokku.Dockerfile b/contrib/build-dokku.Dockerfile index 7fac184621e..9f236f9101a 100644 --- a/contrib/build-dokku.Dockerfile +++ b/contrib/build-dokku.Dockerfile @@ -41,7 +41,7 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ FROM builder as armhf -COPY --from=amd64 /tmp /tmp +COPY --from=armhf /tmp /tmp COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated RUN rm -rf /tmp/build-dokku @@ -61,7 +61,7 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ FROM builder as arm64 -COPY --from=amd64 /tmp /tmp +COPY --from=arm64 /tmp /tmp COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated RUN rm -rf /tmp/build-dokku From e2403c8d9407a35f79ac98a1cde5b3f51335f7d3 Mon Sep 17 00:00:00 2001 From: Torsten Curdt Date: Tue, 14 Dec 2021 22:07:32 +0100 Subject: [PATCH 0006/4100] chain the builders to build up all the builds in one dir --- contrib/build-dokku.Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/build-dokku.Dockerfile b/contrib/build-dokku.Dockerfile index 9f236f9101a..3ca85034a85 100644 --- a/contrib/build-dokku.Dockerfile +++ b/contrib/build-dokku.Dockerfile @@ -41,7 +41,7 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ FROM builder as armhf -COPY --from=armhf /tmp /tmp +COPY --from=amd64 /tmp /tmp COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated RUN rm -rf /tmp/build-dokku @@ -61,7 +61,7 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \ FROM builder as arm64 -COPY --from=arm64 /tmp /tmp +COPY --from=armhf /tmp /tmp COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated RUN rm -rf /tmp/build-dokku From 4fede344fcb14acf33e0a68b4d99414df892d8bb Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 17:55:46 -0500 Subject: [PATCH 0007/4100] refactor: build docker image for all architectures --- .dockerignore | 2 +- Dockerfile | 4 ++-- contrib/release-dokku | 12 +++++++----- tests/ci/setup.sh | 11 +++++------ 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.dockerignore b/.dockerignore index a06e41fd677..fb38043ca2c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -6,7 +6,7 @@ contrib build docs tests -!build/dokku.deb +!build/package/* !tests/dhparam.pem !contrib/bash-completion !contrib/docker diff --git a/Dockerfile b/Dockerfile index d146340581d..f317becd998 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ RUN addgroup --gid $DOKKU_GID dokku \ && adduser --uid $DOKKU_UID --gid $DOKKU_GID --disabled-password --gecos "" "dokku" COPY ./tests/dhparam.pem /tmp/dhparam.pem -COPY ./build/dokku.deb /tmp/dokku.deb +COPY ./build/package/ /tmp SHELL ["/bin/bash", "-o", "pipefail", "-c"] # hadolint ignore=DL3005,DL3008 @@ -28,7 +28,7 @@ RUN echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections && apt-get update -qq \ && apt-get upgrade -qq -y \ && apt-get -qq -y --no-install-recommends --only-upgrade install openssl openssh-server \ - && apt-get -qq -y --no-install-recommends install rsync /tmp/dokku.deb \ + && apt-get -qq -y --no-install-recommends install rsync "/tmp/dokku-$(dpkg --print-architecture).deb" \ && apt-get purge -qq -y syslog-ng-core \ && apt-get autoremove -qq -y \ && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/contrib/release-dokku b/contrib/release-dokku index 65511524011..436af96e344 100755 --- a/contrib/release-dokku +++ b/contrib/release-dokku @@ -43,7 +43,8 @@ fn-build-dokku() { pushd "$ROOT_DIR" >/dev/null GOLANG_VERSION="$(grep BUILD_IMAGE common.mk | cut -d' ' -f3 | cut -d':' -f2)" - docker build \ + docker buildx build \ + --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ --build-arg DOKKU_VERSION="$DOKKU_VERSION" \ --build-arg DOKKU_GIT_REV="$DOKKU_GIT_REV" \ --build-arg IS_RELEASE="$IS_RELEASE" \ @@ -395,7 +396,11 @@ main() { fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error extracting deb package" fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error extracting deb package" fn-extract-package "$IS_RELEASE" "dokku-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error extracting rpm package" - cp -f "build/dokku_${NEXT_VERSION}_amd64.deb" build/dokku.deb + mkdir -p build/package + cp -f "build/dokku_${NEXT_VERSION}_amd64.deb" build/package/dokku-amd64.deb + cp -f "build/dokku_${NEXT_VERSION}_arm64.deb" build/package/dokku-arm64.deb + cp -f "build/dokku_${NEXT_VERSION}_armhf.deb" build/package/dokku-armhf.deb + cp -f "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" build/package/dokku-amd64.rpm if [[ "$RELEASE" != "build" ]]; then fn-publish-package "$IS_RELEASE" "raspbian" "build/dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error publishing deb package" @@ -416,9 +421,6 @@ main() { git reset -q HEAD plugins/*/plugin.toml git checkout -- plugins/*/plugin.toml fi - - echo "build/dokku_${NEXT_VERSION}_amd64.deb" >build/deb-filename - echo "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" >build/rpm-filename } main "$@" diff --git a/tests/ci/setup.sh b/tests/ci/setup.sh index 231510e4e25..5a5760649ee 100755 --- a/tests/ci/setup.sh +++ b/tests/ci/setup.sh @@ -74,14 +74,13 @@ build_dokku() { echo "=====> build_dokku on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX" "${ROOT_DIR}/contrib/release-dokku" build - cp "$(cat "${ROOT_DIR}/build/deb-filename")" "${ROOT_DIR}/build/dokku.deb" - cp "$(cat "${ROOT_DIR}/build/rpm-filename")" "${ROOT_DIR}/build/dokku.rpm" } install_dokku() { echo "=====> install_dokku on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX" - if [[ ! -f "${ROOT_DIR}/build/deb-filename" ]]; then + local architecture="$(dpkg --print-architecture)" + if [[ ! -f "${ROOT_DIR}/build/package/dokku-${architecture}.deb" ]]; then build_dokku fi @@ -98,9 +97,9 @@ EOF echo "-----> End debconf selections" sleep 5 - echo "-----> Start install $(cat "${ROOT_DIR}/build/deb-filename") via dpkg" - sudo TRACE=1 dpkg -i "$(cat "${ROOT_DIR}/build/deb-filename")" - echo "-----> End install $(cat "${ROOT_DIR}/build/deb-filename") via dpkg" + echo "-----> Start install ${ROOT_DIR}/build/package/dokku-${architecture}.deb via dpkg" + sudo TRACE=1 dpkg -i "${ROOT_DIR}/build/package/dokku-${architecture}.deb" + echo "-----> End install ${ROOT_DIR}/build/package/dokku-${architecture}.deb via dpkg" } build_dokku_docker_image() { From 7a7f44614dec7eebee244be02320e07e0f79441e Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 18:25:18 -0500 Subject: [PATCH 0008/4100] fix: build correct image as multi-platform image --- contrib/release-dokku | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/contrib/release-dokku b/contrib/release-dokku index 436af96e344..fd6e5f1391b 100755 --- a/contrib/release-dokku +++ b/contrib/release-dokku @@ -43,8 +43,7 @@ fn-build-dokku() { pushd "$ROOT_DIR" >/dev/null GOLANG_VERSION="$(grep BUILD_IMAGE common.mk | cut -d' ' -f3 | cut -d':' -f2)" - docker buildx build \ - --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + docker build \ --build-arg DOKKU_VERSION="$DOKKU_VERSION" \ --build-arg DOKKU_GIT_REV="$DOKKU_GIT_REV" \ --build-arg IS_RELEASE="$IS_RELEASE" \ @@ -351,8 +350,21 @@ fn-require-bin() { fn-build-docker-image() { declare desc="Builds the dokku docker image and tags it with the given version" - declare VERSION="$1" - docker build -t "dokku/dokku:$VERSION" . + declare VERSION="$1" IS_RELEASE="$2" + + if [[ "$IS_RELEASE" == "true" ]]; then + docker buildx build \ + --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + --progress plain \ + --push \ + --tag "dokku/dokku:latest" \ + --tag "dokku/dokku:$VERSION" . + else + docker buildx build \ + --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + --progress plain \ + --tag "dokku/dokku:$VERSION" . + fi } main() { @@ -407,13 +419,8 @@ main() { fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error publishing deb package" fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error publishing deb package" fn-publish-package "$IS_RELEASE" "rpm" "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error publishing rpm package" - fn-build-docker-image "$NEXT_VERSION" || log-fail "Error building docker image" + fn-build-docker-image "$NEXT_VERSION" "$IS_RELEASE" || log-fail "Error building docker image" - if [[ "$IS_RELEASE" == "true" ]]; then - docker tag "dokku/dokku:$NEXT_VERSION" "dokku/dokku:latest" - docker push "dokku/dokku:$NEXT_VERSION" - docker push "dokku/dokku:latest" - fi fn-repo-push-tags "$IS_RELEASE" fi From 110aa1f4d9e3d3b9f80c59796965d045df4f4fd6 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 18:31:42 -0500 Subject: [PATCH 0009/4100] fix: run shfmt --- contrib/release-dokku | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/contrib/release-dokku b/contrib/release-dokku index fd6e5f1391b..109edb8a64b 100755 --- a/contrib/release-dokku +++ b/contrib/release-dokku @@ -354,16 +354,16 @@ fn-build-docker-image() { if [[ "$IS_RELEASE" == "true" ]]; then docker buildx build \ - --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ - --progress plain \ - --push \ - --tag "dokku/dokku:latest" \ - --tag "dokku/dokku:$VERSION" . + --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + --progress plain \ + --push \ + --tag "dokku/dokku:latest" \ + --tag "dokku/dokku:$VERSION" . else docker buildx build \ - --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ - --progress plain \ - --tag "dokku/dokku:$VERSION" . + --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + --progress plain \ + --tag "dokku/dokku:$VERSION" . fi } From 1c681d23eb0da0cd949d203a4ff2b3cfe107a6d2 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 20:39:52 -0500 Subject: [PATCH 0010/4100] docs: add warning for setting PORT Closes #4799 --- docs/networking/port-management.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/networking/port-management.md b/docs/networking/port-management.md index 8d46484839f..1b56e0546ec 100644 --- a/docs/networking/port-management.md +++ b/docs/networking/port-management.md @@ -15,6 +15,8 @@ In Dokku 0.5.0, port proxying was decoupled from the `nginx-vhosts` plugin into ## Usage > Warning: Mapping alternative ports may conflict with the active firewall installed on your server or hosting provider. Such software includes - but is not limited to - AWS Security Groups, iptables, and UFW. Please consult the documentation for those softwares as applicable. +> +> Users should also avoid setting the `PORT` environment variable. Dokku will use port mappings to set this value. Overridng this manually may cause issues in application routing. > New as of 0.6.0 From c75149fb9fb62bb5a8cec07774f4624c5e34999b Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 20:17:49 -0500 Subject: [PATCH 0011/4100] feat: add support for clearing all nginx proxy entries in a single go --- plugins/nginx-vhosts/proxy-clear-config | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/plugins/nginx-vhosts/proxy-clear-config b/plugins/nginx-vhosts/proxy-clear-config index f00aea5d38a..a870ae1bcde 100755 --- a/plugins/nginx-vhosts/proxy-clear-config +++ b/plugins/nginx-vhosts/proxy-clear-config @@ -4,9 +4,8 @@ set -eo pipefail source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" source "$PLUGIN_AVAILABLE_PATH/nginx-vhosts/internal-functions" -trigger-nginx-vhosts-proxy-clear-config() { - declare desc="clear nginx config for proxy app containers from command line" - declare trigger="proxy-clear-config" +fn-trigger-nginx-vhosts-proxy-clear-config-app() { + declare desc="clears the proxy config for a single app" declare APP="$1" [[ -z "$APP" ]] && dokku_log_fail "Please specify an app to run the command on" @@ -16,4 +15,22 @@ trigger-nginx-vhosts-proxy-clear-config() { fi } +trigger-nginx-vhosts-proxy-clear-config() { + declare desc="clear nginx config for proxy app containers from command line" + declare trigger="proxy-clear-config" + declare APP="$1" + + if [[ "$APP" == "--all" ]]; then + exit_code="0" + for app in $(dokku_apps); do + if ! fn-trigger-nginx-vhosts-proxy-clear-config-app "$app"; then + exit_code="$?" + fi + done + return "$exit_code" + fi + + fn-trigger-nginx-vhosts-proxy-clear-config-app "$APP" +} + trigger-nginx-vhosts-proxy-clear-config "$@" From 3b0bf4d8f2add786b300df5f55895dc31d1db1eb Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 20:18:36 -0500 Subject: [PATCH 0012/4100] feat: use --all flag for clearing proxy config during ps:restore Without this, we might end up with one or more apps that still have a proxy config. --- plugins/ps/functions.go | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/plugins/ps/functions.go b/plugins/ps/functions.go index e62bffbed19..ea9aed9b5d9 100644 --- a/plugins/ps/functions.go +++ b/plugins/ps/functions.go @@ -218,16 +218,8 @@ func removeProcfile(appName string) error { } func restorePrep() error { - apps, err := common.DokkuApps() - if err != nil { - common.LogWarn(err.Error()) - return nil - } - - for _, appName := range apps { - if err := common.PlugnTrigger("proxy-clear-config", []string{appName}...); err != nil { - return fmt.Errorf("Error clearing proxy config: %s", err) - } + if err := common.PlugnTrigger("proxy-clear-config", []string{"--all"}...); err != nil { + return fmt.Errorf("Error clearing proxy config: %s", err) } return nil From 7136da1aa57ddc30ba28f7e94b8c103fe3d6c797 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 20:26:49 -0500 Subject: [PATCH 0013/4100] feat: add a command to clear all proxy configs Closes #5002 --- plugins/proxy/proxy.go | 5 ++ plugins/proxy/src/subcommands/subcommands.go | 6 ++ plugins/proxy/subcommands.go | 13 ++++ tests/unit/proxy.bats | 62 ++++++++++++++++++++ 4 files changed, 86 insertions(+) diff --git a/plugins/proxy/proxy.go b/plugins/proxy/proxy.go index 817602cea46..ec87bf48c5e 100644 --- a/plugins/proxy/proxy.go +++ b/plugins/proxy/proxy.go @@ -32,6 +32,11 @@ func BuildConfig(appName string) error { return common.PlugnTrigger("proxy-build-config", []string{appName}...) } +// ClearConfig clears the proxy config for the specified app +func ClearConfig(appName string) error { + return common.PlugnTrigger("proxy-clear-config", []string{appName}...) +} + // Disable disables proxy implementations for the specified app func Disable(appName string) error { if !IsAppProxyEnabled(appName) { diff --git a/plugins/proxy/src/subcommands/subcommands.go b/plugins/proxy/src/subcommands/subcommands.go index d0a8b3960aa..c25db395ccb 100644 --- a/plugins/proxy/src/subcommands/subcommands.go +++ b/plugins/proxy/src/subcommands/subcommands.go @@ -25,6 +25,12 @@ func main() { args.Parse(os.Args[2:]) appName := args.Arg(0) err = proxy.CommandBuildConfig(appName, *allApps, *parallelCount) + case "clear-config": + args := flag.NewFlagSet("proxy:clear-config", flag.ExitOnError) + allApps := args.Bool("all", false, "--all: build-config for all apps") + args.Parse(os.Args[2:]) + appName := args.Arg(0) + err = proxy.CommandClearConfig(appName, *allApps) case "disable": args := flag.NewFlagSet("proxy:disable", flag.ExitOnError) allApps := args.Bool("all", false, "--all: disable proxy for all apps") diff --git a/plugins/proxy/subcommands.go b/plugins/proxy/subcommands.go index 44a035f2640..1dcb66558a5 100644 --- a/plugins/proxy/subcommands.go +++ b/plugins/proxy/subcommands.go @@ -21,6 +21,19 @@ func CommandBuildConfig(appName string, allApps bool, parallelCount int) error { return BuildConfig(appName) } +// CommandClearConfig clears config for a given app +func CommandClearConfig(appName string, allApps bool) error { + if allApps { + return ClearConfig("--all") + } + + if err := common.VerifyAppName(appName); err != nil { + return err + } + + return ClearConfig(appName) +} + // CommandDisable disables the proxy for app via command line func CommandDisable(appName string, allApps bool, parallelCount int) error { if allApps { diff --git a/tests/unit/proxy.bats b/tests/unit/proxy.bats index 6b2188961a8..8aef61c86f9 100644 --- a/tests/unit/proxy.bats +++ b/tests/unit/proxy.bats @@ -28,6 +28,68 @@ teardown() { assert_output "$help_output" } +@test "(proxy) proxy:build-config/clear-config" { + run deploy_app + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "test -f $DOKKU_ROOT/$TEST_APP/nginx.conf" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "rm -f $DOKKU_ROOT/$TEST_APP/nginx.conf" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "test -f $DOKKU_ROOT/$TEST_APP/nginx.conf" + echo "output: $output" + echo "status: $status" + assert_failure + + run /bin/bash -c "dokku proxy:build-config $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "test -f $DOKKU_ROOT/$TEST_APP/nginx.conf" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku proxy:clear-config $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "test -f $DOKKU_ROOT/$TEST_APP/nginx.conf" + echo "output: $output" + echo "status: $status" + assert_failure + + run /bin/bash -c "dokku proxy:build-config $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "test -f $DOKKU_ROOT/$TEST_APP/nginx.conf" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku proxy:clear-config --all" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "test -f $DOKKU_ROOT/$TEST_APP/nginx.conf" + echo "output: $output" + echo "status: $status" + assert_failure +} + @test "(proxy) proxy:enable/disable" { deploy_app assert_nonssl_domain "${TEST_APP}.dokku.me" From ecea1488e129f1da8aebaba6f46faf37028448c1 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 20:28:43 -0500 Subject: [PATCH 0014/4100] fix: ignore errors clearing proxy configs If one fails to rebuild for whatever reason, just continue onward. --- plugins/ps/ps.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ps/ps.go b/plugins/ps/ps.go index bc9f7569c20..5f7aac83f4a 100644 --- a/plugins/ps/ps.go +++ b/plugins/ps/ps.go @@ -99,7 +99,7 @@ func Restore(appName string) error { common.LogInfo1("Clearing potentially invalid proxy configuration") if err := common.PlugnTrigger("proxy-clear-config", []string{appName}...); err != nil { - return fmt.Errorf("Error clearing proxy config: %s", err) + common.LogWarn(fmt.Sprintf("Error clearing proxy config: %s", err)) } if !common.IsDeployed(appName) { From 4e5ae25d5f6ac7307414008ff7a276e9d516f757 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 21:31:13 -0500 Subject: [PATCH 0015/4100] fix: generate clear-config subcommand --- plugins/proxy/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/proxy/Makefile b/plugins/proxy/Makefile index ed3e6f0365c..21cc25c91fd 100644 --- a/plugins/proxy/Makefile +++ b/plugins/proxy/Makefile @@ -1,4 +1,4 @@ -SUBCOMMANDS = subcommands/build-config subcommands/disable subcommands/enable subcommands/ports subcommands/ports-add subcommands/ports-clear subcommands/ports-remove subcommands/ports-set subcommands/report subcommands/set +SUBCOMMANDS = subcommands/build-config subcommands/clear-config subcommands/disable subcommands/enable subcommands/ports subcommands/ports-add subcommands/ports-clear subcommands/ports-remove subcommands/ports-set subcommands/report subcommands/set TRIGGERS = triggers/proxy-is-enabled triggers/proxy-type triggers/post-certs-remove triggers/post-certs-update triggers/report BUILD = commands subcommands triggers PLUGIN_NAME = proxy From 00d11b8440d779c3005f3255695abfd39ec061e8 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 21:32:58 -0500 Subject: [PATCH 0016/4100] docs: document proxy:clear-config --- docs/networking/proxy-management.md | 19 +++++++++++++++++++ plugins/proxy/src/commands/commands.go | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/networking/proxy-management.md b/docs/networking/proxy-management.md index d7f5fe21d34..1b51633dc62 100644 --- a/docs/networking/proxy-management.md +++ b/docs/networking/proxy-management.md @@ -4,6 +4,7 @@ ``` proxy:build-config [--parallel count] [--all|] # (Re)builds config for given app +proxy:clear-config [--all|] # Clears config for given app proxy:disable [--parallel count] [--all|] # Disable proxy for app proxy:enable [--parallel count] [--all|] # Enable proxy for app proxy:report [] [] # Displays a proxy report for one or more apps @@ -40,6 +41,24 @@ Finally, the number of parallel workers may be automatically set to the number o dokku proxy:build-config --all --parallel -1 ``` +### Clearing the generated proxy config + +> New as of 0.27.0 + +Generated proxy configurations can also be cleared using the `proxy:clear-config` command. + +```shell +dokku proxy:clear-config node-js-app +``` + +All apps may have their proxy config cleared by using the `--all` flag. + +```shell +dokku proxy:clear-config --all +``` + +Clearing a proxy configuration has different effects depending on the proxy plugin in use. Consul the documentation for your proxy implementation for further details. + ### Displaying proxy reports for an app > New as of 0.8.1 diff --git a/plugins/proxy/src/commands/commands.go b/plugins/proxy/src/commands/commands.go index d2622eb9b03..e2f6c016a81 100644 --- a/plugins/proxy/src/commands/commands.go +++ b/plugins/proxy/src/commands/commands.go @@ -18,7 +18,8 @@ Manage the proxy integration for an app Additional commands:` helpContent = ` - proxy:build-config , (Re)builds config for a given app + proxy:build-config [--parallel count] [--all|], (Re)builds config for a given app + proxy:clear-config [--all|], Clears config for a given app proxy:disable , Disable proxy for app proxy:enable , Enable proxy for app proxy:ports , List proxy port mappings for app From 26e7a16fd73fe3917fb87dbe72b8e5920151a194 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 28 Jan 2022 22:38:24 -0500 Subject: [PATCH 0017/4100] fix: only rename app domains associated with a global domain Closes #4965 --- docs/appendices/0.27.0-migration-guide.md | 13 +++++++++++ docs/getting-started/upgrading.md | 1 + plugins/domains/post-app-rename-setup | 9 ++++---- tests/unit/domains.bats | 28 +++++++++++++++++++++++ 4 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 docs/appendices/0.27.0-migration-guide.md diff --git a/docs/appendices/0.27.0-migration-guide.md b/docs/appendices/0.27.0-migration-guide.md new file mode 100644 index 00000000000..0f161bdf1ae --- /dev/null +++ b/docs/appendices/0.27.0-migration-guide.md @@ -0,0 +1,13 @@ +# 0.27.0 Migration Guide + +## Changes + +- Renaming an application will now only rename domains that are associated with global domains. As an example: + ```shell + dokku domains:set-global dokku.me + dokku apps:create node-js-app + dokku domains:set node-js-app node-js-app.dokku.me node-js-app.dokku.com + dokku apps:rename node-js-app other-name + dokku domains:report node-js-app --domains-app-vhosts + # output: other-name.dokku.me node-js-app.dokku.com + ``` diff --git a/docs/getting-started/upgrading.md b/docs/getting-started/upgrading.md index a32332b2fd9..98be5a4f930 100644 --- a/docs/getting-started/upgrading.md +++ b/docs/getting-started/upgrading.md @@ -19,6 +19,7 @@ Docker releases updates periodically to their engine. We recommend reading their Before upgrading, check the migration guides to get comfortable with new features and prepare your deployment to be upgraded. +- [Upgrading to 0.27](/docs/appendices/0.27.0-migration-guide.md) - [Upgrading to 0.26](/docs/appendices/0.26.0-migration-guide.md) - [Upgrading to 0.25](/docs/appendices/0.25.0-migration-guide.md) - [Upgrading to 0.24](/docs/appendices/0.24.0-migration-guide.md) diff --git a/plugins/domains/post-app-rename-setup b/plugins/domains/post-app-rename-setup index 7a2d2a5ff25..1cd085a85fa 100755 --- a/plugins/domains/post-app-rename-setup +++ b/plugins/domains/post-app-rename-setup @@ -7,11 +7,12 @@ trigger-domains-post-app-rename-setup() { declare trigger="post-app-rename-setup" declare OLD_APP="$1" NEW_APP="$2" - if [[ -f "$DOKKU_ROOT/$NEW_APP/URLS" ]]; then - sed -i -e "s/$OLD_APP/$NEW_APP/g" "$DOKKU_ROOT/$NEW_APP/URLS" - fi + rm -f "$DOKKU_ROOT/$NEW_APP/URLS" + if [[ -f "$DOKKU_ROOT/$NEW_APP/VHOST" ]]; then - sed -i -e "s/$OLD_APP/$NEW_APP/g" "$DOKKU_ROOT/$NEW_APP/VHOST" + while read -r VHOST || [[ -n "$VHOST" ]]; do + sed -i -e "s/$OLD_APP.$VHOST/$NEW_APP.$VHOST/g" "$DOKKU_ROOT/$NEW_APP/VHOST" + done <"$DOKKU_ROOT/VHOST" fi } diff --git a/tests/unit/domains.bats b/tests/unit/domains.bats index 96743cfd73d..f37f88ff410 100644 --- a/tests/unit/domains.bats +++ b/tests/unit/domains.bats @@ -327,3 +327,31 @@ teardown() { dokku --force apps:destroy test.dokku.test } + +@test "(domains) app rename only renames domains associated with global domains" { + run /bin/bash -c "dokku domains:set-global dokku.me" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku domains:set $TEST_APP $TEST_APP.dokku.me $TEST_APP.dokku.test" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku apps:rename $TEST_APP other-name" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku domains:report other-name --domains-app-vhosts" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "other-name.dokku.me $TEST_APP.dokku.test" + + run /bin/bash -c "dokku apps:rename other-name $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success +} From 21ecf4b299ede1c2decb2088749ec3feb067b78a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 29 Jan 2022 05:31:10 -0500 Subject: [PATCH 0018/4100] fix: run shfmt --- plugins/domains/post-app-rename-setup | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/domains/post-app-rename-setup b/plugins/domains/post-app-rename-setup index 1cd085a85fa..9b710ac9ab0 100755 --- a/plugins/domains/post-app-rename-setup +++ b/plugins/domains/post-app-rename-setup @@ -10,9 +10,9 @@ trigger-domains-post-app-rename-setup() { rm -f "$DOKKU_ROOT/$NEW_APP/URLS" if [[ -f "$DOKKU_ROOT/$NEW_APP/VHOST" ]]; then - while read -r VHOST || [[ -n "$VHOST" ]]; do - sed -i -e "s/$OLD_APP.$VHOST/$NEW_APP.$VHOST/g" "$DOKKU_ROOT/$NEW_APP/VHOST" - done <"$DOKKU_ROOT/VHOST" + while read -r VHOST || [[ -n "$VHOST" ]]; do + sed -i -e "s/$OLD_APP.$VHOST/$NEW_APP.$VHOST/g" "$DOKKU_ROOT/$NEW_APP/VHOST" + done <"$DOKKU_ROOT/VHOST" fi } From d65713a8cbe8d1dba312a599367e68dbb07db8e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Feb 2022 13:12:30 +0000 Subject: [PATCH 0019/4100] chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 205 to 206. - [Release notes](https://github.com/heroku/heroku-buildpack-php/releases) - [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/main/CHANGELOG.md) - [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v205...v206) --- updated-dependencies: - dependency-name: heroku/heroku-buildpack-php dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- tests/apps/php/composer.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/apps/php/composer.lock b/tests/apps/php/composer.lock index 69ed432d463..63db902f147 100644 --- a/tests/apps/php/composer.lock +++ b/tests/apps/php/composer.lock @@ -1000,16 +1000,16 @@ "packages-dev": [ { "name": "heroku/heroku-buildpack-php", - "version": "v205", + "version": "v206", "source": { "type": "git", "url": "https://github.com/heroku/heroku-buildpack-php.git", - "reference": "8937f4b1ab1697b12c06369ed3b0eada2525ee94" + "reference": "183c0adf7501df5f90574231cd083d8adfc230b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/8937f4b1ab1697b12c06369ed3b0eada2525ee94", - "reference": "8937f4b1ab1697b12c06369ed3b0eada2525ee94", + "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/183c0adf7501df5f90574231cd083d8adfc230b8", + "reference": "183c0adf7501df5f90574231cd083d8adfc230b8", "shasum": "" }, "bin": [ @@ -1037,7 +1037,7 @@ "nginx", "php" ], - "time": "2022-01-07T12:51:32+00:00" + "time": "2022-02-01T14:54:53+00:00" } ], "aliases": [], From 8da1632fcb8e4ce11c16cdcada6a6ff545e67ff0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Feb 2022 13:11:51 +0000 Subject: [PATCH 0020/4100] chore(deps): bump jetty-servlet in /tests/apps/java Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.7 to 11.0.8. - [Release notes](https://github.com/eclipse/jetty.project/releases) - [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.7...jetty-11.0.8) --- updated-dependencies: - dependency-name: org.eclipse.jetty:jetty-servlet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/apps/java/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/java/pom.xml b/tests/apps/java/pom.xml index 82c3fc9dc04..be36e2be59e 100644 --- a/tests/apps/java/pom.xml +++ b/tests/apps/java/pom.xml @@ -10,7 +10,7 @@ org.eclipse.jetty jetty-servlet - 11.0.7 + 11.0.8 javax.servlet From 6711dda41a06d7fbb64ccfbf7afa1002d93c400b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Feb 2022 13:11:53 +0000 Subject: [PATCH 0021/4100] chore(deps): bump werkzeug in /tests/apps/python-flask Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/pallets/werkzeug/releases) - [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/werkzeug/compare/2.0.2...2.0.3) --- updated-dependencies: - dependency-name: werkzeug dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/apps/python-flask/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/python-flask/requirements.txt b/tests/apps/python-flask/requirements.txt index ba6801770f8..0c5166bafec 100644 --- a/tests/apps/python-flask/requirements.txt +++ b/tests/apps/python-flask/requirements.txt @@ -1,5 +1,5 @@ Flask==2.0.2 Jinja2==3.0.3 -Werkzeug==2.0.2 +Werkzeug==2.0.3 gunicorn==20.1.0 From 92718565be50cc1076dd9afd9cd79e1c501692ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Feb 2022 13:12:15 +0000 Subject: [PATCH 0022/4100] chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 206 to 207. - [Release notes](https://github.com/heroku/heroku-buildpack-php/releases) - [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/main/CHANGELOG.md) - [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v206...v207) --- updated-dependencies: - dependency-name: heroku/heroku-buildpack-php dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- tests/apps/php/composer.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/apps/php/composer.lock b/tests/apps/php/composer.lock index 63db902f147..53250b8aab7 100644 --- a/tests/apps/php/composer.lock +++ b/tests/apps/php/composer.lock @@ -1000,16 +1000,16 @@ "packages-dev": [ { "name": "heroku/heroku-buildpack-php", - "version": "v206", + "version": "v207", "source": { "type": "git", "url": "https://github.com/heroku/heroku-buildpack-php.git", - "reference": "183c0adf7501df5f90574231cd083d8adfc230b8" + "reference": "8e37b3ebdcdd0743594f64c1807b2c0d1f35ac37" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/183c0adf7501df5f90574231cd083d8adfc230b8", - "reference": "183c0adf7501df5f90574231cd083d8adfc230b8", + "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/8e37b3ebdcdd0743594f64c1807b2c0d1f35ac37", + "reference": "8e37b3ebdcdd0743594f64c1807b2c0d1f35ac37", "shasum": "" }, "bin": [ @@ -1037,7 +1037,7 @@ "nginx", "php" ], - "time": "2022-02-01T14:54:53+00:00" + "time": "2022-02-07T15:59:47+00:00" } ], "aliases": [], From bc6130af4d33a4a4a56a02b9795fb004f5c746c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20G=C3=B6r=C3=B6g?= Date: Mon, 14 Feb 2022 11:00:20 +0100 Subject: [PATCH 0023/4100] fix: help flag --- docs/deployment/logs.md | 2 +- plugins/logs/src/commands/commands.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/deployment/logs.md b/docs/deployment/logs.md index 887ecf0ba38..1271ddde6b7 100644 --- a/docs/deployment/logs.md +++ b/docs/deployment/logs.md @@ -1,7 +1,7 @@ # Log Management ``` -logs [-h] [-t|--tail] [-n|--num num] [-q|--quiet] [-p|--ps process] # Display recent log output +logs [-h|--help] [-t|--tail] [-n|--num num] [-q|--quiet] [-p|--ps process] # Display recent log output logs:failed [--all|] # Shows the last failed deploy logs logs:report [] [] # Displays a logs report for one or more apps logs:set [--global|] # Set or clear a logs property for an app diff --git a/plugins/logs/src/commands/commands.go b/plugins/logs/src/commands/commands.go index 42d348e07ef..bec7b206128 100644 --- a/plugins/logs/src/commands/commands.go +++ b/plugins/logs/src/commands/commands.go @@ -22,7 +22,7 @@ Manage log integration for an app Additional commands:` helpContent = ` - logs [-h] [-t|--tail] [-n|--num num] [-q|--quiet] [-p|--ps process] , Display recent log output + logs [-h|--help] [-t|--tail] [-n|--num num] [-q|--quiet] [-p|--ps process] , Display recent log output logs:failed [--all|], Shows the last failed deploy logs logs:report [] [], Displays a logs report for one or more apps logs:set [--global|] , Set or clear a logs property for an app @@ -40,7 +40,7 @@ func main() { switch cmd { case "logs": args := flag.NewFlagSet("logs", flag.ExitOnError) - help := args.Bool("h", false, "-h: print help for the command") + help := args.BoolP("help", "h", false, "print help for the command") num := args.Int64P("num", "n", 100, "the number of lines to display") ps := args.StringP("ps", "p", "", "only display logs from the given process") tail := args.BoolP("tail", "t", false, "continually stream logs") From b484abdb2fddaaf34f3c5d245836f6d69b0bf44f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Feb 2022 13:11:02 +0000 Subject: [PATCH 0024/4100] chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 207 to 210. - [Release notes](https://github.com/heroku/heroku-buildpack-php/releases) - [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/main/CHANGELOG.md) - [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v207...v210) --- updated-dependencies: - dependency-name: heroku/heroku-buildpack-php dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- tests/apps/php/composer.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/apps/php/composer.lock b/tests/apps/php/composer.lock index 53250b8aab7..978ab81f873 100644 --- a/tests/apps/php/composer.lock +++ b/tests/apps/php/composer.lock @@ -721,12 +721,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1000,16 +1000,16 @@ "packages-dev": [ { "name": "heroku/heroku-buildpack-php", - "version": "v207", + "version": "v210", "source": { "type": "git", "url": "https://github.com/heroku/heroku-buildpack-php.git", - "reference": "8e37b3ebdcdd0743594f64c1807b2c0d1f35ac37" + "reference": "9d1aba5f100eeb4c6f07f5f3966a43bdbf87f173" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/8e37b3ebdcdd0743594f64c1807b2c0d1f35ac37", - "reference": "8e37b3ebdcdd0743594f64c1807b2c0d1f35ac37", + "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/9d1aba5f100eeb4c6f07f5f3966a43bdbf87f173", + "reference": "9d1aba5f100eeb4c6f07f5f3966a43bdbf87f173", "shasum": "" }, "bin": [ @@ -1037,7 +1037,7 @@ "nginx", "php" ], - "time": "2022-02-07T15:59:47+00:00" + "time": "2022-02-11T17:29:29+00:00" } ], "aliases": [], From eb032c6c819e9ffbce16ef90668960c648f5fadd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Feb 2022 13:11:47 +0000 Subject: [PATCH 0025/4100] chore(deps): bump flask from 2.0.2 to 2.0.3 in /tests/apps/python-flask Bumps [flask](https://github.com/pallets/flask) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/pallets/flask/releases) - [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/flask/compare/2.0.2...2.0.3) --- updated-dependencies: - dependency-name: flask dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/apps/python-flask/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/python-flask/requirements.txt b/tests/apps/python-flask/requirements.txt index 0c5166bafec..92500514333 100644 --- a/tests/apps/python-flask/requirements.txt +++ b/tests/apps/python-flask/requirements.txt @@ -1,4 +1,4 @@ -Flask==2.0.2 +Flask==2.0.3 Jinja2==3.0.3 Werkzeug==2.0.3 gunicorn==20.1.0 From 2d65e5fe1b03dec9db88038dd0d9ba2579a105e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Feb 2022 13:04:14 +0000 Subject: [PATCH 0026/4100] chore(deps): bump sinatra from 2.1.0 to 2.2.0 in /tests/apps/ruby Bumps [sinatra](https://github.com/sinatra/sinatra) from 2.1.0 to 2.2.0. - [Release notes](https://github.com/sinatra/sinatra/releases) - [Changelog](https://github.com/sinatra/sinatra/blob/master/CHANGELOG.md) - [Commits](https://github.com/sinatra/sinatra/compare/v2.1.0...v2.2.0) --- updated-dependencies: - dependency-name: sinatra dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- tests/apps/ruby/Gemfile | 2 +- tests/apps/ruby/Gemfile.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/apps/ruby/Gemfile b/tests/apps/ruby/Gemfile index 9c456a2e6c4..606b6a4297a 100644 --- a/tests/apps/ruby/Gemfile +++ b/tests/apps/ruby/Gemfile @@ -1,5 +1,5 @@ source 'https://rubygems.org' ruby '2.6.8' -gem 'sinatra', '~>2.1.0' +gem 'sinatra', '~>2.2.0' gem 'thin' diff --git a/tests/apps/ruby/Gemfile.lock b/tests/apps/ruby/Gemfile.lock index a05fdae1655..e01a3c1cd11 100644 --- a/tests/apps/ruby/Gemfile.lock +++ b/tests/apps/ruby/Gemfile.lock @@ -6,13 +6,13 @@ GEM mustermann (1.1.1) ruby2_keywords (~> 0.0.1) rack (2.2.3) - rack-protection (2.1.0) + rack-protection (2.2.0) rack - ruby2_keywords (0.0.2) - sinatra (2.1.0) + ruby2_keywords (0.0.5) + sinatra (2.2.0) mustermann (~> 1.0) rack (~> 2.2) - rack-protection (= 2.1.0) + rack-protection (= 2.2.0) tilt (~> 2.0) thin (1.8.1) daemons (~> 1.0, >= 1.0.9) @@ -24,5 +24,5 @@ PLATFORMS ruby DEPENDENCIES - sinatra (~> 2.1.0) + sinatra (~> 2.2.0) thin From e1c5f3e5453bd78fb3514e688377097d1e6a4bff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Feb 2022 20:25:20 +0000 Subject: [PATCH 0027/4100] chore(deps): bump flask from 2.0.2 to 2.0.3 in /tests/apps/multi Bumps [flask](https://github.com/pallets/flask) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/pallets/flask/releases) - [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/flask/compare/2.0.2...2.0.3) --- updated-dependencies: - dependency-name: flask dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/apps/multi/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/multi/requirements.txt b/tests/apps/multi/requirements.txt index d6aaf4861ff..a75f74bfccd 100644 --- a/tests/apps/multi/requirements.txt +++ b/tests/apps/multi/requirements.txt @@ -1,2 +1,2 @@ -Flask==2.0.2 +Flask==2.0.3 gunicorn==20.1.0 From b975beb3b947df4c01ee801149996e9b710073fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Feb 2022 13:10:27 +0000 Subject: [PATCH 0028/4100] chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 210 to 211. - [Release notes](https://github.com/heroku/heroku-buildpack-php/releases) - [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/main/CHANGELOG.md) - [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v210...v211) --- updated-dependencies: - dependency-name: heroku/heroku-buildpack-php dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- tests/apps/php/composer.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/apps/php/composer.lock b/tests/apps/php/composer.lock index 978ab81f873..6b98f06996c 100644 --- a/tests/apps/php/composer.lock +++ b/tests/apps/php/composer.lock @@ -1000,16 +1000,16 @@ "packages-dev": [ { "name": "heroku/heroku-buildpack-php", - "version": "v210", + "version": "v211", "source": { "type": "git", "url": "https://github.com/heroku/heroku-buildpack-php.git", - "reference": "9d1aba5f100eeb4c6f07f5f3966a43bdbf87f173" + "reference": "035433c192b49dd8c6f33aff13856faa852c2d15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/9d1aba5f100eeb4c6f07f5f3966a43bdbf87f173", - "reference": "9d1aba5f100eeb4c6f07f5f3966a43bdbf87f173", + "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/035433c192b49dd8c6f33aff13856faa852c2d15", + "reference": "035433c192b49dd8c6f33aff13856faa852c2d15", "shasum": "" }, "bin": [ @@ -1037,7 +1037,7 @@ "nginx", "php" ], - "time": "2022-02-11T17:29:29+00:00" + "time": "2022-02-22T21:11:41+00:00" } ], "aliases": [], From 068b3c9adb36aa9b352f89dfe1b3d32dfc2fa0d0 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 25 Feb 2022 22:20:59 -0500 Subject: [PATCH 0029/4100] feat: set the default memory unit type to megabytes This makes it easier to support all schedulers out of the box - all other schedulers assume megabytes when no unit is specified. --- docs/deployment/schedulers/docker-local.md | 4 ++-- plugins/resource/functions.go | 17 +++++++++++++++++ plugins/resource/triggers.go | 2 ++ tests/unit/resource_1.bats | 12 ++++++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/docs/deployment/schedulers/docker-local.md b/docs/deployment/schedulers/docker-local.md index 5a8188c8eb7..df2048f78da 100644 --- a/docs/deployment/schedulers/docker-local.md +++ b/docs/deployment/schedulers/docker-local.md @@ -113,7 +113,7 @@ The `docker-local` scheduler supports a minimal list of resource _limits_ and _r - cpu: (docker option: `--cpus`), is specified in number of CPUs a process can access. - See the ["CPU" section](https://docs.docker.com/config/containers/resource_constraints/#cpu) of the Docker Runtime Options documentation for more information. -- memory: (docker option: `--memory`) should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes). +- memory: (docker option: `--memory`) should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes). Default unit is `m` (megabytes). - See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information. - memory-swap: (docker option: `--memory-swap`) should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes) - See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information. @@ -122,5 +122,5 @@ The `docker-local` scheduler supports a minimal list of resource _limits_ and _r ### Resource Reservations -- memory: (docker option: `--memory-reservation`) should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes) +- memory: (docker option: `--memory-reservation`) should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes). Default unit is `m` (megabytes). - See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information. diff --git a/plugins/resource/functions.go b/plugins/resource/functions.go index 5d03442db6d..31c8d6775e7 100644 --- a/plugins/resource/functions.go +++ b/plugins/resource/functions.go @@ -2,10 +2,27 @@ package resource import ( "fmt" + "strings" "github.com/dokku/dokku/plugins/common" ) +func addMemorySuffixForDocker(key string, value string) string { + if key == "memory" { + hasSuffix := false + suffixes := []string{"b", "k", "m", "g"} + for _, suffix := range suffixes { + if strings.HasSuffix(value, suffix) { + hasSuffix = true + } + } + if !hasSuffix { + value = value + "m" + } + } + return value +} + func clearByResourceType(appName string, processType string, resourceType string) { noun := "limits" if resourceType == "reserve" { diff --git a/plugins/resource/triggers.go b/plugins/resource/triggers.go index 01db7f0d1ea..c80d264d4eb 100644 --- a/plugins/resource/triggers.go +++ b/plugins/resource/triggers.go @@ -75,6 +75,7 @@ func TriggerDockerArgsProcessDeploy(appName string, processType string) error { if value == "" { continue } + value = addMemorySuffixForDocker(key, value) fmt.Printf(" --%s=%s ", key, value) } @@ -82,6 +83,7 @@ func TriggerDockerArgsProcessDeploy(appName string, processType string) error { if value == "" { continue } + value = addMemorySuffixForDocker(key, value) fmt.Printf(" --%s-reservation=%s ", key, value) } diff --git a/tests/unit/resource_1.bats b/tests/unit/resource_1.bats index 54919bb0200..85d2a19fb14 100644 --- a/tests/unit/resource_1.bats +++ b/tests/unit/resource_1.bats @@ -51,6 +51,18 @@ teardown() { echo "status: $status" assert_output "536870912" + run /bin/bash -c "dokku resource:limit --memory 512 $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + dokku ps:rebuild "$TEST_APP" + CID=$(< $DOKKU_ROOT/$TEST_APP/CONTAINER.web.1) + run /bin/bash -c "docker inspect --format '{{.HostConfig.Memory}}' $CID" + echo "output: $output" + echo "status: $status" + assert_output "536870912" + run /bin/bash -c "dokku resource:limit --memory 1024MB --process-type worker $TEST_APP" echo "output: $output" echo "status: $status" From 16ff0328cdd72bdc8e603aa9e20f4db54812add4 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 25 Feb 2022 23:23:59 -0500 Subject: [PATCH 0030/4100] fix: also support KB, MB, GB, and B as valid suffixes --- plugins/resource/functions.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/resource/functions.go b/plugins/resource/functions.go index 31c8d6775e7..20369fae170 100644 --- a/plugins/resource/functions.go +++ b/plugins/resource/functions.go @@ -10,7 +10,7 @@ import ( func addMemorySuffixForDocker(key string, value string) string { if key == "memory" { hasSuffix := false - suffixes := []string{"b", "k", "m", "g"} + suffixes := []string{"b", "k", "m", "g", "KB", "MB", "GB"} for _, suffix := range suffixes { if strings.HasSuffix(value, suffix) { hasSuffix = true From 9d8de8a9dba784c2abb488f1a242637f96f1f5e6 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 26 Feb 2022 00:11:53 -0500 Subject: [PATCH 0031/4100] fix: add missing B suffix to list --- plugins/resource/functions.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/resource/functions.go b/plugins/resource/functions.go index 20369fae170..ef382605da7 100644 --- a/plugins/resource/functions.go +++ b/plugins/resource/functions.go @@ -10,7 +10,7 @@ import ( func addMemorySuffixForDocker(key string, value string) string { if key == "memory" { hasSuffix := false - suffixes := []string{"b", "k", "m", "g", "KB", "MB", "GB"} + suffixes := []string{"b", "k", "m", "g", "KB", "MB", "GB", "B"} for _, suffix := range suffixes { if strings.HasSuffix(value, suffix) { hasSuffix = true From 62a3eff5bba9c3e98af541c20e16b9afb919f82e Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 12 Nov 2021 15:54:08 -0500 Subject: [PATCH 0032/4100] refactor: move apps listing from common plugin to apps plugin This helps centralize app-related listing fetching. --- plugins/app-json/go.mod | 3 ++ plugins/app-json/subcommands.go | 3 +- plugins/apps/Makefile | 2 +- plugins/apps/apps.go | 35 +++++++++++++++++++ plugins/apps/src/triggers/triggers.go | 2 ++ plugins/apps/subcommands.go | 4 +-- plugins/apps/triggers.go | 10 ++++++ plugins/builder-dockerfile/internal-functions | 3 +- plugins/builder-pack/internal-functions | 3 +- plugins/builder/go.mod | 3 ++ plugins/builder/subcommands.go | 3 +- plugins/buildpacks/go.mod | 3 ++ plugins/buildpacks/subcommands.go | 3 +- plugins/certs/internal-functions | 3 +- plugins/checks/install | 10 ++---- plugins/checks/internal-functions | 3 +- plugins/common/functions | 7 ++-- plugins/cron/functions.go | 3 +- plugins/cron/go.mod | 3 ++ plugins/cron/subcommands.go | 3 +- plugins/docker-options/internal-functions | 3 +- plugins/domains/internal-functions | 3 +- plugins/git/install | 3 +- plugins/git/internal-functions | 3 +- plugins/logs/functions.go | 3 +- plugins/logs/go.mod | 5 ++- plugins/logs/subcommands.go | 3 +- plugins/network/go.mod | 3 ++ plugins/network/subcommands.go | 5 +-- plugins/network/triggers.go | 3 +- plugins/nginx-vhosts/command-functions | 3 +- plugins/proxy/go.mod | 3 ++ plugins/proxy/subcommands.go | 3 +- plugins/ps/go.mod | 3 ++ plugins/ps/subcommands.go | 6 ++-- plugins/ps/triggers.go | 3 +- plugins/registry/go.mod | 3 ++ plugins/registry/subcommands.go | 3 +- plugins/resource/go.mod | 3 ++ plugins/resource/subcommands.go | 3 +- .../scheduler-docker-local/internal-functions | 3 +- plugins/scheduler/go.mod | 3 ++ plugins/scheduler/subcommands.go | 3 +- plugins/scheduler/triggers.go | 3 +- plugins/storage/internal-functions | 3 +- 45 files changed, 136 insertions(+), 55 deletions(-) diff --git a/plugins/app-json/go.mod b/plugins/app-json/go.mod index 5de818c5472..772c0a15ca9 100644 --- a/plugins/app-json/go.mod +++ b/plugins/app-json/go.mod @@ -3,10 +3,13 @@ module github.com/dokku/dokku/plugins/app-json go 1.16 require ( + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 github.com/spf13/pflag v1.0.5 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/app-json/subcommands.go b/plugins/app-json/subcommands.go index b2f3962810b..30ef7c3d48c 100644 --- a/plugins/app-json/subcommands.go +++ b/plugins/app-json/subcommands.go @@ -1,13 +1,14 @@ package appjson import ( + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) // CommandReport displays a network report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/apps/Makefile b/plugins/apps/Makefile index 8a92e94b9e7..b24c258640f 100644 --- a/plugins/apps/Makefile +++ b/plugins/apps/Makefile @@ -1,5 +1,5 @@ SUBCOMMANDS = subcommands/clone subcommands/create subcommands/destroy subcommands/exists subcommands/list subcommands/lock subcommands/locked subcommands/rename subcommands/report subcommands/unlock -TRIGGERS = triggers/app-create triggers/app-destroy triggers/app-exists triggers/app-maybe-create triggers/deploy-source-set triggers/install triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-delete triggers/report +TRIGGERS = triggers/app-create triggers/app-destroy triggers/app-exists triggers/app-list triggers/app-maybe-create triggers/deploy-source-set triggers/install triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-delete triggers/report BUILD = commands subcommands triggers PLUGIN_NAME = apps diff --git a/plugins/apps/apps.go b/plugins/apps/apps.go index 3369609ca61..ae4bf246eed 100644 --- a/plugins/apps/apps.go +++ b/plugins/apps/apps.go @@ -1,5 +1,13 @@ package apps +import ( + "fmt" + "io/ioutil" + "strings" + + "github.com/dokku/dokku/plugins/common" +) + var ( // DefaultProperties is a map of all valid network properties with corresponding default property values DefaultProperties = map[string]string{ @@ -13,3 +21,30 @@ var ( "deploy-source-metadata": true, } ) + +// DokkuApps returns a list of all local apps +func DokkuApps() ([]string, error) { + apps := []string{} + dokkuRoot := common.MustGetEnv("DOKKU_ROOT") + files, err := ioutil.ReadDir(dokkuRoot) + if err != nil { + return apps, fmt.Errorf("You haven't deployed any applications yet") + } + + for _, f := range files { + appRoot := common.AppRoot(f.Name()) + if !common.DirectoryExists(appRoot) { + continue + } + if strings.HasPrefix(f.Name(), ".") { + continue + } + apps = append(apps, f.Name()) + } + + if len(apps) == 0 { + return apps, fmt.Errorf("You haven't deployed any applications yet") + } + + return apps, nil +} diff --git a/plugins/apps/src/triggers/triggers.go b/plugins/apps/src/triggers/triggers.go index 9a0ce9d5c70..9679ab9e4b0 100644 --- a/plugins/apps/src/triggers/triggers.go +++ b/plugins/apps/src/triggers/triggers.go @@ -27,6 +27,8 @@ func main() { case "app-exists": appName := flag.Arg(0) err = apps.TriggerAppExists(appName) + case "app-list": + err = apps.TriggerAppList() case "app-maybe-create": appName := flag.Arg(0) err = apps.TriggerAppMaybeCreate(appName) diff --git a/plugins/apps/subcommands.go b/plugins/apps/subcommands.go index bac59eb9482..2911808dee0 100644 --- a/plugins/apps/subcommands.go +++ b/plugins/apps/subcommands.go @@ -85,7 +85,7 @@ func CommandExists(appName string) error { // CommandList lists all apps func CommandList() error { common.LogInfo2Quiet("My Apps") - apps, err := common.DokkuApps() + apps, err := DokkuApps() if err != nil { common.LogWarn(err.Error()) return nil @@ -177,7 +177,7 @@ func CommandRename(oldAppName string, newAppName string, skipDeploy bool) error // CommandReport displays an app report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := DokkuApps() if err != nil { return err } diff --git a/plugins/apps/triggers.go b/plugins/apps/triggers.go index b70076c6453..0a1017946d1 100644 --- a/plugins/apps/triggers.go +++ b/plugins/apps/triggers.go @@ -21,6 +21,16 @@ func TriggerAppExists(appName string) error { return appExists(appName) } +// TriggerAppList outputs each app name to stdout on a newline +func TriggerAppList() error { + apps, _ := DokkuApps() + for _, app := range apps { + common.Log(app) + } + + return nil +} + // TriggerAppMaybeCreate is a trigger to allow gated app creation func TriggerAppMaybeCreate(appName string) error { return maybeCreateApp(appName) diff --git a/plugins/builder-dockerfile/internal-functions b/plugins/builder-dockerfile/internal-functions index 88503617bff..219d7d3e9fa 100755 --- a/plugins/builder-dockerfile/internal-functions +++ b/plugins/builder-dockerfile/internal-functions @@ -9,7 +9,6 @@ cmd-builder-dockerfile-report() { declare cmd="builder-dockerfile:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then INFO_FLAG="$APP" @@ -21,7 +20,7 @@ cmd-builder-dockerfile-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-builder-dockerfile-report-single "$app" "$INFO_FLAG" | tee || true done else diff --git a/plugins/builder-pack/internal-functions b/plugins/builder-pack/internal-functions index 72c4b73f4d3..41d36353a79 100755 --- a/plugins/builder-pack/internal-functions +++ b/plugins/builder-pack/internal-functions @@ -9,7 +9,6 @@ cmd-builder-pack-report() { declare cmd="builder-pack:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then INFO_FLAG="$APP" @@ -21,7 +20,7 @@ cmd-builder-pack-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-builder-pack-report-single "$app" "$INFO_FLAG" | tee || true done else diff --git a/plugins/builder/go.mod b/plugins/builder/go.mod index 93f3068ee35..6153d339118 100644 --- a/plugins/builder/go.mod +++ b/plugins/builder/go.mod @@ -3,9 +3,12 @@ module github.com/dokku/dokku/plugins/builder go 1.16 require ( + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/otiai10/copy v1.6.0 github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/builder/subcommands.go b/plugins/builder/subcommands.go index 9278f849347..513c8ebc5bc 100644 --- a/plugins/builder/subcommands.go +++ b/plugins/builder/subcommands.go @@ -1,13 +1,14 @@ package builder import ( + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) // CommandReport displays a builder report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/buildpacks/go.mod b/plugins/buildpacks/go.mod index cd66e87655f..1be08af060c 100644 --- a/plugins/buildpacks/go.mod +++ b/plugins/buildpacks/go.mod @@ -3,8 +3,11 @@ module github.com/dokku/dokku/plugins/buildpacks go 1.16 require ( + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/buildpacks/subcommands.go b/plugins/buildpacks/subcommands.go index 9a49ffabc98..61ae6c704bf 100644 --- a/plugins/buildpacks/subcommands.go +++ b/plugins/buildpacks/subcommands.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -106,7 +107,7 @@ func CommandRemove(appName string, buildpack string, index int) (err error) { // CommandReport displays a buildpacks report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/certs/internal-functions b/plugins/certs/internal-functions index 4a05d2a1b47..923f3faa376 100755 --- a/plugins/certs/internal-functions +++ b/plugins/certs/internal-functions @@ -9,7 +9,6 @@ cmd-certs-report() { declare cmd="certs:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then INFO_FLAG="$APP" @@ -21,7 +20,7 @@ cmd-certs-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-certs-report-single "$app" "$INFO_FLAG" | tee || true done else diff --git a/plugins/checks/install b/plugins/checks/install index dcd789d3de2..1497ca5d41a 100755 --- a/plugins/checks/install +++ b/plugins/checks/install @@ -6,13 +6,10 @@ source "$PLUGIN_AVAILABLE_PATH/config/functions" migrate_checks_vars_0_5_0() { declare desc="migrates deprecated CHECKS config variables to simplified counter part introduced in 0.5.x" - local APPS="$(dokku_apps)" local GLOBAL_SKIP_ALL_CHECKS=$(config_get --global DOKKU_SKIP_ALL_CHECKS || true) local GLOBAL_SKIP_DEFAULT_CHECKS=$(config_get --global DOKKU_SKIP_DEFAULT_CHECKS || true) - local app - - for app in $APPS; do + for app in $(dokku_apps); do local APP_SKIP_ALL_CHECKS=$(config_get "$app" DOKKU_SKIP_ALL_CHECKS || true) local APP_SKIP_DEFAULT_CHECKS=$(config_get "$app" DOKKU_SKIP_DEFAULT_CHECKS || true) @@ -37,11 +34,8 @@ migrate_checks_vars_0_5_0() { migrate_checks_vars_0_6_0() { declare desc="migrates CHECKS config variables from 0.5.x to support fully-disabled zero-downtime checks" - local APPS="$(dokku_apps)" - - local app - for app in $APPS; do + for app in $(dokku_apps); do local APP_DOKKU_CHECKS_ENABLED=$(config_get "$app" DOKKU_CHECKS_ENABLED || true) if [[ $APP_DOKKU_CHECKS_ENABLED ]]; then dokku_log_info1 "Migrating zero downtime env variables to 0.6.x. The following variables will be migrated" diff --git a/plugins/checks/internal-functions b/plugins/checks/internal-functions index bf78f4c967c..fe125bf08c0 100755 --- a/plugins/checks/internal-functions +++ b/plugins/checks/internal-functions @@ -9,7 +9,6 @@ cmd-checks-report() { declare cmd="checks:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then INFO_FLAG="$APP" @@ -21,7 +20,7 @@ cmd-checks-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-checks-report-single "$app" "$INFO_FLAG" | tee || true done else diff --git a/plugins/common/functions b/plugins/common/functions index b2bb8dd44d9..ce1460496f6 100755 --- a/plugins/common/functions +++ b/plugins/common/functions @@ -17,8 +17,11 @@ has_tty() { dokku_apps() { declare desc="prints list of all local apps" - local INSTALLED_APPS=$(find "$DOKKU_ROOT" -follow -maxdepth 1 -mindepth 1 -type d ! -name '.*' -printf "%f\n" 2>/dev/null | sort) || (dokku_log_fail "You haven't deployed any applications yet") - [[ $INSTALLED_APPS ]] && echo "$INSTALLED_APPS" + local INSTALLED_APPS="$(plugn trigger app-list)" + if [[ -z "$INSTALLED_APPS" ]]; then + dokku_log_fail "You haven't deployed any applications yet" + fi + echo "$INSTALLED_APPS" } dokku_version() { diff --git a/plugins/cron/functions.go b/plugins/cron/functions.go index ebdd7fb6165..18cb1b1da97 100644 --- a/plugins/cron/functions.go +++ b/plugins/cron/functions.go @@ -11,6 +11,7 @@ import ( "text/template" appjson "github.com/dokku/dokku/plugins/app-json" + apps "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" cronparser "github.com/robfig/cron/v3" @@ -99,7 +100,7 @@ func deleteCrontab() error { } func writeCronEntries() error { - apps, _ := common.DokkuApps() + apps, _ := apps.DokkuApps() commands := []templateCommand{} for _, appName := range apps { scheduler := common.GetAppScheduler(appName) diff --git a/plugins/cron/go.mod b/plugins/cron/go.mod index 3918dd95cb4..75b25110323 100644 --- a/plugins/cron/go.mod +++ b/plugins/cron/go.mod @@ -4,12 +4,15 @@ go 1.16 require ( github.com/dokku/dokku/plugins/app-json v0.0.0-00010101000000-000000000000 + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/robfig/cron/v3 v3.0.1 github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/app-json => ../app-json replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/cron/subcommands.go b/plugins/cron/subcommands.go index 88bca62311a..6038e15647c 100644 --- a/plugins/cron/subcommands.go +++ b/plugins/cron/subcommands.go @@ -3,6 +3,7 @@ package cron import ( "fmt" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/ryanuber/columnize" ) @@ -31,7 +32,7 @@ func CommandList(appName string) error { // CommandReport displays a cron report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/docker-options/internal-functions b/plugins/docker-options/internal-functions index 5bcddeee072..5634f4f28e6 100755 --- a/plugins/docker-options/internal-functions +++ b/plugins/docker-options/internal-functions @@ -9,7 +9,6 @@ cmd-docker-options-report() { declare cmd="docker-options:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then INFO_FLAG="$APP" @@ -21,7 +20,7 @@ cmd-docker-options-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-docker-options-report-single "$app" "$INFO_FLAG" | tee || true done else diff --git a/plugins/domains/internal-functions b/plugins/domains/internal-functions index 0fb6f07b26a..adb6225c027 100755 --- a/plugins/domains/internal-functions +++ b/plugins/domains/internal-functions @@ -9,7 +9,6 @@ cmd-domains-report() { declare cmd="domains:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ "$APP" == "--global" ]]; then cmd-domains-report-single "$APP" "$INFO_FLAG" @@ -26,7 +25,7 @@ cmd-domains-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-domains-report-single "$app" "$INFO_FLAG" | tee || true done else diff --git a/plugins/git/install b/plugins/git/install index 8e6cdbc1cf8..738e2f99b8b 100755 --- a/plugins/git/install +++ b/plugins/git/install @@ -18,7 +18,6 @@ trigger-git-install() { migrate_git_vars_0_12_0() { declare desc="migrates git config variables from 0.11.x" - local APPS="$(dokku_apps)" local DOKKU_DEPLOY_BRANCH app DOKKU_DEPLOY_BRANCH=$(config_get --global DOKKU_DEPLOY_BRANCH || true) @@ -27,7 +26,7 @@ migrate_git_vars_0_12_0() { DOKKU_QUIET_OUTPUT=1 config_unset --global DOKKU_DEPLOY_BRANCH || true fi - for app in $APPS; do + for app in $(dokku_apps); do DOKKU_DEPLOY_BRANCH=$(config_get "$app" DOKKU_DEPLOY_BRANCH || true) if [[ -n "$DOKKU_DEPLOY_BRANCH" ]]; then fn-plugin-property-write "git" "$app" "deploy-branch" "$DOKKU_DEPLOY_BRANCH" diff --git a/plugins/git/internal-functions b/plugins/git/internal-functions index 6d35ea2b1c6..68eeb098e46 100755 --- a/plugins/git/internal-functions +++ b/plugins/git/internal-functions @@ -222,7 +222,6 @@ cmd-git-report() { declare cmd="git:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then INFO_FLAG="$APP" @@ -234,7 +233,7 @@ cmd-git-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-git-report-single "$app" "$INFO_FLAG" | tee || true done else diff --git a/plugins/logs/functions.go b/plugins/logs/functions.go index 50aa6a2ca78..91d6eea9952 100644 --- a/plugins/logs/functions.go +++ b/plugins/logs/functions.go @@ -10,6 +10,7 @@ import ( "strings" "time" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/joncalhoun/qson" ) @@ -156,7 +157,7 @@ func sinkValueToConfig(appName string, sinkValue string) (vectorSink, error) { } func writeVectorConfig() error { - apps, _ := common.DokkuApps() + apps, _ := apps.DokkuApps() data := vectorConfig{ Sources: map[string]vectorSource{}, Sinks: map[string]vectorSink{}, diff --git a/plugins/logs/go.mod b/plugins/logs/go.mod index 91e9cab4a3d..c13c79bcc49 100644 --- a/plugins/logs/go.mod +++ b/plugins/logs/go.mod @@ -4,12 +4,15 @@ go 1.16 require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 - github.com/dokku/dokku/plugins/docker-options v0.0.0-20210208020425-f7beb3d95ddd + github.com/dokku/dokku/plugins/docker-options v0.0.0-00010101000000-000000000000 github.com/joncalhoun/qson v0.0.0-20200422171543-84433dcd3da0 github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/docker-options => ../docker-options diff --git a/plugins/logs/subcommands.go b/plugins/logs/subcommands.go index 365a67892a4..277213fe734 100644 --- a/plugins/logs/subcommands.go +++ b/plugins/logs/subcommands.go @@ -7,6 +7,7 @@ import ( "strconv" "time" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -52,7 +53,7 @@ func CommandFailed(appName string, allApps bool) error { // CommandReport displays a logs report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/network/go.mod b/plugins/network/go.mod index a34058e0da3..55767a26a2b 100644 --- a/plugins/network/go.mod +++ b/plugins/network/go.mod @@ -4,11 +4,14 @@ go 1.16 require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/config v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/config => ../config diff --git a/plugins/network/subcommands.go b/plugins/network/subcommands.go index bf04f57844c..f052281e8ad 100644 --- a/plugins/network/subcommands.go +++ b/plugins/network/subcommands.go @@ -7,6 +7,7 @@ import ( "os" "strings" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -107,7 +108,7 @@ func CommandList() error { // CommandRebuildall rebuilds network settings for all apps func CommandRebuildall() error { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } @@ -125,7 +126,7 @@ func CommandRebuildall() error { // CommandReport displays a network report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/network/triggers.go b/plugins/network/triggers.go index 2906c142831..71840ea9ef1 100644 --- a/plugins/network/triggers.go +++ b/plugins/network/triggers.go @@ -7,6 +7,7 @@ import ( "strings" "unicode/utf8" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/dokku/dokku/plugins/config" ) @@ -33,7 +34,7 @@ func TriggerInstall() error { return fmt.Errorf("Unable to install the network plugin: %s", err.Error()) } - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return nil } diff --git a/plugins/nginx-vhosts/command-functions b/plugins/nginx-vhosts/command-functions index 1d5872b41a8..71f0a9d6138 100755 --- a/plugins/nginx-vhosts/command-functions +++ b/plugins/nginx-vhosts/command-functions @@ -11,7 +11,6 @@ cmd-nginx-report() { declare cmd="nginx:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then INFO_FLAG="$APP" @@ -23,7 +22,7 @@ cmd-nginx-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-nginx-report-single "$app" "$INFO_FLAG" | tee || true done else diff --git a/plugins/proxy/go.mod b/plugins/proxy/go.mod index a88c3cdc2df..c4c1b4c528e 100644 --- a/plugins/proxy/go.mod +++ b/plugins/proxy/go.mod @@ -3,12 +3,15 @@ module github.com/dokku/dokku/plugins/proxy go 1.16 require ( + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/config v0.0.0-00010101000000-000000000000 github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/config => ../config diff --git a/plugins/proxy/subcommands.go b/plugins/proxy/subcommands.go index 1dcb66558a5..836c9cf5319 100644 --- a/plugins/proxy/subcommands.go +++ b/plugins/proxy/subcommands.go @@ -4,6 +4,7 @@ import ( "errors" "strings" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/dokku/dokku/plugins/config" ) @@ -152,7 +153,7 @@ func CommandPortsSet(appName string, portMaps []string) error { // CommandReport displays a proxy report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/ps/go.mod b/plugins/ps/go.mod index cdb884ecd68..82199a831be 100644 --- a/plugins/ps/go.mod +++ b/plugins/ps/go.mod @@ -4,6 +4,7 @@ go 1.16 require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/config v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/docker-options v0.0.0-00010101000000-000000000000 @@ -13,6 +14,8 @@ require ( github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/config => ../config diff --git a/plugins/ps/subcommands.go b/plugins/ps/subcommands.go index ed4ecaba07b..16c2f5ff67a 100644 --- a/plugins/ps/subcommands.go +++ b/plugins/ps/subcommands.go @@ -6,9 +6,9 @@ import ( "path/filepath" "strings" - dockeroptions "github.com/dokku/dokku/plugins/docker-options" - + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" + dockeroptions "github.com/dokku/dokku/plugins/docker-options" "github.com/gofrs/flock" ) @@ -38,7 +38,7 @@ func CommandRebuild(appName string, allApps bool, parallelCount int) error { // CommandReport displays a ps report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/ps/triggers.go b/plugins/ps/triggers.go index 88c590ef0d3..fbd87868b78 100644 --- a/plugins/ps/triggers.go +++ b/plugins/ps/triggers.go @@ -10,6 +10,7 @@ import ( "strings" sh "github.com/codeskyblue/go-sh" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/dokku/dokku/plugins/config" dockeroptions "github.com/dokku/dokku/plugins/docker-options" @@ -74,7 +75,7 @@ func TriggerInstall() error { return err } - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return nil } diff --git a/plugins/registry/go.mod b/plugins/registry/go.mod index d935e5bb9fd..732383d7b93 100644 --- a/plugins/registry/go.mod +++ b/plugins/registry/go.mod @@ -4,8 +4,11 @@ go 1.16 require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/registry/subcommands.go b/plugins/registry/subcommands.go index beabc002aa6..ba27a1e0ae4 100644 --- a/plugins/registry/subcommands.go +++ b/plugins/registry/subcommands.go @@ -7,6 +7,7 @@ import ( "os" "strings" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -55,7 +56,7 @@ func CommandLogin(server string, username string, password string, passwordStdin // CommandReport displays a registry report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/resource/go.mod b/plugins/resource/go.mod index a5792de11b1..cd4df919a8d 100644 --- a/plugins/resource/go.mod +++ b/plugins/resource/go.mod @@ -3,8 +3,11 @@ module github.com/dokku/dokku/plugins/resource go 1.16 require ( + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/resource/subcommands.go b/plugins/resource/subcommands.go index f1321738985..43402b57290 100644 --- a/plugins/resource/subcommands.go +++ b/plugins/resource/subcommands.go @@ -1,6 +1,7 @@ package resource import ( + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -26,7 +27,7 @@ func CommandLimitClear(appName string, processType string) error { // CommandReport displays a resource report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/scheduler-docker-local/internal-functions b/plugins/scheduler-docker-local/internal-functions index 256532c12bd..8568bd764f5 100755 --- a/plugins/scheduler-docker-local/internal-functions +++ b/plugins/scheduler-docker-local/internal-functions @@ -10,7 +10,6 @@ cmd-scheduler-docker-local-report() { declare cmd="scheduler-docker-local:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then INFO_FLAG="$APP" @@ -22,7 +21,7 @@ cmd-scheduler-docker-local-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-scheduler-docker-local-report-single "$app" "$INFO_FLAG" | tee || true done else diff --git a/plugins/scheduler/go.mod b/plugins/scheduler/go.mod index 54dc95487a0..73ca20ce0f2 100644 --- a/plugins/scheduler/go.mod +++ b/plugins/scheduler/go.mod @@ -3,11 +3,14 @@ module github.com/dokku/dokku/plugins/scheduler go 1.16 require ( + github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/config v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) +replace github.com/dokku/dokku/plugins/apps => ../apps + replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/config => ../config diff --git a/plugins/scheduler/subcommands.go b/plugins/scheduler/subcommands.go index 98ed46e4421..4cded4dcb12 100644 --- a/plugins/scheduler/subcommands.go +++ b/plugins/scheduler/subcommands.go @@ -1,13 +1,14 @@ package scheduler import ( + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) // CommandReport displays a scheduler report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/scheduler/triggers.go b/plugins/scheduler/triggers.go index d5ae16b1d21..f3ed3053144 100644 --- a/plugins/scheduler/triggers.go +++ b/plugins/scheduler/triggers.go @@ -3,6 +3,7 @@ package scheduler import ( "fmt" + "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/dokku/dokku/plugins/config" ) @@ -31,7 +32,7 @@ func TriggerInstall() error { return fmt.Errorf("Unable to install the scheduler plugin: %s", err.Error()) } - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return nil } diff --git a/plugins/storage/internal-functions b/plugins/storage/internal-functions index 70be5e16fe9..7dedc62b58a 100755 --- a/plugins/storage/internal-functions +++ b/plugins/storage/internal-functions @@ -66,7 +66,6 @@ cmd-storage-report() { declare cmd="storage:report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" INFO_FLAG="$2" - local INSTALLED_APPS=$(dokku_apps) if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then INFO_FLAG="$APP" @@ -78,7 +77,7 @@ cmd-storage-report() { fi if [[ -z "$APP" ]]; then - for app in $INSTALLED_APPS; do + for app in $(dokku_apps); do cmd-storage-report-single "$app" "$INFO_FLAG" | tee || true done else From 1a052969dcba3e65c1700c206c4d606df59156ec Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 27 Nov 2021 14:20:47 -0500 Subject: [PATCH 0033/4100] feat: app filtering to commands listing or iterating over apps This increases the time to list apps from .05s to .2s~.3s on the simplest check, but the increased time is worth it for actually verifyng access to an app (should that need arise). We'll also want to add the same to app existence checks. --- docs/development/plugin-triggers.md | 41 +++++++++++++++++++++++++++++ plugins/20_events/user-auth-app | 1 + plugins/apps/apps.go | 2 +- plugins/apps/functions.go | 37 ++++++++++++++++++++++++++ plugins/common/subprocess.go | 17 ++++++++++++ 5 files changed, 97 insertions(+), 1 deletion(-) create mode 120000 plugins/20_events/user-auth-app diff --git a/docs/development/plugin-triggers.md b/docs/development/plugin-triggers.md index c8906933809..9014822f741 100644 --- a/docs/development/plugin-triggers.md +++ b/docs/development/plugin-triggers.md @@ -2367,3 +2367,44 @@ shift 2 [[ "$SSH_NAME" == "default" && $1 == plugin:* ]] && exit 1 exit 0 ``` + +### `user-auth-app` + +This is a special plugin trigger that is executed when listing apps or checking if an app exists. All Dokku commands should check if an app exists at least once before interacting with them so as not to circumvent the check. + +Note that the trigger should exit `0`, and each non-empty line on stdout is captured as a valid app name. + +The `SSH_USER` is the original ssh user. If you are running remote commands, this user will typically be `dokku`, and as such should not be trusted when checking permissions. If you are connected via ssh as a different user who then invokes `dokku`, the value of this variable will be that user's name (`root`, `myuser`, etc.). + +The `SSH_NAME` is the `NAME` variable set via the `sshcommand acl-add` command. For reference, the following command can be run as the root user to specify a specific `NAME` for a given ssh key: + +```shell +sshcommand acl-add dokku NAME < $PATH_TO_SSH_KEY +``` + +Note that the `NAME` value is set at the first ssh key match. If an ssh key is set in the `/home/dokku/.ssh/authorized_keys` multiple times, the first match will decide the value. + +- Description: Allows you to deny access to a Dokku app by either ssh user or associated ssh-command NAME user. +- Invoked by: `dokku` +- Arguments: `$SSH_USER $SSH_NAME $DOKKU_COMMAND` +- Example: + +```shell +#!/usr/bin/env bash +# hide any apps with the prefix "admin" +# if the logged in user (SSH_USER) or SSH_NAME is not `root` + +main() { + declare SSH_USER="$1" SSH_NAME="$2" ARGS=("${@:3}") + + for arg in "${ARGS[@]}"; do + if [[ "$arg" == admin-* ]] && [[ "$SSH_USER" != "root" ]] && [[ "$SSH_NAME" != "root" ]]; then + continue + fi + + echo "${arg}" + done +} + +main "$@" +``` diff --git a/plugins/20_events/user-auth-app b/plugins/20_events/user-auth-app new file mode 120000 index 00000000000..5178a749ff6 --- /dev/null +++ b/plugins/20_events/user-auth-app @@ -0,0 +1 @@ +hook \ No newline at end of file diff --git a/plugins/apps/apps.go b/plugins/apps/apps.go index ae4bf246eed..d125c3a6e5b 100644 --- a/plugins/apps/apps.go +++ b/plugins/apps/apps.go @@ -46,5 +46,5 @@ func DokkuApps() ([]string, error) { return apps, fmt.Errorf("You haven't deployed any applications yet") } - return apps, nil + return filterApps(apps) } diff --git a/plugins/apps/functions.go b/plugins/apps/functions.go index d19b8b37057..7d1221a30c4 100644 --- a/plugins/apps/functions.go +++ b/plugins/apps/functions.go @@ -154,3 +154,40 @@ func maybeCreateApp(appName string) error { return createApp(appName) }) } + +func filterApps(apps []string) ([]string, error) { + if !common.PlugnTriggerExists("user-auth-app") { + return apps, nil + } + + sshUser := os.Getenv("SSH_USER") + if sshUser == "" { + sshUser = os.Getenv("USER") + } + + sshName := os.Getenv("SSH_NAME") + if sshName == "" { + sshName = "default" + } + + args := append([]string{sshUser, sshName}, apps...) + b, _ := common.PlugnTriggerOutput("user-auth-app", args...) + filteredApps := strings.Split(strings.TrimSpace(string(b[:])), "\n") + filteredApps = removeEmptyEntries(filteredApps) + + if len(filteredApps) == 0 { + return filteredApps, fmt.Errorf("You haven't deployed any applications yet") + } + + return filteredApps, nil +} + +func removeEmptyEntries(s []string) []string { + var r []string + for _, str := range s { + if str != "" { + r = append(r, str) + } + } + return r +} diff --git a/plugins/common/subprocess.go b/plugins/common/subprocess.go index 2f970474ddc..f90f7fc41ff 100644 --- a/plugins/common/subprocess.go +++ b/plugins/common/subprocess.go @@ -5,6 +5,7 @@ import ( "io/ioutil" "os" "os/exec" + "path/filepath" "strings" "github.com/codeskyblue/go-sh" @@ -128,3 +129,19 @@ func PlugnTriggerSetup(triggerName string, args ...string) *sh.Session { } return sh.Command("plugn", shellArgs...) } + +// PlugnTriggerExists returns whether a plugin trigger exists (ignoring the existence of any within the 20_events plugin) +func PlugnTriggerExists(triggerName string) bool { + pluginPath := MustGetEnv("PLUGIN_ENABLED_PATH") + glob := filepath.Join(pluginPath, "*", triggerName) + exists := false + files, _ := filepath.Glob(glob) + for _, file := range files { + plugin := strings.Trim(strings.TrimPrefix(strings.TrimSuffix(file, "/user-auth-app"), pluginPath), "/") + if plugin != "20_events" { + exists = true + break + } + } + return exists +} From 5eced46f226d35931ac74be3d8b44ec34304c67a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 25 Dec 2021 21:42:42 -0500 Subject: [PATCH 0034/4100] fix: allow check to work for any trigger --- plugins/common/subprocess.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/common/subprocess.go b/plugins/common/subprocess.go index f90f7fc41ff..d46b2b2d98f 100644 --- a/plugins/common/subprocess.go +++ b/plugins/common/subprocess.go @@ -137,7 +137,7 @@ func PlugnTriggerExists(triggerName string) bool { exists := false files, _ := filepath.Glob(glob) for _, file := range files { - plugin := strings.Trim(strings.TrimPrefix(strings.TrimSuffix(file, "/user-auth-app"), pluginPath), "/") + plugin := strings.Trim(strings.TrimPrefix(strings.TrimSuffix(file, "/"+triggerName), pluginPath), "/") if plugin != "20_events" { exists = true break From 90eb5462f7eb71eea41fb0a8a030876b32a820e6 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 26 Feb 2022 02:41:21 -0500 Subject: [PATCH 0035/4100] chore: update two more calls to fetch all apps --- plugins/buildpacks/subcommands.go | 2 +- plugins/domains/install | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/buildpacks/subcommands.go b/plugins/buildpacks/subcommands.go index 61ae6c704bf..525e790ef17 100644 --- a/plugins/buildpacks/subcommands.go +++ b/plugins/buildpacks/subcommands.go @@ -153,7 +153,7 @@ func CommandSetProperty(appName string, property string, value string) error { return common.PlugnTrigger("post-stack-set", []string{appName, value}...) } - apps, err := common.DokkuApps() + apps, err := apps.DokkuApps() if err != nil { return err } diff --git a/plugins/domains/install b/plugins/domains/install index 3a220e1a5f2..05e19a65780 100755 --- a/plugins/domains/install +++ b/plugins/domains/install @@ -8,9 +8,8 @@ trigger-domains-install() { declare trigger="install" shopt -s nullglob - for app in $DOKKU_ROOT/*/CONTAINER; do - APP=$(basename "$(dirname "$app")") - domains_setup "$APP" + for app in $(dokku_apps); do + domains_setup "$app" done } From ac58b502c559515e20f08a90fdc0eb5d218dbe9a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 26 Feb 2022 02:55:34 -0500 Subject: [PATCH 0036/4100] refactor: move app listing back to common Without this, we'd need to duplicate some logic or make it more complex via a plugin trigger. --- plugins/app-json/subcommands.go | 3 +- plugins/apps/Makefile | 2 +- plugins/apps/apps.go | 35 -------------------- plugins/apps/functions.go | 37 --------------------- plugins/apps/src/triggers/triggers.go | 2 -- plugins/apps/subcommands.go | 4 +-- plugins/apps/triggers.go | 10 ------ plugins/builder/subcommands.go | 3 +- plugins/buildpacks/subcommands.go | 5 ++- plugins/common/Makefile | 2 +- plugins/common/common.go | 11 +++---- plugins/common/functions.go | 44 +++++++++++++++++++++++++ plugins/common/src/triggers/triggers.go | 2 ++ plugins/common/triggers.go | 10 ++++++ plugins/cron/functions.go | 3 +- plugins/cron/subcommands.go | 3 +- plugins/logs/functions.go | 3 +- plugins/logs/subcommands.go | 3 +- plugins/network/subcommands.go | 5 ++- plugins/network/triggers.go | 3 +- plugins/proxy/subcommands.go | 3 +- plugins/ps/subcommands.go | 3 +- plugins/ps/triggers.go | 3 +- plugins/registry/subcommands.go | 3 +- plugins/resource/subcommands.go | 3 +- plugins/scheduler/subcommands.go | 3 +- plugins/scheduler/triggers.go | 3 +- 27 files changed, 83 insertions(+), 128 deletions(-) create mode 100644 plugins/common/functions.go diff --git a/plugins/app-json/subcommands.go b/plugins/app-json/subcommands.go index 30ef7c3d48c..b2f3962810b 100644 --- a/plugins/app-json/subcommands.go +++ b/plugins/app-json/subcommands.go @@ -1,14 +1,13 @@ package appjson import ( - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) // CommandReport displays a network report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/apps/Makefile b/plugins/apps/Makefile index b24c258640f..8a92e94b9e7 100644 --- a/plugins/apps/Makefile +++ b/plugins/apps/Makefile @@ -1,5 +1,5 @@ SUBCOMMANDS = subcommands/clone subcommands/create subcommands/destroy subcommands/exists subcommands/list subcommands/lock subcommands/locked subcommands/rename subcommands/report subcommands/unlock -TRIGGERS = triggers/app-create triggers/app-destroy triggers/app-exists triggers/app-list triggers/app-maybe-create triggers/deploy-source-set triggers/install triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-delete triggers/report +TRIGGERS = triggers/app-create triggers/app-destroy triggers/app-exists triggers/app-maybe-create triggers/deploy-source-set triggers/install triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-delete triggers/report BUILD = commands subcommands triggers PLUGIN_NAME = apps diff --git a/plugins/apps/apps.go b/plugins/apps/apps.go index d125c3a6e5b..3369609ca61 100644 --- a/plugins/apps/apps.go +++ b/plugins/apps/apps.go @@ -1,13 +1,5 @@ package apps -import ( - "fmt" - "io/ioutil" - "strings" - - "github.com/dokku/dokku/plugins/common" -) - var ( // DefaultProperties is a map of all valid network properties with corresponding default property values DefaultProperties = map[string]string{ @@ -21,30 +13,3 @@ var ( "deploy-source-metadata": true, } ) - -// DokkuApps returns a list of all local apps -func DokkuApps() ([]string, error) { - apps := []string{} - dokkuRoot := common.MustGetEnv("DOKKU_ROOT") - files, err := ioutil.ReadDir(dokkuRoot) - if err != nil { - return apps, fmt.Errorf("You haven't deployed any applications yet") - } - - for _, f := range files { - appRoot := common.AppRoot(f.Name()) - if !common.DirectoryExists(appRoot) { - continue - } - if strings.HasPrefix(f.Name(), ".") { - continue - } - apps = append(apps, f.Name()) - } - - if len(apps) == 0 { - return apps, fmt.Errorf("You haven't deployed any applications yet") - } - - return filterApps(apps) -} diff --git a/plugins/apps/functions.go b/plugins/apps/functions.go index 7d1221a30c4..d19b8b37057 100644 --- a/plugins/apps/functions.go +++ b/plugins/apps/functions.go @@ -154,40 +154,3 @@ func maybeCreateApp(appName string) error { return createApp(appName) }) } - -func filterApps(apps []string) ([]string, error) { - if !common.PlugnTriggerExists("user-auth-app") { - return apps, nil - } - - sshUser := os.Getenv("SSH_USER") - if sshUser == "" { - sshUser = os.Getenv("USER") - } - - sshName := os.Getenv("SSH_NAME") - if sshName == "" { - sshName = "default" - } - - args := append([]string{sshUser, sshName}, apps...) - b, _ := common.PlugnTriggerOutput("user-auth-app", args...) - filteredApps := strings.Split(strings.TrimSpace(string(b[:])), "\n") - filteredApps = removeEmptyEntries(filteredApps) - - if len(filteredApps) == 0 { - return filteredApps, fmt.Errorf("You haven't deployed any applications yet") - } - - return filteredApps, nil -} - -func removeEmptyEntries(s []string) []string { - var r []string - for _, str := range s { - if str != "" { - r = append(r, str) - } - } - return r -} diff --git a/plugins/apps/src/triggers/triggers.go b/plugins/apps/src/triggers/triggers.go index 9679ab9e4b0..9a0ce9d5c70 100644 --- a/plugins/apps/src/triggers/triggers.go +++ b/plugins/apps/src/triggers/triggers.go @@ -27,8 +27,6 @@ func main() { case "app-exists": appName := flag.Arg(0) err = apps.TriggerAppExists(appName) - case "app-list": - err = apps.TriggerAppList() case "app-maybe-create": appName := flag.Arg(0) err = apps.TriggerAppMaybeCreate(appName) diff --git a/plugins/apps/subcommands.go b/plugins/apps/subcommands.go index 2911808dee0..bac59eb9482 100644 --- a/plugins/apps/subcommands.go +++ b/plugins/apps/subcommands.go @@ -85,7 +85,7 @@ func CommandExists(appName string) error { // CommandList lists all apps func CommandList() error { common.LogInfo2Quiet("My Apps") - apps, err := DokkuApps() + apps, err := common.DokkuApps() if err != nil { common.LogWarn(err.Error()) return nil @@ -177,7 +177,7 @@ func CommandRename(oldAppName string, newAppName string, skipDeploy bool) error // CommandReport displays an app report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/apps/triggers.go b/plugins/apps/triggers.go index 0a1017946d1..b70076c6453 100644 --- a/plugins/apps/triggers.go +++ b/plugins/apps/triggers.go @@ -21,16 +21,6 @@ func TriggerAppExists(appName string) error { return appExists(appName) } -// TriggerAppList outputs each app name to stdout on a newline -func TriggerAppList() error { - apps, _ := DokkuApps() - for _, app := range apps { - common.Log(app) - } - - return nil -} - // TriggerAppMaybeCreate is a trigger to allow gated app creation func TriggerAppMaybeCreate(appName string) error { return maybeCreateApp(appName) diff --git a/plugins/builder/subcommands.go b/plugins/builder/subcommands.go index 513c8ebc5bc..9278f849347 100644 --- a/plugins/builder/subcommands.go +++ b/plugins/builder/subcommands.go @@ -1,14 +1,13 @@ package builder import ( - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) // CommandReport displays a builder report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/buildpacks/subcommands.go b/plugins/buildpacks/subcommands.go index 525e790ef17..9a49ffabc98 100644 --- a/plugins/buildpacks/subcommands.go +++ b/plugins/buildpacks/subcommands.go @@ -4,7 +4,6 @@ import ( "errors" "fmt" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -107,7 +106,7 @@ func CommandRemove(appName string, buildpack string, index int) (err error) { // CommandReport displays a buildpacks report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } @@ -153,7 +152,7 @@ func CommandSetProperty(appName string, property string, value string) error { return common.PlugnTrigger("post-stack-set", []string{appName, value}...) } - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/common/Makefile b/plugins/common/Makefile index e3823d2da53..c0852a2237f 100644 --- a/plugins/common/Makefile +++ b/plugins/common/Makefile @@ -1,4 +1,4 @@ -TRIGGERS = triggers/core-post-deploy triggers/install triggers/post-delete +TRIGGERS = triggers/app-list triggers/core-post-deploy triggers/install triggers/post-delete BUILD = prop common triggers PLUGIN_NAME = common diff --git a/plugins/common/common.go b/plugins/common/common.go index bd6516ae583..c4c0cf50617 100644 --- a/plugins/common/common.go +++ b/plugins/common/common.go @@ -244,12 +244,12 @@ func GetRunningImageTag(appName string, imageTag string) (string, error) { } // DokkuApps returns a list of all local apps -func DokkuApps() (apps []string, err error) { +func DokkuApps() ([]string, error) { + apps := []string{} dokkuRoot := MustGetEnv("DOKKU_ROOT") files, err := ioutil.ReadDir(dokkuRoot) if err != nil { - err = fmt.Errorf("You haven't deployed any applications yet") - return + return apps, fmt.Errorf("You haven't deployed any applications yet") } for _, f := range files { @@ -264,11 +264,10 @@ func DokkuApps() (apps []string, err error) { } if len(apps) == 0 { - err = fmt.Errorf("You haven't deployed any applications yet") - return + return apps, fmt.Errorf("You haven't deployed any applications yet") } - return + return filterApps(apps) } // GetAppImageName returns image identifier for a given app, tag tuple. validate if tag is presented diff --git a/plugins/common/functions.go b/plugins/common/functions.go new file mode 100644 index 00000000000..ea475737bb1 --- /dev/null +++ b/plugins/common/functions.go @@ -0,0 +1,44 @@ +package common + +import ( + "fmt" + "os" + "strings" +) + +func filterApps(apps []string) ([]string, error) { + if !PlugnTriggerExists("user-auth-app") { + return apps, nil + } + + sshUser := os.Getenv("SSH_USER") + if sshUser == "" { + sshUser = os.Getenv("USER") + } + + sshName := os.Getenv("SSH_NAME") + if sshName == "" { + sshName = "default" + } + + args := append([]string{sshUser, sshName}, apps...) + b, _ := PlugnTriggerOutput("user-auth-app", args...) + filteredApps := strings.Split(strings.TrimSpace(string(b[:])), "\n") + filteredApps = removeEmptyEntries(filteredApps) + + if len(filteredApps) == 0 { + return filteredApps, fmt.Errorf("You haven't deployed any applications yet") + } + + return filteredApps, nil +} + +func removeEmptyEntries(s []string) []string { + var r []string + for _, str := range s { + if str != "" { + r = append(r, str) + } + } + return r +} diff --git a/plugins/common/src/triggers/triggers.go b/plugins/common/src/triggers/triggers.go index cefabbe2893..8ba0d386600 100644 --- a/plugins/common/src/triggers/triggers.go +++ b/plugins/common/src/triggers/triggers.go @@ -17,6 +17,8 @@ func main() { var err error switch trigger { + case "app-list": + err = common.TriggerAppList() case "core-post-deploy": appName := flag.Arg(0) err = common.TriggerCorePostDeploy(appName) diff --git a/plugins/common/triggers.go b/plugins/common/triggers.go index b20c655b325..9bb6ef84071 100644 --- a/plugins/common/triggers.go +++ b/plugins/common/triggers.go @@ -5,6 +5,16 @@ import ( "os" ) +// TriggerAppList outputs each app name to stdout on a newline +func TriggerAppList() error { + apps, _ := DokkuApps() + for _, app := range apps { + Log(app) + } + + return nil +} + // TriggerCorePostDeploy associates the container with a specified network func TriggerCorePostDeploy(appName string) error { quiet := os.Getenv("DOKKU_QUIET_OUTPUT") diff --git a/plugins/cron/functions.go b/plugins/cron/functions.go index 18cb1b1da97..ebdd7fb6165 100644 --- a/plugins/cron/functions.go +++ b/plugins/cron/functions.go @@ -11,7 +11,6 @@ import ( "text/template" appjson "github.com/dokku/dokku/plugins/app-json" - apps "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" cronparser "github.com/robfig/cron/v3" @@ -100,7 +99,7 @@ func deleteCrontab() error { } func writeCronEntries() error { - apps, _ := apps.DokkuApps() + apps, _ := common.DokkuApps() commands := []templateCommand{} for _, appName := range apps { scheduler := common.GetAppScheduler(appName) diff --git a/plugins/cron/subcommands.go b/plugins/cron/subcommands.go index 6038e15647c..88bca62311a 100644 --- a/plugins/cron/subcommands.go +++ b/plugins/cron/subcommands.go @@ -3,7 +3,6 @@ package cron import ( "fmt" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/ryanuber/columnize" ) @@ -32,7 +31,7 @@ func CommandList(appName string) error { // CommandReport displays a cron report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/logs/functions.go b/plugins/logs/functions.go index 91d6eea9952..50aa6a2ca78 100644 --- a/plugins/logs/functions.go +++ b/plugins/logs/functions.go @@ -10,7 +10,6 @@ import ( "strings" "time" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/joncalhoun/qson" ) @@ -157,7 +156,7 @@ func sinkValueToConfig(appName string, sinkValue string) (vectorSink, error) { } func writeVectorConfig() error { - apps, _ := apps.DokkuApps() + apps, _ := common.DokkuApps() data := vectorConfig{ Sources: map[string]vectorSource{}, Sinks: map[string]vectorSink{}, diff --git a/plugins/logs/subcommands.go b/plugins/logs/subcommands.go index 277213fe734..365a67892a4 100644 --- a/plugins/logs/subcommands.go +++ b/plugins/logs/subcommands.go @@ -7,7 +7,6 @@ import ( "strconv" "time" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -53,7 +52,7 @@ func CommandFailed(appName string, allApps bool) error { // CommandReport displays a logs report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/network/subcommands.go b/plugins/network/subcommands.go index f052281e8ad..bf04f57844c 100644 --- a/plugins/network/subcommands.go +++ b/plugins/network/subcommands.go @@ -7,7 +7,6 @@ import ( "os" "strings" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -108,7 +107,7 @@ func CommandList() error { // CommandRebuildall rebuilds network settings for all apps func CommandRebuildall() error { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } @@ -126,7 +125,7 @@ func CommandRebuildall() error { // CommandReport displays a network report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/network/triggers.go b/plugins/network/triggers.go index 71840ea9ef1..2906c142831 100644 --- a/plugins/network/triggers.go +++ b/plugins/network/triggers.go @@ -7,7 +7,6 @@ import ( "strings" "unicode/utf8" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/dokku/dokku/plugins/config" ) @@ -34,7 +33,7 @@ func TriggerInstall() error { return fmt.Errorf("Unable to install the network plugin: %s", err.Error()) } - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return nil } diff --git a/plugins/proxy/subcommands.go b/plugins/proxy/subcommands.go index 836c9cf5319..1dcb66558a5 100644 --- a/plugins/proxy/subcommands.go +++ b/plugins/proxy/subcommands.go @@ -4,7 +4,6 @@ import ( "errors" "strings" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/dokku/dokku/plugins/config" ) @@ -153,7 +152,7 @@ func CommandPortsSet(appName string, portMaps []string) error { // CommandReport displays a proxy report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/ps/subcommands.go b/plugins/ps/subcommands.go index 16c2f5ff67a..2d00b87b40c 100644 --- a/plugins/ps/subcommands.go +++ b/plugins/ps/subcommands.go @@ -6,7 +6,6 @@ import ( "path/filepath" "strings" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" dockeroptions "github.com/dokku/dokku/plugins/docker-options" "github.com/gofrs/flock" @@ -38,7 +37,7 @@ func CommandRebuild(appName string, allApps bool, parallelCount int) error { // CommandReport displays a ps report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/ps/triggers.go b/plugins/ps/triggers.go index fbd87868b78..88c590ef0d3 100644 --- a/plugins/ps/triggers.go +++ b/plugins/ps/triggers.go @@ -10,7 +10,6 @@ import ( "strings" sh "github.com/codeskyblue/go-sh" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/dokku/dokku/plugins/config" dockeroptions "github.com/dokku/dokku/plugins/docker-options" @@ -75,7 +74,7 @@ func TriggerInstall() error { return err } - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return nil } diff --git a/plugins/registry/subcommands.go b/plugins/registry/subcommands.go index ba27a1e0ae4..beabc002aa6 100644 --- a/plugins/registry/subcommands.go +++ b/plugins/registry/subcommands.go @@ -7,7 +7,6 @@ import ( "os" "strings" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -56,7 +55,7 @@ func CommandLogin(server string, username string, password string, passwordStdin // CommandReport displays a registry report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/resource/subcommands.go b/plugins/resource/subcommands.go index 43402b57290..f1321738985 100644 --- a/plugins/resource/subcommands.go +++ b/plugins/resource/subcommands.go @@ -1,7 +1,6 @@ package resource import ( - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) @@ -27,7 +26,7 @@ func CommandLimitClear(appName string, processType string) error { // CommandReport displays a resource report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/scheduler/subcommands.go b/plugins/scheduler/subcommands.go index 4cded4dcb12..98ed46e4421 100644 --- a/plugins/scheduler/subcommands.go +++ b/plugins/scheduler/subcommands.go @@ -1,14 +1,13 @@ package scheduler import ( - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" ) // CommandReport displays a scheduler report for one or more apps func CommandReport(appName string, format string, infoFlag string) error { if len(appName) == 0 { - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return err } diff --git a/plugins/scheduler/triggers.go b/plugins/scheduler/triggers.go index f3ed3053144..d5ae16b1d21 100644 --- a/plugins/scheduler/triggers.go +++ b/plugins/scheduler/triggers.go @@ -3,7 +3,6 @@ package scheduler import ( "fmt" - "github.com/dokku/dokku/plugins/apps" "github.com/dokku/dokku/plugins/common" "github.com/dokku/dokku/plugins/config" ) @@ -32,7 +31,7 @@ func TriggerInstall() error { return fmt.Errorf("Unable to install the scheduler plugin: %s", err.Error()) } - apps, err := apps.DokkuApps() + apps, err := common.DokkuApps() if err != nil { return nil } From d5a3527059e08032f820460ded56114e347b2fd1 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 26 Feb 2022 03:19:03 -0500 Subject: [PATCH 0037/4100] test: set a dummy path for PLUGIN_ENABLED_PATH Ideally we could use this to mock out different plugin paths with test implementations of user-auth-app, but for now setting something that won't generally fail is good enough. --- plugins/common/common_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/common/common_test.go b/plugins/common/common_test.go index 4fb32ea84c0..3e31967e10c 100644 --- a/plugins/common/common_test.go +++ b/plugins/common/common_test.go @@ -87,6 +87,7 @@ func TestCommonDokkuAppsError(t *testing.T) { func TestCommonDokkuApps(t *testing.T) { RegisterTestingT(t) + os.Setenv("PLUGIN_ENABLED_PATH", "/var/lib/dokku/plugins/enabled") Expect(setupTestApp()).To(Succeed()) apps, err := DokkuApps() Expect(err).NotTo(HaveOccurred()) From ea5431b088e0d206a46911b9687b59d828bc70de Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 26 Feb 2022 03:45:34 -0500 Subject: [PATCH 0038/4100] chore: cleanup go.mod files again --- plugins/app-json/go.mod | 3 --- plugins/builder/go.mod | 3 --- plugins/buildpacks/go.mod | 3 --- plugins/cron/go.mod | 3 --- plugins/logs/go.mod | 3 --- plugins/network/go.mod | 3 --- plugins/proxy/go.mod | 3 --- plugins/ps/go.mod | 3 --- plugins/registry/go.mod | 3 --- plugins/resource/go.mod | 3 --- plugins/scheduler/go.mod | 3 --- 11 files changed, 33 deletions(-) diff --git a/plugins/app-json/go.mod b/plugins/app-json/go.mod index 772c0a15ca9..5de818c5472 100644 --- a/plugins/app-json/go.mod +++ b/plugins/app-json/go.mod @@ -3,13 +3,10 @@ module github.com/dokku/dokku/plugins/app-json go 1.16 require ( - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 github.com/spf13/pflag v1.0.5 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/builder/go.mod b/plugins/builder/go.mod index 6153d339118..93f3068ee35 100644 --- a/plugins/builder/go.mod +++ b/plugins/builder/go.mod @@ -3,12 +3,9 @@ module github.com/dokku/dokku/plugins/builder go 1.16 require ( - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/otiai10/copy v1.6.0 github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/buildpacks/go.mod b/plugins/buildpacks/go.mod index 1be08af060c..cd66e87655f 100644 --- a/plugins/buildpacks/go.mod +++ b/plugins/buildpacks/go.mod @@ -3,11 +3,8 @@ module github.com/dokku/dokku/plugins/buildpacks go 1.16 require ( - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/cron/go.mod b/plugins/cron/go.mod index 75b25110323..3918dd95cb4 100644 --- a/plugins/cron/go.mod +++ b/plugins/cron/go.mod @@ -4,15 +4,12 @@ go 1.16 require ( github.com/dokku/dokku/plugins/app-json v0.0.0-00010101000000-000000000000 - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/robfig/cron/v3 v3.0.1 github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/app-json => ../app-json replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/logs/go.mod b/plugins/logs/go.mod index c13c79bcc49..0c64d4a28f7 100644 --- a/plugins/logs/go.mod +++ b/plugins/logs/go.mod @@ -4,15 +4,12 @@ go 1.16 require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/docker-options v0.0.0-00010101000000-000000000000 github.com/joncalhoun/qson v0.0.0-20200422171543-84433dcd3da0 github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/docker-options => ../docker-options diff --git a/plugins/network/go.mod b/plugins/network/go.mod index 55767a26a2b..a34058e0da3 100644 --- a/plugins/network/go.mod +++ b/plugins/network/go.mod @@ -4,14 +4,11 @@ go 1.16 require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/config v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/config => ../config diff --git a/plugins/proxy/go.mod b/plugins/proxy/go.mod index c4c1b4c528e..a88c3cdc2df 100644 --- a/plugins/proxy/go.mod +++ b/plugins/proxy/go.mod @@ -3,15 +3,12 @@ module github.com/dokku/dokku/plugins/proxy go 1.16 require ( - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/config v0.0.0-00010101000000-000000000000 github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/config => ../config diff --git a/plugins/ps/go.mod b/plugins/ps/go.mod index 82199a831be..cdb884ecd68 100644 --- a/plugins/ps/go.mod +++ b/plugins/ps/go.mod @@ -4,7 +4,6 @@ go 1.16 require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/config v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/docker-options v0.0.0-00010101000000-000000000000 @@ -14,8 +13,6 @@ require ( github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/config => ../config diff --git a/plugins/registry/go.mod b/plugins/registry/go.mod index 732383d7b93..d935e5bb9fd 100644 --- a/plugins/registry/go.mod +++ b/plugins/registry/go.mod @@ -4,11 +4,8 @@ go 1.16 require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/resource/go.mod b/plugins/resource/go.mod index cd4df919a8d..a5792de11b1 100644 --- a/plugins/resource/go.mod +++ b/plugins/resource/go.mod @@ -3,11 +3,8 @@ module github.com/dokku/dokku/plugins/resource go 1.16 require ( - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/scheduler/go.mod b/plugins/scheduler/go.mod index 73ca20ce0f2..54dc95487a0 100644 --- a/plugins/scheduler/go.mod +++ b/plugins/scheduler/go.mod @@ -3,14 +3,11 @@ module github.com/dokku/dokku/plugins/scheduler go 1.16 require ( - github.com/dokku/dokku/plugins/apps v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/config v0.0.0-00010101000000-000000000000 github.com/spf13/pflag v1.0.5 ) -replace github.com/dokku/dokku/plugins/apps => ../apps - replace github.com/dokku/dokku/plugins/common => ../common replace github.com/dokku/dokku/plugins/config => ../config From 2a02aa0b9b9d62a7943bd1fdd0bdba0edc6c4307 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 27 Feb 2022 18:20:44 -0500 Subject: [PATCH 0039/4100] fix: ensure vector component sources have valid names The dot (.) character is invalid. Closes #5044 --- plugins/logs/functions.go | 1 + tests/unit/logs.bats | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/plugins/logs/functions.go b/plugins/logs/functions.go index 50aa6a2ca78..b4acc800730 100644 --- a/plugins/logs/functions.go +++ b/plugins/logs/functions.go @@ -167,6 +167,7 @@ func writeVectorConfig() error { continue } + appName = strings.ReplaceAll(appName, ".", "-") sink, err := sinkValueToConfig(appName, value) if err != nil { return err diff --git a/tests/unit/logs.bats b/tests/unit/logs.bats index 58af987c8e4..7225831c9f9 100644 --- a/tests/unit/logs.bats +++ b/tests/unit/logs.bats @@ -522,6 +522,11 @@ teardown() { assert_failure assert_output_contains "Vector container does not exist" + run /bin/bash -c "dokku apps:create example.com" + echo "output: $output" + echo "status: $status" + assert_success + run /bin/bash -c "dokku logs:vector-start 2>&1" echo "output: $output" echo "status: $status" @@ -534,6 +539,11 @@ teardown() { assert_success assert_output_contains "Vector container logs" + run /bin/bash -c "dokku --force apps:destroy example.com" + echo "output: $output" + echo "status: $status" + assert_success + run /bin/bash -c "dokku logs:vector-logs --num 10 2>&1" echo "output: $output" echo "status: $status" From 2e1df2578c925f2916ac07e38c0b37195d6a43d7 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 27 Feb 2022 19:10:33 -0500 Subject: [PATCH 0040/4100] fix: set correct permissions on sudoers files RHEL validates 0600, while Debian systems expect 0440. --- plugins/nginx-vhosts/install | 4 +++- plugins/storage/install | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/nginx-vhosts/install b/plugins/nginx-vhosts/install index 88b4e6e680f..a9a1f0fd2d3 100755 --- a/plugins/nginx-vhosts/install +++ b/plugins/nginx-vhosts/install @@ -24,6 +24,7 @@ trigger-nginx-vhosts-install() { NGINX_SUDOERS_FILE="/etc/sudoers.d/dokku-openresty" fi + local mode="0440" case "$DOKKU_DISTRO" in debian | raspbian) echo "%dokku ALL=(ALL) NOPASSWD:/usr/sbin/invoke-rc.d $NGINX_INIT_NAME reload, $NGINX_BIN -t, ${NGINX_BIN} -t -c *" >"$NGINX_SUDOERS_FILE" @@ -48,10 +49,11 @@ trigger-nginx-vhosts-install() { centos | fedora | rhel) echo "%dokku ALL=(ALL) NOPASSWD:/usr/bin/systemctl reload $NGINX_INIT_NAME, $NGINX_BIN -t, $NGINX_BIN -t -c *" >"$NGINX_SUDOERS_FILE" echo "Defaults:dokku !requiretty" >>"$NGINX_SUDOERS_FILE" + mode="0600" ;; esac - chmod 0440 "$NGINX_SUDOERS_FILE" + chmod "$mode" "$NGINX_SUDOERS_FILE" # if dhparam.pem has not been created, create it the first time if [[ ! -f "$NGINX_ROOT/dhparam.pem" ]]; then diff --git a/plugins/storage/install b/plugins/storage/install index bda82c02491..cad455d0d8e 100755 --- a/plugins/storage/install +++ b/plugins/storage/install @@ -10,7 +10,7 @@ trigger-storage-install() { chown dokku:dokku "${storage_directory}" STORAGE_SUDOERS_FILE="/etc/sudoers.d/dokku-storage" - + local mode="0440" case "$DOKKU_DISTRO" in arch | debian | opensuse | raspbian | ubuntu) echo "%dokku ALL=(ALL) NOPASSWD:$PLUGIN_AVAILABLE_PATH/storage/bin/chown-storage-dir *" >"$STORAGE_SUDOERS_FILE" @@ -21,9 +21,11 @@ trigger-storage-install() { echo "%dokku ALL=(ALL) NOPASSWD:$PLUGIN_AVAILABLE_PATH/storage/bin/chown-storage-dir *" >"$STORAGE_SUDOERS_FILE" echo "Defaults:dokku !requiretty" >>"$STORAGE_SUDOERS_FILE" echo "Defaults env_keep += \"DOKKU_LIB_ROOT\"" >>"$STORAGE_SUDOERS_FILE" - + mode="0600" ;; esac + + chmod "$mode" "$STORAGE_SUDOERS_FILE" } trigger-storage-install "$@" From 257baa1d46f927a4356b05b2f39b56b39159f6f2 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 27 Feb 2022 19:17:04 -0500 Subject: [PATCH 0041/4100] refactor: run crontab under sudo to support rhel systems RHEL blocks users from executing crontab as themselves Because Of Reasons so we need to use sudo instead. Also refactors file writing to properly support writing the permissions on sudoers files going forward. Closes #5020 --- docker/etc/sudoers.d/dokku-docker | 2 +- plugins/common/io.go | 23 ++++++++++++++++++++--- plugins/cron/.gitignore | 1 + plugins/cron/Makefile | 2 +- plugins/cron/functions.go | 6 +++--- plugins/cron/src/triggers/triggers.go | 2 ++ plugins/cron/triggers.go | 21 +++++++++++++++++++++ tests/unit/cron.bats | 7 +++++++ 8 files changed, 56 insertions(+), 8 deletions(-) diff --git a/docker/etc/sudoers.d/dokku-docker b/docker/etc/sudoers.d/dokku-docker index ae9a60f3f71..8150da4a5af 100644 --- a/docker/etc/sudoers.d/dokku-docker +++ b/docker/etc/sudoers.d/dokku-docker @@ -1 +1 @@ -dokku ALL=NOPASSWD:SETENV:/usr/bin/docker,/usr/bin/docker-image-labeler,/usr/bin/pack +dokku ALL=NOPASSWD:SETENV:/usr/bin/docker,/usr/bin/docker-image-labeler,/usr/bin/pack,/usr/bin/crontab diff --git a/plugins/common/io.go b/plugins/common/io.go index 1423bdb32b1..75d878ac230 100644 --- a/plugins/common/io.go +++ b/plugins/common/io.go @@ -183,6 +183,10 @@ func SetPermissions(path string, fileMode os.FileMode) error { systemGroup := GetenvWithDefault("DOKKU_SYSTEM_GROUP", "dokku") systemUser := GetenvWithDefault("DOKKU_SYSTEM_USER", "dokku") + if strings.HasPrefix("/etc/sudoers.d/", path) { + systemGroup = "root" + systemUser = "root" + } group, err := user.LookupGroup(systemGroup) if err != nil { @@ -207,7 +211,20 @@ func SetPermissions(path string, fileMode os.FileMode) error { // WriteSliceToFile writes a slice of strings to a file func WriteSliceToFile(filename string, lines []string) error { - file, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600) + mode := os.FileMode(0600) + if strings.HasPrefix("/etc/sudoers.d/", filename) { + // sudoers files should be either 0600 (rhel) or 0440 (debian) + defaultMode := map[string]bool{ + "centos": true, + "fedora": true, + "rhel": true, + } + if !defaultMode[os.Getenv("DOKKU_DISTRO")] { + mode = os.FileMode(0440) + } + } + + file, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, mode) if err != nil { return err } @@ -220,8 +237,8 @@ func WriteSliceToFile(filename string, lines []string) error { return err } - file.Chmod(0600) - SetPermissions(filename, 0600) + file.Chmod(mode) + SetPermissions(filename, mode) return nil } diff --git a/plugins/cron/.gitignore b/plugins/cron/.gitignore index 6be9e9546c3..949e5b1cd85 100644 --- a/plugins/cron/.gitignore +++ b/plugins/cron/.gitignore @@ -3,5 +3,6 @@ /triggers/* /triggers /cron-* +/install /post-* /report diff --git a/plugins/cron/Makefile b/plugins/cron/Makefile index 5f3310f570f..e0d6a5320d7 100644 --- a/plugins/cron/Makefile +++ b/plugins/cron/Makefile @@ -1,5 +1,5 @@ SUBCOMMANDS = subcommands/list subcommands/report -TRIGGERS = triggers/cron-write triggers/post-delete triggers/post-deploy triggers/report +TRIGGERS = triggers/cron-write triggers/install triggers/post-delete triggers/post-deploy triggers/report BUILD = commands subcommands triggers PLUGIN_NAME = cron diff --git a/plugins/cron/functions.go b/plugins/cron/functions.go index ebdd7fb6165..a3733d0b7af 100644 --- a/plugins/cron/functions.go +++ b/plugins/cron/functions.go @@ -81,13 +81,13 @@ func fetchCronEntries(appName string) ([]templateCommand, error) { } func deleteCrontab() error { - command := common.NewShellCmd("crontab -l -u dokku") + command := common.NewShellCmd("sudo /usr/bin/crontab -l -u dokku") command.ShowOutput = false if !command.Execute() { return nil } - command = common.NewShellCmd("crontab -r -u dokku") + command = common.NewShellCmd("sudo /usr/bin/crontab -r -u dokku") command.ShowOutput = false out, err := command.CombinedOutput() if err != nil { @@ -163,7 +163,7 @@ func writeCronEntries() error { return fmt.Errorf("Unable to template out schedule file: %v", err) } - command := common.NewShellCmd(fmt.Sprintf("crontab -u dokku %s", tmpFile.Name())) + command := common.NewShellCmd(fmt.Sprintf("sudo /usr/bin/crontab -u dokku %s", tmpFile.Name())) command.ShowOutput = false out, err := command.CombinedOutput() if err != nil { diff --git a/plugins/cron/src/triggers/triggers.go b/plugins/cron/src/triggers/triggers.go index f48bdc58d59..43ae583f7e6 100644 --- a/plugins/cron/src/triggers/triggers.go +++ b/plugins/cron/src/triggers/triggers.go @@ -20,6 +20,8 @@ func main() { switch trigger { case "cron-write": err = cron.TriggerCronWrite() + case "install": + err = cron.TriggerInstall() case "post-delete": err = cron.TriggerPostDelete() case "post-deploy": diff --git a/plugins/cron/triggers.go b/plugins/cron/triggers.go index 74c18b19de7..407c528ca3b 100644 --- a/plugins/cron/triggers.go +++ b/plugins/cron/triggers.go @@ -1,5 +1,26 @@ package cron +import ( + "os" + + "github.com/dokku/dokku/plugins/common" +) + +// TriggerInstall installs a sudoers file so we can execute crontab via sudo +func TriggerInstall() error { + lines := []string{"%dokku ALL=(ALL) NOPASSWD:/usr/bin/crontab"} + notty := map[string]bool{ + "centos": true, + "fedora": true, + "rhel": true, + } + if notty[os.Getenv("DOKKU_DISTRO")] { + lines = append(lines, "Defaults:dokku !requiretty") + } + + return common.WriteSliceToFile("/etc/sudoers.d/dokku-cron", lines) +} + // TriggerPostDelete updates the cron entries for all apps func TriggerPostDelete() error { return writeCronEntries() diff --git a/tests/unit/cron.bats b/tests/unit/cron.bats index 4595cf3b205..0a0125bc9a0 100644 --- a/tests/unit/cron.bats +++ b/tests/unit/cron.bats @@ -37,6 +37,13 @@ teardown() { assert_output "$help_output" } +@test "(cron) installed" { + run /bin/bash -c "test -f /etc/sudoers.d/dokku-cron" + echo "output: $output" + echo "status: $status" + assert_success +} + @test "(cron) invalid [missing-keys]" { run deploy_app python dokku@dokku.me:$TEST_APP template_cron_file_invalid echo "output: $output" From 116add09ba3d217c55056dad751352614dc60b71 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Feb 2022 13:14:52 +0000 Subject: [PATCH 0042/4100] chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 211 to 212. - [Release notes](https://github.com/heroku/heroku-buildpack-php/releases) - [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/main/CHANGELOG.md) - [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v211...v212) --- updated-dependencies: - dependency-name: heroku/heroku-buildpack-php dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- tests/apps/php/composer.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/apps/php/composer.lock b/tests/apps/php/composer.lock index 6b98f06996c..35444ebc95d 100644 --- a/tests/apps/php/composer.lock +++ b/tests/apps/php/composer.lock @@ -663,12 +663,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -778,12 +778,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php56\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -834,12 +834,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php70\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php70\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -1000,16 +1000,16 @@ "packages-dev": [ { "name": "heroku/heroku-buildpack-php", - "version": "v211", + "version": "v212", "source": { "type": "git", "url": "https://github.com/heroku/heroku-buildpack-php.git", - "reference": "035433c192b49dd8c6f33aff13856faa852c2d15" + "reference": "8b90c86b7bd15f6a516bb2d8e877cb30cd77b90a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/035433c192b49dd8c6f33aff13856faa852c2d15", - "reference": "035433c192b49dd8c6f33aff13856faa852c2d15", + "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/8b90c86b7bd15f6a516bb2d8e877cb30cd77b90a", + "reference": "8b90c86b7bd15f6a516bb2d8e877cb30cd77b90a", "shasum": "" }, "bin": [ @@ -1037,7 +1037,7 @@ "nginx", "php" ], - "time": "2022-02-22T21:11:41+00:00" + "time": "2022-02-25T17:31:55+00:00" } ], "aliases": [], From 0856b8d4af8e339ada2f75f6ec4790b3bc41ea0d Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 28 Feb 2022 16:24:39 -0500 Subject: [PATCH 0043/4100] fix: correct the prefix check --- plugins/common/io.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/common/io.go b/plugins/common/io.go index 75d878ac230..98641f16814 100644 --- a/plugins/common/io.go +++ b/plugins/common/io.go @@ -183,7 +183,7 @@ func SetPermissions(path string, fileMode os.FileMode) error { systemGroup := GetenvWithDefault("DOKKU_SYSTEM_GROUP", "dokku") systemUser := GetenvWithDefault("DOKKU_SYSTEM_USER", "dokku") - if strings.HasPrefix("/etc/sudoers.d/", path) { + if strings.HasPrefix(path, "/etc/sudoers.d/") { systemGroup = "root" systemUser = "root" } @@ -212,7 +212,7 @@ func SetPermissions(path string, fileMode os.FileMode) error { // WriteSliceToFile writes a slice of strings to a file func WriteSliceToFile(filename string, lines []string) error { mode := os.FileMode(0600) - if strings.HasPrefix("/etc/sudoers.d/", filename) { + if strings.HasPrefix(filename, "/etc/sudoers.d/") { // sudoers files should be either 0600 (rhel) or 0440 (debian) defaultMode := map[string]bool{ "centos": true, From 5ba274b605809409117e5f6c333d9d0c3cde2ca0 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 28 Feb 2022 17:12:58 -0500 Subject: [PATCH 0044/4100] feat: release dokku for 32-bit Raspbian Bullseye Refs #5054 --- bootstrap.sh | 4 ++-- contrib/release-dokku | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bootstrap.sh b/bootstrap.sh index 9869aaa3bb5..b68565b4ec1 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -205,9 +205,9 @@ install-dokku-from-deb-package() { OS_ID="bullseye" fi elif [[ "$DOKKU_DISTRO" == "raspbian" ]]; then - OS_IDS=("buster") + OS_IDS=("buster" "bullseye") if ! in-array "$OS_ID" "${OS_IDS[@]}"; then - OS_ID="buster" + OS_ID="bullseye" fi fi diff --git a/contrib/release-dokku b/contrib/release-dokku index 109edb8a64b..42bceb33911 100755 --- a/contrib/release-dokku +++ b/contrib/release-dokku @@ -138,7 +138,7 @@ fn-publish-package() { [[ "$RELEASE_TYPE" == "raspbian" ]] && DIST=raspbian if [[ "$RELEASE_TYPE" == "raspbian" ]]; then - OS_IDS=("buster") + OS_IDS=("buster" "bullseye") for OS_ID in "${OS_IDS[@]}"; do log-info "(release-dokku) pushing deb to packagecloud.com/${REPOSITORY}/${DIST}" package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME" From 6b377fd80f2375717ce33b0a7c60bd6ff774818b Mon Sep 17 00:00:00 2001 From: miku86 Date: Tue, 1 Mar 2022 16:44:01 +0100 Subject: [PATCH 0045/4100] Fix typo --- docs/networking/port-management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/networking/port-management.md b/docs/networking/port-management.md index 1b56e0546ec..80dc35b92a1 100644 --- a/docs/networking/port-management.md +++ b/docs/networking/port-management.md @@ -16,7 +16,7 @@ In Dokku 0.5.0, port proxying was decoupled from the `nginx-vhosts` plugin into > Warning: Mapping alternative ports may conflict with the active firewall installed on your server or hosting provider. Such software includes - but is not limited to - AWS Security Groups, iptables, and UFW. Please consult the documentation for those softwares as applicable. > -> Users should also avoid setting the `PORT` environment variable. Dokku will use port mappings to set this value. Overridng this manually may cause issues in application routing. +> Users should also avoid setting the `PORT` environment variable. Dokku will use port mappings to set this value. Overriding this manually may cause issues in application routing. > New as of 0.6.0 From f0095fec2f976e11a8c3872077422dcbd4971a90 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 2 Mar 2022 01:18:41 -0500 Subject: [PATCH 0046/4100] fix: ensure we use the correct variable for WAIT A previous refactor ended up disabling waits completely, potentially causing app downtime during deploys. --- .../scheduler-docker-local/bin/scheduler-deploy-process | 2 +- .../bin/scheduler-deploy-process-container | 7 +++---- plugins/scheduler-docker-local/scheduler-deploy | 6 +++--- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/plugins/scheduler-docker-local/bin/scheduler-deploy-process b/plugins/scheduler-docker-local/bin/scheduler-deploy-process index bc14ee901fd..208b337ff03 100755 --- a/plugins/scheduler-docker-local/bin/scheduler-deploy-process +++ b/plugins/scheduler-docker-local/bin/scheduler-deploy-process @@ -17,7 +17,7 @@ main() { dokku_log_verbose "Stopping $cid ($PROC_TYPE)" # Retire the containers to ensure they get removed - plugn trigger scheduler-register-retired "$APP" "$cid" "$WAIT" + plugn trigger scheduler-register-retired "$APP" "$cid" "$DOKKU_WAIT_TO_RETIRE" # Disable the container restart policy "$DOCKER_BIN" container update --restart=no "$cid" &>/dev/null || true diff --git a/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container b/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container index affd2fbf09d..2804678c6ba 100755 --- a/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container +++ b/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container @@ -32,7 +32,6 @@ main() { local DOKKU_PORT="" if [[ "$PROC_TYPE" == "web" ]]; then ports=($(plugn trigger network-compute-ports "$APP" "$PROC_TYPE" "$DOKKU_HEROKUISH" "$CONTAINER_INDEX")) - local DOKKU_DOCKER_PORT_ARGS="" for p in "${ports[@]}"; do if [[ ! "$p" =~ .*udp.* ]]; then DOKKU_PORT=${DOKKU_PORT:="$p"} @@ -64,7 +63,7 @@ main() { declare desc="wrapper function to kill newly started app container" declare CID="$1" PROC_TYPE="$2" CONTAINER_INDEX="$3" - plugn trigger scheduler-register-retired "$APP" "$CID" "$WAIT" + plugn trigger scheduler-register-retired "$APP" "$CID" "$DOKKU_WAIT_TO_RETIRE" mkdir -p "${DOKKU_LIB_ROOT}/data/scheduler-docker-local/$APP" echo "${CID} ${PROC_TYPE}.${CONTAINER_INDEX}" >>"${DOKKU_LIB_ROOT}/data/scheduler-docker-local/$APP/failed-containers" "$DOCKER_BIN" container inspect "$CID" &>/dev/null && { @@ -86,8 +85,8 @@ main() { if [[ -f "$DOKKU_CONTAINER_ID_FILE" ]]; then # schedule old container for retirement - dokku_log_verbose "Scheduling old container shutdown in $WAIT seconds ($PROC_TYPE.$CONTAINER_INDEX)" - plugn trigger scheduler-register-retired "$APP" "$(cat "$DOKKU_CONTAINER_ID_FILE")" "$WAIT" + dokku_log_verbose "Scheduling old container shutdown in $DOKKU_WAIT_TO_RETIRE seconds ($PROC_TYPE.$CONTAINER_INDEX)" + plugn trigger scheduler-register-retired "$APP" "$(cat "$DOKKU_CONTAINER_ID_FILE")" "$DOKKU_WAIT_TO_RETIRE" fi # now using the new container diff --git a/plugins/scheduler-docker-local/scheduler-deploy b/plugins/scheduler-docker-local/scheduler-deploy index 4b38d48b7fe..b71f4c81955 100755 --- a/plugins/scheduler-docker-local/scheduler-deploy +++ b/plugins/scheduler-docker-local/scheduler-deploy @@ -43,7 +43,7 @@ trigger-scheduler-docker-local-scheduler-deploy() { local DOKKU_WAIT_TO_RETIRE=${DOKKU_APP_DOKKU_WAIT_TO_RETIRE:="$DOKKU_GLOBAL_DOKKU_WAIT_TO_RETIRE"} fi - local WAIT="${DOKKU_WAIT_TO_RETIRE:-60}" + export DOKKU_WAIT_TO_RETIRE="${DOKKU_WAIT_TO_RETIRE:-60}" local TMP_FILE=$(mktemp "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX") trap "rm -rf '$TMP_FILE' >/dev/null" RETURN INT TERM @@ -78,11 +78,11 @@ trigger-scheduler-docker-local-scheduler-deploy() { # kill the old container if [[ -n "$oldids" ]]; then # Let the old container finish processing requests, before terminating it - dokku_log_info1 "Shutting down old containers in $WAIT seconds" + dokku_log_info1 "Shutting down old containers in $DOKKU_WAIT_TO_RETIRE seconds" ( exec >/dev/null 2>/dev/null /dev/null 2>&1; then continue From 3f6ccc34a02a04de1e85b784d0c0af3a72c8a215 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 2 Mar 2022 01:20:26 -0500 Subject: [PATCH 0047/4100] feat: add .shellcheckrc dquote> dquote> This is a minimal config that can be used in conjunction with text editors to run linting during development. The initial rules are a subset of those we ignore across the codebase. A future update will add further rules as needed and cleanup the codebase. --- .shellcheckrc | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .shellcheckrc diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 00000000000..eed21d66245 --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1,9 @@ +# SC1091 - Not following: FILE: does not exist (No such file or directory) - https://github.com/koalaman/shellcheck/wiki/SC1091 +# - used for sourcing function files throughout the codebase +# SC2034 - VAR appears unused - https://github.com/koalaman/shellcheck/wiki/SC2034 +# - used for declaring desc and deprecated function variables +# SC2064 - Use single quotes, otherwise this expands now rather than when signalled. - https://github.com/koalaman/shellcheck/wiki/SC2064 +# - used for traps +# SC2155 - Declare and assign separately to avoid masking return values - https://github.com/koalaman/shellcheck/wiki/SC2155 +# - used throughout the codebase +disable=SC1091,SC2034,SC2064,SC2155 From 30ab9ebb586c7c10cf09f64ee1406e6270765f08 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 6 Mar 2022 16:52:17 -0500 Subject: [PATCH 0048/4100] fix: use correct token when publish unit test results --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d7d59cdbc72..2fee872b76c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -159,6 +159,6 @@ jobs: uses: docker://ghcr.io/enricomi/publish-unit-test-result-action:v1 with: check_name: Unit Test Results - github_token: ${{ secrets.GH_ACCESS_TOKEN }} + github_token: ${{ secrets.GITHUB_TOKEN }} files: test-results/**/*.xml comment_on_pr: false From 48adda4f5300d31fad7a5235b75158ea2e960f8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Mar 2022 07:40:03 +0000 Subject: [PATCH 0049/4100] chore(deps): bump django in /tests/apps/dockerfile-release Bumps [django](https://github.com/django/django) from 3.1.13 to 3.1.14. - [Release notes](https://github.com/django/django/releases) - [Commits](https://github.com/django/django/compare/3.1.13...3.1.14) --- updated-dependencies: - dependency-name: django dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- tests/apps/dockerfile-release/Pipfile.lock | 28 ++++++++++++++-------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/tests/apps/dockerfile-release/Pipfile.lock b/tests/apps/dockerfile-release/Pipfile.lock index 0532e789907..a4242277ed0 100644 --- a/tests/apps/dockerfile-release/Pipfile.lock +++ b/tests/apps/dockerfile-release/Pipfile.lock @@ -18,11 +18,11 @@ "default": { "asgiref": { "hashes": [ - "sha256:4ef1ab46b484e3c706329cedeff284a5d40824200638503f5768edb6de7d58e9", - "sha256:ffc141aa908e6f175673e7b1b3b7af4fdb0ecb738fc5c8b88f69f055c2415214" + "sha256:2f8abc20f7248433085eda803936d98992f1343ddb022065779f37c5da0181d0", + "sha256:88d59c13d634dcffe0510be048210188edd79aeccb6a6c9028cdad6f31d730a9" ], - "markers": "python_version >= '3.6'", - "version": "==3.4.1" + "markers": "python_version >= '3.7'", + "version": "==3.5.0" }, "dj-database-url": { "hashes": [ @@ -34,11 +34,11 @@ }, "django": { "hashes": [ - "sha256:9f8be75646f62204320b195062b1d696ba28aa3d45ee72fb7c888ffaebc5bdb2", - "sha256:a6e0d1ff11095b7394c079ade7094c73b2dc3df4a7a373c9b58ed73b77a97feb" + "sha256:0fabc786489af16ad87a8c170ba9d42bfd23f7b699bd5ef05675864e8d012859", + "sha256:72a4a5a136a214c39cf016ccdd6b69e2aa08c7479c66d93f3a9b5e4bb9d8a347" ], "index": "pypi", - "version": "==3.1.13" + "version": "==3.1.14" }, "djangorestframework": { "hashes": [ @@ -96,10 +96,18 @@ }, "pytz": { "hashes": [ - "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da", - "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798" + "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c", + "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326" ], - "version": "==2021.1" + "version": "==2021.3" + }, + "setuptools": { + "hashes": [ + "sha256:2347b2b432c891a863acadca2da9ac101eae6169b1d3dfee2ec605ecd50dbfe5", + "sha256:e4f30b9f84e5ab3decf945113119649fec09c1fc3507c6ebffec75646c56e62b" + ], + "markers": "python_version >= '3.7'", + "version": "==60.9.3" }, "sqlparse": { "hashes": [ From dd8e76890cf54df96b9ea23cfae8943a79b3bb7c Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 8 Mar 2022 00:06:04 -0500 Subject: [PATCH 0050/4100] feat: upgrade docker image to ubuntu focal --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f317becd998..92a243a8814 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM phusion/baseimage:bionic-1.0.0 +FROM phusion/baseimage:focal-1.0.0 CMD ["/sbin/my_init"] From bc9e1bfe6ccd8cfd833fb844649c108e2e62b15d Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 8 Mar 2022 00:48:54 -0500 Subject: [PATCH 0051/4100] fix: use newer image that contains arm version --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 92a243a8814..9088cc1de9c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM phusion/baseimage:focal-1.0.0 +FROM phusion/baseimage:focal-1.1.0 CMD ["/sbin/my_init"] From c3ee7ce88643011800e78d880791020cda69cf7a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 7 Mar 2022 03:44:51 -0500 Subject: [PATCH 0052/4100] fix: ensure buildx is available during the release process Without this, we cannot build the docker image during a release. --- .github/workflows/release.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 24a2ddab11f..c224544cc16 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,6 +33,21 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + + - name: Inspect builder + run: | + echo "Name: ${{ steps.buildx.outputs.name }}" + echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}" + echo "Status: ${{ steps.buildx.outputs.status }}" + echo "Flags: ${{ steps.buildx.outputs.flags }}" + echo "Platforms: ${{ steps.buildx.outputs.platforms }}" + - name: install package_cloud run: gem install package_cloud From 669c23256213506ff6a4fc382186d19181ed4779 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 7 Mar 2022 03:45:32 -0500 Subject: [PATCH 0053/4100] feat: test building the docker image when building a non-release --- .github/workflows/ci.yml | 7 +++++++ .github/workflows/release.yml | 8 ++++---- contrib/release-dokku | 5 ++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2fee872b76c..a7a3c80769b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,6 +22,13 @@ jobs: steps: - uses: actions/checkout@v2 + - name: set up qemu + uses: docker/setup-qemu-action@v1 + + - name: set up docker buildx + id: buildx + uses: docker/setup-buildx-action@v1 + - name: build package run: ./tests/ci/setup.sh build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c224544cc16..2d90c24da52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,20 +27,20 @@ jobs: with: ruby-version: 2.6 - - name: Login to Docker Hub + - name: login to docker hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Set up QEMU + - name: set up qemu uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx + - name: set up docker buildx id: buildx uses: docker/setup-buildx-action@v1 - - name: Inspect builder + - name: inspect builder run: | echo "Name: ${{ steps.buildx.outputs.name }}" echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}" diff --git a/contrib/release-dokku b/contrib/release-dokku index 42bceb33911..1ec03cac070 100755 --- a/contrib/release-dokku +++ b/contrib/release-dokku @@ -363,7 +363,8 @@ fn-build-docker-image() { docker buildx build \ --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ --progress plain \ - --tag "dokku/dokku:$VERSION" . + --tag "dokku/dokku:latest" \ + --tag "dokku/dokku:$(echo "$VERSION" | tr + -)" . fi } @@ -422,6 +423,8 @@ main() { fn-build-docker-image "$NEXT_VERSION" "$IS_RELEASE" || log-fail "Error building docker image" fn-repo-push-tags "$IS_RELEASE" + else + fn-build-docker-image "$NEXT_VERSION" "$IS_RELEASE" || log-fail "Error building docker image" fi if [[ "$IS_RELEASE" != "true" ]]; then From af8327e76bfb0031521ba1d551e8bebeb2b3892c Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 7 Mar 2022 06:22:03 -0500 Subject: [PATCH 0054/4100] chore: update build/test dependency versions --- Makefile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index a6e9b3972bd..8f7afb442ed 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,12 @@ DOKKU_VERSION ?= master -DOCKER_IMAGE_LABELER_VERSION ?= 0.2.2 -HEROKUISH_VERSION ?= 0.5.25 -NETRC_VERSION ?= 0.3.0 -PLUGN_VERSION ?= 0.6.1 -PROCFILE_VERSION ?= 0.11.0 -SIGIL_VERSION ?= 0.6.0 -SSHCOMMAND_VERSION ?= 0.12.0 +DOCKER_IMAGE_LABELER_VERSION ?= 0.4.1 +HEROKUISH_VERSION ?= 0.5.34 +NETRC_VERSION ?= 0.5.1 +PLUGN_VERSION ?= 0.8.2 +PROCFILE_VERSION ?= 0.14.1 +SIGIL_VERSION ?= 0.8.1 +SSHCOMMAND_VERSION ?= 0.15.0 DOCKER_IMAGE_LABELER_URL ?= https://github.com/dokku/docker-image-labeler/releases/download/v${DOCKER_IMAGE_LABELER_VERSION}/docker-image-labeler_${DOCKER_IMAGE_LABELER_VERSION}_linux_x86_64.tgz NETRC_URL ?= https://github.com/dokku/netrc/releases/download/v${NETRC_VERSION}/netrc_${NETRC_VERSION}_linux_x86_64.tgz PLUGN_URL ?= https://github.com/dokku/plugn/releases/download/v${PLUGN_VERSION}/plugn_${PLUGN_VERSION}_linux_x86_64.tgz From e0090d9bf68f5155bfb3aaa39d03dc390ee86bb2 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 7 Mar 2022 06:43:22 -0500 Subject: [PATCH 0055/4100] fix: use generic architecture version of sshcommand --- tests/ci/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ci/setup.sh b/tests/ci/setup.sh index 5a5760649ee..8ac196f3e4d 100755 --- a/tests/ci/setup.sh +++ b/tests/ci/setup.sh @@ -35,7 +35,7 @@ install_dependencies() { SSHCOMMAND_VERSION=$(grep SSHCOMMAND_VERSION "${ROOT_DIR}/Makefile" | head -n1 | cut -d' ' -f3) SSHCOMMAND_PACKAGE_NAME="sshcommand_${SSHCOMMAND_VERSION}_amd64.deb" if [[ ! -f "$ROOT_DIR/build/${SSHCOMMAND_PACKAGE_NAME}" ]]; then - curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/bionic/sshcommand_${SSHCOMMAND_VERSION}_amd64.deb/download.deb" -o "$ROOT_DIR/build/${SSHCOMMAND_PACKAGE_NAME}" + curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/bionic/sshcommand_${SSHCOMMAND_VERSION}_all.deb/download.deb" -o "$ROOT_DIR/build/${SSHCOMMAND_PACKAGE_NAME}" fi SIGIL_VERSION=$(grep SIGIL_VERSION "${ROOT_DIR}/Makefile" | head -n1 | cut -d' ' -f3) From 9e10fbf808800f8f5c5bb434ad2c0cd8198436b4 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 7 Mar 2022 06:57:55 -0500 Subject: [PATCH 0056/4100] fix: reference correct urls for amd64 tarballs --- Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 8f7afb442ed..80de4d417b6 100644 --- a/Makefile +++ b/Makefile @@ -7,11 +7,11 @@ PLUGN_VERSION ?= 0.8.2 PROCFILE_VERSION ?= 0.14.1 SIGIL_VERSION ?= 0.8.1 SSHCOMMAND_VERSION ?= 0.15.0 -DOCKER_IMAGE_LABELER_URL ?= https://github.com/dokku/docker-image-labeler/releases/download/v${DOCKER_IMAGE_LABELER_VERSION}/docker-image-labeler_${DOCKER_IMAGE_LABELER_VERSION}_linux_x86_64.tgz -NETRC_URL ?= https://github.com/dokku/netrc/releases/download/v${NETRC_VERSION}/netrc_${NETRC_VERSION}_linux_x86_64.tgz -PLUGN_URL ?= https://github.com/dokku/plugn/releases/download/v${PLUGN_VERSION}/plugn_${PLUGN_VERSION}_linux_x86_64.tgz -PROCFILE_UTIL_URL ?= https://github.com/josegonzalez/go-procfile-util/releases/download/v${PROCFILE_VERSION}/procfile-util_${PROCFILE_VERSION}_linux_x86_64.tgz -SIGIL_URL ?= https://github.com/gliderlabs/sigil/releases/download/v${SIGIL_VERSION}/sigil_${SIGIL_VERSION}_Linux_x86_64.tgz +DOCKER_IMAGE_LABELER_URL ?= https://github.com/dokku/docker-image-labeler/releases/download/v${DOCKER_IMAGE_LABELER_VERSION}/docker-image-labeler_${DOCKER_IMAGE_LABELER_VERSION}_linux_amd64.tgz +NETRC_URL ?= https://github.com/dokku/netrc/releases/download/v${NETRC_VERSION}/netrc_${NETRC_VERSION}_linux_amd64.tgz +PLUGN_URL ?= https://github.com/dokku/plugn/releases/download/v${PLUGN_VERSION}/plugn_${PLUGN_VERSION}_linux_amd64.tgz +PROCFILE_UTIL_URL ?= https://github.com/josegonzalez/go-procfile-util/releases/download/v${PROCFILE_VERSION}/procfile-util_${PROCFILE_VERSION}_linux_amd64.tgz +SIGIL_URL ?= https://github.com/gliderlabs/sigil/releases/download/v${SIGIL_VERSION}/gliderlabs-sigil_${SIGIL_VERSION}_linux_amd64.tgz SSHCOMMAND_URL ?= https://github.com/dokku/sshcommand/releases/download/v${SSHCOMMAND_VERSION}/sshcommand_${SSHCOMMAND_VERSION}_linux_x86_64.tgz STACK_URL ?= https://github.com/gliderlabs/herokuish.git PREBUILT_STACK_URL ?= gliderlabs/herokuish:latest-20 From d4eaa1dc154f0d8f5e00cff5f3c497394efd4043 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 7 Mar 2022 07:17:39 -0500 Subject: [PATCH 0057/4100] fix: move files into correct place when installing via make --- Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile b/Makefile index 80de4d417b6..2743de58a1f 100644 --- a/Makefile +++ b/Makefile @@ -155,22 +155,27 @@ man-db: docker-image-labeler: wget -qO /tmp/docker-image-labeler_latest.tgz ${DOCKER_IMAGE_LABELER_URL} tar xzf /tmp/docker-image-labeler_latest.tgz -C /usr/local/bin + mv /usr/local/bin/docker-image-labeler-amd64 /usr/local/bin/docker-image-labeler netrc: wget -qO /tmp/netrc_latest.tgz ${NETRC_URL} tar xzf /tmp/netrc_latest.tgz -C /usr/local/bin + mv /usr/local/bin/netrc-amd64 /usr/local/bin/netrc procfile-util: wget -qO /tmp/procfile-util_latest.tgz ${PROCFILE_UTIL_URL} tar xzf /tmp/procfile-util_latest.tgz -C /usr/local/bin + mv /usr/local/bin/procfile-util-amd64 /usr/local/bin/procfile-util plugn: wget -qO /tmp/plugn_latest.tgz ${PLUGN_URL} tar xzf /tmp/plugn_latest.tgz -C /usr/local/bin + mv /usr/local/bin/plugn-amd64 /usr/local/bin/plugn sigil: wget -qO /tmp/sigil_latest.tgz ${SIGIL_URL} tar xzf /tmp/sigil_latest.tgz -C /usr/local/bin + mv /usr/local/bin/gliderlabs-sigil-amd64 /usr/local/bin/sigil sshcommand: wget -qO /tmp/sshcommand_latest.tgz ${SSHCOMMAND_URL} From 19cdc00345c7156302357f53f0d50a2d8f6dbf95 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 7 Mar 2022 07:38:47 -0500 Subject: [PATCH 0058/4100] chore: remove quiet flags from apt calls for debugging --- Dockerfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9088cc1de9c..2c452031e8f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,12 +25,12 @@ RUN echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections && echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ bionic main" | tee /etc/apt/sources.list.d/dokku.list \ && mkdir -p /etc/nginx/ \ && cp /tmp/dhparam.pem /etc/nginx/dhparam.pem \ - && apt-get update -qq \ - && apt-get upgrade -qq -y \ - && apt-get -qq -y --no-install-recommends --only-upgrade install openssl openssh-server \ - && apt-get -qq -y --no-install-recommends install rsync "/tmp/dokku-$(dpkg --print-architecture).deb" \ - && apt-get purge -qq -y syslog-ng-core \ - && apt-get autoremove -qq -y \ + && apt-get update \ + && apt-get upgrade -y \ + && apt-get -y --no-install-recommends --only-upgrade install openssl openssh-server \ + && apt-get -y --no-install-recommends install rsync "/tmp/dokku-$(dpkg --print-architecture).deb" \ + && apt-get purge -y syslog-ng-core \ + && apt-get autoremove -y \ && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* WORKDIR /tmp From 334e85273e331af7e2b326d9f69875265f69298c Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 8 Mar 2022 00:48:32 -0500 Subject: [PATCH 0059/4100] fix: use correct platforms for buildx --- contrib/release-dokku | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/release-dokku b/contrib/release-dokku index 1ec03cac070..c918c659d0c 100755 --- a/contrib/release-dokku +++ b/contrib/release-dokku @@ -354,14 +354,14 @@ fn-build-docker-image() { if [[ "$IS_RELEASE" == "true" ]]; then docker buildx build \ - --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + --platform linux/arm,linux/arm64,linux/amd64 \ --progress plain \ --push \ --tag "dokku/dokku:latest" \ --tag "dokku/dokku:$VERSION" . else docker buildx build \ - --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + --platform linux/arm,linux/arm64,linux/amd64 \ --progress plain \ --tag "dokku/dokku:latest" \ --tag "dokku/dokku:$(echo "$VERSION" | tr + -)" . From 198664ac586eff5b6ae621b37327fbcbe4cca2df Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 8 Mar 2022 01:31:47 -0500 Subject: [PATCH 0060/4100] fix: use correct epo --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2c452031e8f..5fe94a8aee6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,7 +22,7 @@ RUN echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections && echo "dokku dokku/skip_key_file boolean $DOKKU_SKIP_KEY_FILE" | debconf-set-selections \ && echo "dokku dokku/vhost_enable boolean $DOKKU_VHOST_ENABLE" | debconf-set-selections \ && curl -sSL https://packagecloud.io/dokku/dokku/gpgkey | apt-key add - \ - && echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ bionic main" | tee /etc/apt/sources.list.d/dokku.list \ + && echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ focal main" | tee /etc/apt/sources.list.d/dokku.list \ && mkdir -p /etc/nginx/ \ && cp /tmp/dhparam.pem /etc/nginx/dhparam.pem \ && apt-get update \ From c134912d6a63e9df426c9cb9cef0f4c1914cfe81 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 8 Mar 2022 01:31:59 -0500 Subject: [PATCH 0061/4100] chore: ignore lintian errors --- deb.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deb.mk b/deb.mk index 049df7f7332..9d1382bb628 100644 --- a/deb.mk +++ b/deb.mk @@ -49,4 +49,4 @@ endif cp debian/lintian-overrides /tmp/build-dokku/usr/share/lintian/overrides/dokku sed -i.bak "s/^Version: .*/Version: `cat /tmp/build-dokku/var/lib/dokku/STABLE_VERSION`/g" /tmp/build-dokku/DEBIAN/control && rm /tmp/build-dokku/DEBIAN/control.bak dpkg-deb --build /tmp/build-dokku "$(BUILD_DIRECTORY)/dokku_`cat /tmp/build-dokku/var/lib/dokku/VERSION`_$(DOKKU_ARCHITECTURE).deb" - lintian "$(BUILD_DIRECTORY)/dokku_`cat /tmp/build-dokku/var/lib/dokku/VERSION`_$(DOKKU_ARCHITECTURE).deb" + lintian "$(BUILD_DIRECTORY)/dokku_`cat /tmp/build-dokku/var/lib/dokku/VERSION`_$(DOKKU_ARCHITECTURE).deb" || true From f35a430c8c9dd8ee1d3721b8cb6ad2a86a5db387 Mon Sep 17 00:00:00 2001 From: Dokku Bot Date: Tue, 8 Mar 2022 16:40:53 +0000 Subject: [PATCH 0062/4100] Release 0.27.0 # History ## 0.27.0 Install/update via the bootstrap script: ```shell wget https://raw.githubusercontent.com/dokku/dokku/v0.27.0/bootstrap.sh sudo DOKKU_TAG=v0.27.0 bash bootstrap.sh ``` See the [0.27.0 migration guide](/docs/appendices/0.27.0-migration-guide.md) for more information on migrating to 0.27.0. ### Bug Fixes - #5063: @josegonzalez Fix buildx support for releases - #5061: @josegonzalez Use correct token when publish unit test results - #5057: @josegonzalez Ensure we use the correct variable for WAIT - #5052: @josegonzalez Run crontab under sudo to support rhel systems - #5051: @josegonzalez Ensure vector component sources have valid names - #5035: @nerg4l Fix help flag for logs command - #5019: @josegonzalez Only rename app domains associated with a global domain ### New Features - #5064: @josegonzalez Upgrade docker image to ubuntu focal - #5058: @josegonzalez Add .shellcheckrc - #5055: @josegonzalez Release dokku for 32-bit Raspbian Bullseye - #5050: @josegonzalez Set the default memory unit type to megabytes - #5017: @josegonzalez Add command to clear all proxy configs ### Refactors - #4921: @josegonzalez Add ability to filter returnable apps ### Documentation - #5056: @miku86 Fix typo in port management docs - #5018: @josegonzalez Add warning for setting PORT environment variable ### Other - #5062: @dependabot[bot] chore(deps): bump django from 3.1.13 to 3.1.14 in /tests/apps/dockerfile-release - #5053: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 211 to 212 in /tests/apps/php - #5038: @dependabot[bot] chore(deps): bump flask from 2.0.2 to 2.0.3 in /tests/apps/multi - #5048: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 210 to 211 in /tests/apps/php - #5039: @dependabot[bot] chore(deps): bump sinatra from 2.1.0 to 2.2.0 in /tests/apps/ruby - #5037: @dependabot[bot] chore(deps): bump flask from 2.0.2 to 2.0.3 in /tests/apps/python-flask - #5036: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 207 to 210 in /tests/apps/php - #5025: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.7 to 11.0.8 in /tests/apps/java - #5026: @dependabot[bot] chore(deps): bump werkzeug from 2.0.2 to 2.0.3 in /tests/apps/python-flask - #5027: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 206 to 207 in /tests/apps/php - #5021: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 205 to 206 in /tests/apps/php - #4975: @tcurdt add arm64 to the build --- HISTORY.md | 53 ++++++++++++++++++++ README.md | 4 +- debian/control | 2 +- docs/advanced-usage/plugin-management.md | 58 +++++++++++----------- docs/assets/favicons/browserconfig.xml | 8 +-- docs/assets/favicons/manifest.json | 12 ++--- docs/assets/style.css | 4 +- docs/assets/versions.json | 3 +- docs/development/release-process.md | 2 +- docs/getting-started/install/docker.md | 4 +- docs/getting-started/installation.md | 4 +- docs/home.html | 40 +++++++-------- docs/template.html | 36 +++++++------- plugins/00_dokku-standard/plugin.toml | 2 +- plugins/20_events/plugin.toml | 2 +- plugins/app-json/plugin.toml | 2 +- plugins/apps/plugin.toml | 2 +- plugins/builder-dockerfile/plugin.toml | 2 +- plugins/builder-herokuish/plugin.toml | 2 +- plugins/builder-null/plugin.toml | 2 +- plugins/builder-pack/plugin.toml | 2 +- plugins/builder/plugin.toml | 2 +- plugins/buildpacks/plugin.toml | 2 +- plugins/certs/plugin.toml | 2 +- plugins/checks/plugin.toml | 2 +- plugins/common/plugin.toml | 2 +- plugins/config/plugin.toml | 2 +- plugins/cron/plugin.toml | 2 +- plugins/docker-options/plugin.toml | 2 +- plugins/domains/plugin.toml | 2 +- plugins/enter/plugin.toml | 2 +- plugins/git/plugin.toml | 2 +- plugins/logs/plugin.toml | 2 +- plugins/network/plugin.toml | 2 +- plugins/nginx-vhosts/plugin.toml | 2 +- plugins/plugin/plugin.toml | 2 +- plugins/proxy/plugin.toml | 2 +- plugins/ps/plugin.toml | 2 +- plugins/registry/plugin.toml | 2 +- plugins/repo/plugin.toml | 2 +- plugins/resource/plugin.toml | 2 +- plugins/run/plugin.toml | 2 +- plugins/scheduler-docker-local/plugin.toml | 2 +- plugins/scheduler-null/plugin.toml | 2 +- plugins/shell/plugin.toml | 2 +- plugins/ssh-keys/plugin.toml | 2 +- plugins/storage/plugin.toml | 2 +- plugins/trace/plugin.toml | 2 +- 48 files changed, 177 insertions(+), 123 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index c5cc0e3ac68..17c5802844b 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,58 @@ # History +## 0.27.0 + +Install/update via the bootstrap script: + +```shell +wget https://raw.githubusercontent.com/dokku/dokku/v0.27.0/bootstrap.sh +sudo DOKKU_TAG=v0.27.0 bash bootstrap.sh +``` + +See the [0.27.0 migration guide](/docs/appendices/0.27.0-migration-guide.md) for more information on migrating to 0.27.0. + +### Bug Fixes + +- #5063: @josegonzalez Fix buildx support for releases +- #5061: @josegonzalez Use correct token when publish unit test results +- #5057: @josegonzalez Ensure we use the correct variable for WAIT +- #5052: @josegonzalez Run crontab under sudo to support rhel systems +- #5051: @josegonzalez Ensure vector component sources have valid names +- #5035: @nerg4l Fix help flag for logs command +- #5019: @josegonzalez Only rename app domains associated with a global domain + +### New Features + +- #5064: @josegonzalez Upgrade docker image to ubuntu focal +- #5058: @josegonzalez Add .shellcheckrc +- #5055: @josegonzalez Release dokku for 32-bit Raspbian Bullseye +- #5050: @josegonzalez Set the default memory unit type to megabytes +- #5017: @josegonzalez Add command to clear all proxy configs + +### Refactors + +- #4921: @josegonzalez Add ability to filter returnable apps + +### Documentation + +- #5056: @miku86 Fix typo in port management docs +- #5018: @josegonzalez Add warning for setting PORT environment variable + +### Other + +- #5062: @dependabot[bot] chore(deps): bump django from 3.1.13 to 3.1.14 in /tests/apps/dockerfile-release +- #5053: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 211 to 212 in /tests/apps/php +- #5038: @dependabot[bot] chore(deps): bump flask from 2.0.2 to 2.0.3 in /tests/apps/multi +- #5048: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 210 to 211 in /tests/apps/php +- #5039: @dependabot[bot] chore(deps): bump sinatra from 2.1.0 to 2.2.0 in /tests/apps/ruby +- #5037: @dependabot[bot] chore(deps): bump flask from 2.0.2 to 2.0.3 in /tests/apps/python-flask +- #5036: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 207 to 210 in /tests/apps/php +- #5025: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.7 to 11.0.8 in /tests/apps/java +- #5026: @dependabot[bot] chore(deps): bump werkzeug from 2.0.2 to 2.0.3 in /tests/apps/python-flask +- #5027: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 206 to 207 in /tests/apps/php +- #5021: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 205 to 206 in /tests/apps/php +- #4975: @tcurdt add arm64 to the build + ## 0.26.8 Install/update via the bootstrap script: diff --git a/README.md b/README.md index 7dfdbd7aed1..83340b7f1a3 100644 --- a/README.md +++ b/README.md @@ -98,8 +98,8 @@ Otherwise, you will need to import the keypair manually after installation using To install the latest stable release, run the following commands as a user who has access to `sudo`: ```shell -wget https://raw.githubusercontent.com/dokku/dokku/v0.26.8/bootstrap.sh -sudo DOKKU_TAG=v0.26.8 bash bootstrap.sh +wget https://raw.githubusercontent.com/dokku/dokku/v0.27.0/bootstrap.sh +sudo DOKKU_TAG=v0.27.0 bash bootstrap.sh ``` You can then proceed to configure your server domain (via `dokku domains:set-global`) and user access (via `dokku ssh-keys:add`) to complete the installation. diff --git a/debian/control b/debian/control index 1433fe1cf2e..6efaf6730d1 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Package: dokku -Version: 0.26.8 +Version: 0.27.0 Section: web Priority: optional Architecture: amd64 diff --git a/docs/advanced-usage/plugin-management.md b/docs/advanced-usage/plugin-management.md index f736c238c4f..58bd2b76a40 100644 --- a/docs/advanced-usage/plugin-management.md +++ b/docs/advanced-usage/plugin-management.md @@ -35,35 +35,35 @@ dokku plugin:list ``` plugn: dev - 00_dokku-standard 0.26.8 enabled dokku core standard plugin - 20_events 0.26.8 enabled dokku core events logging plugin - app-json 0.26.8 enabled dokku core app-json plugin - apps 0.26.8 enabled dokku core apps plugin - build-env 0.26.8 enabled dokku core build-env plugin - buildpacks 0.26.8 enabled dokku core buildpacks plugin - certs 0.26.8 enabled dokku core certificate management plugin - checks 0.26.8 enabled dokku core checks plugin - common 0.26.8 enabled dokku core common plugin - config 0.26.8 enabled dokku core config plugin - docker-options 0.26.8 enabled dokku core docker-options plugin - domains 0.26.8 enabled dokku core domains plugin - enter 0.26.8 enabled dokku core enter plugin - git 0.26.8 enabled dokku core git plugin - logs 0.26.8 enabled dokku core logs plugin - network 0.26.8 enabled dokku core network plugin - nginx-vhosts 0.26.8 enabled dokku core nginx-vhosts plugin - plugin 0.26.8 enabled dokku core plugin plugin - proxy 0.26.8 enabled dokku core proxy plugin - ps 0.26.8 enabled dokku core ps plugin - repo 0.26.8 enabled dokku core repo plugin - resource 0.26.8 enabled dokku core resource plugin - scheduler-docker-local 0.26.8 enabled dokku core scheduler-docker-local plugin - shell 0.26.8 enabled dokku core shell plugin - ssh-keys 0.26.8 enabled dokku core ssh-keys plugin - storage 0.26.8 enabled dokku core storage plugin - tags 0.26.8 enabled dokku core tags plugin - tar 0.26.8 enabled dokku core tar plugin - trace 0.26.8 enabled dokku core trace plugin + 00_dokku-standard 0.27.0 enabled dokku core standard plugin + 20_events 0.27.0 enabled dokku core events logging plugin + app-json 0.27.0 enabled dokku core app-json plugin + apps 0.27.0 enabled dokku core apps plugin + build-env 0.27.0 enabled dokku core build-env plugin + buildpacks 0.27.0 enabled dokku core buildpacks plugin + certs 0.27.0 enabled dokku core certificate management plugin + checks 0.27.0 enabled dokku core checks plugin + common 0.27.0 enabled dokku core common plugin + config 0.27.0 enabled dokku core config plugin + docker-options 0.27.0 enabled dokku core docker-options plugin + domains 0.27.0 enabled dokku core domains plugin + enter 0.27.0 enabled dokku core enter plugin + git 0.27.0 enabled dokku core git plugin + logs 0.27.0 enabled dokku core logs plugin + network 0.27.0 enabled dokku core network plugin + nginx-vhosts 0.27.0 enabled dokku core nginx-vhosts plugin + plugin 0.27.0 enabled dokku core plugin plugin + proxy 0.27.0 enabled dokku core proxy plugin + ps 0.27.0 enabled dokku core ps plugin + repo 0.27.0 enabled dokku core repo plugin + resource 0.27.0 enabled dokku core resource plugin + scheduler-docker-local 0.27.0 enabled dokku core scheduler-docker-local plugin + shell 0.27.0 enabled dokku core shell plugin + ssh-keys 0.27.0 enabled dokku core ssh-keys plugin + storage 0.27.0 enabled dokku core storage plugin + tags 0.27.0 enabled dokku core tags plugin + tar 0.27.0 enabled dokku core tar plugin + trace 0.27.0 enabled dokku core trace plugin ``` > Warning: All plugin commands other than `plugin:list` and `plugin:help` require sudo access and must be run directly from the Dokku server. diff --git a/docs/assets/favicons/browserconfig.xml b/docs/assets/favicons/browserconfig.xml index 490d70f88e4..df8279f694c 100644 --- a/docs/assets/favicons/browserconfig.xml +++ b/docs/assets/favicons/browserconfig.xml @@ -2,10 +2,10 @@ - - - - + + + + #da532c diff --git a/docs/assets/favicons/manifest.json b/docs/assets/favicons/manifest.json index 5420399351c..5035844470b 100644 --- a/docs/assets/favicons/manifest.json +++ b/docs/assets/favicons/manifest.json @@ -2,37 +2,37 @@ "name": "Dokku", "icons": [ { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.26.8\/docs\/assets\/favicons\/android-chrome-36x36.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.0\/docs\/assets\/favicons\/android-chrome-36x36.png", "sizes": "36x36", "type": "image\/png", "density": "0.75" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.26.8\/docs\/assets\/favicons\/android-chrome-48x48.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.0\/docs\/assets\/favicons\/android-chrome-48x48.png", "sizes": "48x48", "type": "image\/png", "density": "1.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.26.8\/docs\/assets\/favicons\/android-chrome-72x72.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.0\/docs\/assets\/favicons\/android-chrome-72x72.png", "sizes": "72x72", "type": "image\/png", "density": "1.5" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.26.8\/docs\/assets\/favicons\/android-chrome-96x96.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.0\/docs\/assets\/favicons\/android-chrome-96x96.png", "sizes": "96x96", "type": "image\/png", "density": "2.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.26.8\/docs\/assets\/favicons\/android-chrome-144x144.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.0\/docs\/assets\/favicons\/android-chrome-144x144.png", "sizes": "144x144", "type": "image\/png", "density": "3.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.26.8\/docs\/assets\/favicons\/android-chrome-192x192.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.0\/docs\/assets\/favicons\/android-chrome-192x192.png", "sizes": "192x192", "type": "image\/png", "density": "4.0" diff --git a/docs/assets/style.css b/docs/assets/style.css index 3153156c17b..d1cdf096e57 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -42,13 +42,13 @@ h1 { font-size: 1.6em; } .header .navbar-brand a { - background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.26.8/docs/assets/dokku.png); + background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.0/docs/assets/dokku.png); text-indent: 40px; } .blurb { color: #424242; background-color: #ededed; - background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.26.8/docs/assets/gplaypattern.png); + background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.0/docs/assets/gplaypattern.png); padding: 45px 0; text-align: center; } diff --git a/docs/assets/versions.json b/docs/assets/versions.json index 16a21eb22b8..6e914c631ca 100644 --- a/docs/assets/versions.json +++ b/docs/assets/versions.json @@ -23,6 +23,7 @@ "0.23.9", "0.24.10", "0.25.7", - "0.26.8" + "0.26.8", + "0.27.0" ] } diff --git a/docs/development/release-process.md b/docs/development/release-process.md index b82cfe1d2c4..fbfa5ad2405 100644 --- a/docs/development/release-process.md +++ b/docs/development/release-process.md @@ -29,7 +29,7 @@ The workflow looks like this: ```shell # having dokku-arch in ../dokku-arch vagrant up build-arch -# wait for "==> build-arch: ==> Finished making: dokku 0.26.8-2 (Mon Feb 22 23:20:37 CET 2016)" +# wait for "==> build-arch: ==> Finished making: dokku 0.27.0-2 (Mon Feb 22 23:20:37 CET 2016)" cd ../dokku-arch git add PKGBUILD .SRCINFO git commit -m 'Update to dokku 0.9.9' diff --git a/docs/getting-started/install/docker.md b/docs/getting-started/install/docker.md index 073e6a5a291..ad014a8c3ff 100644 --- a/docs/getting-started/install/docker.md +++ b/docs/getting-started/install/docker.md @@ -3,7 +3,7 @@ Pull the dokku/dokku image: ```shell -docker pull dokku/dokku:0.26.8 +docker pull dokku/dokku:0.27.0 ``` Next, run the image. @@ -18,7 +18,7 @@ docker container run \ --publish 8443:443 \ --volume /var/lib/dokku:/mnt/dokku \ --volume /var/run/docker.sock:/var/run/docker.sock \ - dokku/dokku:0.26.8 + dokku/dokku:0.27.0 ``` The above command will start a new docker container that is ready when a message similar to `Runit started as PID 12345` appears. diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 4b6613d4e46..f6f1955e16d 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -38,8 +38,8 @@ To install the latest stable version of Dokku, you can run the following shell c ```shell # for debian systems, installs Dokku via apt-get -wget https://raw.githubusercontent.com/dokku/dokku/v0.26.8/bootstrap.sh; -sudo DOKKU_TAG=v0.26.8 bash bootstrap.sh +wget https://raw.githubusercontent.com/dokku/dokku/v0.27.0/bootstrap.sh; +sudo DOKKU_TAG=v0.27.0 bash bootstrap.sh ``` The installation process takes about 5-10 minutes, depending upon internet connection speed. diff --git a/docs/home.html b/docs/home.html index babfdc837d6..ecd5d56e40b 100644 --- a/docs/home.html +++ b/docs/home.html @@ -10,30 +10,30 @@ Dokku - The smallest PaaS implementation you've ever seen - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

The smallest PaaS implementation you've ever seen

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.26.8/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.0/bootstrap.sh

$ - sudo DOKKU_TAG=v0.26.8 bash bootstrap.sh + sudo DOKKU_TAG=v0.27.0 bash bootstrap.sh

 # Configure your server domain via `dokku domains:set-global` diff --git a/docs/template.html b/docs/template.html index 8f39da9c97b..dcec1b00127 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

The smallest PaaS implementation you've ever seen

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.0/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.1/bootstrap.sh

$ - sudo DOKKU_TAG=v0.27.0 bash bootstrap.sh + sudo DOKKU_TAG=v0.27.1 bash bootstrap.sh

 # Configure your server domain via `dokku domains:set-global` diff --git a/docs/template.html b/docs/template.html index dcec1b00127..568251f98d0 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

The smallest PaaS implementation you've ever seen

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.1/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.2/bootstrap.sh

$ - sudo DOKKU_TAG=v0.27.1 bash bootstrap.sh + sudo DOKKU_TAG=v0.27.2 bash bootstrap.sh

 # Configure your server domain via `dokku domains:set-global` diff --git a/docs/template.html b/docs/template.html index 568251f98d0..841999281ed 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

The smallest PaaS implementation you've ever seen

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.2/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.3/bootstrap.sh

$ - sudo DOKKU_TAG=v0.27.2 bash bootstrap.sh + sudo DOKKU_TAG=v0.27.3 bash bootstrap.sh

 # Configure your server domain via `dokku domains:set-global` diff --git a/docs/template.html b/docs/template.html index c5bdd64f486..be085631ae8 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

The smallest PaaS implementation you've ever seen

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.3/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh

$ - sudo DOKKU_TAG=v0.27.3 bash bootstrap.sh + sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh

 # Configure your server domain via `dokku domains:set-global` diff --git a/docs/template.html b/docs/template.html index be085631ae8..5fa7f1b1704 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/home.html b/docs/home.html index b56e8fe4929..867bb51f84b 100644 --- a/docs/home.html +++ b/docs/home.html @@ -1,13 +1,13 @@ - + + - Dokku - The smallest PaaS implementation you've ever seen @@ -32,319 +32,635 @@ - - - + + + + + + + + - - -

-
-
-
-

- Dokku -

- -
-
-
-
+ -
-
-
-

The smallest PaaS implementation you've ever seen

-

Dokku helps you build and manage the lifecycle of applications

- -
-
-
-
-
-

Quick-start Instructions

-
-
curl | bash
-
apt
-
arch
-
-
-

-  # for debian systems, installs dokku via apt-get -

-

- - $ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh -

-

- - $ - sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh -

-

-  # Configure your server domain via `dokku domains:set-global` -

-

-  # and user access (via `dokku ssh-keys:add`) to complete the installation -

-
+ +
+ +
+
+
+
Latest release v0.27.1
+

The smallest PAAS implementation you have ever seen.

+

Dokku helps you build and manage the lifecycle of applications

+ +
+
+
+

Quick-start Instructions

-
-

-  # install docker -

-

- - $ - wget -nv -O - https://get.docker.com/ | sh -

-

-  # setup dokku apt repository -

-

- - $ - wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add - -

-

- - $ - export SOURCE="https://packagecloud.io/dokku/dokku/ubuntu/" -

-

- - $ - export OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")" -

-

- - $ - echo "bionic focal jammy" | grep -q "$OS_ID" || OS_ID="bionic" -

-

- - $ - echo "deb $SOURCE $OS_ID main" | tee /etc/apt/sources.list.d/dokku.list -

-

- - $ - apt-get update -

-

-  # install dokku -

-

- - $ - apt-get install dokku -

-

- - $ - dokku plugin:install-dependencies --core # run with root! -

-

-  # Configure your server domain via `dokku domains:set-global` -

-

-  # and user access (via `dokku ssh-keys:add`) to complete the installation -

+
+

+ # for debian systems, installs dokku via apt-get +

+
+

+ $ + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh +

+

+ $ + sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh +

+
+

+ # Configure your server domain via `dokku domains:set-global` +

+

+ # and user access (via `dokku ssh-keys:add`) to complete the installation +

+
+
+
+

Hate curl | bash? See our official Azure, DigitalOcean, and DreamHost Cloud instructions.

+
+
+
+
+
+ +
+
+
+
+
+

No vendor lock-in

+
+
+

Own your PaaS using tools you already know

+
+
+

Powered by Docker, you can install Dokku on any hardware. Use it on inexpensive cloud providers. Use the extra cash to buy a pony or feed kittens. You'll save tens of dollars a year on your dog photo sharing website.

+

Once it's set up on a host, you can push Heroku-compatible applications to it via Git. They'll build using Heroku buildpacks and then run in isolated containers. The end result is your own, single-host version of Heroku.

+
+ +
+
+
+
+ docker +
+
+ git +
+
+
+
+
-
-

-  # install dokku via yay -

-

- - $ - yay -S dokku -

+ +
+
+
+
+
+

Extensible & customizable

+
+
+

Customize your PaaS using plugins

+
+
+

Write dokku plugins in any language. Share them online with others, and extend those already available. Dokku's simple core is easy to hack and add the features you need to get your job done.

+

Plugins add support for additional features in Dokku. Dokku itself is built out of plugins provides support for a few extra that are not included in the default installation.

+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
-
- -
-

Hate curl | bash? See our official Azure, DigitalOcean, and DreamHost Cloud instructions.

-

Still no love? Contributions welcome!

-
-
+ -
- Have a question? Join us in our public slack channel! - -
- - Slack Logo - -
-
- -
- - -
-
-

Own Your PaaS. Infrastructure at a fraction of the cost.

-

Powered by Docker, you can install Dokku on any hardware. Use it on inexpensive cloud providers. Use the extra cash to buy a pony or feed kittens. You'll save tens of dollars a year on your dog photo sharing website.

-
-
- Docker Logo + +
+
+
+
+
+

Support Us

+
+
+

None of this would have been possible without the continued support of our supporters. Here are a few of our sponsors and backers. Join them and become a sponsor on OpenCollective!

+
+
+ You can also back us anonymously + + on Patreon + + +
+
+
+ +
+
+ +
+
+
+
-
+ -
- -
-
-

Easy Git Deploys. From your command-line to the cloud.

-

Once it's set up on a host, you can push Heroku-compatible applications to it via Git. They'll build using Heroku buildpacks and then run in isolated containers. The end result is your own, single-host version of Heroku.

-
-
- Git Logo + +
+
+
+
+
+ Need something that isn't covered in the Open Source version?
+ Please consider the
+ + pro version + + +
+
+
-
- -
+ -
-
-

Extensible Platform. Customize your PaaS.

-

Write dokku plugins in any language. Share them online with others, and extend those already available. Dokku's simple core is easy to hack and add the features you need to get your job done.

+ +
+
+
+
+

© 2013-2022 Dokku. Website designed & developed by Yasoob Khalid

+
+
-
- Extend Logo -
-
-
- -
-

Sponsor Dokku

- -
-
- -

Here are a few of our sponsors and backers. Join them and become a sponsor on OpenCollective!

- - - -

- - - - - - - - - - -

-

- - - - - - - - - - -

- -

You can also back us anonymously on Patreon.

-
-
-
+ -
-
-

© 2013-2020 Dokku

-
-
+ - - + + + \ No newline at end of file diff --git a/docs/template.html b/docs/template.html index 5fa7f1b1704..faa2a7ec0fc 100644 --- a/docs/template.html +++ b/docs/template.html @@ -41,9 +41,15 @@ } - - - + + + + + + + + + @@ -52,39 +58,61 @@ -
-
-
-
-

- Dokku -

- -
-
-
-
- -
+
+ +
+ +
@@ -94,10 +122,7 @@

-
- {{CONTENT}} -
-
+ +
+ {{CONTENT}} +
@@ -222,7 +250,19 @@

This document is for dokku's development version, which can be significantly different from previous releases. For older releases, use the version selector floating in the bottom right corner of this page.

+ +
+
+
+
+

© 2013-2022 Dokku. Website designed & developed by Yasoob Khalid

+
+
+
+
+ + From 21ad711055499e4fa20950d999c838b4b9552d68 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 02:57:08 +0500 Subject: [PATCH 0165/4100] make use of versioned css --- docs/home.html | 4 ++-- docs/template.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/home.html b/docs/home.html index 3c5a847e73e..7f743d07d72 100644 --- a/docs/home.html +++ b/docs/home.html @@ -38,8 +38,8 @@ - - + + diff --git a/docs/template.html b/docs/template.html index faa2a7ec0fc..0bf6ffd17b2 100644 --- a/docs/template.html +++ b/docs/template.html @@ -48,8 +48,8 @@ - - + + From 9b76012f1c38856bd6b6e4e2e0816224e3ea826d Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 03:04:23 +0500 Subject: [PATCH 0166/4100] modified the quickstart commands --- docs/home.html | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/docs/home.html b/docs/home.html index 7f743d07d72..2366bc9ba14 100644 --- a/docs/home.html +++ b/docs/home.html @@ -116,12 +116,15 @@

Dokku helps you build and manage the lifecycle of ap

- # for debian systems, installs dokku via apt-get + # download the installation script


$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh + wget https://dokku.com/installer/latest/bootstrap.sh +

+

+ # run the installer

$ @@ -129,10 +132,25 @@

Dokku helps you build and manage the lifecycle of ap


- # Configure your server domain via `dokku domains:set-global` + # Configure your server domain +

+

+ $ + dokku domains:set-global dokku.me +

+

+ # and your ssh key to the dokku user

- # and user access (via `dokku ssh-keys:add`) to complete the installation + $ + echo "your-public-key-contents-here" | dokku ssh-keys:add admin +

+

+ # # create your first app and you're off to the races! +

+

+ $ + dokku apps:create test-app

From 2994e724c20593e63834c65659e95351b1a0e92e Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 03:13:57 +0500 Subject: [PATCH 0167/4100] moved SVG hover group to the left to balance out the page --- docs/home.html | 626 ++++++++++++++++++++++++------------------------- 1 file changed, 313 insertions(+), 313 deletions(-) diff --git a/docs/home.html b/docs/home.html index 2366bc9ba14..a39c21fc5c0 100644 --- a/docs/home.html +++ b/docs/home.html @@ -207,7 +207,311 @@

Own your PaaS using tools you already know

-
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Extensible & customizable

@@ -220,320 +524,16 @@

Customize your PaaS using plugins

- Explore plugins - - + Explore plugins + +
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
From 8cbe7e66a3da1ecd6e901a2e78623312f0d2d445 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 05:49:59 +0500 Subject: [PATCH 0168/4100] updated copy on homepage --- docs/home.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/home.html b/docs/home.html index a39c21fc5c0..7fc3a46756b 100644 --- a/docs/home.html +++ b/docs/home.html @@ -103,8 +103,8 @@
Latest release v0.27.1
-

The smallest PAAS implementation you have ever seen.

-

Dokku helps you build and manage the lifecycle of applications

+

An open source PAAS alternative to Heroku.

+

Dokku helps you build and manage the lifecycle of applications from building to scaling.

View Documentation Explore Pro From cbe8376bdb9a889ef5de7351c1cd545295488828 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:10:14 +0500 Subject: [PATCH 0169/4100] added asciinema demo on homepage --- docs/assets/style.css | 570 +++++++++++++++++++++++++++++++----------- docs/home.html | 57 +++++ 2 files changed, 484 insertions(+), 143 deletions(-) diff --git a/docs/assets/style.css b/docs/assets/style.css index 86bf038fad0..6eeef0c954c 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -16,7 +16,7 @@ --slate-border: #DADADA; --animation-speed: 40s; /* Used on the code showcase */ - --gradient-shadow: linear-gradient( 45deg, #2A8FBD, #679ab2, #ffffff, #81ccef, #2abbbd, #c9e0eb, #66c1eb, #40809e, #2A8FBD); + --gradient-shadow: linear-gradient(45deg, #2A8FBD, #679ab2, #ffffff, #81ccef, #2abbbd, #c9e0eb, #66c1eb, #40809e, #2A8FBD); --darkmode-light: #11398c; --darkmode-button-light: #325fae; @@ -257,13 +257,15 @@ a.platform:hover { @keyframes animate { 0% { - background-position: 0 0; + background-position: 0 0; } + 50% { - background-position: 300% 0; + background-position: 300% 0; } + 100% { - background-position: 0 0; + background-position: 0 0; } } @@ -359,10 +361,123 @@ a.copy-cta-btn:hover { } +/* Getting started */ +.getting-started { + margin-bottom: -20%; + z-index: 1; +} + +.getting-started .container { + position: relative; + z-index: 1; +} + +.getting-started h2 { + /* font-weight: 900; */ + font-size: 2em; +} + +.getting-started::after { + position: absolute; + content: ""; + top: 30%; + left: 0; + right: 0; + bottom: 20%; + background: linear-gradient(0deg, rgba(52, 52, 87, 0.2) -40.97%, rgba(0, 0, 0, 0) 103.19%), #2781AB; + z-index: 0; +} + +.nav-tabs { + width: fit-content; + margin: 0 auto; + padding: 10px; + background-color: #4794B8; + border-radius: 20px 20px 0px 0px; +} + +.nav-tabs .nav-link { + background: rgba(85, 86, 153, 0.72); + border-radius: 0px; + padding: 0.6em 3em; + color: var(--transparent-white); + font-weight: bold; + border: 0px; + position: relative; + font-size: 18px; +} + +.nav-tabs .nav-link:hover { + color: white; +} + +.nav-tabs .nav-link:hover svg path { + fill: white; +} + +.nav-tabs .nav-link svg { + margin-right: 10px; +} + +.nav-tabs .nav-link svg path { + fill: var(--bs-gray-300); + transition: all .2s +} + +.nav-tabs .nav-link.active { + background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #555699; + color: white; +} + +.nav-tabs .nav-link.active svg path { + fill: white; +} + +.nav-tabs .nav-link.active::after { + content: ''; + position: absolute; + margin-left: -10px; + left: 50%; + bottom: 0px; + height: 0; + width: 0; + border-bottom: 10px solid #4794B8; + border-left: 10px solid transparent; + border-right: 10px solid transparent; +} + +.nav-tabs .nav-link:nth-child(1) { + border-radius: 15px 0px 0px 0px; +} + +.nav-tabs .nav-link:nth-child(3) { + border-radius: 0px 15px 0px 0px; +} + +.tab-content { + margin: 0 auto; + margin-top: -10px; + background: #4794B8; + box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.25); + border-radius: 7px; + padding: 10px; + padding-bottom: 0px; +} + +.tab-pane { + margin-top: -20px; +} + +.tab-pane img { + width: 100%; + padding-top: 20px; + padding-bottom: 20px; +} + /* Plugins section */ section.plugins { - padding-top: 8rem; + padding-top: 23%; padding-bottom: 8rem; background: var(--slate-bg); border-width: 2px 2px; @@ -472,10 +587,11 @@ section.supportus { @keyframes scroll { from { - transform: translateX(0%); + transform: translateX(0%); } + to { - transform: translateX(-50%); + transform: translateX(-50%); } } @@ -517,15 +633,16 @@ footer a:hover { /* Accessibility */ @media (prefers-reduced-motion) { + g#plugins, g#plugins g, .avatar-row, .quickstart-code:before, .quickstart-code:after { - -webkit-animation-play-state: paused !important; - -moz-animation-play-state: paused !important; - -o-animation-play-state: paused !important; - animation-play-state: paused !important; + -webkit-animation-play-state: paused !important; + -moz-animation-play-state: paused !important; + -o-animation-play-state: paused !important; + animation-play-state: paused !important; } } @@ -538,19 +655,30 @@ footer a:hover { color: #157577; transition: all .1s; } + a.list-group-item { color: #666; font-size: 1em; } -a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover{ + +a.list-group-item:focus, +a.list-group-item:hover, +button.list-group-item:focus, +button.list-group-item:hover { color: #555; text-decoration: none; background-color: #f5f5f5; } -.list-group-item.disabled:first-child, .list-group-item.disabled:first-child:focus, .list-group-item.disabled:first-child:hover { + +.list-group-item.disabled:first-child, +.list-group-item.disabled:first-child:focus, +.list-group-item.disabled:first-child:hover { margin-top: 0; } -.list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { + +.list-group-item.disabled, +.list-group-item.disabled:focus, +.list-group-item.disabled:hover { background: none; color: #bbb; cursor: default; @@ -559,18 +687,22 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, margin-top: 2em; text-transform: uppercase; } + .table-of-contents { font-size: 1.2em; padding: 1em; margin: 0 0 0.5em 0.5em; } + .table-of-contents ul { margin-bottom: 0; padding-left: 20px; } + .anchorjs-link { color: #24cbce; } + .markdown-body { -webkit-font-smoothing: antialiased; box-sizing: border-box; @@ -581,6 +713,7 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, line-height: 1.7; text-align: left; } + .markdown-body h1 { border-bottom: 1px solid #dfdfdf; color: #444; @@ -590,6 +723,7 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, text-rendering: optimizelegibility; font-weight: 900; } + .markdown-body h2 { font-size: 1.3em; font-weight: 700; @@ -598,24 +732,29 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, text-transform: uppercase; font-weight: 900; } + .markdown-body h3 { font-size: 1.2em; font-weight: 700; color: #555; margin: 1em 0; } + .markdown-body h4 { font-size: 1.1em; font-weight: 700; color: #555; margin: 1em 0; } -.markdown-body h1 + h2 { + +.markdown-body h1+h2 { margin-top: 1em; } + .highlight-show-language { position: relative; } + .highlight-show-language-label { color: black; background-color: #CFCFCF; @@ -641,11 +780,13 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, -o-transform: none; transform: none; } + .highlight-output pre { color: #fff; background-color: #000; padding: 10px; } + code { padding: 0; padding-top: 0.2em; @@ -658,18 +799,23 @@ code { border-radius: 3px; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + code:before { letter-spacing: -0.2em; content: "\00a0"; } + code:after { letter-spacing: -0.2em; content: "\00a0"; } -pre code:before, pre code:after { + +pre code:before, +pre code:after { letter-spacing: 0; content: ""; } + pre { display: block; line-height: 1.428571429; @@ -684,38 +830,48 @@ pre { color: #4d4d4c; margin: 2em 0; } + blockquote { border-left: 4px solid #5bc0de; background-color: #f4f8fa; padding: 15px 15px 1px; margin-bottom: 30px; } + .new-as-of { border-left: 4px solid #d1f2a5; background-color: #effab4; } + .not-yet-released { border-left: 4px solid #ef5b58; background-color: #f9ad76; } + .warning { border-left: 4px solid #cd2512; background-color: #d1675f; color: white; } + .fa:before { -webkit-font-smoothing: antialiased } + .clearfix { *zoom: 1 } -.clearfix:before, .clearfix:after { + +.clearfix:before, +.clearfix:after { display: table; content: "" } + .clearfix:after { clear: both } + .improve-slideout { position: fixed; bottom: 66%; @@ -728,12 +884,15 @@ blockquote { padding: 0px 0 3px; z-index: 90; } + .improve-slideout:hover { right: 205px; } + .improve-slideout:hover .improve-slideout-inner { right: 0; } + .improve-slideout-inner { position: fixed; bottom: 66%; @@ -746,6 +905,7 @@ blockquote { padding: 4px 12px; width: 205px; } + .improve-slideout-inner h6 { color: #363637; font-weight: 700; @@ -753,10 +913,12 @@ blockquote { margin: 0; font-size: 1em; } + .git-improve { vertical-align: baseline; padding-left: 8px; } + .back-to-contents { position: fixed; bottom: calc(66% - 34px); @@ -765,31 +927,41 @@ blockquote { padding: 5px 0 4px; z-index: 90; } + .icon-improve { color: #bdbdb5; padding: 2px 9px 0 10px; } + a .fa { display: inline-block; text-decoration: inherit } + li .fa { display: inline-block } -li .fa-large:before, li .fa-large:before { + +li .fa-large:before, +li .fa-large:before { width: 1.875em } + ul.fas { list-style-type: none; margin-left: 2em; text-indent: -0.8em } + ul.fas li .fa { width: 0.8em } -ul.fas li .fa-large:before, ul.fas li .fa-large:before { + +ul.fas li .fa-large:before, +ul.fas li .fa-large:before { vertical-align: baseline } + .rst-versions { position: fixed; bottom: 0; @@ -801,13 +973,16 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; z-index: 400 } + .rst-versions a { color: #7c8e98; text-decoration: none } + .rst-versions .rst-badge-small { display: none } + .rst-versions .rst-current-version { padding: 12px; background-color: #2475c3; @@ -817,31 +992,40 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { color: #d8edf8; *zoom: 1 } -.rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after { + +.rst-versions .rst-current-version:before, +.rst-versions .rst-current-version:after { display: table; content: "" } + .rst-versions .rst-current-version:after { clear: both } + .rst-versions .rst-current-version .fa { color: #fcfcfc } + .rst-versions .rst-current-version .fa-book { float: left; line-height: 30px } + .rst-versions .rst-current-version .icon-book { float: left } + .rst-versions .rst-current-version.rst-out-of-date { background-color: #E74C3C; color: #fff } + .rst-versions .rst-current-version.rst-active-old-version { background-color: #F1C40F; color: #000 } + .rst-versions.rst-badge { border: none; bottom: 20px; @@ -853,25 +1037,32 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { right: 20px; width: auto; } + .rst-versions.rst-badge.shift-up { overflow-y: scroll; height: calc(100vh - 100px); } + .rst-versions.rst-badge .icon-book { float: none } + .rst-versions.rst-badge .fa-book { float: none } + .rst-versions.rst-badge.shift-up .rst-current-version { text-align: right } + .rst-versions.rst-badge.shift-up .rst-current-version .fa-book { float: left } + .rst-versions.rst-badge.shift-up .rst-current-version .icon-book { float: left } + .rst-versions.rst-badge .rst-current-version { width: auto; height: 30px; @@ -880,17 +1071,21 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { display: block; text-align: center } + .rst-other-versions { display: none; padding: 12px; text-align: left; } + .shift-up .rst-other-versions { display: block; } + .rst-other-versions a { border: 0; } + .rst-other-versions hr { display: block; border: 0; @@ -898,19 +1093,24 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { padding: 0; border-top: solid 1px #d6edf9 } + .rst-other-versions dl { margin: 0; } + .rst-other-versions dd { display: inline-block; margin: 0 } + .rst-other-versions dd a { display: inline-block; padding: 6px; color: #fcfcfc } -.dev-warning, .outdated-warning { + +.dev-warning, +.outdated-warning { position: absolute; top: 0; width: 100%; @@ -928,126 +1128,210 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { text-align: center; background-color: #ffe761; } -@media (prefers-color-scheme: dark) { - body { - background-color: var(--darkmode-dark); - color: white; - } - header, footer { - background: #0b1f4c !important; - } - .hero-section .cta { - background-color: var(--darkmode-button-light); - } - .hero-section .cta:hover { - background-color: var(--darkmode-button-light-hover); - } - .hero-section .explore-cta { - color: white; - } - .hero-section .explore-cta:hover { - color: white; - } - .powered-by_brands { - filter: contrast(2); - } - div.quickstart-code{ - filter: none; - } - .quickstart-code .shell { - background: #313274; - } - section.powered-by { - background: var(--darkmode-light); - } - section.plugins { - background: var(--darkmode-dark); - border-width: 0px; - } - section.supportus { - background: var(--darkmode-light); - border-width: 0px; - } - section.pro-cta { - background: var(--darkmode-dark); - border-width: 0px; - } - .avatar-section:before{ - background: var(--avatar-darkmode-before-gradient); - } - .avatar-section:after{ - background: var(--avatar-darkmode-after-gradient); - } - .blurb { - filter: invert(1); - } - .slack-channel { - background-color: #110e09; - } - - code { - background-color: #052148; - color: #bbb; - } - pre { - background-color: #052148; - color: #bbb; - border: 1px solid #052148; - box-shadow: 0 0 0 3px #07387b; - } - .list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { - color: var(--bs-gray-100); - } - a.list-group-item { - background-color: var(--darkmode-dark); - color: var(--bs-gray-500); - } - a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover { - color: white; - background-color: var(--darkmode-button-light-hover); - } - blockquote { - background-color: rgba(0, 82, 204, 0.18); - border-left: 4px solid rgba(108, 169, 255, 0.3);; - color: rgb(108, 169, 255); - } - blockquote.warning { - border-left: 4px solid rgba(239, 136, 84, 0.3); - background-color: rgba(235, 100, 32, 0.18); - color: rgb(239, 136, 84); - } - blockquote.new-as-of { - border-left: 4px solid rgba(11, 216, 73, 0.3); - background-color: rgba(9, 171, 60, 0.18); - color: rgb(11, 216, 73); - } - .dev-warning, .outdated-warning { - background-color: #4e440d; - color: #fff; - } - .table-striped tbody tr:nth-of-type(odd) { - background-color: #080808 - } - .table-hover tbody tr:hover { - background-color: #3b3b3b; - color: #bbb; - } - .table td, .table th { - border-top: 1px solid #131110; - } - .table thead th { - border-bottom: 2px solid #131110; - } - .markdown-body { - color: var(--bs-gray-400); - } - .markdown-body h1 { - color: white; - } - .markdown-body h2, .markdown-body h3, .markdown-body h4 { - color: var(--bs-gray-300); - } - .markdown-body a{ - color: #ffffff; - } + +/* Large devices (desktops, 992px and up) */ +@media (max-width: 992px) { + .nav-item a.cta { + width: 100%; + } + + .powered-by { + padding-bottom: 4rem; + } + + .nav-tabs .nav-link { + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + } + + .nav-tabs .nav-link { + padding: 0.5em 0.8em; + } + + .nav-tabs .nav-link svg { + margin-right: 5px; + } + + section.plugins { + padding-top: 30%; + } } + +@media (prefers-color-scheme: dark) { + body { + background-color: var(--darkmode-dark); + color: white; + } + + header, + footer { + background: #0b1f4c !important; + } + + .hero-section .cta { + background-color: var(--darkmode-button-light); + } + + .hero-section .cta:hover { + background-color: var(--darkmode-button-light-hover); + } + + .hero-section .explore-cta { + color: white; + } + + .hero-section .explore-cta:hover { + color: white; + } + + .getting-started::after { + background: linear-gradient(0deg, rgba(52, 52, 87, 0.2) -40.97%, rgba(0, 0, 0, 0) 103.19%), + #043791; + } + + .tab-content { + background: #043791; + } + + .nav-tabs { + background: #043791; + } + + .powered-by_brands { + filter: contrast(2); + } + + div.quickstart-code { + filter: none; + } + + .quickstart-code .shell { + background: #313274; + } + + section.powered-by { + background: var(--darkmode-light); + } + + section.plugins { + background: var(--darkmode-dark); + border-width: 0px; + } + + section.supportus { + background: var(--darkmode-light); + border-width: 0px; + } + + section.pro-cta { + background: var(--darkmode-dark); + border-width: 0px; + } + + .avatar-section:before { + background: var(--avatar-darkmode-before-gradient); + } + + .avatar-section:after { + background: var(--avatar-darkmode-after-gradient); + } + + .blurb { + filter: invert(1); + } + + .slack-channel { + background-color: #110e09; + } + + code { + background-color: #052148; + color: #bbb; + } + + pre { + background-color: #052148; + color: #bbb; + border: 1px solid #052148; + box-shadow: 0 0 0 3px #07387b; + } + + .list-group-item.disabled, + .list-group-item.disabled:focus, + .list-group-item.disabled:hover { + color: var(--bs-gray-100); + } + + a.list-group-item { + background-color: var(--darkmode-dark); + color: var(--bs-gray-500); + } + + a.list-group-item:focus, + a.list-group-item:hover, + button.list-group-item:focus, + button.list-group-item:hover { + color: white; + background-color: var(--darkmode-button-light-hover); + } + + blockquote { + background-color: rgba(0, 82, 204, 0.18); + border-left: 4px solid rgba(108, 169, 255, 0.3); + ; + color: rgb(108, 169, 255); + } + + blockquote.warning { + border-left: 4px solid rgba(239, 136, 84, 0.3); + background-color: rgba(235, 100, 32, 0.18); + color: rgb(239, 136, 84); + } + + blockquote.new-as-of { + border-left: 4px solid rgba(11, 216, 73, 0.3); + background-color: rgba(9, 171, 60, 0.18); + color: rgb(11, 216, 73); + } + + .dev-warning, + .outdated-warning { + background-color: #4e440d; + color: #fff; + } + + .table-striped tbody tr:nth-of-type(odd) { + background-color: #080808 + } + + .table-hover tbody tr:hover { + background-color: #3b3b3b; + color: #bbb; + } + + .table td, + .table th { + border-top: 1px solid #131110; + } + + .table thead th { + border-bottom: 2px solid #131110; + } + + .markdown-body { + color: var(--bs-gray-400); + } + + .markdown-body h1 { + color: white; + } + + .markdown-body h2, + .markdown-body h3, + .markdown-body h4 { + color: var(--bs-gray-300); + } + + .markdown-body a { + color: #ffffff; + } +} \ No newline at end of file diff --git a/docs/home.html b/docs/home.html index 7fc3a46756b..c9ccb9e43b7 100644 --- a/docs/home.html +++ b/docs/home.html @@ -203,6 +203,50 @@

Own your PaaS using tools you already know

+
+
+
+
+

Getting started is extremely easy

+
+
+
+
+ + +
+
+
+
@@ -673,6 +717,19 @@

Support Us

const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)); } + function loadAsciinema(asciiId, parentId) { + const parentDiv = document.getElementById(parentId); + var script = document.createElement('script'); + script.setAttribute('data-autoplay', true); + script.src = 'https://asciinema.org/a/14.js'; + script.id = "asciicast-14"; + script.type = 'text/javascript'; + const imageTag = parentDiv.lastElementChild; + parentDiv.style.height = `${parentDiv.clientHeight}px`; + parentDiv.removeChild(imageTag); + parentDiv.appendChild(script); + } + window.addEventListener('load', (event) => { populateSupporterAvatars(); updateLatestRelease(); From aeae7cea535ce21727a6926dd7ddf4a52d349345 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:26:04 +0500 Subject: [PATCH 0170/4100] scale the svg based on screen size --- docs/assets/style.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/assets/style.css b/docs/assets/style.css index 6eeef0c954c..9c5d78a3f63 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -485,6 +485,10 @@ section.plugins { border-color: var(--slate-border); } +section.plugins svg { + transform: scale(1.3); +} + g#plugins:hover, g#plugins:hover g { -webkit-animation-play-state: paused !important; @@ -1154,6 +1158,10 @@ ul.fas li .fa-large:before { section.plugins { padding-top: 30%; } + + section.plugins svg { + transform: scale(1.1); + } } @media (prefers-color-scheme: dark) { From 0fca7f5256ad4667e0aafbef3a9410f8ccc46d64 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:26:59 +0500 Subject: [PATCH 0171/4100] increased padding for larger screens --- docs/assets/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/assets/style.css b/docs/assets/style.css index 9c5d78a3f63..3e6b6d577d3 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -477,7 +477,7 @@ a.copy-cta-btn:hover { /* Plugins section */ section.plugins { - padding-top: 23%; + padding-top: 25%; padding-bottom: 8rem; background: var(--slate-bg); border-width: 2px 2px; From 22fd5ea0f04518e84c7274535e57157be51bdc71 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:34:59 +0500 Subject: [PATCH 0172/4100] improved display on mobile --- docs/assets/style.css | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/docs/assets/style.css b/docs/assets/style.css index 3e6b6d577d3..ad0fcfa3138 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -372,11 +372,6 @@ a.copy-cta-btn:hover { z-index: 1; } -.getting-started h2 { - /* font-weight: 900; */ - font-size: 2em; -} - .getting-started::after { position: absolute; content: ""; @@ -404,7 +399,7 @@ a.copy-cta-btn:hover { font-weight: bold; border: 0px; position: relative; - font-size: 18px; + font-size: 1em; } .nav-tabs .nav-link:hover { @@ -1145,14 +1140,14 @@ ul.fas li .fa-large:before { .nav-tabs .nav-link { padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); - } - - .nav-tabs .nav-link { - padding: 0.5em 0.8em; + font-size: 0.8em; + padding: 1.2em 1.2em; } .nav-tabs .nav-link svg { margin-right: 5px; + width: 25px; + height: 25px; } section.plugins { From 156da6c30a186a35699e64aee6cc4e98f1f7b1f7 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:42:05 +0500 Subject: [PATCH 0173/4100] triggering the animation once images are loaded. Wasn't playing correctly on safari earlier --- docs/assets/style.css | 3 +++ docs/home.html | 1 + 2 files changed, 4 insertions(+) diff --git a/docs/assets/style.css b/docs/assets/style.css index ad0fcfa3138..fa635d00fec 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -540,6 +540,9 @@ section.supportus { .avatar-row { width: max-content; +} + +.infinite-scroll { animation: 48s linear 0s infinite normal none running scroll; } diff --git a/docs/home.html b/docs/home.html index c9ccb9e43b7..b67c6bac756 100644 --- a/docs/home.html +++ b/docs/home.html @@ -696,6 +696,7 @@

Support Us

for (let count = 0; count < rowCount; count++) { const splicedArray = supporterArrays.splice(0, rowItemCount); avatarRows[count].innerHTML = splicedArray.join('') + splicedArray.join(''); + avatarRows[count].classList.add('infinite-scroll'); } initializeTooltips("tooltip"); From 2d5799625cfbbe4f69e188978ade3f7d0b3a3cb2 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:47:13 +0500 Subject: [PATCH 0174/4100] added a small freelance tooltip :) --- docs/home.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/home.html b/docs/home.html index b67c6bac756..45ea80e21a8 100644 --- a/docs/home.html +++ b/docs/home.html @@ -662,7 +662,7 @@

Support Us

-

© 2013-2022 Dokku. Website designed & developed by Yasoob Khalid

+

© 2013-2022 Dokku. Website designed & developed by Yasoob Khalid

From 5d36264dd273a99f3dd0a5e6e451767636ca2c96 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 May 2022 13:20:54 +0000 Subject: [PATCH 0175/4100] chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 216 to 217. - [Release notes](https://github.com/heroku/heroku-buildpack-php/releases) - [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/main/CHANGELOG.md) - [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v216...v217) --- updated-dependencies: - dependency-name: heroku/heroku-buildpack-php dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- tests/apps/php/composer.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/apps/php/composer.lock b/tests/apps/php/composer.lock index 73f880b7d7b..506a0e0e090 100644 --- a/tests/apps/php/composer.lock +++ b/tests/apps/php/composer.lock @@ -1000,16 +1000,16 @@ "packages-dev": [ { "name": "heroku/heroku-buildpack-php", - "version": "v216", + "version": "v217", "source": { "type": "git", "url": "https://github.com/heroku/heroku-buildpack-php.git", - "reference": "78a95ba0abdadf2546178d5a2f9ab8d9dcac092d" + "reference": "5e95230f28b8d2375b27cc54cf3d78ef885f5b78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/78a95ba0abdadf2546178d5a2f9ab8d9dcac092d", - "reference": "78a95ba0abdadf2546178d5a2f9ab8d9dcac092d", + "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/5e95230f28b8d2375b27cc54cf3d78ef885f5b78", + "reference": "5e95230f28b8d2375b27cc54cf3d78ef885f5b78", "shasum": "" }, "bin": [ @@ -1037,7 +1037,7 @@ "nginx", "php" ], - "time": "2022-04-14T16:00:42+00:00" + "time": "2022-05-18T19:16:45+00:00" } ], "aliases": [], From a937e6de50d87ce8e0256e266475004354c9f318 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 21 May 2022 02:47:06 -0400 Subject: [PATCH 0176/4100] fix: confirm installation of universe packages when installing on ubuntu This fixes installs stalling on Ubuntu 22.04 because of necessary confirmation of the addition. Closes #5191 --- bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap.sh b/bootstrap.sh index f1780bd4f95..dac9ee09595 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -63,7 +63,7 @@ install-requirements() { apt-get -qq -y --no-install-recommends install software-properties-common fi - add-apt-repository universe >/dev/null + add-apt-repository -y universe >/dev/null apt-get update -qq >/dev/null ;; esac From 88c1abc608543f859da9bb454cb1c42bdc6ead33 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 21 May 2022 03:43:32 -0400 Subject: [PATCH 0177/4100] fix: force-set correct permissions on env files If an env file is written as a root user - for example, during plugin install - the permissions on the file may change to root. This forces those permissions back to what they should be so that the dokku user can edit the files later on. Closes #5190 --- plugins/config/config.go | 3 +++ plugins/config/environment.go | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/plugins/config/config.go b/plugins/config/config.go index 17b478cc86e..8c50e73ab99 100644 --- a/plugins/config/config.go +++ b/plugins/config/config.go @@ -52,6 +52,7 @@ func SetMany(appName string, entries map[string]string, restart bool) (err error fmt.Println(prettyPrintEnvEntries(" ", entries)) } env.Write() + common.SetPermissions(env.Filename(), 0600) triggerUpdate(appName, "set", keys) } if !global && restart && env.GetBoolDefault("DOKKU_APP_RESTORE", true) { @@ -84,6 +85,7 @@ func UnsetMany(appName string, keys []string, restart bool) (err error) { } if changed { env.Write() + common.SetPermissions(env.Filename(), 0600) triggerUpdate(appName, "unset", keys) } if !global && restart && env.GetBoolDefault("DOKKU_APP_RESTORE", true) { @@ -107,6 +109,7 @@ func UnsetAll(appName string, restart bool) (err error) { } if changed { env.Write() + common.SetPermissions(env.Filename(), 0600) triggerUpdate(appName, "clear", []string{}) } if !global && restart && env.GetBoolDefault("DOKKU_APP_RESTORE", true) { diff --git a/plugins/config/environment.go b/plugins/config/environment.go index ffd0daf2815..8e26f0a808d 100644 --- a/plugins/config/environment.go +++ b/plugins/config/environment.go @@ -92,6 +92,11 @@ func LoadGlobalEnv() (*Env, error) { return loadFromFile("", getGlobalFile()) } +// Filename returns the full path on disk to the file holding the env vars +func (e *Env) Filename() string { + return e.filename +} + //Get an environment variable func (e *Env) Get(key string) (value string, ok bool) { value, ok = e.env[key] From 6f5f3fa908908c8a74833d51297f3005fdf51def Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 21 May 2022 13:42:45 -0400 Subject: [PATCH 0178/4100] feat: upgrade base Dockerfile image to phusion/baseimage:focal-1.2.0 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5fe94a8aee6..748c4f34cf3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM phusion/baseimage:focal-1.1.0 +FROM phusion/baseimage:focal-1.2.0 CMD ["/sbin/my_init"] From 27769f54b0a641daa3708215e70c1b27a7972914 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 22 May 2022 17:12:52 -0400 Subject: [PATCH 0179/4100] feat: disable herokuish usage on both armhf and arm64 platforms We will not provide support for herokuish on either as herokuish is meant to be Heroku-compatible, and the Heroku stack does not support arm. Use 'pack' or Dockerfiles for app building instead. --- plugins/00_dokku-standard/subcommands/report | 5 +++-- plugins/builder-herokuish/builder-detect | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/00_dokku-standard/subcommands/report b/plugins/00_dokku-standard/subcommands/report index 63e769db5d1..8acd5ed8f79 100755 --- a/plugins/00_dokku-standard/subcommands/report +++ b/plugins/00_dokku-standard/subcommands/report @@ -8,6 +8,7 @@ cmd-report() { declare cmd="report" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" + local ARCHITECTURE="$(dpkg --print-architecture 2>/dev/null || true)" if [[ "$APP" == "--format" ]]; then dokku_log_fail "--format flag not supported on global report" @@ -23,8 +24,8 @@ cmd-report() { dokku_log_info1 "git version: $(git --version)" dokku_log_info1 "sigil version: $(sigil -v)" dokku_log_info1 "herokuish version: " - if [[ "$(dpkg --print-architecture 2>/dev/null || true)" == "armhf" ]]; then - dokku_log_warn "herokuish not supported on armhf architecture" + if [[ "$ARCHITECTURE" == "armhf" ]] || [[ "$ARCHITECTURE" == "arm64" ]]; then + dokku_log_warn "herokuish not supported on $ARCHITECTURE architecture" else "$DOCKER_BIN" container run $DOKKU_GLOBAL_RUN_ARGS --rm "$DOKKU_IMAGE" herokuish version | sed "s/^/ /" fi diff --git a/plugins/builder-herokuish/builder-detect b/plugins/builder-herokuish/builder-detect index 63d291499ad..fc6fee4284d 100755 --- a/plugins/builder-herokuish/builder-detect +++ b/plugins/builder-herokuish/builder-detect @@ -7,8 +7,9 @@ trigger-builder-herokuish-builder-detect() { declare desc="builder-herokuish builder-detect plugin trigger" declare trigger="builder-detect" declare APP="$1" SOURCECODE_WORK_DIR="$2" + local ARCHITECTURE="$(dpkg --print-architecture 2>/dev/null || true)" - if [[ "$(dpkg --print-architecture 2>/dev/null || true)" == "armhf" ]]; then + if [[ "$ARCHITECTURE" == "armhf" ]] || [[ "$ARCHITECTURE" == "arm64" ]]; then return fi From 0a895b2d1144e794ce7f3f87f6009e4e7ce445b7 Mon Sep 17 00:00:00 2001 From: Pablo Orellana Date: Wed, 25 May 2022 07:44:38 +0200 Subject: [PATCH 0180/4100] remove --watch-config argument on startVectorContainer --- plugins/logs/functions.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/logs/functions.go b/plugins/logs/functions.go index 0682aec37ed..488590b9de6 100644 --- a/plugins/logs/functions.go +++ b/plugins/logs/functions.go @@ -77,7 +77,7 @@ func startVectorContainer(vectorImage string) error { "--volume", common.MustGetEnv("DOKKU_LOGS_HOST_DIR") + ":/var/logs/dokku/apps", "--volume", common.MustGetEnv("DOKKU_LOGS_HOST_DIR") + "/apps:/var/log/dokku/apps", vectorImage, - "--config", "/etc/vector/vector.json", "--watch-config", "1"}, " ")) + "--config", "/etc/vector/vector.json", "--watch-config"}, " ")) cmd.ShowOutput = false if !cmd.Execute() { From 2ba5c9df508a5c3f742ce7bf307c903b3635948b Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 26 May 2022 10:22:32 -0400 Subject: [PATCH 0181/4100] Revert "fix: Vector fails to start container due to --watch-config flag" --- plugins/logs/functions.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/logs/functions.go b/plugins/logs/functions.go index 488590b9de6..0682aec37ed 100644 --- a/plugins/logs/functions.go +++ b/plugins/logs/functions.go @@ -77,7 +77,7 @@ func startVectorContainer(vectorImage string) error { "--volume", common.MustGetEnv("DOKKU_LOGS_HOST_DIR") + ":/var/logs/dokku/apps", "--volume", common.MustGetEnv("DOKKU_LOGS_HOST_DIR") + "/apps:/var/log/dokku/apps", vectorImage, - "--config", "/etc/vector/vector.json", "--watch-config"}, " ")) + "--config", "/etc/vector/vector.json", "--watch-config", "1"}, " ")) cmd.ShowOutput = false if !cmd.Execute() { From b3d7174a7aafa4e211f813e36463ce93fa16ef1c Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 16 May 2022 00:56:18 -0400 Subject: [PATCH 0182/4100] fix: filter apps when verifying app names This ensures folks can't interact with apps that are hidden from them via the filtering performed in app listing. --- plugins/common/common.go | 5 +++++ plugins/common/functions | 23 ++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/plugins/common/common.go b/plugins/common/common.go index 4039fe7d29a..091f1545151 100644 --- a/plugins/common/common.go +++ b/plugins/common/common.go @@ -581,6 +581,11 @@ func VerifyAppName(appName string) error { return &AppDoesNotExist{appName} } + apps, _ := filterApps([]string{appName}) + if len(apps) != 1 { + return &AppDoesNotExist{appName} + } + return nil } diff --git a/plugins/common/functions b/plugins/common/functions index 181fccb27f0..0b4b0c0d0f3 100755 --- a/plugins/common/functions +++ b/plugins/common/functions @@ -250,6 +250,9 @@ is_valid_app_name_old() { verify_app_name() { declare desc="verify app name format and app existence" declare APP="$1" + export SSH_USER=${SSH_USER:=$USER} + export SSH_NAME=${NAME:="default"} + local VALID_NEW=false local VALID_OLD=false if fn-is-valid-app-name "$APP" 2>/dev/null; then @@ -266,7 +269,25 @@ verify_app_name() { [[ ! -d "$DOKKU_ROOT/$APP" ]] && DOKKU_FAIL_EXIT_CODE=20 dokku_log_fail "App $APP does not exist" - return 0 + local user_auth_count=$(find "$PLUGIN_PATH"/enabled/*/user-auth-app 2>/dev/null | wc -l) + + # no plugin trigger exists + if [[ $user_auth_count == 0 ]]; then + return 0 + fi + + # this plugin trigger exists in the core `20_events` plugin + if [[ "$user_auth_count" == 1 ]] && [[ -f "$PLUGIN_PATH"/enabled/20_events/user-auth-app ]]; then + return 0 + fi + + if output="$(plugn trigger user-auth-app "$SSH_USER" "$SSH_NAME" "$@" "$APP")"; then + if [[ -n "$output" ]]; then + return 0 + fi + fi + + DOKKU_FAIL_EXIT_CODE=20 dokku_log_fail "App $APP does not exist" } verify_image() { From 5981ff8e9bed3c15a5bfbf1efb0d167cff925a7d Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 21 May 2022 14:42:01 -0400 Subject: [PATCH 0183/4100] refactor: split out config logic to remove need to check app name for function-based usage This MR splits out the logic such that there is now a binary that handles function based calls without validating the app name. We should only every check the app name for the subcommands and not internally. Internal calls should have their arguments taken at face value. --- plugins/config/Makefile | 8 +- plugins/config/functions | 2 +- plugins/config/functions.go | 125 +++++++++++++++++++- plugins/config/src/config_sub/config_sub.go | 112 ++++++++++++++++++ plugins/config/subcommands.go | 119 ++++--------------- plugins/config/triggers.go | 8 +- 6 files changed, 269 insertions(+), 105 deletions(-) create mode 100644 plugins/config/src/config_sub/config_sub.go diff --git a/plugins/config/Makefile b/plugins/config/Makefile index 7be2179434c..6a4bef9ec1c 100644 --- a/plugins/config/Makefile +++ b/plugins/config/Makefile @@ -1,6 +1,12 @@ SUBCOMMANDS = subcommands/bundle subcommands/clear subcommands/export subcommands/get subcommands/keys subcommands/show subcommands/set subcommands/unset TRIGGERS = triggers/config-export triggers/config-get triggers/config-get-global -BUILD = commands subcommands triggers +BUILD = commands config_sub subcommands triggers PLUGIN_NAME = config +clean-config_sub: + rm -rf config_sub + +config_sub: clean-config_sub **/**/config_sub.go + go build -ldflags="-s -w" $(GO_ARGS) -o config_sub src/config_sub/config_sub.go + include ../../common.mk diff --git a/plugins/config/functions b/plugins/config/functions index 9cb3dccbfb7..fa3b4e0e3a8 100755 --- a/plugins/config/functions +++ b/plugins/config/functions @@ -7,7 +7,7 @@ config_sub() { declare desc="executes a config subcommand" local name="$1" shift - "$PLUGIN_AVAILABLE_PATH/config/subcommands/$name" "config:$name" "$@" + "$PLUGIN_AVAILABLE_PATH/config/config_sub" "$name" "$@" } config_export() { diff --git a/plugins/config/functions.go b/plugins/config/functions.go index 13407fbfb2a..28997d25a10 100644 --- a/plugins/config/functions.go +++ b/plugins/config/functions.go @@ -1,13 +1,16 @@ package config -import "fmt" +import ( + "encoding/base64" + "errors" + "fmt" + "os" + "strings" -func export(appName string, global bool, merged bool, format string) error { - appName, err := getAppNameOrGlobal(appName, global) - if err != nil { - return err - } + "github.com/dokku/dokku/plugins/common" +) +func export(appName string, merged bool, format string) error { env := getEnvironment(appName, merged) exportType := ExportFormatExports suffix := "\n" @@ -37,3 +40,113 @@ func export(appName string, global bool, merged bool, format string) error { fmt.Print(exported + suffix) return nil } + +// SubBundle implements the logic for config:bundle without app name validation +func SubBundle(appName string, merged bool) error { + env := getEnvironment(appName, merged) + return env.ExportBundle(os.Stdout) +} + +// SubClear implements the logic for config:clear without app name validation +func SubClear(appName string, noRestart bool) error { + return UnsetAll(appName, !noRestart) +} + +// SubExport implements the logic for config:export without app name validation +func SubExport(appName string, merged bool, format string) error { + return export(appName, merged, format) +} + +// SubGet implements the logic for config:get without app name validation +func SubGet(appName string, keys []string, quoted bool) error { + if len(keys) == 0 { + return errors.New("Expected: key") + } + + if len(keys) != 1 { + return fmt.Errorf("Unexpected argument(s): %v", keys[1:]) + } + + value, ok := Get(appName, keys[0]) + if !ok { + os.Exit(1) + return nil + } + + if quoted { + fmt.Printf("'%s'\n", singleQuoteEscape(value)) + } else { + fmt.Printf("%s\n", value) + } + + return nil +} + +// SubKeys implements the logic for config:keys without app name validation +func SubKeys(appName string, merged bool) error { + env := getEnvironment(appName, merged) + for _, k := range env.Keys() { + fmt.Println(k) + } + return nil +} + +// SubSet implements the logic for config:set without app name validation +func SubSet(appName string, pairs []string, noRestart bool, encoded bool) error { + if len(pairs) == 0 { + return errors.New("At least one env pair must be given") + } + + updated := make(map[string]string) + for _, e := range pairs { + parts := strings.SplitN(e, "=", 2) + if len(parts) == 1 { + return fmt.Errorf("Invalid env pair: %v", e) + } + + key, value := parts[0], parts[1] + if encoded { + decoded, err := base64.StdEncoding.DecodeString(value) + if err != nil { + return fmt.Errorf("%s for key '%s'", err.Error(), key) + } + value = string(decoded) + } + updated[key] = value + } + + return SetMany(appName, updated, !noRestart) +} + +// SubShow implements the logic for config:show without app name validation +func SubShow(appName string, merged bool, shell bool, export bool) error { + env := getEnvironment(appName, merged) + if shell && export { + return errors.New("Only one of --shell and --export can be given") + } + if shell { + common.LogWarn("Deprecated: Use 'config:export --format shell' instead") + fmt.Print(env.Export(ExportFormatShell)) + } else if export { + common.LogWarn("Deprecated: Use 'config:export --format exports' instead") + fmt.Println(env.Export(ExportFormatExports)) + } else { + contextName := "global" + if appName != "" { + contextName = appName + } + common.LogInfo2Quiet(contextName + " env vars") + fmt.Println(env.Export(ExportFormatPretty)) + } + + return nil +} + +// SubUnset implements the logic for config:unset without app name validation +func SubUnset(appName string, keys []string, noRestart bool) error { + if len(keys) == 0 { + return fmt.Errorf("At least one key must be given") + } + + return UnsetMany(appName, keys, !noRestart) +} diff --git a/plugins/config/src/config_sub/config_sub.go b/plugins/config/src/config_sub/config_sub.go new file mode 100644 index 00000000000..42dc7d70e1d --- /dev/null +++ b/plugins/config/src/config_sub/config_sub.go @@ -0,0 +1,112 @@ +package main + +import ( + "fmt" + "os" + + "github.com/dokku/dokku/plugins/common" + "github.com/dokku/dokku/plugins/config" + + flag "github.com/spf13/pflag" +) + +func getKeys(args []string, global bool) []string { + keys := args + if !global && len(keys) > 0 { + keys = keys[1:] + } + return keys +} + +// main entrypoint to all subcommands +func main() { + action := os.Args[1] + + var err error + appName := "--global" + switch action { + case "bundle": + args := flag.NewFlagSet("bundle", flag.ExitOnError) + global := args.Bool("global", false, "--global: use the global environment") + merged := args.Bool("merged", false, "--merged: merge app environment and global environment") + args.Parse(os.Args[2:]) + if !*global { + appName = args.Arg(0) + } + err = config.SubBundle(appName, *merged) + case "clear": + args := flag.NewFlagSet("clear", flag.ExitOnError) + global := args.Bool("global", false, "--global: use the global environment") + noRestart := args.Bool("no-restart", false, "--no-restart: no restart") + args.Parse(os.Args[2:]) + if !*global { + appName = args.Arg(0) + } + err = config.SubClear(appName, *noRestart) + case "export": + args := flag.NewFlagSet("export", flag.ExitOnError) + global := args.Bool("global", false, "--global: use the global environment") + merged := args.Bool("merged", false, "--merged: merge app environment and global environment") + format := args.String("format", "exports", "--format: [ docker-args | docker-args-keys | exports | envfile | json | json-list | pack-keys | pretty | shell ] which format to export as)") + args.Parse(os.Args[2:]) + if !*global { + appName = args.Arg(0) + } + err = config.SubExport(appName, *merged, *format) + case "get": + args := flag.NewFlagSet("get", flag.ExitOnError) + global := args.Bool("global", false, "--global: use the global environment") + quoted := args.Bool("quoted", false, "--quoted: get the value quoted") + args.Parse(os.Args[2:]) + if !*global { + appName = args.Arg(0) + } + keys := getKeys(args.Args(), *global) + err = config.SubGet(appName, keys, *quoted) + case "keys": + args := flag.NewFlagSet("keys", flag.ExitOnError) + global := args.Bool("global", false, "--global: use the global environment") + merged := args.Bool("merged", false, "--merged: merge app environment and global environment") + args.Parse(os.Args[2:]) + if !*global { + appName = args.Arg(0) + } + err = config.SubKeys(appName, *merged) + case "show": + args := flag.NewFlagSet("show", flag.ExitOnError) + global := args.Bool("global", false, "--global: use the global environment") + merged := args.Bool("merged", false, "--merged: display the app's environment merged with the global environment") + args.Parse(os.Args[2:]) + if !*global { + appName = args.Arg(0) + } + err = config.SubShow(appName, *merged, false, false) + case "set": + args := flag.NewFlagSet("set", flag.ExitOnError) + global := args.Bool("global", false, "--global: use the global environment") + encoded := args.Bool("encoded", false, "--encoded: interpret VALUEs as base64") + noRestart := args.Bool("no-restart", false, "--no-restart: no restart") + args.Parse(os.Args[2:]) + if !*global { + appName = args.Arg(0) + } + pairs := getKeys(args.Args(), *global) + err = config.SubSet(appName, pairs, *noRestart, *encoded) + case "unset": + args := flag.NewFlagSet("unset", flag.ExitOnError) + global := args.Bool("global", false, "--global: use the global environment") + noRestart := args.Bool("no-restart", false, "--no-restart: no restart") + args.Parse(os.Args[2:]) + if !*global { + appName = args.Arg(0) + } + keys := getKeys(args.Args(), *global) + err = config.SubUnset(appName, keys, *noRestart) + default: + err = fmt.Errorf("Invalid plugin config_sub call: %s", action) + } + + if err != nil { + common.LogFailWithError(err) + } +} diff --git a/plugins/config/subcommands.go b/plugins/config/subcommands.go index 033b45dd236..fe7e252d6a9 100644 --- a/plugins/config/subcommands.go +++ b/plugins/config/subcommands.go @@ -1,156 +1,83 @@ package config -import ( - "encoding/base64" - "errors" - "fmt" - "os" - "strings" - - "github.com/dokku/dokku/plugins/common" -) - -// CommandBundle implements config:bundle +// CommandBundle creates a tarball of a .env.d directory +// containing env vars for the app func CommandBundle(appName string, global bool, merged bool) error { appName, err := getAppNameOrGlobal(appName, global) if err != nil { return err } - env := getEnvironment(appName, merged) - return env.ExportBundle(os.Stdout) + return SubBundle(appName, merged) } -// CommandClear implements config:clear +// CommandClear unsets all environment variables in use func CommandClear(appName string, global bool, noRestart bool) error { appName, err := getAppNameOrGlobal(appName, global) if err != nil { return err } - return UnsetAll(appName, !noRestart) + return SubClear(appName, noRestart) } -// CommandExport implements config:export +// CommandExport outputs all env vars (merged or not, global or not) +// in the specified format for consumption by other tools func CommandExport(appName string, global bool, merged bool, format string) error { - return export(appName, global, merged, format) -} - -// CommandGet implements config:get -func CommandGet(appName string, keys []string, global bool, quoted bool) error { appName, err := getAppNameOrGlobal(appName, global) if err != nil { return err } - if len(keys) == 0 { - return errors.New("Expected: key") - } - - if len(keys) != 1 { - return fmt.Errorf("Unexpected argument(s): %v", keys[1:]) - } - - value, ok := Get(appName, keys[0]) - if !ok { - os.Exit(1) - return nil - } + return SubExport(appName, merged, format) +} - if quoted { - fmt.Printf("'%s'\n", singleQuoteEscape(value)) - } else { - fmt.Printf("%s\n", value) +// CommandGet gets the value for the specified environment variable +func CommandGet(appName string, keys []string, global bool, quoted bool) error { + appName, err := getAppNameOrGlobal(appName, global) + if err != nil { + return err } - return nil + return SubGet(appName, keys, quoted) } -// CommandKeys implements config:keys +// CommandKeys shows the keys set for the specified environment func CommandKeys(appName string, global bool, merged bool) error { appName, err := getAppNameOrGlobal(appName, global) if err != nil { return err } - env := getEnvironment(appName, merged) - for _, k := range env.Keys() { - fmt.Println(k) - } - return nil + return SubKeys(appName, merged) } -// CommandSet implements config:set +// CommandSet sets one or more environment variable pairs func CommandSet(appName string, pairs []string, global bool, noRestart bool, encoded bool) error { appName, err := getAppNameOrGlobal(appName, global) if err != nil { return err } - if len(pairs) == 0 { - return errors.New("At least one env pair must be given") - } - - updated := make(map[string]string) - for _, e := range pairs { - parts := strings.SplitN(e, "=", 2) - if len(parts) == 1 { - return fmt.Errorf("Invalid env pair: %v", e) - } - - key, value := parts[0], parts[1] - if encoded { - decoded, err := base64.StdEncoding.DecodeString(value) - if err != nil { - return fmt.Errorf("%s for key '%s'", err.Error(), key) - } - value = string(decoded) - } - updated[key] = value - } - - return SetMany(appName, updated, !noRestart) + return SubSet(appName, pairs, noRestart, encoded) } -// CommandShow implements config:show +// CommandShow pretty-prints the specified environment vaiables func CommandShow(appName string, global bool, merged bool, shell bool, export bool) error { appName, err := getAppNameOrGlobal(appName, global) if err != nil { return err } - env := getEnvironment(appName, merged) - if shell && export { - return errors.New("Only one of --shell and --export can be given") - } - if shell { - common.LogWarn("Deprecated: Use 'config:export --format shell' instead") - fmt.Print(env.Export(ExportFormatShell)) - } else if export { - common.LogWarn("Deprecated: Use 'config:export --format exports' instead") - fmt.Println(env.Export(ExportFormatExports)) - } else { - contextName := "global" - if appName != "" { - contextName = appName - } - common.LogInfo2Quiet(contextName + " env vars") - fmt.Println(env.Export(ExportFormatPretty)) - } - - return nil + return SubShow(appName, merged, shell, export) } -// CommandUnset implements config:unset +// CommandUnset unsets one or more keys in a specified environment func CommandUnset(appName string, keys []string, global bool, noRestart bool) error { appName, err := getAppNameOrGlobal(appName, global) if err != nil { return err } - if len(keys) == 0 { - return fmt.Errorf("At least one key must be given") - } - - return UnsetMany(appName, keys, !noRestart) + return SubUnset(appName, keys, noRestart) } diff --git a/plugins/config/triggers.go b/plugins/config/triggers.go index 7bcfbb50fbf..3014f6d26c9 100644 --- a/plugins/config/triggers.go +++ b/plugins/config/triggers.go @@ -16,7 +16,13 @@ func TriggerConfigExport(appName string, global string, merged string, format st if err != nil { return err } - return export(appName, g, m, format) + + appName, err = getAppNameOrGlobal(appName, g) + if err != nil { + return err + } + + return export(appName, m, format) } // TriggerConfigGet returns an app config value by key From d803dbb84a3fb757ebaa884ea00e8a72637eca91 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 27 May 2022 23:44:46 -0400 Subject: [PATCH 0184/4100] fix: drop extra unnecessary validation of app name The app name is already validated when calling subcommands, so no need to validate it yet again here. --- plugins/config/environment.go | 8 -------- 1 file changed, 8 deletions(-) diff --git a/plugins/config/environment.go b/plugins/config/environment.go index 8e26f0a808d..2f6ddf071f2 100644 --- a/plugins/config/environment.go +++ b/plugins/config/environment.go @@ -60,10 +60,6 @@ func newEnvFromString(rep string) (env *Env, err error) { //LoadAppEnv loads an environment for the given app func LoadAppEnv(appName string) (env *Env, err error) { - err = common.VerifyAppName(appName) - if err != nil { - return - } appfile, err := getAppFile(appName) if err != nil { return @@ -357,10 +353,6 @@ func loadFromFile(name string, filename string) (env *Env, err error) { } func getAppFile(appName string) (string, error) { - err := common.VerifyAppName(appName) - if err != nil { - return "", err - } return filepath.Join(common.MustGetEnv("DOKKU_ROOT"), appName, "ENV"), nil } From 9473ac5f381f46f981908e7e36a789410b41f304 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 28 May 2022 03:59:34 +0000 Subject: [PATCH 0185/4100] chore(deps): bump grunt from 1.5.2 to 1.5.3 in /tests/apps/multi Bumps [grunt](https://github.com/gruntjs/grunt) from 1.5.2 to 1.5.3. - [Release notes](https://github.com/gruntjs/grunt/releases) - [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG) - [Commits](https://github.com/gruntjs/grunt/compare/v1.5.2...v1.5.3) --- updated-dependencies: - dependency-name: grunt dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- tests/apps/multi/package-lock.json | 14 +++++++------- tests/apps/multi/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/apps/multi/package-lock.json b/tests/apps/multi/package-lock.json index a860dea0ab0..09a943a3c5a 100644 --- a/tests/apps/multi/package-lock.json +++ b/tests/apps/multi/package-lock.json @@ -11,7 +11,7 @@ "license": "ISC", "dependencies": { "bower": "^1.8.0", - "grunt": "~1.5.2", + "grunt": "~1.5.3", "grunt-cli": "~1.4.3", "grunt-contrib-compass": "~1.1.1", "load-grunt-tasks": "~5.1.0", @@ -517,9 +517,9 @@ } }, "node_modules/grunt": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.2.tgz", - "integrity": "sha512-XCtfaIu72OyDqK24MjWiGC9SwlkuhkS1mrULr1xzuJ2XqAFhP3ZAchZGHJeSCY6mkaOXU4F7SbmmCF7xIVoC9w==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz", + "integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==", "dependencies": { "dateformat": "~3.0.3", "eventemitter2": "~0.4.13", @@ -2110,9 +2110,9 @@ } }, "grunt": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.2.tgz", - "integrity": "sha512-XCtfaIu72OyDqK24MjWiGC9SwlkuhkS1mrULr1xzuJ2XqAFhP3ZAchZGHJeSCY6mkaOXU4F7SbmmCF7xIVoC9w==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz", + "integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==", "requires": { "dateformat": "~3.0.3", "eventemitter2": "~0.4.13", diff --git a/tests/apps/multi/package.json b/tests/apps/multi/package.json index 948916e2ba3..57db9ba80c1 100644 --- a/tests/apps/multi/package.json +++ b/tests/apps/multi/package.json @@ -2,7 +2,7 @@ "author": "Al Johri", "dependencies": { "bower": "^1.8.0", - "grunt": "~1.5.2", + "grunt": "~1.5.3", "grunt-cli": "~1.4.3", "grunt-contrib-compass": "~1.1.1", "load-grunt-tasks": "~5.1.0", From 96a2ec01f526e8c62b734af2361cc2dd13fbf42d Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 28 May 2022 12:22:11 -0400 Subject: [PATCH 0186/4100] fix: ensure go tests have PLUGIN_ENABLED_PATH set --- plugins/common/common_test.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/plugins/common/common_test.go b/plugins/common/common_test.go index 3e31967e10c..6f30e385d2c 100644 --- a/plugins/common/common_test.go +++ b/plugins/common/common_test.go @@ -20,6 +20,10 @@ var ( testEnvLine2 = "export testKey=TESTING" ) +func setupTests() (err error) { + return os.Setenv("PLUGIN_ENABLED_PATH", "/var/lib/dokku/plugins/enabled") +} + func setupTestApp() (err error) { Expect(os.MkdirAll(testAppDir, 0644)).To(Succeed()) b := []byte(testEnvLine + "\n") @@ -48,32 +52,37 @@ func teardownTestApp2() { func TestCommonGetEnv(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(MustGetEnv("DOKKU_ROOT")).To(Equal("/home/dokku")) } func TestCommonGetAppImageRepo(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(GetAppImageRepo("testapp")).To(Equal("dokku/testapp")) } func TestCommonVerifyImageInvalid(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(VerifyImage("testapp")).To(Equal(false)) } func TestCommonVerifyAppNameInvalid(t *testing.T) { RegisterTestingT(t) - err := VerifyAppName("1994testApp") - Expect(err).To(HaveOccurred()) + Expect(setupTests()).To(Succeed()) + Expect(VerifyAppName("1994testApp")).To(HaveOccurred()) } func TestCommonVerifyAppName(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) Expect(VerifyAppName(testAppName)).To(Succeed()) teardownTestApp() RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp2()).To(Succeed()) Expect(VerifyAppName(testAppName2)).To(Succeed()) teardownTestApp2() @@ -81,13 +90,14 @@ func TestCommonVerifyAppName(t *testing.T) { func TestCommonDokkuAppsError(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) _, err := DokkuApps() Expect(err).To(HaveOccurred()) } func TestCommonDokkuApps(t *testing.T) { RegisterTestingT(t) - os.Setenv("PLUGIN_ENABLED_PATH", "/var/lib/dokku/plugins/enabled") + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) apps, err := DokkuApps() Expect(err).NotTo(HaveOccurred()) @@ -98,6 +108,7 @@ func TestCommonDokkuApps(t *testing.T) { func TestCommonStripInlineComments(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) text := StripInlineComments(strings.Join([]string{testEnvLine, "# testing comment"}, " ")) Expect(text).To(Equal(testEnvLine)) } From 3a2e9973b6d6359e3b6e3aafa50c642b3b226c73 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 28 May 2022 16:22:59 +0000 Subject: [PATCH 0187/4100] chore(deps): bump rack from 2.2.3 to 2.2.3.1 in /tests/apps/ruby Bumps [rack](https://github.com/rack/rack) from 2.2.3 to 2.2.3.1. - [Release notes](https://github.com/rack/rack/releases) - [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md) - [Commits](https://github.com/rack/rack/compare/2.2.3...2.2.3.1) --- updated-dependencies: - dependency-name: rack dependency-type: indirect ... Signed-off-by: dependabot[bot] --- tests/apps/ruby/Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/ruby/Gemfile.lock b/tests/apps/ruby/Gemfile.lock index e01a3c1cd11..7b0185fe62d 100644 --- a/tests/apps/ruby/Gemfile.lock +++ b/tests/apps/ruby/Gemfile.lock @@ -5,7 +5,7 @@ GEM eventmachine (1.2.7) mustermann (1.1.1) ruby2_keywords (~> 0.0.1) - rack (2.2.3) + rack (2.2.3.1) rack-protection (2.2.0) rack ruby2_keywords (0.0.5) From a95e5d210d1be46e0f06c91f0b1a70f498b7ed29 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 28 May 2022 18:23:34 -0400 Subject: [PATCH 0188/4100] tests: test the command funcs to exercise app validation --- plugins/config/config_test.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/plugins/config/config_test.go b/plugins/config/config_test.go index ff2502fd23d..63763eb66d7 100644 --- a/plugins/config/config_test.go +++ b/plugins/config/config_test.go @@ -64,20 +64,20 @@ func TestConfigSetMany(t *testing.T) { expectValue(testAppName, "testKey", "TESTING") - vals := map[string]string{"testKey": "updated", "testKey2": "new"} - Expect(SetMany(testAppName, vals, false)).To(Succeed()) + vals := []string{"testKey=updated", "testKey2=new"} + Expect(CommandSet(testAppName, vals, false, true, false)).To(Succeed()) expectValue(testAppName, "testKey", "updated") expectValue(testAppName, "testKey2", "new") - vals = map[string]string{"testKey": "updated_global", "testKey2": "new_global"} - Expect(SetMany("", vals, false)).To(Succeed()) + vals = []string{"testKey=updated_global", "testKey2=new_global"} + Expect(CommandSet("", vals, false, true, false)).To(Succeed()) expectValue("", "testKey", "updated_global") expectValue("", "testKey2", "new_global") expectValue("", "globalKey", "GLOBAL_VALUE") expectValue(testAppName, "testKey", "updated") expectValue(testAppName, "testKey2", "new") - Expect(SetMany(testAppName+"does_not_exist", vals, false)).ToNot(Succeed()) + Expect(CommandSet(testAppName+"does_not_exist", vals, false, true, false)).ToNot(Succeed()) } func TestConfigUnsetAll(t *testing.T) { @@ -88,12 +88,12 @@ func TestConfigUnsetAll(t *testing.T) { expectValue(testAppName, "testKey", "TESTING") expectValue("", "testKey", "GLOBAL_TESTING") - Expect(UnsetAll(testAppName, false)).To(Succeed()) + Expect(CommandClear(testAppName, false, true)).To(Succeed()) expectNoValue(testAppName, "testKey") expectNoValue(testAppName, "noKey") expectNoValue(testAppName, "globalKey") - Expect(UnsetAll(testAppName+"does-not-exist", false)).ToNot(Succeed()) + Expect(CommandClear(testAppName+"does-not-exist", false, true)).ToNot(Succeed()) } func TestConfigUnsetMany(t *testing.T) { @@ -105,15 +105,15 @@ func TestConfigUnsetMany(t *testing.T) { expectValue("", "testKey", "GLOBAL_TESTING") keys := []string{"testKey", "noKey"} - Expect(UnsetMany(testAppName, keys, false)).To(Succeed()) + Expect(CommandUnset(testAppName, keys, false, true)).To(Succeed()) expectNoValue(testAppName, "testKey") expectValue("", "testKey", "GLOBAL_TESTING") - Expect(UnsetMany(testAppName, keys, false)).To(Succeed()) + Expect(CommandUnset(testAppName, keys, false, true)).To(Succeed()) expectNoValue(testAppName, "testKey") expectNoValue(testAppName, "globalKey") - Expect(UnsetMany(testAppName+"does-not-exist", keys, false)).ToNot(Succeed()) + Expect(CommandUnset(testAppName+"does-not-exist", keys, false, true)).ToNot(Succeed()) } func TestEnvironmentLoading(t *testing.T) { From 97bbded5bbd8ef0aa60ea5ff2b266d884a7df2f7 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 28 May 2022 23:23:25 -0400 Subject: [PATCH 0189/4100] tests: set the PLUGIN_ENABLED_PATH for config tests --- plugins/config/config_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/config/config_test.go b/plugins/config/config_test.go index 63763eb66d7..6d335ac3a08 100644 --- a/plugins/config/config_test.go +++ b/plugins/config/config_test.go @@ -18,6 +18,10 @@ var ( globalConfigFile = strings.Join([]string{dokkuRoot, "ENV"}, "/") ) +func setupTests() (err error) { + return os.Setenv("PLUGIN_ENABLED_PATH", "/var/lib/dokku/plugins/enabled") +} + func setupTestApp() (err error) { Expect(os.MkdirAll(testAppDir, 0766)).To(Succeed()) b := []byte("export testKey=TESTING\n") @@ -38,6 +42,7 @@ func teardownTestApp() { func TestConfigGetWithDefault(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) Expect(GetWithDefault(testAppName, "unknownKey", "UNKNOWN")).To(Equal("UNKNOWN")) Expect(GetWithDefault(testAppName, "testKey", "testKey")).To(Equal("TESTING")) @@ -47,6 +52,7 @@ func TestConfigGetWithDefault(t *testing.T) { func TestConfigGet(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) defer teardownTestApp() @@ -59,6 +65,7 @@ func TestConfigGet(t *testing.T) { func TestConfigSetMany(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) defer teardownTestApp() @@ -82,6 +89,7 @@ func TestConfigSetMany(t *testing.T) { func TestConfigUnsetAll(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) defer teardownTestApp() @@ -98,6 +106,7 @@ func TestConfigUnsetAll(t *testing.T) { func TestConfigUnsetMany(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) defer teardownTestApp() @@ -118,6 +127,7 @@ func TestConfigUnsetMany(t *testing.T) { func TestEnvironmentLoading(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) defer teardownTestApp() @@ -142,6 +152,7 @@ func TestEnvironmentLoading(t *testing.T) { func TestInvalidKeys(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) defer teardownTestApp() @@ -158,6 +169,7 @@ func TestInvalidKeys(t *testing.T) { func TestInvalidEnvOnDisk(t *testing.T) { RegisterTestingT(t) + Expect(setupTests()).To(Succeed()) Expect(setupTestApp()).To(Succeed()) defer teardownTestApp() From cc9d76aa117cb07da809342693e9f538cdb83d6d Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 29 May 2022 00:00:26 -0400 Subject: [PATCH 0190/4100] fix: set globally --- plugins/config/config_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/config/config_test.go b/plugins/config/config_test.go index 6d335ac3a08..769132c80ac 100644 --- a/plugins/config/config_test.go +++ b/plugins/config/config_test.go @@ -77,7 +77,7 @@ func TestConfigSetMany(t *testing.T) { expectValue(testAppName, "testKey2", "new") vals = []string{"testKey=updated_global", "testKey2=new_global"} - Expect(CommandSet("", vals, false, true, false)).To(Succeed()) + Expect(CommandSet("", vals, true, true, false)).To(Succeed()) expectValue("", "testKey", "updated_global") expectValue("", "testKey2", "new_global") expectValue("", "globalKey", "GLOBAL_VALUE") From db4d8dba88b795d7bf263b2f3b1b702d2afa67ad Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 29 May 2022 11:28:34 -0400 Subject: [PATCH 0191/4100] refactor: consolidate app name verification into golang binary This change ensures we only have to change this logic once in order to get them to apply to both languages in the codebase. --- plugins/common/functions | 34 +---------------------------- plugins/common/log.go | 13 +++++++++++ plugins/common/src/common/common.go | 5 ++++- 3 files changed, 18 insertions(+), 34 deletions(-) diff --git a/plugins/common/functions b/plugins/common/functions index 0b4b0c0d0f3..98237caf503 100755 --- a/plugins/common/functions +++ b/plugins/common/functions @@ -250,43 +250,11 @@ is_valid_app_name_old() { verify_app_name() { declare desc="verify app name format and app existence" declare APP="$1" - export SSH_USER=${SSH_USER:=$USER} - export SSH_NAME=${NAME:="default"} - - local VALID_NEW=false - local VALID_OLD=false - if fn-is-valid-app-name "$APP" 2>/dev/null; then - VALID_NEW=true - fi - - if fn-is-valid-app-name-old "$APP" 2>/dev/null; then - VALID_OLD=true - fi - - if [[ "$VALID_NEW" == "false" ]] && [[ "$VALID_OLD" == "false" ]]; then - dokku_log_fail "App name must begin with lowercase alphanumeric character, and cannot include uppercase characters, colons, or underscores" - fi - - [[ ! -d "$DOKKU_ROOT/$APP" ]] && DOKKU_FAIL_EXIT_CODE=20 dokku_log_fail "App $APP does not exist" - - local user_auth_count=$(find "$PLUGIN_PATH"/enabled/*/user-auth-app 2>/dev/null | wc -l) - # no plugin trigger exists - if [[ $user_auth_count == 0 ]]; then - return 0 - fi - - # this plugin trigger exists in the core `20_events` plugin - if [[ "$user_auth_count" == 1 ]] && [[ -f "$PLUGIN_PATH"/enabled/20_events/user-auth-app ]]; then + if "$PLUGIN_CORE_AVAILABLE_PATH/common/common" --quiet verify-app-name "$APP"; then return 0 fi - if output="$(plugn trigger user-auth-app "$SSH_USER" "$SSH_NAME" "$@" "$APP")"; then - if [[ -n "$output" ]]; then - return 0 - fi - fi - DOKKU_FAIL_EXIT_CODE=20 dokku_log_fail "App $APP does not exist" } diff --git a/plugins/common/log.go b/plugins/common/log.go index d45f26e4851..dec3791b131 100644 --- a/plugins/common/log.go +++ b/plugins/common/log.go @@ -61,6 +61,19 @@ func LogFailWithError(err error) { os.Exit(1) } +// LogFailWithErrorQuiet is the failure log formatter (with quiet option) +// prints text to stderr and exits with the specified exit code +// The error message is not printed if DOKKU_QUIET_OUTPUT has any value +func LogFailWithErrorQuiet(err error) { + if os.Getenv("DOKKU_QUIET_OUTPUT") == "" { + fmt.Fprintln(os.Stderr, fmt.Sprintf(" ! %s", err.Error())) + } + if errExit, ok := err.(ErrWithExitCode); ok { + os.Exit(errExit.ExitCode()) + } + os.Exit(1) +} + // LogFailQuiet is the failure log formatter (with quiet option) // prints text to stderr and exits with status 1 func LogFailQuiet(text string) { diff --git a/plugins/common/src/common/common.go b/plugins/common/src/common/common.go index 432aa00e8de..4b4c078dc94 100644 --- a/plugins/common/src/common/common.go +++ b/plugins/common/src/common/common.go @@ -38,11 +38,14 @@ func main() { appName = "--global" } fmt.Print(common.GetAppScheduler(appName)) + case "verify-app-name": + appName := flag.Arg(1) + err = common.VerifyAppName(appName) default: err = fmt.Errorf("Invalid common command call: %v", cmd) } if err != nil { - common.LogFailQuiet(err.Error()) + common.LogFailWithErrorQuiet(err) } } From 863eead7fd4f28524ae52ef6e582b704b39c8069 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Sun, 29 May 2022 21:22:10 +0500 Subject: [PATCH 0192/4100] added asciicasts --- docs/home.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/home.html b/docs/home.html index 45ea80e21a8..91f0f3b2e5e 100644 --- a/docs/home.html +++ b/docs/home.html @@ -234,13 +234,13 @@

Getting started is extremely easy

@@ -722,8 +722,8 @@

Support Us

const parentDiv = document.getElementById(parentId); var script = document.createElement('script'); script.setAttribute('data-autoplay', true); - script.src = 'https://asciinema.org/a/14.js'; - script.id = "asciicast-14"; + script.src = `https://asciinema.org/a/${asciiId}.js`; + script.id = `asciicast-${asciiId}`; script.type = 'text/javascript'; const imageTag = parentDiv.lastElementChild; parentDiv.style.height = `${parentDiv.clientHeight}px`; From 37036ec2fa587cf6b59e949a07f03cab521d1e5d Mon Sep 17 00:00:00 2001 From: Dokku Bot Date: Sun, 29 May 2022 19:12:03 +0000 Subject: [PATCH 0193/4100] Release 0.27.5 # History ## 0.27.5 Install/update via the bootstrap script: ```shell wget https://raw.githubusercontent.com/dokku/dokku/v0.27.5/bootstrap.sh sudo DOKKU_TAG=v0.27.5 bash bootstrap.sh ``` ### Bug Fixes - #5183: @josegonzalez Filter apps when verifying app names - #5199: @josegonzalez Revert "fix: Vector fails to start container due to --watch-config flag" - #5197: @holamendi fix: Vector fails to start container due to --watch-config flag - #5192: @josegonzalez Confirm installation of universe packages when installing on ubuntu - #5193: @josegonzalez Force-set correct permissions on env files - #5181: @josegonzalez Ensure we default SSH_NAME to NAME when filtering apps ### New Features - #5196: @josegonzalez Disable herokuish usage on both armhf and arm64 platforms - #5194: @josegonzalez Upgrade base Dockerfile image to phusion/baseimage:focal-1.2.0 ### Other - #5200: @dependabot[bot] chore(deps): bump rack from 2.2.3 to 2.2.3.1 in /tests/apps/ruby - #5198: @dependabot[bot] chore(deps): bump grunt from 1.5.2 to 1.5.3 in /tests/apps/multi - #5187: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 216 to 217 in /tests/apps/php --- HISTORY.md | 29 +++++++++++ README.md | 4 +- debian/control | 2 +- docs/advanced-usage/plugin-management.md | 58 +++++++++++----------- docs/assets/favicons/browserconfig.xml | 8 +-- docs/assets/favicons/manifest.json | 12 ++--- docs/assets/style.css | 4 +- docs/assets/versions.json | 2 +- docs/development/release-process.md | 2 +- docs/getting-started/install/docker.md | 4 +- docs/getting-started/installation.md | 4 +- docs/home.html | 40 +++++++-------- docs/template.html | 36 +++++++------- plugins/00_dokku-standard/plugin.toml | 2 +- plugins/20_events/plugin.toml | 2 +- plugins/app-json/plugin.toml | 2 +- plugins/apps/plugin.toml | 2 +- plugins/builder-dockerfile/plugin.toml | 2 +- plugins/builder-herokuish/plugin.toml | 2 +- plugins/builder-null/plugin.toml | 2 +- plugins/builder-pack/plugin.toml | 2 +- plugins/builder/plugin.toml | 2 +- plugins/buildpacks/plugin.toml | 2 +- plugins/certs/plugin.toml | 2 +- plugins/checks/plugin.toml | 2 +- plugins/common/plugin.toml | 2 +- plugins/config/plugin.toml | 2 +- plugins/cron/plugin.toml | 2 +- plugins/docker-options/plugin.toml | 2 +- plugins/domains/plugin.toml | 2 +- plugins/enter/plugin.toml | 2 +- plugins/git/plugin.toml | 2 +- plugins/logs/plugin.toml | 2 +- plugins/network/plugin.toml | 2 +- plugins/nginx-vhosts/plugin.toml | 2 +- plugins/plugin/plugin.toml | 2 +- plugins/proxy/plugin.toml | 2 +- plugins/ps/plugin.toml | 2 +- plugins/registry/plugin.toml | 2 +- plugins/repo/plugin.toml | 2 +- plugins/resource/plugin.toml | 2 +- plugins/run/plugin.toml | 2 +- plugins/scheduler-docker-local/plugin.toml | 2 +- plugins/scheduler-null/plugin.toml | 2 +- plugins/scheduler/plugin.toml | 2 +- plugins/shell/plugin.toml | 2 +- plugins/ssh-keys/plugin.toml | 2 +- plugins/storage/plugin.toml | 2 +- plugins/trace/plugin.toml | 2 +- 49 files changed, 153 insertions(+), 124 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index b9c8ff80483..9e21898f473 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,34 @@ # History +## 0.27.5 + +Install/update via the bootstrap script: + +```shell +wget https://raw.githubusercontent.com/dokku/dokku/v0.27.5/bootstrap.sh +sudo DOKKU_TAG=v0.27.5 bash bootstrap.sh +``` + +### Bug Fixes + +- #5183: @josegonzalez Filter apps when verifying app names +- #5199: @josegonzalez Revert "fix: Vector fails to start container due to --watch-config flag" +- #5197: @holamendi fix: Vector fails to start container due to --watch-config flag +- #5192: @josegonzalez Confirm installation of universe packages when installing on ubuntu +- #5193: @josegonzalez Force-set correct permissions on env files +- #5181: @josegonzalez Ensure we default SSH_NAME to NAME when filtering apps + +### New Features + +- #5196: @josegonzalez Disable herokuish usage on both armhf and arm64 platforms +- #5194: @josegonzalez Upgrade base Dockerfile image to phusion/baseimage:focal-1.2.0 + +### Other + +- #5200: @dependabot[bot] chore(deps): bump rack from 2.2.3 to 2.2.3.1 in /tests/apps/ruby +- #5198: @dependabot[bot] chore(deps): bump grunt from 1.5.2 to 1.5.3 in /tests/apps/multi +- #5187: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 216 to 217 in /tests/apps/php + ## 0.27.4 Install/update via the bootstrap script: diff --git a/README.md b/README.md index 7913e9591b6..003c835afb9 100644 --- a/README.md +++ b/README.md @@ -87,8 +87,8 @@ Otherwise, you will need to import the keypair manually after installation using To install the latest stable release, run the following commands as a user who has access to `sudo`: ```shell -wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh -sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh +wget https://raw.githubusercontent.com/dokku/dokku/v0.27.5/bootstrap.sh +sudo DOKKU_TAG=v0.27.5 bash bootstrap.sh ``` You can then proceed to configure your server domain (via `dokku domains:set-global`) and user access (via `dokku ssh-keys:add`) to complete the installation. diff --git a/debian/control b/debian/control index e4505a38e2c..bace8b72d57 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Package: dokku -Version: 0.27.4 +Version: 0.27.5 Section: web Priority: optional Architecture: amd64 diff --git a/docs/advanced-usage/plugin-management.md b/docs/advanced-usage/plugin-management.md index 62b0429069a..3bb5d428ee0 100644 --- a/docs/advanced-usage/plugin-management.md +++ b/docs/advanced-usage/plugin-management.md @@ -35,35 +35,35 @@ dokku plugin:list ``` plugn: dev - 00_dokku-standard 0.27.4 enabled dokku core standard plugin - 20_events 0.27.4 enabled dokku core events logging plugin - app-json 0.27.4 enabled dokku core app-json plugin - apps 0.27.4 enabled dokku core apps plugin - build-env 0.27.4 enabled dokku core build-env plugin - buildpacks 0.27.4 enabled dokku core buildpacks plugin - certs 0.27.4 enabled dokku core certificate management plugin - checks 0.27.4 enabled dokku core checks plugin - common 0.27.4 enabled dokku core common plugin - config 0.27.4 enabled dokku core config plugin - docker-options 0.27.4 enabled dokku core docker-options plugin - domains 0.27.4 enabled dokku core domains plugin - enter 0.27.4 enabled dokku core enter plugin - git 0.27.4 enabled dokku core git plugin - logs 0.27.4 enabled dokku core logs plugin - network 0.27.4 enabled dokku core network plugin - nginx-vhosts 0.27.4 enabled dokku core nginx-vhosts plugin - plugin 0.27.4 enabled dokku core plugin plugin - proxy 0.27.4 enabled dokku core proxy plugin - ps 0.27.4 enabled dokku core ps plugin - repo 0.27.4 enabled dokku core repo plugin - resource 0.27.4 enabled dokku core resource plugin - scheduler-docker-local 0.27.4 enabled dokku core scheduler-docker-local plugin - shell 0.27.4 enabled dokku core shell plugin - ssh-keys 0.27.4 enabled dokku core ssh-keys plugin - storage 0.27.4 enabled dokku core storage plugin - tags 0.27.4 enabled dokku core tags plugin - tar 0.27.4 enabled dokku core tar plugin - trace 0.27.4 enabled dokku core trace plugin + 00_dokku-standard 0.27.5 enabled dokku core standard plugin + 20_events 0.27.5 enabled dokku core events logging plugin + app-json 0.27.5 enabled dokku core app-json plugin + apps 0.27.5 enabled dokku core apps plugin + build-env 0.27.5 enabled dokku core build-env plugin + buildpacks 0.27.5 enabled dokku core buildpacks plugin + certs 0.27.5 enabled dokku core certificate management plugin + checks 0.27.5 enabled dokku core checks plugin + common 0.27.5 enabled dokku core common plugin + config 0.27.5 enabled dokku core config plugin + docker-options 0.27.5 enabled dokku core docker-options plugin + domains 0.27.5 enabled dokku core domains plugin + enter 0.27.5 enabled dokku core enter plugin + git 0.27.5 enabled dokku core git plugin + logs 0.27.5 enabled dokku core logs plugin + network 0.27.5 enabled dokku core network plugin + nginx-vhosts 0.27.5 enabled dokku core nginx-vhosts plugin + plugin 0.27.5 enabled dokku core plugin plugin + proxy 0.27.5 enabled dokku core proxy plugin + ps 0.27.5 enabled dokku core ps plugin + repo 0.27.5 enabled dokku core repo plugin + resource 0.27.5 enabled dokku core resource plugin + scheduler-docker-local 0.27.5 enabled dokku core scheduler-docker-local plugin + shell 0.27.5 enabled dokku core shell plugin + ssh-keys 0.27.5 enabled dokku core ssh-keys plugin + storage 0.27.5 enabled dokku core storage plugin + tags 0.27.5 enabled dokku core tags plugin + tar 0.27.5 enabled dokku core tar plugin + trace 0.27.5 enabled dokku core trace plugin ``` > Warning: All plugin commands other than `plugin:list` and `plugin:help` require sudo access and must be run directly from the Dokku server. diff --git a/docs/assets/favicons/browserconfig.xml b/docs/assets/favicons/browserconfig.xml index 15aa0f995f4..506727cafd6 100644 --- a/docs/assets/favicons/browserconfig.xml +++ b/docs/assets/favicons/browserconfig.xml @@ -2,10 +2,10 @@ - - - - + + + + #da532c diff --git a/docs/assets/favicons/manifest.json b/docs/assets/favicons/manifest.json index 7eccf663965..d4cae553ed7 100644 --- a/docs/assets/favicons/manifest.json +++ b/docs/assets/favicons/manifest.json @@ -2,37 +2,37 @@ "name": "Dokku", "icons": [ { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.4\/docs\/assets\/favicons\/android-chrome-36x36.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.5\/docs\/assets\/favicons\/android-chrome-36x36.png", "sizes": "36x36", "type": "image\/png", "density": "0.75" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.4\/docs\/assets\/favicons\/android-chrome-48x48.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.5\/docs\/assets\/favicons\/android-chrome-48x48.png", "sizes": "48x48", "type": "image\/png", "density": "1.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.4\/docs\/assets\/favicons\/android-chrome-72x72.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.5\/docs\/assets\/favicons\/android-chrome-72x72.png", "sizes": "72x72", "type": "image\/png", "density": "1.5" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.4\/docs\/assets\/favicons\/android-chrome-96x96.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.5\/docs\/assets\/favicons\/android-chrome-96x96.png", "sizes": "96x96", "type": "image\/png", "density": "2.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.4\/docs\/assets\/favicons\/android-chrome-144x144.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.5\/docs\/assets\/favicons\/android-chrome-144x144.png", "sizes": "144x144", "type": "image\/png", "density": "3.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.4\/docs\/assets\/favicons\/android-chrome-192x192.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.27.5\/docs\/assets\/favicons\/android-chrome-192x192.png", "sizes": "192x192", "type": "image\/png", "density": "4.0" diff --git a/docs/assets/style.css b/docs/assets/style.css index 995d611ddef..14cc4822cb3 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -42,13 +42,13 @@ h1 { font-size: 1.6em; } .header .navbar-brand a { - background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.4/docs/assets/dokku.png); + background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.5/docs/assets/dokku.png); text-indent: 40px; } .blurb { color: #424242; background-color: #ededed; - background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.4/docs/assets/gplaypattern.png); + background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.5/docs/assets/gplaypattern.png); padding: 45px 0; text-align: center; } diff --git a/docs/assets/versions.json b/docs/assets/versions.json index 7784b165c6b..dd671dbd9b0 100644 --- a/docs/assets/versions.json +++ b/docs/assets/versions.json @@ -24,6 +24,6 @@ "0.24.10", "0.25.7", "0.26.8", - "0.27.4" + "0.27.5" ] } diff --git a/docs/development/release-process.md b/docs/development/release-process.md index dce979feecb..a9a31681420 100644 --- a/docs/development/release-process.md +++ b/docs/development/release-process.md @@ -29,7 +29,7 @@ The workflow looks like this: ```shell # having dokku-arch in ../dokku-arch vagrant up build-arch -# wait for "==> build-arch: ==> Finished making: dokku 0.27.4-2 (Mon Feb 22 23:20:37 CET 2016)" +# wait for "==> build-arch: ==> Finished making: dokku 0.27.5-2 (Mon Feb 22 23:20:37 CET 2016)" cd ../dokku-arch git add PKGBUILD .SRCINFO git commit -m 'Update to dokku 0.9.9' diff --git a/docs/getting-started/install/docker.md b/docs/getting-started/install/docker.md index fcfd6ea173c..006f8c4b337 100644 --- a/docs/getting-started/install/docker.md +++ b/docs/getting-started/install/docker.md @@ -3,7 +3,7 @@ Pull the dokku/dokku image: ```shell -docker pull dokku/dokku:0.27.4 +docker pull dokku/dokku:0.27.5 ``` Next, run the image. @@ -18,7 +18,7 @@ docker container run \ --publish 8443:443 \ --volume /var/lib/dokku:/mnt/dokku \ --volume /var/run/docker.sock:/var/run/docker.sock \ - dokku/dokku:0.27.4 + dokku/dokku:0.27.5 ``` The above command will start a new docker container that is ready when a message similar to `Runit started as PID 12345` appears. diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index c8c78a58057..0d787a9ab04 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -39,8 +39,8 @@ To install the latest stable version of Dokku, you can run the following shell c ```shell # for debian systems, installs Dokku via apt-get -wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh; -sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh +wget https://raw.githubusercontent.com/dokku/dokku/v0.27.5/bootstrap.sh; +sudo DOKKU_TAG=v0.27.5 bash bootstrap.sh ``` The installation process takes about 5-10 minutes, depending upon internet connection speed. diff --git a/docs/home.html b/docs/home.html index b56e8fe4929..f8d2a33eb87 100644 --- a/docs/home.html +++ b/docs/home.html @@ -10,30 +10,30 @@ Dokku - The smallest PaaS implementation you've ever seen - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

The smallest PaaS implementation you've ever seen

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.5/bootstrap.sh

$ - sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh + sudo DOKKU_TAG=v0.27.5 bash bootstrap.sh

 # Configure your server domain via `dokku domains:set-global` diff --git a/docs/template.html b/docs/template.html index 5fa7f1b1704..1eace7df030 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

The smallest PaaS implementation you've ever seen

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.5/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.6/bootstrap.sh

$ - sudo DOKKU_TAG=v0.27.5 bash bootstrap.sh + sudo DOKKU_TAG=v0.27.6 bash bootstrap.sh

 # Configure your server domain via `dokku domains:set-global` diff --git a/docs/template.html b/docs/template.html index 1eace7df030..2b64fbb48f7 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

The smallest PaaS implementation you've ever seen

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.6/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.7/bootstrap.sh

$ - sudo DOKKU_TAG=v0.27.6 bash bootstrap.sh + sudo DOKKU_TAG=v0.27.7 bash bootstrap.sh

 # Configure your server domain via `dokku domains:set-global` diff --git a/docs/template.html b/docs/template.html index 2b64fbb48f7..cd74c205609 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

The smallest PaaS implementation you've ever seen

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.7/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.8/bootstrap.sh

$ - sudo DOKKU_TAG=v0.27.7 bash bootstrap.sh + sudo DOKKU_TAG=v0.27.8 bash bootstrap.sh

 # Configure your server domain via `dokku domains:set-global` diff --git a/docs/template.html b/docs/template.html index cd74c205609..7738a72f39c 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + + + + +

+ + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Please log into your Droplet with SSH to configure the Dokku installation.

+

See the Dokku 1-Click Quickstart guide for detailed assistance.

+ Quickstart Guide +
+ + + diff --git a/contrib/images/digitalocean/packer.pkr.hcl b/contrib/images/digitalocean/packer.pkr.hcl index 9321a3fb40b..94169f3d5d2 100644 --- a/contrib/images/digitalocean/packer.pkr.hcl +++ b/contrib/images/digitalocean/packer.pkr.hcl @@ -42,6 +42,16 @@ build { destination = "/etc/update-motd.d/99-one-click" } + provisioner "file" { + source = "${path.root}/files/etc/nginx/sites-available/digitalocean" + destination = "/etc/nginx/sites-available/digitalocean" + } + + provisioner "file" { + source = "${path.root}/files/var/www/html/index.html" + destination = "/var/www/html/index.html" + } + provisioner "file" { source = "${path.root}/files/var/lib/cloud/scripts/per-once/001_setup" destination = "/var/lib/cloud/scripts/per-once/001_setup" From d40ee363483d1e3136d906cd508c36fd9942e12a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:07:03 -0500 Subject: [PATCH 0761/4100] feat: update all base packages --- contrib/images/digitalocean/in_parts/011-docker | 3 +++ 1 file changed, 3 insertions(+) diff --git a/contrib/images/digitalocean/in_parts/011-docker b/contrib/images/digitalocean/in_parts/011-docker index 31942d492cf..6bb7c6b6682 100755 --- a/contrib/images/digitalocean/in_parts/011-docker +++ b/contrib/images/digitalocean/in_parts/011-docker @@ -15,6 +15,9 @@ pkgs=(apt-transport-https echo '--> Updating apt repositories' apt-get -qqy update +echo '--> Updating all packages' +apt-get -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' full-upgrade + echo "--> Installing basic dependencies: ${pkgs[*]}" apt-get -qqy install "${pkgs[@]}" From 11743afbf0b570bd272093be4d7c6f4cdf11f89c Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:07:25 -0500 Subject: [PATCH 0762/4100] chore: drop ability to set a custom base image We'll only ever test against the latest LTS. --- contrib/images/digitalocean/packer.pkr.hcl | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/contrib/images/digitalocean/packer.pkr.hcl b/contrib/images/digitalocean/packer.pkr.hcl index 94169f3d5d2..bf8c487e624 100644 --- a/contrib/images/digitalocean/packer.pkr.hcl +++ b/contrib/images/digitalocean/packer.pkr.hcl @@ -7,17 +7,12 @@ packer { } } -variable "source_image" { - type = string - default = "ubuntu-22-04-x64" -} - variable "dokku_version" { type = string } source "digitalocean" "ubuntu" { - image = var.source_image + image = "ubuntu-22-04-x64" region = "nyc1" size = "s-1vcpu-512mb-10gb" ssh_username = "root" From b2fbefb6d3bbb3098a5e871a83ce5c7db3f66919 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:07:58 -0500 Subject: [PATCH 0763/4100] refactor: remove use of format function --- contrib/images/digitalocean/packer.pkr.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/images/digitalocean/packer.pkr.hcl b/contrib/images/digitalocean/packer.pkr.hcl index bf8c487e624..8aaf94fb352 100644 --- a/contrib/images/digitalocean/packer.pkr.hcl +++ b/contrib/images/digitalocean/packer.pkr.hcl @@ -16,7 +16,7 @@ source "digitalocean" "ubuntu" { region = "nyc1" size = "s-1vcpu-512mb-10gb" ssh_username = "root" - snapshot_name = format("dokku-%s-%s", var.dokku_version, formatdate("YYYYMMDDhhmm", timestamp())) + snapshot_name = "dokku-${var.dokku_version}-snapshot-{{timestamp}}" } build { From 1eda16d1865198118f370e9d84cf61cb0de2a3ee Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:08:49 -0500 Subject: [PATCH 0764/4100] refactor: simplify provisioning --- contrib/images/digitalocean/packer.pkr.hcl | 72 ++++++---------------- 1 file changed, 20 insertions(+), 52 deletions(-) diff --git a/contrib/images/digitalocean/packer.pkr.hcl b/contrib/images/digitalocean/packer.pkr.hcl index 8aaf94fb352..87e495b81b9 100644 --- a/contrib/images/digitalocean/packer.pkr.hcl +++ b/contrib/images/digitalocean/packer.pkr.hcl @@ -33,66 +33,34 @@ build { } provisioner "file" { - source = "${path.root}/files/etc/update-motd.d/99-one-click" - destination = "/etc/update-motd.d/99-one-click" + source = "${path.root}/files/etc/" + destination = "/etc/" } provisioner "file" { - source = "${path.root}/files/etc/nginx/sites-available/digitalocean" - destination = "/etc/nginx/sites-available/digitalocean" - } - - provisioner "file" { - source = "${path.root}/files/var/www/html/index.html" - destination = "/var/www/html/index.html" - } - - provisioner "file" { - source = "${path.root}/files/var/lib/cloud/scripts/per-once/001_setup" - destination = "/var/lib/cloud/scripts/per-once/001_setup" - } - - provisioner "file" { - source = "${path.root}/files/var/lib/cloud/scripts/per-once/002_enable_ssh" - destination = "/var/lib/cloud/scripts/per-once/002_enable_ssh" - } - - provisioner "shell" { - script = "${path.root}/in_parts/011-docker" - } - - provisioner "shell" { - script = "${path.root}/in_parts/011-ssh-message" - } - - provisioner "shell" { - environment_vars = [ - "DOKKU_VERSION=${var.dokku_version}" - ] - script = "${path.root}/in_parts/012-dokku-packages" - } - - provisioner "shell" { - script = "${path.root}/in_parts/012-grub-opts" - } - - provisioner "shell" { - script = "${path.root}/in_parts/014-docker-dns" - } - - provisioner "shell" { - script = "${path.root}/in_parts/014-ufw-rules" + source = "${path.root}/files/var/" + destination = "/var/" } provisioner "shell" { - environment_vars = [ + "environment_vars": [ + "application_name={{user `application_name`}}", + "application_version={{user `application_version`}}", "DOKKU_VERSION=${var.dokku_version}" + "DEBIAN_FRONTEND=noninteractive", + "LC_ALL=C", + "LANG=en_US.UTF-8", + "LC_CTYPE=en_US.UTF-8" + ], + scripts = [ + "${path.root}/in_parts/011-docker", + "${path.root}/in_parts/011-ssh-message", + "${path.root}/in_parts/012-dokku-packages", + "${path.root}/in_parts/012-grub-opts", + "${path.root}/in_parts/014-docker-dns", + "${path.root}/in_parts/014-ufw-rules", + "${path.root}/in_parts/099-application_tag", ] - script = "${path.root}/in_parts/099-application_tag" - } - - provisioner "shell" { - script = "${path.root}/in_parts/099-cleanup" } post-processor "manifest" { From 55c3b73f35e0f42c3c51ab42a0cc4280627ee826 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:09:02 -0500 Subject: [PATCH 0765/4100] feat: run image check at the end of the build --- .../digitalocean/in_parts/100-image-check | 627 ++++++++++++++++++ contrib/images/digitalocean/packer.pkr.hcl | 1 + 2 files changed, 628 insertions(+) create mode 100755 contrib/images/digitalocean/in_parts/100-image-check diff --git a/contrib/images/digitalocean/in_parts/100-image-check b/contrib/images/digitalocean/in_parts/100-image-check new file mode 100755 index 00000000000..e1cf432e554 --- /dev/null +++ b/contrib/images/digitalocean/in_parts/100-image-check @@ -0,0 +1,627 @@ +#!/bin/bash + +# DigitalOcean Marketplace Image Validation Tool +# © 2021-2022 DigitalOcean LLC. +# This code is licensed under Apache 2.0 license (see LICENSE.md for details) + +VERSION="v. 1.8.1" +RUNDATE=$(date) + +# Script should be run with SUDO +if [ "$EUID" -ne 0 ]; then + echo "[Error] - This script must be run with sudo or as the root user." + exit 1 +fi + +STATUS=0 +PASS=0 +WARN=0 +FAIL=0 + +# $1 == command to check for +# returns: 0 == true, 1 == false +cmdExists() { + if command -v "$1" >/dev/null 2>&1; then + return 0 + else + return 1 + fi +} + +function getDistro { + if [ -f /etc/os-release ]; then + # freedesktop.org and systemd + # shellcheck disable=SC1091 + . /etc/os-release + OS=$NAME + VER=$VERSION_ID + elif type lsb_release >/dev/null 2>&1; then + # linuxbase.org + OS=$(lsb_release -si) + VER=$(lsb_release -sr) + elif [ -f /etc/lsb-release ]; then + # For some versions of Debian/Ubuntu without lsb_release command + # shellcheck disable=SC1091 + . /etc/lsb-release + OS=$DISTRIB_ID + VER=$DISTRIB_RELEASE + elif [ -f /etc/debian_version ]; then + # Older Debian/Ubuntu/etc. + OS=Debian + VER=$(cat /etc/debian_version) + elif [ -f /etc/SuSe-release ]; then + # Older SuSE/etc. + : + elif [ -f /etc/redhat-release ]; then + # Older Red Hat, CentOS, etc. + VER=$(cut -d" " -f3 ", also works for BSD, etc. + OS=$(uname -s) + VER=$(uname -r) + fi +} +function loadPasswords { + SHADOW=$(cat /etc/shadow) +} + +function checkAgent { + # Check for the presence of the DO directory in the filesystem + if [ -d /opt/digitalocean ]; then + echo -en "\e[41m[FAIL]\e[0m DigitalOcean directory detected.\n" + ((FAIL++)) + STATUS=2 + if [[ $OS == "CentOS Linux" ]] || [[ $OS == "CentOS Stream" ]] || [[ $OS == "Rocky Linux" ]] || [[ $OS == "AlmaLinux" ]]; then + echo "To uninstall the agent: 'sudo yum remove droplet-agent'" + echo "To remove the DO directory: 'find /opt/digitalocean/ -type d -empty -delete'" + elif [[ $OS == "Ubuntu" ]] || [[ $OS == "Debian" ]]; then + echo "To uninstall the agent and remove the DO directory: 'sudo apt-get purge droplet-agent'" + fi + else + echo -en "\e[32m[PASS]\e[0m DigitalOcean Monitoring agent was not found\n" + ((PASS++)) + fi +} + +function checkLogs { + cp_ignore="/var/log/cpanel-install.log" + echo -en "\nChecking for log files in /var/log\n\n" + # Check if there are log archives or log files that have not been recently cleared. + for f in /var/log/*-????????; do + [[ -e $f ]] || break + if [ "${f}" != "${cp_ignore}" ]; then + echo -en "\e[93m[WARN]\e[0m Log archive ${f} found; Contents:\n" + cat "${f}" + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + fi + done + for f in /var/log/*.[0-9]; do + [[ -e $f ]] || break + echo -en "\e[93m[WARN]\e[0m Log archive ${f} found; Contents:\n" + cat "${f}" + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + done + for f in /var/log/*.log; do + [[ -e $f ]] || break + if [[ "${f}" = '/var/log/lfd.log' && "$(grep -E -v '/var/log/messages has been reset| Watching /var/log/messages' "${f}" | wc -c)" -gt 50 ]]; then + if [ "${f}" != "${cp_ignore}" ]; then + echo -en "\e[93m[WARN]\e[0m un-cleared log file, ${f} found; Contents:\n" + cat "${f}" + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + fi + elif [[ "${f}" != '/var/log/lfd.log' && "$(wc -c <"${f}")" -gt 50 ]]; then + if [ "${f}" != "${cp_ignore}" ]; then + echo -en "\e[93m[WARN]\e[0m un-cleared log file, ${f} found; Contents:\n" + cat "${f}" + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + fi + fi + done +} +function checkTMP { + # Check the /tmp directory to ensure it is empty. Warn on any files found. + return 1 +} +function checkRoot { + user="root" + uhome="/root" + for usr in $SHADOW; do + IFS=':' read -r -a u <<<"$usr" + if [[ "${u[0]}" == "${user}" ]]; then + if [[ ${u[1]} == "!" ]] || [[ ${u[1]} == "!!" ]] || [[ ${u[1]} == "*" ]]; then + echo -en "\e[32m[PASS]\e[0m User ${user} has no password set.\n" + ((PASS++)) + else + echo -en "\e[41m[FAIL]\e[0m User ${user} has a password set on their account.\n" + ((FAIL++)) + STATUS=2 + fi + fi + done + if [ -d ${uhome}/ ]; then + if [ -d ${uhome}/.ssh/ ]; then + if ls ${uhome}/.ssh/* >/dev/null 2>&1; then + for key in "${uhome}"/.ssh/*; do + if [ "${key}" == "${uhome}/.ssh/authorized_keys" ]; then + + if [ "$(wc -c <"${key}")" -gt 50 ]; then + echo -en "\e[41m[FAIL]\e[0m User \e[1m${user}\e[0m has a populated authorized_keys file in \e[93m${key}\e[0m\n" + akey=$(cat "${key}") + echo "File Contents:" + echo "$akey" + echo "--------------" + ((FAIL++)) + STATUS=2 + fi + elif [ "${key}" == "${uhome}/.ssh/id_rsa" ]; then + if [ "$(wc -c <"${key}")" -gt 0 ]; then + echo -en "\e[41m[FAIL]\e[0m User \e[1m${user}\e[0m has a private key file in \e[93m${key}\e[0m\n" + akey=$(cat "${key}") + echo "File Contents:" + echo "$akey" + echo "--------------" + ((FAIL++)) + STATUS=2 + else + echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has empty private key file in \e[93m${key}\e[0m\n" + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + fi + elif [ "${key}" != "${uhome}/.ssh/known_hosts" ]; then + echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has a file in their .ssh directory at \e[93m${key}\e[0m\n" + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + else + if [ "$(wc -c <"${key}")" -gt 50 ]; then + echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has a populated known_hosts file in \e[93m${key}\e[0m\n" + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + fi + fi + done + else + echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m has no SSH keys present\n" + fi + else + echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m does not have an .ssh directory\n" + fi + if [ -f /root/.bash_history ]; then + + BH_S=$(wc -c = 1000 && $1 != "nobody" {print $1}' /dev/null 2>&1; then + for key in "${uhome}"/.ssh/*; do + if [ "${key}" == "${uhome}/.ssh/authorized_keys" ]; then + if [ "$(wc -c <"${key}")" -gt 50 ]; then + echo -en "\e[41m[FAIL]\e[0m User \e[1m${user}\e[0m has a populated authorized_keys file in \e[93m${key}\e[0m\n" + akey=$(cat "${key}") + echo "File Contents:" + echo "$akey" + echo "--------------" + ((FAIL++)) + STATUS=2 + fi + elif [ "${key}" == "${uhome}/.ssh/id_rsa" ]; then + if [ "$(wc -c <"${key}")" -gt 0 ]; then + echo -en "\e[41m[FAIL]\e[0m User \e[1m${user}\e[0m has a private key file in \e[93m${key}\e[0m\n" + akey=$(cat "${key}") + echo "File Contents:" + echo "$akey" + echo "--------------" + ((FAIL++)) + STATUS=2 + else + echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has empty private key file in \e[93m${key}\e[0m\n" + # shellcheck disable=SC2030 + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + fi + elif [ "${key}" != "${uhome}/.ssh/known_hosts" ]; then + + echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has a file in their .ssh directory named \e[93m${key}\e[0m\n" + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + + else + if [ "$(wc -c <"${key}")" -gt 50 ]; then + echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has a known_hosts file in \e[93m${key}\e[0m\n" + ((WARN++)) + if [[ $STATUS != 2 ]]; then + STATUS=1 + fi + fi + fi + + done + else + echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m has no SSH keys present\n" + fi + else + echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m does not have an .ssh directory\n" + fi + else + echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m does not have a directory in /home\n" + fi + + # Check for an uncleared .bash_history for this user + if [ -f "${uhome}/.bash_history" ]; then + BH_S=$(wc -c <"${uhome}/.bash_history") + + if [[ $BH_S -lt 200 ]]; then + echo -en "\e[32m[PASS]\e[0m ${user}'s Bash History appears to have been cleared\n" + ((PASS++)) + else + echo -en "\e[41m[FAIL]\e[0m ${user}'s Bash History should be cleared to prevent sensitive information from leaking\n" + ((FAIL++)) + STATUS=2 + + fi + echo -en "\n\n" + fi + fi + done +} +function checkFirewall { + + if [[ $OS == "Ubuntu" ]]; then + fw="ufw" + ufwa=$(ufw status | head -1 | sed -e "s/^Status:\ //") + if [[ $ufwa == "active" ]]; then + FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n" + # shellcheck disable=SC2031 + ((PASS++)) + else + FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n" + # shellcheck disable=SC2031 + ((WARN++)) + fi + elif [[ $OS == "CentOS Linux" ]] || [[ $OS == "CentOS Stream" ]] || [[ $OS == "Rocky Linux" ]] || [[ $OS == "AlmaLinux" ]]; then + if [ -f /usr/lib/systemd/system/csf.service ]; then + fw="csf" + if [[ $(systemctl status $fw >/dev/null 2>&1) ]]; then + + FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n" + ((PASS++)) + elif cmdExists "firewall-cmd"; then + if [[ $(systemctl is-active firewalld >/dev/null 2>&1 && echo 1 || echo 0) ]]; then + FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n" + ((PASS++)) + else + FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n" + ((WARN++)) + fi + else + FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n" + ((WARN++)) + fi + else + fw="firewalld" + if [[ $(systemctl is-active firewalld >/dev/null 2>&1 && echo 1 || echo 0) ]]; then + FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n" + ((PASS++)) + else + FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n" + ((WARN++)) + fi + fi + elif [[ "$OS" =~ Debian.* ]]; then + # user could be using a number of different services for managing their firewall + # we will check some of the most common + if cmdExists 'ufw'; then + fw="ufw" + ufwa=$(ufw status | head -1 | sed -e "s/^Status:\ //") + if [[ $ufwa == "active" ]]; then + FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n" + ((PASS++)) + else + FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n" + ((WARN++)) + fi + elif cmdExists "firewall-cmd"; then + fw="firewalld" + if [[ $(systemctl is-active --quiet $fw) ]]; then + FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n" + ((PASS++)) + else + FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n" + ((WARN++)) + fi + else + # user could be using vanilla iptables, check if kernel module is loaded + fw="iptables" + if lsmod | grep -q '^ip_tables' 2>/dev/null; then + FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n" + ((PASS++)) + else + FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n" + ((WARN++)) + fi + fi + fi + +} +function checkUpdates { + if [[ $OS == "Ubuntu" ]] || [[ "$OS" =~ Debian.* ]]; then + # Ensure /tmp exists and has the proper permissions before + # checking for security updates + # https://github.com/digitalocean/marketplace-partners/issues/94 + if [[ ! -d /tmp ]]; then + mkdir /tmp + fi + chmod 1777 /tmp + + echo -en "\nUpdating apt package database to check for security updates, this may take a minute...\n\n" + apt-get -y update >/dev/null + + uc=$(apt-get --just-print upgrade | grep -i "security" -c) + if [[ $uc -gt 0 ]]; then + update_count=$((uc / 2)) + else + update_count=0 + fi + + if [[ $update_count -gt 0 ]]; then + echo -en "\e[41m[FAIL]\e[0m There are ${update_count} security updates available for this image that have not been installed.\n" + echo -en + echo -en "Here is a list of the security updates that are not installed:\n" + sleep 2 + apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++' + echo -en + # shellcheck disable=SC2031 + ((FAIL++)) + STATUS=2 + else + echo -en "\e[32m[PASS]\e[0m There are no pending security updates for this image.\n\n" + ((PASS++)) + fi + elif [[ $OS == "CentOS Linux" ]] || [[ $OS == "CentOS Stream" ]] || [[ $OS == "Rocky Linux" ]] || [[ $OS == "AlmaLinux" ]]; then + echo -en "\nChecking for available security updates, this may take a minute...\n\n" + + update_count=$(yum check-update --security --quiet | wc -l) + if [[ $update_count -gt 0 ]]; then + echo -en "\e[41m[FAIL]\e[0m There are ${update_count} security updates available for this image that have not been installed.\n" + ((FAIL++)) + STATUS=2 + else + echo -en "\e[32m[PASS]\e[0m There are no pending security updates for this image.\n" + ((PASS++)) + fi + else + echo "Error encountered" + exit 1 + fi + + return 1 +} +function checkCloudInit { + + if hash cloud-init 2>/dev/null; then + CI="\e[32m[PASS]\e[0m Cloud-init is installed.\n" + ((PASS++)) + else + CI="\e[41m[FAIL]\e[0m No valid verison of cloud-init was found.\n" + ((FAIL++)) + STATUS=2 + fi + return 1 +} + +function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } + +clear +echo "DigitalOcean Marketplace Image Validation Tool ${VERSION}" +echo "Executed on: ${RUNDATE}" +echo "Checking local system for Marketplace compatibility..." + +getDistro + +echo -en "\n\e[1mDistribution:\e[0m ${OS}\n" +echo -en "\e[1mVersion:\e[0m ${VER}\n\n" + +ost=0 +osv=0 + +if [[ $OS == "Ubuntu" ]]; then + ost=1 + if [[ $VER == "22.10" ]] || [[ $VER == "22.04" ]] || [[ $VER == "20.04" ]] || [[ $VER == "18.04" ]] || [[ $VER == "16.04" ]]; then + osv=1 + fi + +elif [[ "$OS" =~ Debian.* ]]; then + ost=1 + case "$VER" in + 9) + osv=1 + ;; + 10) + osv=1 + ;; + 11) + osv=1 + ;; + *) + osv=2 + ;; + esac + +elif [[ $OS == "CentOS Linux" ]]; then + ost=1 + if [[ $VER == "8" ]]; then + osv=1 + elif [[ $VER == "7" ]]; then + osv=1 + elif [[ $VER == "6" ]]; then + osv=1 + else + osv=2 + fi +elif [[ $OS == "CentOS Stream" ]]; then + ost=1 + if [[ $VER == "8" ]]; then + osv=1 + else + osv=2 + fi +elif [[ $OS == "Rocky Linux" ]]; then + ost=1 + if [[ $VER =~ 8\. ]]; then + osv=1 + else + osv=2 + fi +elif [[ $OS == "AlmaLinux" ]]; then + ost=1 + if [[ "$VERSION" =~ 8.* ]] || [[ "$VERSION" =~ 9.* ]]; then + osv=1 + else + osv=2 + fi +else + ost=0 +fi + +if [[ $ost == 1 ]]; then + echo -en "\e[32m[PASS]\e[0m Supported Operating System Detected: ${OS}\n" + ((PASS++)) +else + echo -en "\e[41m[FAIL]\e[0m ${OS} is not a supported Operating System\n" + ((FAIL++)) + STATUS=2 +fi + +if [[ $osv == 1 ]]; then + echo -en "\e[32m[PASS]\e[0m Supported Release Detected: ${VER}\n" + ((PASS++)) +elif [[ $ost == 1 ]]; then + echo -en "\e[41m[FAIL]\e[0m ${OS} ${VER} is not a supported Operating System Version\n" + ((FAIL++)) + STATUS=2 +else + echo "Exiting..." + exit 1 +fi + +checkCloudInit + +echo -en "${CI}" + +checkFirewall + +echo -en "${FW_VER}" + +checkUpdates + +loadPasswords + +checkLogs + +echo -en "\n\nChecking all user-created accounts...\n" +checkUsers + +echo -en "\n\nChecking the root account...\n" +checkRoot + +checkAgent + +# Summary +echo -en "\n\n---------------------------------------------------------------------------------------------------\n" + +if [[ $STATUS == 0 ]]; then + echo -en "Scan Complete.\n\e[32mAll Tests Passed!\e[0m\n" +elif [[ $STATUS == 1 ]]; then + echo -en "Scan Complete. \n\e[93mSome non-critical tests failed. Please review these items.\e[0m\e[0m\n" +else + echo -en "Scan Complete. \n\e[41mOne or more tests failed. Please review these items and re-test.\e[0m\n" +fi +echo "---------------------------------------------------------------------------------------------------" +echo -en "\e[1m${PASS} Tests PASSED\e[0m\n" +echo -en "\e[1m${WARN} WARNINGS\e[0m\n" +echo -en "\e[1m${FAIL} Tests FAILED\e[0m\n" +echo -en "---------------------------------------------------------------------------------------------------\n" + +if [[ $STATUS == 0 ]]; then + echo -en "We did not detect any issues with this image. Please be sure to manually ensure that all software installed on the base system is functional, secure and properly configured (or facilities for configuration on first-boot have been created).\n\n" + exit 0 +elif [[ $STATUS == 1 ]]; then + echo -en "Please review all [WARN] items above and ensure they are intended or resolved. If you do not have a specific requirement, we recommend resolving these items before image submission\n\n" + exit 0 +else + echo -en "Some critical tests failed. These items must be resolved and this scan re-run before you submit your image to the DigitalOcean Marketplace.\n\n" + exit 1 +fi diff --git a/contrib/images/digitalocean/packer.pkr.hcl b/contrib/images/digitalocean/packer.pkr.hcl index 87e495b81b9..8fa6342b4c4 100644 --- a/contrib/images/digitalocean/packer.pkr.hcl +++ b/contrib/images/digitalocean/packer.pkr.hcl @@ -60,6 +60,7 @@ build { "${path.root}/in_parts/014-docker-dns", "${path.root}/in_parts/014-ufw-rules", "${path.root}/in_parts/099-application_tag", + "${path.root}/in_parts/100-image-check", ] } From f1152cd6b79a2baf60e8b082ea1c536ea7caca2c Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:10:49 -0500 Subject: [PATCH 0766/4100] fix: validate the packer image --- contrib/images/digitalocean/packer.pkr.hcl | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/contrib/images/digitalocean/packer.pkr.hcl b/contrib/images/digitalocean/packer.pkr.hcl index 8fa6342b4c4..57006a0bfea 100644 --- a/contrib/images/digitalocean/packer.pkr.hcl +++ b/contrib/images/digitalocean/packer.pkr.hcl @@ -43,15 +43,14 @@ build { } provisioner "shell" { - "environment_vars": [ - "application_name={{user `application_name`}}", - "application_version={{user `application_version`}}", - "DOKKU_VERSION=${var.dokku_version}" + environment_vars = [ + "DOKKU_VERSION=${var.dokku_version}", "DEBIAN_FRONTEND=noninteractive", "LC_ALL=C", "LANG=en_US.UTF-8", - "LC_CTYPE=en_US.UTF-8" - ], + "LC_CTYPE=en_US.UTF-8", + ] + scripts = [ "${path.root}/in_parts/011-docker", "${path.root}/in_parts/011-ssh-message", From 1eada6a5e8ed5e304ff245228472b629d2d0b2a0 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:32:55 -0500 Subject: [PATCH 0767/4100] fix: purge log files and droplet-agent This should fix a few of the warnings/errors shown during the image check process. --- contrib/images/digitalocean/in_parts/099-cleanup | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/contrib/images/digitalocean/in_parts/099-cleanup b/contrib/images/digitalocean/in_parts/099-cleanup index b6dfe7d09d5..c46a9f4685e 100755 --- a/contrib/images/digitalocean/in_parts/099-cleanup +++ b/contrib/images/digitalocean/in_parts/099-cleanup @@ -18,6 +18,7 @@ apt-get -y update apt-get -o Dpkg::Options::="--force-confold" upgrade -q -y --force-yes apt-get -y autoremove apt-get -y autoclean +apt-get -y purge droplet-agent echo '--> Clearing history' history -c @@ -27,6 +28,7 @@ unset HISTFILE echo '--> Clearing log files' find /var/log -mtime -1 -type f -exec truncate -s 0 {} \; rm -rf /var/log/*.gz /var/log/*.[0-9] /var/log/*-???????? +rm /var/log/alternatives.log /var/log/auth.log /var/log/cloud-init-output.log /var/log/cloud-init.log /var/log/dpkg.log /var/log/kern.log /var/log/ubuntu-advantage-timer.log /var/log/ufw.log /var/log/unattended-upgrades cat /dev/null >/var/log/lastlog cat /dev/null >/var/log/wtmp rm -rf /var/lib/cloud/instances/* @@ -37,6 +39,9 @@ rm -f /root/.ssh/authorized_keys /etc/ssh/*key* touch /etc/ssh/revoked_keys chmod 600 /etc/ssh/revoked_keys +echo '--> DO Directory' +ls -lah /opt/digitalocean + echo '--> Securely erase the unused portion of the filesystem' printf "\n\033[0;32mWriting zeros to the remaining disk space to securely erase the unused portion of the file system. From 7b1a2fa908766f70d8e60929f691cbb8b1811b77 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:49:02 -0500 Subject: [PATCH 0768/4100] fix: add missing cleanup step --- contrib/images/digitalocean/packer.pkr.hcl | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/images/digitalocean/packer.pkr.hcl b/contrib/images/digitalocean/packer.pkr.hcl index 57006a0bfea..c0219a05a15 100644 --- a/contrib/images/digitalocean/packer.pkr.hcl +++ b/contrib/images/digitalocean/packer.pkr.hcl @@ -59,6 +59,7 @@ build { "${path.root}/in_parts/014-docker-dns", "${path.root}/in_parts/014-ufw-rules", "${path.root}/in_parts/099-application_tag", + "${path.root}/in_parts/099-cleanup", "${path.root}/in_parts/100-image-check", ] } From 47fddf18993dde80266ca56f860419090ee17431 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:49:16 -0500 Subject: [PATCH 0769/4100] chore: remove extra cleanup line Logs are already zero'd out --- contrib/images/digitalocean/in_parts/099-cleanup | 1 - 1 file changed, 1 deletion(-) diff --git a/contrib/images/digitalocean/in_parts/099-cleanup b/contrib/images/digitalocean/in_parts/099-cleanup index c46a9f4685e..25f253628ec 100755 --- a/contrib/images/digitalocean/in_parts/099-cleanup +++ b/contrib/images/digitalocean/in_parts/099-cleanup @@ -28,7 +28,6 @@ unset HISTFILE echo '--> Clearing log files' find /var/log -mtime -1 -type f -exec truncate -s 0 {} \; rm -rf /var/log/*.gz /var/log/*.[0-9] /var/log/*-???????? -rm /var/log/alternatives.log /var/log/auth.log /var/log/cloud-init-output.log /var/log/cloud-init.log /var/log/dpkg.log /var/log/kern.log /var/log/ubuntu-advantage-timer.log /var/log/ufw.log /var/log/unattended-upgrades cat /dev/null >/var/log/lastlog cat /dev/null >/var/log/wtmp rm -rf /var/lib/cloud/instances/* From 635f9c1bc5e98558954a923fcbd56b1e8af0ee1a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 15:49:37 -0500 Subject: [PATCH 0770/4100] chore: remove unused function --- contrib/images/digitalocean/in_parts/100-image-check | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/images/digitalocean/in_parts/100-image-check b/contrib/images/digitalocean/in_parts/100-image-check index e1cf432e554..bd7178132cf 100755 --- a/contrib/images/digitalocean/in_parts/100-image-check +++ b/contrib/images/digitalocean/in_parts/100-image-check @@ -482,8 +482,6 @@ function checkCloudInit { return 1 } -function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } - clear echo "DigitalOcean Marketplace Image Validation Tool ${VERSION}" echo "Executed on: ${RUNDATE}" From 26a536bc9b4aaffe2139b4fd74b437fe25dd552a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 16:01:59 -0500 Subject: [PATCH 0771/4100] feat: log the output of the do directory --- contrib/images/digitalocean/in_parts/099-cleanup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/images/digitalocean/in_parts/099-cleanup b/contrib/images/digitalocean/in_parts/099-cleanup index 25f253628ec..6464914d6b0 100755 --- a/contrib/images/digitalocean/in_parts/099-cleanup +++ b/contrib/images/digitalocean/in_parts/099-cleanup @@ -38,8 +38,8 @@ rm -f /root/.ssh/authorized_keys /etc/ssh/*key* touch /etc/ssh/revoked_keys chmod 600 /etc/ssh/revoked_keys -echo '--> DO Directory' -ls -lah /opt/digitalocean +echo '--> DO Directory contents' +ls -lah /opt/digitalocean || true echo '--> Securely erase the unused portion of the filesystem' printf "\n\033[0;32mWriting zeros to the remaining disk space to securely From 4b8ccfbf3476b7c49f72b6b67c469f5ee5c43893 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 16 Feb 2023 16:22:32 -0500 Subject: [PATCH 0772/4100] fix: implement checkTMP --- .../images/digitalocean/in_parts/100-image-check | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/contrib/images/digitalocean/in_parts/100-image-check b/contrib/images/digitalocean/in_parts/100-image-check index bd7178132cf..a14bb87c121 100755 --- a/contrib/images/digitalocean/in_parts/100-image-check +++ b/contrib/images/digitalocean/in_parts/100-image-check @@ -136,7 +136,15 @@ function checkLogs { } function checkTMP { # Check the /tmp directory to ensure it is empty. Warn on any files found. - return 1 + if [[ -n "$(ls -A /tmp)" ]]; then + echo -en "\e[93m[WARN]\e[0m /tmp directory is not empty; Contents\n" + ls -A /tmp + ((WARN++)) + return 1 + fi + + echo -en "\e[32m[PASS]\e[0m /tmp directory is empty\n" + return 0 } function checkRoot { user="root" @@ -595,6 +603,9 @@ checkUsers echo -en "\n\nChecking the root account...\n" checkRoot +echo -en "\n\nChecking the /tmp directory...\n" +checkTMP + checkAgent # Summary From 7834f353f1b2aafc30adfda8d106378b9e905dfc Mon Sep 17 00:00:00 2001 From: josegonzalez Date: Thu, 16 Feb 2023 16:56:09 -0500 Subject: [PATCH 0773/4100] fix: ensure the services directory also exists Without this, we get issues attempting to install datastore plugins. Closes #5614 --- docker/etc/my_init.d/10_dokku_init | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/etc/my_init.d/10_dokku_init b/docker/etc/my_init.d/10_dokku_init index 512deefdf6f..c79db82b192 100755 --- a/docker/etc/my_init.d/10_dokku_init +++ b/docker/etc/my_init.d/10_dokku_init @@ -36,12 +36,14 @@ main() { mkdir -p /mnt/dokku fi - directories=("/etc/ssh" "/home/dokku" "/var/lib/dokku/config" "/var/lib/dokku/data") + directories=("/etc/ssh" "/home/dokku" "/var/lib/dokku/config" "/var/lib/dokku/data" "/var/lib/dokku/services") for dir in "${directories[@]}"; do if [[ ! -e "$dir" ]]; then log-info "Copying ${dir} skel into place" mkdir -p "/mnt/dokku${dir}" - rsync -a "/skel${dir}/" "${dir}/" || log-fail "Unable to copy ${dir} skel into place" + if [[ -d "$dir" ]]; then + rsync -a "/skel${dir}/" "${dir}/" || log-fail "Unable to copy ${dir} skel into place" + fi fi # chown mount directories to "dokku:dokku" From 322e1404ef4bc235c4f0b0f04a8e3569b1c849a1 Mon Sep 17 00:00:00 2001 From: josegonzalez Date: Thu, 16 Feb 2023 23:33:14 -0500 Subject: [PATCH 0774/4100] docs: note that the app.json is pulled from the specified image when deploying via git:from-image --- docs/deployment/methods/git.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/deployment/methods/git.md b/docs/deployment/methods/git.md index c0853956f66..16b98a72f60 100644 --- a/docs/deployment/methods/git.md +++ b/docs/deployment/methods/git.md @@ -162,8 +162,9 @@ If the image is a private image that requires a docker login to access, the `reg Building an app from an image will result in the following files being extracted from the source image (with all custom paths specified for each file being respected): -- nginx.conf.sigil -- Procfile +- `app.json` +- `nginx.conf.sigil` +- `Procfile` In the case where the repository is later modified to manually add any of the above files and deployed via `git push`, the files will still be extracted from the initial source image. To avoid this, please clear the `source-image` git property. It will be set back to the original source image on any subsequent `git:from-image` calls. @@ -249,8 +250,9 @@ docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git: Building an app from an image will result in the following files being extracted from the source image (with all custom paths specified for each file being respected): -- nginx.conf.sigil -- Procfile +- `app.json` +- `nginx.conf.sigil` +- `Procfile` In the case where the repository is later modified to manually add any of the above files and deployed via `git push`, the files will still be extracted from the initial source image. To avoid this, please clear the `source-image` git property. It will be set back to the original source image on any subsequent `git:load-image` calls. From 1286d8505444658db5709aaecc87dc261f504c9d Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 17 Feb 2023 16:01:41 -0500 Subject: [PATCH 0775/4100] fix: set custom entrypoint for pack-based containers so custom command/argument combinations are respected Closes #5687 --- .../builder-pack/docker-args-process-deploy | 22 +++++++++++++++++++ plugins/builder-pack/docker-args-process-run | 1 + 2 files changed, 23 insertions(+) create mode 100755 plugins/builder-pack/docker-args-process-deploy create mode 120000 plugins/builder-pack/docker-args-process-run diff --git a/plugins/builder-pack/docker-args-process-deploy b/plugins/builder-pack/docker-args-process-deploy new file mode 100755 index 00000000000..1ab4dec4cf7 --- /dev/null +++ b/plugins/builder-pack/docker-args-process-deploy @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +[[ $DOKKU_TRACE ]] && set -x + +trigger-builder-pack-docker-args-process-deploy() { + declare desc="builder-pack core-post-deploy plugin trigger" + declare trigger="docker-args-process-deploy" + declare APP="$1" IMAGE_SOURCE_TYPE="$2" + local STDIN=$(cat) + local output + + if [[ "$IMAGE_SOURCE_TYPE" != "pack" ]]; then + return + fi + + # without this, the command and arguments are passed as args to the default process type + output="--entrypoint launcher " + + echo -n "$STDIN$output" +} + +trigger-builder-pack-docker-args-process-deploy "$@" diff --git a/plugins/builder-pack/docker-args-process-run b/plugins/builder-pack/docker-args-process-run new file mode 120000 index 00000000000..cdc306c1e64 --- /dev/null +++ b/plugins/builder-pack/docker-args-process-run @@ -0,0 +1 @@ +docker-args-process-deploy \ No newline at end of file From 54d88eec7ea63a1f6c2add2329c0e58eacc4e689 Mon Sep 17 00:00:00 2001 From: josegonzalez Date: Fri, 17 Feb 2023 19:10:14 -0500 Subject: [PATCH 0776/4100] fix: only rsync existing directories Additionally, pin the chown to just the top-level dir for the services dir --- docker/etc/my_init.d/10_dokku_init | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/etc/my_init.d/10_dokku_init b/docker/etc/my_init.d/10_dokku_init index c79db82b192..16dfe520d96 100755 --- a/docker/etc/my_init.d/10_dokku_init +++ b/docker/etc/my_init.d/10_dokku_init @@ -41,13 +41,15 @@ main() { if [[ ! -e "$dir" ]]; then log-info "Copying ${dir} skel into place" mkdir -p "/mnt/dokku${dir}" - if [[ -d "$dir" ]]; then + if [[ -d "/skel${dir}" ]]; then rsync -a "/skel${dir}/" "${dir}/" || log-fail "Unable to copy ${dir} skel into place" fi fi # chown mount directories to "dokku:dokku" - if [[ "$dir" != "/etc/ssh" ]]; then + if [[ "$dir" == "/var/lib/dokku/services" ]]; then + chown dokku:dokku /var/lib/dokku/services + elif [[ "$dir" != "/etc/ssh" ]]; then find "$dir" -print0 | xargs -0 chown -h dokku:dokku fi done From 84f6b0ab53381a50a1d3ed2d0788083d959e54e7 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 17 Feb 2023 22:08:22 -0500 Subject: [PATCH 0777/4100] chore: run go mod tidy The following script was run from within the `plugins` directory: for plugin in *; do if [[ ! -f "/root/go/src/github.com/dokku/dokku/plugins/$plugin/go.mod" ]]; then continue; fi; echo "$plugin" pushd /root/go/src/github.com/dokku/dokku/plugins/$plugin; go mod tidy; go mod download; popd >/dev/null; done --- plugins/config/go.sum | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/config/go.sum b/plugins/config/go.sum index adfdbe46f97..a1c85a074ea 100644 --- a/plugins/config/go.sum +++ b/plugins/config/go.sum @@ -22,7 +22,6 @@ golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3 golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= From 992b27fcf9e1677fbe860a15e7a79c9f6ef22ad5 Mon Sep 17 00:00:00 2001 From: josegonzalez Date: Fri, 17 Feb 2023 22:11:09 -0500 Subject: [PATCH 0778/4100] docs: add note about ubuntu 18.04 being deprecated This was an omission by error in the 0.30.x release notes. --- docs/appendices/0.30.0-migration-guide.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/appendices/0.30.0-migration-guide.md b/docs/appendices/0.30.0-migration-guide.md index 3e6035fb867..7a3b73d3fab 100644 --- a/docs/appendices/0.30.0-migration-guide.md +++ b/docs/appendices/0.30.0-migration-guide.md @@ -1,5 +1,9 @@ # 0.30.0 Migration Guide +## Deprecations + +- Support for Ubuntu 18.04 has been deprecated. Please upgrade your host OS in advance of the [End Of Life in April 2023](https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes). + ## Changes - The `app.json` file is now extracted from the source code instead of the built image. For deploys via `git:from-image`, the file is extracted from the built image. From 465634a16ee2e393830577e9908fe62f9d14148e Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 18 Feb 2023 19:18:50 -0500 Subject: [PATCH 0779/4100] chore: update golang.org/x/sys dependency to keep in sync with common plugin --- plugins/config/go.mod | 2 +- plugins/config/go.sum | 3 +-- plugins/network/go.mod | 2 +- plugins/network/go.sum | 3 +-- plugins/proxy/go.mod | 2 +- plugins/proxy/go.sum | 3 +-- plugins/ps/go.mod | 2 +- plugins/ps/go.sum | 3 +-- plugins/repo/go.mod | 2 +- plugins/repo/go.sum | 3 +-- plugins/scheduler/go.mod | 2 +- plugins/scheduler/go.sum | 3 +-- 12 files changed, 12 insertions(+), 18 deletions(-) diff --git a/plugins/config/go.mod b/plugins/config/go.mod index fc2cdd3daac..24c2f9505bc 100644 --- a/plugins/config/go.mod +++ b/plugins/config/go.mod @@ -16,7 +16,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.4.0 // indirect + golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect golang.org/x/text v0.3.7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/plugins/config/go.sum b/plugins/config/go.sum index a1c85a074ea..922005a1908 100644 --- a/plugins/config/go.sum +++ b/plugins/config/go.sum @@ -22,9 +22,8 @@ golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3 golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= diff --git a/plugins/network/go.mod b/plugins/network/go.mod index 22e0848eb44..a8f7e345afe 100644 --- a/plugins/network/go.mod +++ b/plugins/network/go.mod @@ -15,7 +15,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.4.0 // indirect + golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/network/go.sum b/plugins/network/go.sum index cde68cbdf9b..801d4a424c5 100644 --- a/plugins/network/go.sum +++ b/plugins/network/go.sum @@ -19,8 +19,7 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/proxy/go.mod b/plugins/proxy/go.mod index 9130dad00e1..288f26101a1 100644 --- a/plugins/proxy/go.mod +++ b/plugins/proxy/go.mod @@ -15,7 +15,7 @@ require ( github.com/joho/godotenv v1.2.0 // indirect github.com/otiai10/copy v1.9.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.4.0 // indirect + golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/proxy/go.sum b/plugins/proxy/go.sum index cde68cbdf9b..801d4a424c5 100644 --- a/plugins/proxy/go.sum +++ b/plugins/proxy/go.sum @@ -19,8 +19,7 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/ps/go.mod b/plugins/ps/go.mod index 9456414e512..2b1c48575a9 100644 --- a/plugins/ps/go.mod +++ b/plugins/ps/go.mod @@ -17,7 +17,7 @@ require ( github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 // indirect github.com/joho/godotenv v1.2.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.4.0 // indirect + golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) diff --git a/plugins/ps/go.sum b/plugins/ps/go.sum index 106ed3c4214..735201b9751 100644 --- a/plugins/ps/go.sum +++ b/plugins/ps/go.sum @@ -26,9 +26,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/plugins/repo/go.mod b/plugins/repo/go.mod index d99d12190c7..d5e985ea4a1 100644 --- a/plugins/repo/go.mod +++ b/plugins/repo/go.mod @@ -15,7 +15,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.4.0 // indirect + golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/repo/go.sum b/plugins/repo/go.sum index cde68cbdf9b..801d4a424c5 100644 --- a/plugins/repo/go.sum +++ b/plugins/repo/go.sum @@ -19,8 +19,7 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/scheduler/go.mod b/plugins/scheduler/go.mod index 7fc94994628..2ceb878a821 100644 --- a/plugins/scheduler/go.mod +++ b/plugins/scheduler/go.mod @@ -15,7 +15,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.4.0 // indirect + golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/scheduler/go.sum b/plugins/scheduler/go.sum index cde68cbdf9b..801d4a424c5 100644 --- a/plugins/scheduler/go.sum +++ b/plugins/scheduler/go.sum @@ -19,8 +19,7 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= From 28ab4e1bc5b87480071d83acd6f0296884de99a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 14:23:03 +0000 Subject: [PATCH 0780/4100] chore(deps): bump mkdocs-material from 9.0.12 to 9.0.13 in /docs/_build Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.12 to 9.0.13. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.12...9.0.13) --- updated-dependencies: - dependency-name: mkdocs-material dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- docs/_build/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_build/requirements.txt b/docs/_build/requirements.txt index 878ec60fecd..e216c6a3cd9 100644 --- a/docs/_build/requirements.txt +++ b/docs/_build/requirements.txt @@ -8,7 +8,7 @@ MarkupSafe==2.1.2 mergedeep==1.3.4 mkdocs==1.4.2 mkdocs-exclude==1.0.2 -mkdocs-material==9.0.12 +mkdocs-material==9.0.13 mkdocs-material-extensions==1.1.1 packaging==23.0 Pygments==2.14.0 From aa2e0eadfa7248aba7206d3e0ac893a8cdc67ff4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 14:23:07 +0000 Subject: [PATCH 0781/4100] chore(deps): bump zipp from 3.13.0 to 3.14.0 in /docs/_build Bumps [zipp](https://github.com/jaraco/zipp) from 3.13.0 to 3.14.0. - [Release notes](https://github.com/jaraco/zipp/releases) - [Changelog](https://github.com/jaraco/zipp/blob/main/CHANGES.rst) - [Commits](https://github.com/jaraco/zipp/compare/v3.13.0...v3.14.0) --- updated-dependencies: - dependency-name: zipp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- docs/_build/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_build/requirements.txt b/docs/_build/requirements.txt index 878ec60fecd..155b753e9cd 100644 --- a/docs/_build/requirements.txt +++ b/docs/_build/requirements.txt @@ -20,4 +20,4 @@ pyyaml_env_tag==0.1 six==1.16.0 soupsieve==2.4 watchdog==2.2.1 -zipp==3.13.0 +zipp==3.14.0 From ca444af7d1dc43fab3a554d7c79b1fd6e2cde9dd Mon Sep 17 00:00:00 2001 From: josegonzalez Date: Mon, 20 Feb 2023 16:08:31 -0500 Subject: [PATCH 0782/4100] docs: add a note about required upgrade to 0.29.x We introduced a method of migrating from DOKKU_SCALE to app.json in 0.25.x. This was removed in 0.30.x, so users need to ensure they either set their own scale manually _or_ upgrade. The upgrade is probably the safest bet. --- docs/appendices/0.30.0-migration-guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/appendices/0.30.0-migration-guide.md b/docs/appendices/0.30.0-migration-guide.md index 7a3b73d3fab..3a3017727a9 100644 --- a/docs/appendices/0.30.0-migration-guide.md +++ b/docs/appendices/0.30.0-migration-guide.md @@ -1,5 +1,7 @@ # 0.30.0 Migration Guide +> **Important**: Due to the removal of `DOKKU_SCALE` support, users with a version older than 0.25.x are heavily encouraged to upgrade to 0.29.x prior to 0.30.x. Not doing so will result in all app containers stopping on rebuild due to having no scale settings. + ## Deprecations - Support for Ubuntu 18.04 has been deprecated. Please upgrade your host OS in advance of the [End Of Life in April 2023](https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes). From 4f9dbd6011ebfe124a39730311989daf9ff398f6 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 20 Feb 2023 16:28:10 -0500 Subject: [PATCH 0783/4100] chore: update to go 1.19.6 --- .devcontainer/Dockerfile | 4 ++-- common.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index a655b66961c..d4a923c638c 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -8,8 +8,8 @@ RUN apt-get install --no-install-recommends -y build-essential file nano && \ rm -rf /var/lib/apt/lists/* ARG TARGETARCH -RUN wget https://dl.google.com/go/go1.19.2.linux-${TARGETARCH}.tar.gz && \ - tar -xvf go1.19.2.linux-${TARGETARCH}.tar.gz && \ +RUN wget https://dl.google.com/go/go1.19.6.linux-${TARGETARCH}.tar.gz && \ + tar -xvf go1.19.6.linux-${TARGETARCH}.tar.gz && \ mv go /usr/local RUN GOROOT=/usr/local/go /usr/local/go/bin/go install golang.org/x/tools/gopls@latest 2>&1 diff --git a/common.mk b/common.mk index 3d24dd10a9f..648dbe935ff 100644 --- a/common.mk +++ b/common.mk @@ -1,7 +1,7 @@ GO_ARGS ?= GO_PLUGIN_MAKE_TARGET ?= build GO_REPO_ROOT := /go/src/github.com/dokku/dokku -BUILD_IMAGE := golang:1.19.2 +BUILD_IMAGE := golang:1.19.6 GO_BUILD_CACHE ?= /tmp/dokku-go-build-cache GO_MOD_CACHE ?= /tmp/dokku-go-mod-mod GO_ROOT_MOUNT ?= $$PWD/../..:$(GO_REPO_ROOT) From ae0c2a58672dc1e785429cc3d89616df29624dbd Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 20 Feb 2023 16:36:01 -0500 Subject: [PATCH 0784/4100] chore: update all depdendencies to match latest net and sys packages --- plugins/app-json/go.mod | 4 ++-- plugins/app-json/go.sum | 9 +++++---- plugins/apps/go.mod | 4 ++-- plugins/apps/go.sum | 9 +++++---- plugins/builder/go.mod | 4 ++-- plugins/builder/go.sum | 9 +++++---- plugins/buildpacks/go.mod | 4 ++-- plugins/buildpacks/go.sum | 9 +++++---- plugins/common/go.mod | 2 +- plugins/common/go.sum | 3 ++- plugins/config/go.mod | 11 ++++++----- plugins/config/go.sum | 24 ++++++++++++++---------- plugins/cron/go.mod | 2 +- plugins/cron/go.sum | 5 +++-- plugins/docker-options/go.mod | 2 +- plugins/docker-options/go.sum | 3 ++- plugins/logs/go.mod | 2 +- plugins/logs/go.sum | 3 ++- plugins/network/go.mod | 2 +- plugins/network/go.sum | 12 +++++++----- plugins/proxy/go.mod | 2 +- plugins/proxy/go.sum | 12 +++++++----- plugins/ps/go.mod | 2 +- plugins/ps/go.sum | 12 +++++++----- plugins/registry/go.mod | 2 +- plugins/registry/go.sum | 3 ++- plugins/repo/go.mod | 2 +- plugins/repo/go.sum | 12 +++++++----- plugins/resource/go.mod | 2 +- plugins/resource/go.sum | 3 ++- plugins/scheduler/go.mod | 2 +- plugins/scheduler/go.sum | 12 +++++++----- 32 files changed, 107 insertions(+), 82 deletions(-) diff --git a/plugins/app-json/go.mod b/plugins/app-json/go.mod index ab4c8f9ce74..a8172196bd6 100644 --- a/plugins/app-json/go.mod +++ b/plugins/app-json/go.mod @@ -14,8 +14,8 @@ require ( github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 // indirect github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect - golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/net v0.7.0 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/app-json/go.sum b/plugins/app-json/go.sum index 9ae392753fe..fd0ba77f1e4 100644 --- a/plugins/app-json/go.sum +++ b/plugins/app-json/go.sum @@ -16,11 +16,12 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 h1:yssD99+7tqHWO5Gwh81phT+67hg+KttniBr6UnEXOY8= -golang.org/x/net v0.0.0-20220421235706-1d1ef9303861/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/apps/go.mod b/plugins/apps/go.mod index dde2770c7cd..e782a3f645f 100644 --- a/plugins/apps/go.mod +++ b/plugins/apps/go.mod @@ -12,9 +12,9 @@ require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 // indirect github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect - golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 // indirect + golang.org/x/net v0.7.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/apps/go.sum b/plugins/apps/go.sum index 66c33c9ea9e..d41dceb3319 100644 --- a/plugins/apps/go.sum +++ b/plugins/apps/go.sum @@ -14,11 +14,12 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 h1:yssD99+7tqHWO5Gwh81phT+67hg+KttniBr6UnEXOY8= -golang.org/x/net v0.0.0-20220421235706-1d1ef9303861/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/builder/go.mod b/plugins/builder/go.mod index 16b4f453f1f..f5a01089c1f 100644 --- a/plugins/builder/go.mod +++ b/plugins/builder/go.mod @@ -12,9 +12,9 @@ require ( github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 // indirect github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect - golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 // indirect + golang.org/x/net v0.7.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/builder/go.sum b/plugins/builder/go.sum index 66c33c9ea9e..d41dceb3319 100644 --- a/plugins/builder/go.sum +++ b/plugins/builder/go.sum @@ -14,11 +14,12 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 h1:yssD99+7tqHWO5Gwh81phT+67hg+KttniBr6UnEXOY8= -golang.org/x/net v0.0.0-20220421235706-1d1ef9303861/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/buildpacks/go.mod b/plugins/buildpacks/go.mod index a6d17128c1b..f5f89910f7a 100644 --- a/plugins/buildpacks/go.mod +++ b/plugins/buildpacks/go.mod @@ -12,9 +12,9 @@ require ( github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 // indirect github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect - golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 // indirect + golang.org/x/net v0.7.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/buildpacks/go.sum b/plugins/buildpacks/go.sum index 66c33c9ea9e..d41dceb3319 100644 --- a/plugins/buildpacks/go.sum +++ b/plugins/buildpacks/go.sum @@ -14,11 +14,12 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 h1:yssD99+7tqHWO5Gwh81phT+67hg+KttniBr6UnEXOY8= -golang.org/x/net v0.0.0-20220421235706-1d1ef9303861/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/common/go.mod b/plugins/common/go.mod index 42927ec0a80..9003fc3f8d1 100644 --- a/plugins/common/go.mod +++ b/plugins/common/go.mod @@ -14,7 +14,7 @@ require ( require ( github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 // indirect golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect golang.org/x/text v0.3.7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/plugins/common/go.sum b/plugins/common/go.sum index dda09911574..fa053bc3bdf 100644 --- a/plugins/common/go.sum +++ b/plugins/common/go.sum @@ -20,8 +20,9 @@ golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3 golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= diff --git a/plugins/config/go.mod b/plugins/config/go.mod index 24c2f9505bc..9831f17b553 100644 --- a/plugins/config/go.mod +++ b/plugins/config/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/joho/godotenv v1.2.0 - github.com/onsi/gomega v1.19.0 + github.com/onsi/gomega v1.27.1 github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 github.com/spf13/pflag v1.0.5 ) @@ -13,12 +13,13 @@ require ( require ( github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 // indirect github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 // indirect + github.com/google/go-cmp v0.5.9 // indirect github.com/otiai10/copy v1.9.0 // indirect - golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect + golang.org/x/net v0.7.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect - golang.org/x/text v0.3.7 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect + golang.org/x/sys v0.5.0 // indirect + golang.org/x/text v0.7.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/config/go.sum b/plugins/config/go.sum index 922005a1908..f6fa245814d 100644 --- a/plugins/config/go.sum +++ b/plugins/config/go.sum @@ -2,11 +2,14 @@ github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 h1:sDMmm+q/3+Bu github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 h1:HHUr4P/aKh4quafGxDT9LDasjGdlGkzLbfmmrlng3kA= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27/go.mod h1:VQx0hjo2oUeQkQUET7wRwradO6f+fN5jzXgB/zROxxE= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/joho/godotenv v1.2.0 h1:vGTvz69FzUFp+X4/bAkb0j5BoLC+9bpqTWY8mjhA9pc= github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/onsi/ginkgo/v2 v2.1.3 h1:e/3Cwtogj0HA+25nMP1jCMDIf8RtRYbGwGGuBIFztkc= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= -github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/ginkgo/v2 v2.8.1 h1:xFTEVwOFa1D/Ty24Ws1npBWkDYEV9BqZrsDxVrVkrrU= +github.com/onsi/gomega v1.27.1 h1:rfztXRbg6nv/5f+Raen9RcGoSecHIFgBBLQK3Wdj754= +github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfadcIAw= github.com/otiai10/copy v1.9.0 h1:7KFNiCgZ91Ru4qW4CWPf/7jqtxLagGRmIxWldPP9VY4= github.com/otiai10/copy v1.9.0/go.mod h1:hsfX19wcn0UWIHUQ3/4fHuehhk2UyArQ9dVFAn3FczI= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= @@ -18,15 +21,16 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/plugins/cron/go.mod b/plugins/cron/go.mod index 57c8944f7a8..6c962b89bdb 100644 --- a/plugins/cron/go.mod +++ b/plugins/cron/go.mod @@ -17,7 +17,7 @@ require ( github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/otiai10/copy v1.9.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/app-json => ../app-json diff --git a/plugins/cron/go.sum b/plugins/cron/go.sum index 98065dee5cc..423c7d7ed96 100644 --- a/plugins/cron/go.sum +++ b/plugins/cron/go.sum @@ -20,10 +20,11 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 h1:yssD99+7tqHWO5Gwh81phT+67hg+KttniBr6UnEXOY8= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/docker-options/go.mod b/plugins/docker-options/go.mod index 9bec2f11971..ca44f7d7054 100644 --- a/plugins/docker-options/go.mod +++ b/plugins/docker-options/go.mod @@ -10,7 +10,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/docker-options/go.sum b/plugins/docker-options/go.sum index ea7424b664d..5f72d81ed48 100644 --- a/plugins/docker-options/go.sum +++ b/plugins/docker-options/go.sum @@ -15,7 +15,8 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1 golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/logs/go.mod b/plugins/logs/go.mod index d5a769c3a7a..b0ccc76f682 100644 --- a/plugins/logs/go.mod +++ b/plugins/logs/go.mod @@ -15,7 +15,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/logs/go.sum b/plugins/logs/go.sum index 4a9bab4c05e..f72e85a1851 100644 --- a/plugins/logs/go.sum +++ b/plugins/logs/go.sum @@ -19,7 +19,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/network/go.mod b/plugins/network/go.mod index a8f7e345afe..800ccb8a886 100644 --- a/plugins/network/go.mod +++ b/plugins/network/go.mod @@ -15,7 +15,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/network/go.sum b/plugins/network/go.sum index 801d4a424c5..2681f296903 100644 --- a/plugins/network/go.sum +++ b/plugins/network/go.sum @@ -2,9 +2,10 @@ github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 h1:sDMmm+q/3+Bu github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 h1:HHUr4P/aKh4quafGxDT9LDasjGdlGkzLbfmmrlng3kA= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27/go.mod h1:VQx0hjo2oUeQkQUET7wRwradO6f+fN5jzXgB/zROxxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/joho/godotenv v1.2.0 h1:vGTvz69FzUFp+X4/bAkb0j5BoLC+9bpqTWY8mjhA9pc= github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.27.1 h1:rfztXRbg6nv/5f+Raen9RcGoSecHIFgBBLQK3Wdj754= github.com/otiai10/copy v1.9.0 h1:7KFNiCgZ91Ru4qW4CWPf/7jqtxLagGRmIxWldPP9VY4= github.com/otiai10/copy v1.9.0/go.mod h1:hsfX19wcn0UWIHUQ3/4fHuehhk2UyArQ9dVFAn3FczI= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= @@ -16,10 +17,11 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/plugins/proxy/go.mod b/plugins/proxy/go.mod index 288f26101a1..b06ca9dcfef 100644 --- a/plugins/proxy/go.mod +++ b/plugins/proxy/go.mod @@ -15,7 +15,7 @@ require ( github.com/joho/godotenv v1.2.0 // indirect github.com/otiai10/copy v1.9.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/proxy/go.sum b/plugins/proxy/go.sum index 801d4a424c5..2681f296903 100644 --- a/plugins/proxy/go.sum +++ b/plugins/proxy/go.sum @@ -2,9 +2,10 @@ github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 h1:sDMmm+q/3+Bu github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 h1:HHUr4P/aKh4quafGxDT9LDasjGdlGkzLbfmmrlng3kA= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27/go.mod h1:VQx0hjo2oUeQkQUET7wRwradO6f+fN5jzXgB/zROxxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/joho/godotenv v1.2.0 h1:vGTvz69FzUFp+X4/bAkb0j5BoLC+9bpqTWY8mjhA9pc= github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.27.1 h1:rfztXRbg6nv/5f+Raen9RcGoSecHIFgBBLQK3Wdj754= github.com/otiai10/copy v1.9.0 h1:7KFNiCgZ91Ru4qW4CWPf/7jqtxLagGRmIxWldPP9VY4= github.com/otiai10/copy v1.9.0/go.mod h1:hsfX19wcn0UWIHUQ3/4fHuehhk2UyArQ9dVFAn3FczI= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= @@ -16,10 +17,11 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/plugins/ps/go.mod b/plugins/ps/go.mod index 2b1c48575a9..cdd9b927371 100644 --- a/plugins/ps/go.mod +++ b/plugins/ps/go.mod @@ -17,7 +17,7 @@ require ( github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 // indirect github.com/joho/godotenv v1.2.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) diff --git a/plugins/ps/go.sum b/plugins/ps/go.sum index 735201b9751..71f41518a90 100644 --- a/plugins/ps/go.sum +++ b/plugins/ps/go.sum @@ -4,6 +4,7 @@ github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 h1:HHUr4P/aKh4qu github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27/go.mod h1:VQx0hjo2oUeQkQUET7wRwradO6f+fN5jzXgB/zROxxE= github.com/gofrs/flock v0.8.0 h1:MSdYClljsF3PbENUUEx85nkWfJSGfzYI9yEBZOJz6CY= github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/joho/godotenv v1.2.0 h1:vGTvz69FzUFp+X4/bAkb0j5BoLC+9bpqTWY8mjhA9pc= github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= @@ -11,7 +12,7 @@ github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.27.1 h1:rfztXRbg6nv/5f+Raen9RcGoSecHIFgBBLQK3Wdj754= github.com/otiai10/copy v1.9.0 h1:7KFNiCgZ91Ru4qW4CWPf/7jqtxLagGRmIxWldPP9VY4= github.com/otiai10/copy v1.9.0/go.mod h1:hsfX19wcn0UWIHUQ3/4fHuehhk2UyArQ9dVFAn3FczI= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= @@ -23,12 +24,13 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/plugins/registry/go.mod b/plugins/registry/go.mod index ab25e83abbb..19eaeb14e59 100644 --- a/plugins/registry/go.mod +++ b/plugins/registry/go.mod @@ -13,7 +13,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/registry/go.sum b/plugins/registry/go.sum index 640f9f826b0..d037710717c 100644 --- a/plugins/registry/go.sum +++ b/plugins/registry/go.sum @@ -17,7 +17,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/repo/go.mod b/plugins/repo/go.mod index d5e985ea4a1..4c1c1839f94 100644 --- a/plugins/repo/go.mod +++ b/plugins/repo/go.mod @@ -15,7 +15,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/repo/go.sum b/plugins/repo/go.sum index 801d4a424c5..2681f296903 100644 --- a/plugins/repo/go.sum +++ b/plugins/repo/go.sum @@ -2,9 +2,10 @@ github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 h1:sDMmm+q/3+Bu github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 h1:HHUr4P/aKh4quafGxDT9LDasjGdlGkzLbfmmrlng3kA= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27/go.mod h1:VQx0hjo2oUeQkQUET7wRwradO6f+fN5jzXgB/zROxxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/joho/godotenv v1.2.0 h1:vGTvz69FzUFp+X4/bAkb0j5BoLC+9bpqTWY8mjhA9pc= github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.27.1 h1:rfztXRbg6nv/5f+Raen9RcGoSecHIFgBBLQK3Wdj754= github.com/otiai10/copy v1.9.0 h1:7KFNiCgZ91Ru4qW4CWPf/7jqtxLagGRmIxWldPP9VY4= github.com/otiai10/copy v1.9.0/go.mod h1:hsfX19wcn0UWIHUQ3/4fHuehhk2UyArQ9dVFAn3FczI= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= @@ -16,10 +17,11 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/plugins/resource/go.mod b/plugins/resource/go.mod index a54777b4949..23275af4453 100644 --- a/plugins/resource/go.mod +++ b/plugins/resource/go.mod @@ -13,7 +13,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/resource/go.sum b/plugins/resource/go.sum index 640f9f826b0..d037710717c 100644 --- a/plugins/resource/go.sum +++ b/plugins/resource/go.sum @@ -17,7 +17,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/plugins/scheduler/go.mod b/plugins/scheduler/go.mod index 2ceb878a821..2f6b0963c1a 100644 --- a/plugins/scheduler/go.mod +++ b/plugins/scheduler/go.mod @@ -15,7 +15,7 @@ require ( github.com/otiai10/copy v1.9.0 // indirect github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.5.0 // indirect ) replace github.com/dokku/dokku/plugins/common => ../common diff --git a/plugins/scheduler/go.sum b/plugins/scheduler/go.sum index 801d4a424c5..2681f296903 100644 --- a/plugins/scheduler/go.sum +++ b/plugins/scheduler/go.sum @@ -2,9 +2,10 @@ github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 h1:sDMmm+q/3+Bu github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 h1:HHUr4P/aKh4quafGxDT9LDasjGdlGkzLbfmmrlng3kA= github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27/go.mod h1:VQx0hjo2oUeQkQUET7wRwradO6f+fN5jzXgB/zROxxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/joho/godotenv v1.2.0 h1:vGTvz69FzUFp+X4/bAkb0j5BoLC+9bpqTWY8mjhA9pc= github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.27.1 h1:rfztXRbg6nv/5f+Raen9RcGoSecHIFgBBLQK3Wdj754= github.com/otiai10/copy v1.9.0 h1:7KFNiCgZ91Ru4qW4CWPf/7jqtxLagGRmIxWldPP9VY4= github.com/otiai10/copy v1.9.0/go.mod h1:hsfX19wcn0UWIHUQ3/4fHuehhk2UyArQ9dVFAn3FczI= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= @@ -16,10 +17,11 @@ github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3 h1:utdYOikI1X github.com/ryanuber/columnize v1.1.2-0.20190319233515-9e6335e58db3/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= From 38847373cd4e97b68c586922d40c61994445beea Mon Sep 17 00:00:00 2001 From: Dokku Bot Date: Tue, 21 Feb 2023 03:49:06 +0000 Subject: [PATCH 0785/4100] Release 0.30.1 # History ## 0.30.1 Install/update via the bootstrap script: ```shell wget https://dokku.com/install/v0.30.1/bootstrap.sh sudo DOKKU_TAG=v0.30.1 bash bootstrap.sh ``` ### Bug Fixes - #5690: @josegonzalez Update dependencies for golang code to fix builds - #5683: @josegonzalez Ensure the services directory also exists - #5688: @josegonzalez Set custom entrypoint for pack-based containers so custom command/argument combinations are respected ### New Features - #5682: @josegonzalez Build Digitalocean image automatically upon release - #5675: @josegonzalez Add new sections to release notes ### Documentation - #5695: @josegonzalez Add a note about required upgrade to 0.29.x for versions prior to 0.25.x - #5689: @josegonzalez Add note about ubuntu 18.04 being deprecated - #5684: @josegonzalez Note that the app.json is pulled from the specified image when deploying via git:from-image - #5679: @josegonzalez Revert invalid replacement in homepage html path objects - #5678: @josegonzalez Cleanup docs on homepage for installation ### Dependencies - #5693: @dependabot[bot] chore(deps): bump mkdocs-material from 9.0.12 to 9.0.13 in /docs/_build - #5694: @dependabot[bot] chore(deps): bump zipp from 3.13.0 to 3.14.0 in /docs/_build - #5677: @dependabot[bot] chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/multi - #5676: @dependabot[bot] chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/python-flask --- HISTORY.md | 35 +++++++++++++ README.md | 4 +- debian/control | 2 +- docs/advanced-usage/plugin-management.md | 58 +++++++++++----------- docs/assets/favicons/browserconfig.xml | 8 +-- docs/assets/favicons/manifest.json | 12 ++--- docs/assets/versions.json | 2 +- docs/development/release-process.md | 2 +- docs/getting-started/install/docker.md | 4 +- docs/getting-started/installation/index.md | 4 +- docs/home.html | 40 +++++++-------- docs/template.html | 36 +++++++------- plugins/00_dokku-standard/plugin.toml | 2 +- plugins/20_events/plugin.toml | 2 +- plugins/app-json/plugin.toml | 2 +- plugins/apps/plugin.toml | 2 +- plugins/builder-dockerfile/plugin.toml | 2 +- plugins/builder-herokuish/plugin.toml | 2 +- plugins/builder-lambda/plugin.toml | 2 +- plugins/builder-null/plugin.toml | 2 +- plugins/builder-pack/plugin.toml | 2 +- plugins/builder/plugin.toml | 2 +- plugins/buildpacks/plugin.toml | 2 +- plugins/caddy-vhosts/plugin.toml | 2 +- plugins/certs/plugin.toml | 2 +- plugins/checks/plugin.toml | 2 +- plugins/common/plugin.toml | 2 +- plugins/config/plugin.toml | 2 +- plugins/cron/plugin.toml | 2 +- plugins/docker-options/plugin.toml | 2 +- plugins/domains/plugin.toml | 2 +- plugins/enter/plugin.toml | 2 +- plugins/git/plugin.toml | 2 +- plugins/haproxy-vhosts/plugin.toml | 2 +- plugins/logs/plugin.toml | 2 +- plugins/network/plugin.toml | 2 +- plugins/nginx-vhosts/plugin.toml | 2 +- plugins/plugin/plugin.toml | 2 +- plugins/proxy/plugin.toml | 2 +- plugins/ps/plugin.toml | 2 +- plugins/registry/plugin.toml | 2 +- plugins/repo/plugin.toml | 2 +- plugins/resource/plugin.toml | 2 +- plugins/run/plugin.toml | 2 +- plugins/scheduler-docker-local/plugin.toml | 2 +- plugins/scheduler-null/plugin.toml | 2 +- plugins/scheduler/plugin.toml | 2 +- plugins/shell/plugin.toml | 2 +- plugins/ssh-keys/plugin.toml | 2 +- plugins/storage/plugin.toml | 2 +- plugins/trace/plugin.toml | 2 +- plugins/traefik-vhosts/plugin.toml | 2 +- 52 files changed, 161 insertions(+), 126 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 19aac5b9b2e..8577518887f 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,40 @@ # History +## 0.30.1 + +Install/update via the bootstrap script: + +```shell +wget https://dokku.com/install/v0.30.1/bootstrap.sh +sudo DOKKU_TAG=v0.30.1 bash bootstrap.sh +``` + +### Bug Fixes + +- #5690: @josegonzalez Update dependencies for golang code to fix builds +- #5683: @josegonzalez Ensure the services directory also exists +- #5688: @josegonzalez Set custom entrypoint for pack-based containers so custom command/argument combinations are respected + +### New Features + +- #5682: @josegonzalez Build Digitalocean image automatically upon release +- #5675: @josegonzalez Add new sections to release notes + +### Documentation + +- #5695: @josegonzalez Add a note about required upgrade to 0.29.x for versions prior to 0.25.x +- #5689: @josegonzalez Add note about ubuntu 18.04 being deprecated +- #5684: @josegonzalez Note that the app.json is pulled from the specified image when deploying via git:from-image +- #5679: @josegonzalez Revert invalid replacement in homepage html path objects +- #5678: @josegonzalez Cleanup docs on homepage for installation + +### Dependencies + +- #5693: @dependabot[bot] chore(deps): bump mkdocs-material from 9.0.12 to 9.0.13 in /docs/_build +- #5694: @dependabot[bot] chore(deps): bump zipp from 3.13.0 to 3.14.0 in /docs/_build +- #5677: @dependabot[bot] chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/multi +- #5676: @dependabot[bot] chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/python-flask + ## 0.30.0 Install/update via the bootstrap script: diff --git a/README.md b/README.md index 421c26cda6b..ca79d0dd3e4 100644 --- a/README.md +++ b/README.md @@ -86,8 +86,8 @@ Otherwise, you will need to import the keypair manually after installation using To install the latest stable release, run the following commands as a user who has access to `sudo`: ```shell -wget https://dokku.com/install/v0.30.0/bootstrap.sh -sudo DOKKU_TAG=v0.30.0 bash bootstrap.sh +wget https://dokku.com/install/v0.30.1/bootstrap.sh +sudo DOKKU_TAG=v0.30.1 bash bootstrap.sh ``` You can then proceed to configure your server domain (via `dokku domains:set-global`) and user access (via `dokku ssh-keys:add`) to complete the installation. diff --git a/debian/control b/debian/control index f720795bf69..671c2b9be88 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Package: dokku -Version: 0.30.0 +Version: 0.30.1 Section: web Priority: optional Architecture: amd64 diff --git a/docs/advanced-usage/plugin-management.md b/docs/advanced-usage/plugin-management.md index f79831132d7..4c6fac652a8 100644 --- a/docs/advanced-usage/plugin-management.md +++ b/docs/advanced-usage/plugin-management.md @@ -35,35 +35,35 @@ dokku plugin:list ``` plugn: dev - 00_dokku-standard 0.30.0 enabled dokku core standard plugin - 20_events 0.30.0 enabled dokku core events logging plugin - app-json 0.30.0 enabled dokku core app-json plugin - apps 0.30.0 enabled dokku core apps plugin - build-env 0.30.0 enabled dokku core build-env plugin - buildpacks 0.30.0 enabled dokku core buildpacks plugin - certs 0.30.0 enabled dokku core certificate management plugin - checks 0.30.0 enabled dokku core checks plugin - common 0.30.0 enabled dokku core common plugin - config 0.30.0 enabled dokku core config plugin - docker-options 0.30.0 enabled dokku core docker-options plugin - domains 0.30.0 enabled dokku core domains plugin - enter 0.30.0 enabled dokku core enter plugin - git 0.30.0 enabled dokku core git plugin - logs 0.30.0 enabled dokku core logs plugin - network 0.30.0 enabled dokku core network plugin - nginx-vhosts 0.30.0 enabled dokku core nginx-vhosts plugin - plugin 0.30.0 enabled dokku core plugin plugin - proxy 0.30.0 enabled dokku core proxy plugin - ps 0.30.0 enabled dokku core ps plugin - repo 0.30.0 enabled dokku core repo plugin - resource 0.30.0 enabled dokku core resource plugin - scheduler-docker-local 0.30.0 enabled dokku core scheduler-docker-local plugin - shell 0.30.0 enabled dokku core shell plugin - ssh-keys 0.30.0 enabled dokku core ssh-keys plugin - storage 0.30.0 enabled dokku core storage plugin - tags 0.30.0 enabled dokku core tags plugin - tar 0.30.0 enabled dokku core tar plugin - trace 0.30.0 enabled dokku core trace plugin + 00_dokku-standard 0.30.1 enabled dokku core standard plugin + 20_events 0.30.1 enabled dokku core events logging plugin + app-json 0.30.1 enabled dokku core app-json plugin + apps 0.30.1 enabled dokku core apps plugin + build-env 0.30.1 enabled dokku core build-env plugin + buildpacks 0.30.1 enabled dokku core buildpacks plugin + certs 0.30.1 enabled dokku core certificate management plugin + checks 0.30.1 enabled dokku core checks plugin + common 0.30.1 enabled dokku core common plugin + config 0.30.1 enabled dokku core config plugin + docker-options 0.30.1 enabled dokku core docker-options plugin + domains 0.30.1 enabled dokku core domains plugin + enter 0.30.1 enabled dokku core enter plugin + git 0.30.1 enabled dokku core git plugin + logs 0.30.1 enabled dokku core logs plugin + network 0.30.1 enabled dokku core network plugin + nginx-vhosts 0.30.1 enabled dokku core nginx-vhosts plugin + plugin 0.30.1 enabled dokku core plugin plugin + proxy 0.30.1 enabled dokku core proxy plugin + ps 0.30.1 enabled dokku core ps plugin + repo 0.30.1 enabled dokku core repo plugin + resource 0.30.1 enabled dokku core resource plugin + scheduler-docker-local 0.30.1 enabled dokku core scheduler-docker-local plugin + shell 0.30.1 enabled dokku core shell plugin + ssh-keys 0.30.1 enabled dokku core ssh-keys plugin + storage 0.30.1 enabled dokku core storage plugin + tags 0.30.1 enabled dokku core tags plugin + tar 0.30.1 enabled dokku core tar plugin + trace 0.30.1 enabled dokku core trace plugin ``` > Warning: All plugin commands other than `plugin:list` and `plugin:help` require sudo access and must be run directly from the Dokku server. diff --git a/docs/assets/favicons/browserconfig.xml b/docs/assets/favicons/browserconfig.xml index 10ff50b22b7..7a82bba8531 100644 --- a/docs/assets/favicons/browserconfig.xml +++ b/docs/assets/favicons/browserconfig.xml @@ -2,10 +2,10 @@ - - - - + + + + #da532c diff --git a/docs/assets/favicons/manifest.json b/docs/assets/favicons/manifest.json index 7cb0ed987ca..0e43b7d2ecd 100644 --- a/docs/assets/favicons/manifest.json +++ b/docs/assets/favicons/manifest.json @@ -2,37 +2,37 @@ "name": "Dokku", "icons": [ { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.0\/docs\/assets\/favicons\/android-chrome-36x36.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.1\/docs\/assets\/favicons\/android-chrome-36x36.png", "sizes": "36x36", "type": "image\/png", "density": "0.75" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.0\/docs\/assets\/favicons\/android-chrome-48x48.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.1\/docs\/assets\/favicons\/android-chrome-48x48.png", "sizes": "48x48", "type": "image\/png", "density": "1.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.0\/docs\/assets\/favicons\/android-chrome-72x72.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.1\/docs\/assets\/favicons\/android-chrome-72x72.png", "sizes": "72x72", "type": "image\/png", "density": "1.5" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.0\/docs\/assets\/favicons\/android-chrome-96x96.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.1\/docs\/assets\/favicons\/android-chrome-96x96.png", "sizes": "96x96", "type": "image\/png", "density": "2.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.0\/docs\/assets\/favicons\/android-chrome-144x144.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.1\/docs\/assets\/favicons\/android-chrome-144x144.png", "sizes": "144x144", "type": "image\/png", "density": "3.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.0\/docs\/assets\/favicons\/android-chrome-192x192.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.1\/docs\/assets\/favicons\/android-chrome-192x192.png", "sizes": "192x192", "type": "image\/png", "density": "4.0" diff --git a/docs/assets/versions.json b/docs/assets/versions.json index da3624b410a..4ec0cb008e9 100644 --- a/docs/assets/versions.json +++ b/docs/assets/versions.json @@ -27,6 +27,6 @@ "0.27.10", "0.28.4", "0.29.4", - "0.30.0" + "0.30.1" ] } diff --git a/docs/development/release-process.md b/docs/development/release-process.md index 13116ee7a4f..c176588329d 100644 --- a/docs/development/release-process.md +++ b/docs/development/release-process.md @@ -29,7 +29,7 @@ The workflow looks like this: ```shell # having dokku-arch in ../dokku-arch vagrant up build-arch -# wait for "==> build-arch: ==> Finished making: dokku 0.30.0-2 (Mon Feb 22 23:20:37 CET 2016)" +# wait for "==> build-arch: ==> Finished making: dokku 0.30.1-2 (Mon Feb 22 23:20:37 CET 2016)" cd ../dokku-arch git add PKGBUILD .SRCINFO git commit -m 'Update to dokku 0.9.9' diff --git a/docs/getting-started/install/docker.md b/docs/getting-started/install/docker.md index 174850311fd..baec4f1a20a 100644 --- a/docs/getting-started/install/docker.md +++ b/docs/getting-started/install/docker.md @@ -3,7 +3,7 @@ Pull the dokku/dokku image: ```shell -docker pull dokku/dokku:0.30.0 +docker pull dokku/dokku:0.30.1 ``` Next, run the image. @@ -18,7 +18,7 @@ docker container run \ --publish 8443:443 \ --volume /var/lib/dokku:/mnt/dokku \ --volume /var/run/docker.sock:/var/run/docker.sock \ - dokku/dokku:0.30.0 + dokku/dokku:0.30.1 ``` The above command will start a new docker container that is ready when a message similar to `Runit started as PID 12345` appears. diff --git a/docs/getting-started/installation/index.md b/docs/getting-started/installation/index.md index 75595e28393..5b85e32f7ba 100644 --- a/docs/getting-started/installation/index.md +++ b/docs/getting-started/installation/index.md @@ -38,8 +38,8 @@ To install the latest stable version of Dokku, you can run the following shell c ```shell # for debian systems, installs Dokku via apt-get -wget https://dokku.com/install/v0.30.0/bootstrap.sh -sudo DOKKU_TAG=v0.30.0 bash bootstrap.sh +wget https://dokku.com/install/v0.30.1/bootstrap.sh +sudo DOKKU_TAG=v0.30.1 bash bootstrap.sh ``` The installation process takes about 5-10 minutes, depending upon internet connection speed. diff --git a/docs/home.html b/docs/home.html index 0cbb37714a6..e9696d5f45e 100644 --- a/docs/home.html +++ b/docs/home.html @@ -10,26 +10,26 @@ Dokku - The smallest PaaS implementation you've ever seen - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + @@ -38,7 +38,7 @@ - + @@ -98,7 +98,7 @@
-
Latest release v0.30.0
+
Latest release v0.30.1

An open source PAAS alternative to Heroku.

Dokku helps you build and manage the lifecycle of applications from building to scaling.

@@ -125,7 +125,7 @@

Dokku helps you build and manage the lifecycle of ap

$ - sudo DOKKU_TAG=v0.30.0 bash bootstrap.sh + sudo DOKKU_TAG=v0.30.1 bash bootstrap.sh


diff --git a/docs/template.html b/docs/template.html index e5dd91fa897..b5fe7ba5927 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - -{{{body}}} - - \ No newline at end of file From d656c4ce62f1b65779b69e6c1863c75bb8965621 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 08:13:28 +0000 Subject: [PATCH 2947/4100] chore(deps): bump golang in /tests/apps/go-fail-predeploy Bumps golang from 1.25.0 to 1.25.1. --- updated-dependencies: - dependency-name: golang dependency-version: 1.25.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/apps/go-fail-predeploy/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/go-fail-predeploy/Dockerfile b/tests/apps/go-fail-predeploy/Dockerfile index 3b609f40ecb..32f1fe19d25 100644 --- a/tests/apps/go-fail-predeploy/Dockerfile +++ b/tests/apps/go-fail-predeploy/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.25.0 +FROM golang:1.25.1 EXPOSE 3000/tcp From b39c1ea6b2ff8836077fc696a407337f3e333a2e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 08:13:52 +0000 Subject: [PATCH 2948/4100] chore(deps): bump mkdocs-material from 9.6.18 to 9.6.19 in /docs/_build Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.18 to 9.6.19. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.18...9.6.19) --- updated-dependencies: - dependency-name: mkdocs-material dependency-version: 9.6.19 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- docs/_build/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_build/requirements.txt b/docs/_build/requirements.txt index 8dac6542667..e48dd355712 100644 --- a/docs/_build/requirements.txt +++ b/docs/_build/requirements.txt @@ -8,7 +8,7 @@ MarkupSafe==3.0.2 mergedeep==1.3.4 mkdocs==1.6.1 mkdocs-exclude==1.0.2 -mkdocs-material==9.6.18 +mkdocs-material==9.6.19 mkdocs-material-extensions==1.3.1 packaging==25.0 Pygments==2.19.2 From 4852cb501ed7693f59f1e1c46e366ed98b3e20a3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 08:14:08 +0000 Subject: [PATCH 2949/4100] chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini Bumps golang from 1.25.0 to 1.25.1. --- updated-dependencies: - dependency-name: golang dependency-version: 1.25.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/apps/zombies-dockerfile-tini/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/zombies-dockerfile-tini/Dockerfile b/tests/apps/zombies-dockerfile-tini/Dockerfile index de1376be435..18996edf43c 100644 --- a/tests/apps/zombies-dockerfile-tini/Dockerfile +++ b/tests/apps/zombies-dockerfile-tini/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.25.0 +FROM golang:1.25.1 ADD . /go/src/github.com/dokku/apps/web WORKDIR /go/src/github.com/dokku/apps/web From 97080a397a722488c25e71d0cf4ba7332d323f7d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 08:15:27 +0000 Subject: [PATCH 2950/4100] chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini Bumps golang from 1.25.0 to 1.25.1. --- updated-dependencies: - dependency-name: golang dependency-version: 1.25.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/apps/zombies-dockerfile-no-tini/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/zombies-dockerfile-no-tini/Dockerfile b/tests/apps/zombies-dockerfile-no-tini/Dockerfile index 564a898583d..c0ba06c141e 100644 --- a/tests/apps/zombies-dockerfile-no-tini/Dockerfile +++ b/tests/apps/zombies-dockerfile-no-tini/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.25.0 +FROM golang:1.25.1 ADD . /go/src/github.com/dokku/apps/web WORKDIR /go/src/github.com/dokku/apps/web From 8fa67ea6079e48940a3bf6b8dbab846b74d18ff6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 08:15:40 +0000 Subject: [PATCH 2951/4100] chore(deps): bump golang in /tests/apps/go-fail-postdeploy Bumps golang from 1.25.0 to 1.25.1. --- updated-dependencies: - dependency-name: golang dependency-version: 1.25.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/apps/go-fail-postdeploy/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/go-fail-postdeploy/Dockerfile b/tests/apps/go-fail-postdeploy/Dockerfile index 3b609f40ecb..32f1fe19d25 100644 --- a/tests/apps/go-fail-postdeploy/Dockerfile +++ b/tests/apps/go-fail-postdeploy/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.25.0 +FROM golang:1.25.1 EXPOSE 3000/tcp From ad8ece9ad33f05a5e857beb45675ba5025936901 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 08:16:14 +0000 Subject: [PATCH 2952/4100] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/gogrpc Bumps golang from 1.25.0 to 1.25.1. --- updated-dependencies: - dependency-name: golang dependency-version: 1.25.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- tests/apps/gogrpc/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/apps/gogrpc/Dockerfile b/tests/apps/gogrpc/Dockerfile index 756b96901da..4b3e69fdf83 100644 --- a/tests/apps/gogrpc/Dockerfile +++ b/tests/apps/gogrpc/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.25.0 +FROM golang:1.25.1 RUN mkdir /app WORKDIR /app From b6c793d63703d209eb15c974cbec90ea6124323b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 08:16:55 +0000 Subject: [PATCH 2953/4100] chore(deps): bump golang.org/x/sync in /plugins/common Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.16.0 to 0.17.0. - [Commits](https://github.com/golang/sync/compare/v0.16.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-version: 0.17.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- plugins/common/go.mod | 2 +- plugins/common/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/common/go.mod b/plugins/common/go.mod index 67c220c4be2..69555d58f2c 100644 --- a/plugins/common/go.mod +++ b/plugins/common/go.mod @@ -12,7 +12,7 @@ require ( github.com/ryanuber/columnize v2.1.2+incompatible github.com/spf13/pflag v1.0.10 golang.org/x/crypto v0.41.0 - golang.org/x/sync v0.16.0 + golang.org/x/sync v0.17.0 ) require ( diff --git a/plugins/common/go.sum b/plugins/common/go.sum index 578483721d8..0a5ac8bd4fd 100644 --- a/plugins/common/go.sum +++ b/plugins/common/go.sum @@ -69,8 +69,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= From fa4e711d4661ad5eeddd1993d4de7a6d87ffa4dd Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 8 Sep 2025 04:20:50 -0400 Subject: [PATCH 2954/4100] fix: set correct label for nixpacks builder --- plugins/builder-nixpacks/builder-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/builder-nixpacks/builder-build b/plugins/builder-nixpacks/builder-build index eae65baba69..c27a4492131 100755 --- a/plugins/builder-nixpacks/builder-build +++ b/plugins/builder-nixpacks/builder-build @@ -21,7 +21,7 @@ trigger-builder-nixpacks-builder-build() { fi local IMAGE=$(get_app_image_name "$APP") - local DOCKER_BUILD_LABEL_ARGS=("--label=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=dockerfile" "--label=com.dokku.app-name=$APP") + local DOCKER_BUILD_LABEL_ARGS=("--label=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=nixpacks" "--label=com.dokku.app-name=$APP") pushd "$SOURCECODE_WORK_DIR" &>/dev/null From ff4af5492054efef55e424088140b95c986b51aa Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 8 Sep 2025 04:24:35 -0400 Subject: [PATCH 2955/4100] tests: respect DOKKU_DOMAIN when deploying in tests --- tests/unit/builder-nixpacks.bats | 2 +- tests/unit/openresty.bats | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/unit/builder-nixpacks.bats b/tests/unit/builder-nixpacks.bats index 39285c1837c..5fe1dfbbfbc 100644 --- a/tests/unit/builder-nixpacks.bats +++ b/tests/unit/builder-nixpacks.bats @@ -25,7 +25,7 @@ teardown() { echo "status: $status" assert_success - run deploy_app python dokku@dokku.me:$TEST_APP inject_requirements_txt + run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP inject_requirements_txt echo "output: $output" echo "status: $status" assert_success diff --git a/tests/unit/openresty.bats b/tests/unit/openresty.bats index e1b13aa66ba..f7e5d6c5cb9 100644 --- a/tests/unit/openresty.bats +++ b/tests/unit/openresty.bats @@ -38,7 +38,7 @@ teardown() { echo "status: $status" assert_success - run deploy_app python dokku@dokku.me:$TEST_APP convert_to_dockerfile + run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP convert_to_dockerfile echo "output: $output" echo "status: $status" assert_success @@ -62,7 +62,7 @@ teardown() { echo "status: $status" assert_success - run deploy_app python dokku@dokku.me:$TEST_APP convert_to_dockerfile + run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP convert_to_dockerfile echo "output: $output" echo "status: $status" assert_success @@ -211,7 +211,7 @@ teardown() { echo "status: $status" assert_success - run deploy_app python dokku@dokku.me:$TEST_APP add_openresty_include + run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP add_openresty_include echo "output: $output" echo "status: $status" assert_success From 5efa641d55e735b9dcd8a3794874c32dcb87bd38 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 8 Sep 2025 04:25:33 -0400 Subject: [PATCH 2956/4100] fix: ensure that the nixpacks bin is installed in /usr/bin/nixpacks in Docker image --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ea84cf5d834..b12fe59ad07 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,7 +30,8 @@ RUN mkdir -p /etc/apt/keyrings \ && apt-get -y --no-install-recommends install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin pack-cli \ && curl -o /tmp/nixpacks.bash -sSL https://nixpacks.com/install.sh \ && chmod +x /tmp/nixpacks.bash \ - && /tmp/nixpacks.bash \ + && NIXPACKS_BIN_DIR=/usr/bin /tmp/nixpacks.bash \ + && test -x /usr/bin/nixpacks \ && rm -rf /tmp/nixpacks.bash \ && echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections \ && echo "dokku dokku/skip_key_file boolean $DOKKU_SKIP_KEY_FILE" | debconf-set-selections \ From 65dbe32e6951cac3459efa1df863fd2ddbb610d5 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 8 Sep 2025 04:29:51 -0400 Subject: [PATCH 2957/4100] chore: bump go modules and run go mod tidy --- plugins/app-json/go.mod | 2 +- plugins/app-json/go.sum | 4 ++-- plugins/apps/go.mod | 2 +- plugins/apps/go.sum | 4 ++-- plugins/builder/go.mod | 2 +- plugins/builder/go.sum | 4 ++-- plugins/buildpacks/go.mod | 2 +- plugins/buildpacks/go.sum | 4 ++-- plugins/config/go.mod | 2 +- plugins/config/go.sum | 4 ++-- plugins/cron/go.mod | 2 +- plugins/cron/go.sum | 4 ++-- plugins/docker-options/go.mod | 2 +- plugins/docker-options/go.sum | 4 ++-- plugins/logs/go.mod | 2 +- plugins/logs/go.sum | 4 ++-- plugins/network/go.mod | 2 +- plugins/network/go.sum | 4 ++-- plugins/nginx-vhosts/go.mod | 2 +- plugins/nginx-vhosts/go.sum | 4 ++-- plugins/ports/go.mod | 2 +- plugins/ports/go.sum | 4 ++-- plugins/proxy/go.mod | 2 +- plugins/proxy/go.sum | 4 ++-- plugins/ps/go.mod | 2 +- plugins/ps/go.sum | 4 ++-- plugins/registry/go.mod | 2 +- plugins/registry/go.sum | 4 ++-- plugins/repo/go.mod | 2 +- plugins/repo/go.sum | 4 ++-- plugins/resource/go.mod | 2 +- plugins/resource/go.sum | 4 ++-- plugins/scheduler-docker-local/go.mod | 2 +- plugins/scheduler-docker-local/go.sum | 4 ++-- plugins/scheduler-k3s/go.mod | 2 +- plugins/scheduler-k3s/go.sum | 4 ++-- plugins/scheduler/go.mod | 2 +- plugins/scheduler/go.sum | 4 ++-- 38 files changed, 57 insertions(+), 57 deletions(-) diff --git a/plugins/app-json/go.mod b/plugins/app-json/go.mod index f2876b2ce2f..1b77f7bb3fb 100644 --- a/plugins/app-json/go.mod +++ b/plugins/app-json/go.mod @@ -24,7 +24,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/app-json/go.sum b/plugins/app-json/go.sum index 248b7ed1620..6ce95833aa0 100644 --- a/plugins/app-json/go.sum +++ b/plugins/app-json/go.sum @@ -60,8 +60,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/apps/go.mod b/plugins/apps/go.mod index 9b712c7a348..a24248eb6e5 100644 --- a/plugins/apps/go.mod +++ b/plugins/apps/go.mod @@ -22,7 +22,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/apps/go.sum b/plugins/apps/go.sum index 1a9ba333a67..d8221044911 100644 --- a/plugins/apps/go.sum +++ b/plugins/apps/go.sum @@ -57,8 +57,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/builder/go.mod b/plugins/builder/go.mod index 514590bda6f..9d17cf4a88b 100644 --- a/plugins/builder/go.mod +++ b/plugins/builder/go.mod @@ -22,7 +22,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/builder/go.sum b/plugins/builder/go.sum index 1a9ba333a67..d8221044911 100644 --- a/plugins/builder/go.sum +++ b/plugins/builder/go.sum @@ -57,8 +57,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/buildpacks/go.mod b/plugins/buildpacks/go.mod index 0c3e9bcf2d1..908707791a7 100644 --- a/plugins/buildpacks/go.mod +++ b/plugins/buildpacks/go.mod @@ -22,7 +22,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/buildpacks/go.sum b/plugins/buildpacks/go.sum index 1a9ba333a67..d8221044911 100644 --- a/plugins/buildpacks/go.sum +++ b/plugins/buildpacks/go.sum @@ -57,8 +57,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/config/go.mod b/plugins/config/go.mod index 804bfa65315..ed5fe882264 100644 --- a/plugins/config/go.mod +++ b/plugins/config/go.mod @@ -27,7 +27,7 @@ require ( go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/crypto v0.41.0 // indirect golang.org/x/net v0.43.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect golang.org/x/text v0.28.0 // indirect ) diff --git a/plugins/config/go.sum b/plugins/config/go.sum index 53b056b4a1f..9a32ed3b95e 100644 --- a/plugins/config/go.sum +++ b/plugins/config/go.sum @@ -71,8 +71,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/cron/go.mod b/plugins/cron/go.mod index 33a894e3694..390c230deda 100644 --- a/plugins/cron/go.mod +++ b/plugins/cron/go.mod @@ -27,7 +27,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pkg/sftp v1.13.5 // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect ) diff --git a/plugins/cron/go.sum b/plugins/cron/go.sum index 6223ea815ed..79912b703d6 100644 --- a/plugins/cron/go.sum +++ b/plugins/cron/go.sum @@ -72,8 +72,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/docker-options/go.mod b/plugins/docker-options/go.mod index 752e5292cd9..70cf88d5db6 100644 --- a/plugins/docker-options/go.mod +++ b/plugins/docker-options/go.mod @@ -19,7 +19,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/docker-options/go.sum b/plugins/docker-options/go.sum index e0948412bc1..e16b40257d8 100644 --- a/plugins/docker-options/go.sum +++ b/plugins/docker-options/go.sum @@ -55,8 +55,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/logs/go.mod b/plugins/logs/go.mod index e84cb2fd011..a3cc45e9a1d 100644 --- a/plugins/logs/go.mod +++ b/plugins/logs/go.mod @@ -24,7 +24,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/logs/go.sum b/plugins/logs/go.sum index 9e5b532c5f5..4db474b2b4f 100644 --- a/plugins/logs/go.sum +++ b/plugins/logs/go.sum @@ -59,8 +59,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/network/go.mod b/plugins/network/go.mod index b5bfd933680..1b5711d02c0 100644 --- a/plugins/network/go.mod +++ b/plugins/network/go.mod @@ -22,7 +22,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/network/go.sum b/plugins/network/go.sum index 1a9ba333a67..d8221044911 100644 --- a/plugins/network/go.sum +++ b/plugins/network/go.sum @@ -57,8 +57,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/nginx-vhosts/go.mod b/plugins/nginx-vhosts/go.mod index 48137ccfac2..95bfed78f85 100644 --- a/plugins/nginx-vhosts/go.mod +++ b/plugins/nginx-vhosts/go.mod @@ -22,7 +22,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/nginx-vhosts/go.sum b/plugins/nginx-vhosts/go.sum index 1a9ba333a67..d8221044911 100644 --- a/plugins/nginx-vhosts/go.sum +++ b/plugins/nginx-vhosts/go.sum @@ -57,8 +57,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/ports/go.mod b/plugins/ports/go.mod index e97f5daacb5..6f7a8a866f8 100644 --- a/plugins/ports/go.mod +++ b/plugins/ports/go.mod @@ -24,7 +24,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pkg/sftp v1.13.5 // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/ports/go.sum b/plugins/ports/go.sum index 2840d6de307..064c403b518 100644 --- a/plugins/ports/go.sum +++ b/plugins/ports/go.sum @@ -59,8 +59,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/proxy/go.mod b/plugins/proxy/go.mod index 928d1388a85..13c6e7d9139 100644 --- a/plugins/proxy/go.mod +++ b/plugins/proxy/go.mod @@ -24,7 +24,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/proxy/go.sum b/plugins/proxy/go.sum index 2840d6de307..064c403b518 100644 --- a/plugins/proxy/go.sum +++ b/plugins/proxy/go.sum @@ -59,8 +59,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/ps/go.mod b/plugins/ps/go.mod index ec1dbe26db9..35987b0cce1 100644 --- a/plugins/ps/go.mod +++ b/plugins/ps/go.mod @@ -26,7 +26,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/ps/go.sum b/plugins/ps/go.sum index 9997ee691e8..122ef2bbd2e 100644 --- a/plugins/ps/go.sum +++ b/plugins/ps/go.sum @@ -63,8 +63,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/registry/go.mod b/plugins/registry/go.mod index a3c3d10721a..5f2bc961610 100644 --- a/plugins/registry/go.mod +++ b/plugins/registry/go.mod @@ -22,7 +22,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/registry/go.sum b/plugins/registry/go.sum index 1a9ba333a67..d8221044911 100644 --- a/plugins/registry/go.sum +++ b/plugins/registry/go.sum @@ -57,8 +57,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/repo/go.mod b/plugins/repo/go.mod index 34da4f60e04..a433b13d536 100644 --- a/plugins/repo/go.mod +++ b/plugins/repo/go.mod @@ -22,7 +22,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/repo/go.sum b/plugins/repo/go.sum index 1a9ba333a67..d8221044911 100644 --- a/plugins/repo/go.sum +++ b/plugins/repo/go.sum @@ -57,8 +57,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/resource/go.mod b/plugins/resource/go.mod index a97e4f2e24a..20cf83b7ea2 100644 --- a/plugins/resource/go.mod +++ b/plugins/resource/go.mod @@ -22,7 +22,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/resource/go.sum b/plugins/resource/go.sum index 1a9ba333a67..d8221044911 100644 --- a/plugins/resource/go.sum +++ b/plugins/resource/go.sum @@ -57,8 +57,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/scheduler-docker-local/go.mod b/plugins/scheduler-docker-local/go.mod index 1c1de818c2b..f3bf60cc168 100644 --- a/plugins/scheduler-docker-local/go.mod +++ b/plugins/scheduler-docker-local/go.mod @@ -6,7 +6,7 @@ require ( github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000 github.com/dokku/dokku/plugins/cron v0.0.0-00010101000000-000000000000 github.com/multiformats/go-base36 v0.2.0 - golang.org/x/sync v0.16.0 + golang.org/x/sync v0.17.0 ) require ( diff --git a/plugins/scheduler-docker-local/go.sum b/plugins/scheduler-docker-local/go.sum index eba08333234..95d2b4342e4 100644 --- a/plugins/scheduler-docker-local/go.sum +++ b/plugins/scheduler-docker-local/go.sum @@ -71,8 +71,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/scheduler-k3s/go.mod b/plugins/scheduler-k3s/go.mod index 1a373e9efc2..7cf30c0c898 100644 --- a/plugins/scheduler-k3s/go.mod +++ b/plugins/scheduler-k3s/go.mod @@ -21,7 +21,7 @@ require ( github.com/ryanuber/columnize v2.1.2+incompatible github.com/spf13/pflag v1.0.10 github.com/traefik/traefik/v2 v2.11.29 - golang.org/x/sync v0.16.0 + golang.org/x/sync v0.17.0 gopkg.in/yaml.v3 v3.0.1 helm.sh/helm/v3 v3.18.5 k8s.io/api v0.34.0 diff --git a/plugins/scheduler-k3s/go.sum b/plugins/scheduler-k3s/go.sum index 66532cf48b1..fe45088397d 100644 --- a/plugins/scheduler-k3s/go.sum +++ b/plugins/scheduler-k3s/go.sum @@ -457,8 +457,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/scheduler/go.mod b/plugins/scheduler/go.mod index 5a5d4e24fba..44dec12ff66 100644 --- a/plugins/scheduler/go.mod +++ b/plugins/scheduler/go.mod @@ -22,7 +22,7 @@ require ( github.com/pkg/sftp v1.13.5 // indirect github.com/ryanuber/columnize v2.1.2+incompatible // indirect golang.org/x/crypto v0.41.0 // indirect - golang.org/x/sync v0.16.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.35.0 // indirect ) diff --git a/plugins/scheduler/go.sum b/plugins/scheduler/go.sum index 1a9ba333a67..d8221044911 100644 --- a/plugins/scheduler/go.sum +++ b/plugins/scheduler/go.sum @@ -57,8 +57,8 @@ golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= From f155eae135414070664aa96349b5c8dc9950cce8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 13:17:36 +0000 Subject: [PATCH 2958/4100] chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.18.5 to 3.18.6. - [Release notes](https://github.com/helm/helm/releases) - [Commits](https://github.com/helm/helm/compare/v3.18.5...v3.18.6) --- updated-dependencies: - dependency-name: helm.sh/helm/v3 dependency-version: 3.18.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- plugins/scheduler-k3s/go.mod | 2 +- plugins/scheduler-k3s/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/scheduler-k3s/go.mod b/plugins/scheduler-k3s/go.mod index 1a373e9efc2..a17c850bd1f 100644 --- a/plugins/scheduler-k3s/go.mod +++ b/plugins/scheduler-k3s/go.mod @@ -23,7 +23,7 @@ require ( github.com/traefik/traefik/v2 v2.11.29 golang.org/x/sync v0.16.0 gopkg.in/yaml.v3 v3.0.1 - helm.sh/helm/v3 v3.18.5 + helm.sh/helm/v3 v3.18.6 k8s.io/api v0.34.0 k8s.io/apimachinery v0.34.0 k8s.io/client-go v0.34.0 diff --git a/plugins/scheduler-k3s/go.sum b/plugins/scheduler-k3s/go.sum index 66532cf48b1..4b867af7ba0 100644 --- a/plugins/scheduler-k3s/go.sum +++ b/plugins/scheduler-k3s/go.sum @@ -543,8 +543,8 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -helm.sh/helm/v3 v3.18.5 h1:Cc3Z5vd6kDrZq9wO9KxKLNEickiTho6/H/dBNRVSos4= -helm.sh/helm/v3 v3.18.5/go.mod h1:L/dXDR2r539oPlFP1PJqKAC1CUgqHJDLkxKpDGrWnyg= +helm.sh/helm/v3 v3.18.6 h1:S/2CqcYnNfLckkHLI0VgQbxgcDaU3N4A/46E3n9wSNY= +helm.sh/helm/v3 v3.18.6/go.mod h1:L/dXDR2r539oPlFP1PJqKAC1CUgqHJDLkxKpDGrWnyg= k8s.io/api v0.34.0 h1:L+JtP2wDbEYPUeNGbeSa/5GwFtIA662EmT2YSLOkAVE= k8s.io/api v0.34.0/go.mod h1:YzgkIzOOlhl9uwWCZNqpw6RJy9L2FK4dlJeayUoydug= k8s.io/apiextensions-apiserver v0.33.3 h1:qmOcAHN6DjfD0v9kxL5udB27SRP6SG/MTopmge3MwEs= From 5631d1eeaf5f9006237a2bb36933a66d50d2bb8b Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 8 Sep 2025 14:29:47 -0400 Subject: [PATCH 2959/4100] fix: bind BIN_DIR to /usr/bin --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b12fe59ad07..f598c523099 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,7 +30,7 @@ RUN mkdir -p /etc/apt/keyrings \ && apt-get -y --no-install-recommends install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin pack-cli \ && curl -o /tmp/nixpacks.bash -sSL https://nixpacks.com/install.sh \ && chmod +x /tmp/nixpacks.bash \ - && NIXPACKS_BIN_DIR=/usr/bin /tmp/nixpacks.bash \ + && NIXPACKS_BIN_DIR=/usr/bin BIN_DIR=/usr/bin /tmp/nixpacks.bash \ && test -x /usr/bin/nixpacks \ && rm -rf /tmp/nixpacks.bash \ && echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections \ From 0cecd6061a1491883926d24bc31bd15c8511be03 Mon Sep 17 00:00:00 2001 From: Dokku Bot Date: Mon, 8 Sep 2025 21:28:23 +0000 Subject: [PATCH 2960/4100] Release 0.36.6 # History ## 0.36.6 Install/update via the bootstrap script: ```shell wget -NP . https://dokku.com/install/v0.36.6/bootstrap.sh sudo DOKKU_TAG=v0.36.6 bash bootstrap.sh ``` ### Bug Fixes - #7955: @josegonzalez Ensure that the nixpacks bin is installed in /usr/bin/nixpacks in Docker image - #7953: @josegonzalez Set correct label for nixpacks builder - #7942: @josegonzalez Ensure the code is copied over to the new app on clone or rebase - #7941: @josegonzalez Do not generate an https url when there is no SSL certificate - #7940: @josegonzalez Silence openresty extract warnings during the deploy process ### Tests - #7954: @josegonzalez Respect DOKKU_DOMAIN when deploying in tests - #7943: @josegonzalez Remove unused test app - #7939: @josegonzalez Add test for ensuring run commands work with pack-based builds ### Dependencies - #7958: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.18.5 to 3.18.6 in /plugins/scheduler-k3s - #7952: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.16.0 to 0.17.0 in /plugins/common - #7951: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/gogrpc - #7950: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-postdeploy - #7949: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-no-tini - #7947: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-tini - #7945: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-predeploy - #7946: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.18 to 9.6.19 in /docs/_build --- HISTORY.md | 34 +++++++++++++ README.md | 4 +- debian/control | 2 +- docs/advanced-usage/plugin-management.md | 58 +++++++++++----------- docs/assets/favicons/browserconfig.xml | 8 +-- docs/assets/favicons/manifest.json | 12 ++--- docs/assets/versions.json | 2 +- docs/development/release-process.md | 2 +- docs/getting-started/install/docker.md | 8 +-- docs/getting-started/installation/index.md | 4 +- docs/home.html | 40 +++++++-------- docs/template.html | 36 +++++++------- plugins/00_dokku-standard/plugin.toml | 2 +- plugins/20_events/plugin.toml | 2 +- plugins/app-json/plugin.toml | 2 +- plugins/apps/plugin.toml | 2 +- plugins/builder-dockerfile/plugin.toml | 2 +- plugins/builder-herokuish/plugin.toml | 2 +- plugins/builder-lambda/plugin.toml | 2 +- plugins/builder-nixpacks/plugin.toml | 2 +- plugins/builder-null/plugin.toml | 2 +- plugins/builder-pack/plugin.toml | 2 +- plugins/builder/plugin.toml | 2 +- plugins/buildpacks/plugin.toml | 2 +- plugins/caddy-vhosts/plugin.toml | 2 +- plugins/certs/plugin.toml | 2 +- plugins/checks/plugin.toml | 2 +- plugins/common/plugin.toml | 2 +- plugins/config/plugin.toml | 2 +- plugins/cron/plugin.toml | 2 +- plugins/docker-options/plugin.toml | 2 +- plugins/domains/plugin.toml | 2 +- plugins/enter/plugin.toml | 2 +- plugins/git/plugin.toml | 2 +- plugins/haproxy-vhosts/plugin.toml | 2 +- plugins/logs/plugin.toml | 2 +- plugins/network/plugin.toml | 2 +- plugins/nginx-vhosts/plugin.toml | 2 +- plugins/openresty-vhosts/plugin.toml | 2 +- plugins/plugin/plugin.toml | 2 +- plugins/ports/plugin.toml | 2 +- plugins/proxy/plugin.toml | 2 +- plugins/ps/plugin.toml | 2 +- plugins/registry/plugin.toml | 2 +- plugins/repo/plugin.toml | 2 +- plugins/resource/plugin.toml | 2 +- plugins/run/plugin.toml | 2 +- plugins/scheduler-docker-local/plugin.toml | 2 +- plugins/scheduler-k3s/plugin.toml | 2 +- plugins/scheduler-null/plugin.toml | 2 +- plugins/scheduler/plugin.toml | 2 +- plugins/shell/plugin.toml | 2 +- plugins/ssh-keys/plugin.toml | 2 +- plugins/storage/plugin.toml | 2 +- plugins/trace/plugin.toml | 2 +- plugins/traefik-vhosts/plugin.toml | 2 +- 56 files changed, 166 insertions(+), 132 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index e3c27cda017..ec9a1505a3f 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,39 @@ # History +## 0.36.6 + +Install/update via the bootstrap script: + +```shell +wget -NP . https://dokku.com/install/v0.36.6/bootstrap.sh +sudo DOKKU_TAG=v0.36.6 bash bootstrap.sh +``` + +### Bug Fixes + +- #7955: @josegonzalez Ensure that the nixpacks bin is installed in /usr/bin/nixpacks in Docker image +- #7953: @josegonzalez Set correct label for nixpacks builder +- #7942: @josegonzalez Ensure the code is copied over to the new app on clone or rebase +- #7941: @josegonzalez Do not generate an https url when there is no SSL certificate +- #7940: @josegonzalez Silence openresty extract warnings during the deploy process + +### Tests + +- #7954: @josegonzalez Respect DOKKU_DOMAIN when deploying in tests +- #7943: @josegonzalez Remove unused test app +- #7939: @josegonzalez Add test for ensuring run commands work with pack-based builds + +### Dependencies + +- #7958: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.18.5 to 3.18.6 in /plugins/scheduler-k3s +- #7952: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.16.0 to 0.17.0 in /plugins/common +- #7951: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/gogrpc +- #7950: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-postdeploy +- #7949: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-no-tini +- #7947: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-tini +- #7945: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-predeploy +- #7946: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.18 to 9.6.19 in /docs/_build + ## 0.36.5 Install/update via the bootstrap script: diff --git a/README.md b/README.md index e231d841bac..4b619e4ae89 100644 --- a/README.md +++ b/README.md @@ -85,8 +85,8 @@ Otherwise, you will need to import the keypair manually after installation using To install the latest stable release, run the following commands as a user who has access to `sudo`: ```shell -wget -NP . https://dokku.com/install/v0.36.5/bootstrap.sh -sudo DOKKU_TAG=v0.36.5 bash bootstrap.sh +wget -NP . https://dokku.com/install/v0.36.6/bootstrap.sh +sudo DOKKU_TAG=v0.36.6 bash bootstrap.sh ``` You can then proceed to configure your server domain (via `dokku domains:set-global`) and user access (via `dokku ssh-keys:add`) to complete the installation. diff --git a/debian/control b/debian/control index 7e8573172ad..9d556790ad7 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Package: dokku -Version: 0.36.5 +Version: 0.36.6 Section: web Priority: optional Architecture: amd64 diff --git a/docs/advanced-usage/plugin-management.md b/docs/advanced-usage/plugin-management.md index 7a992ac37f9..11d1bdd92f6 100644 --- a/docs/advanced-usage/plugin-management.md +++ b/docs/advanced-usage/plugin-management.md @@ -36,35 +36,35 @@ dokku plugin:list ``` plugn: dev - 00_dokku-standard 0.36.5 enabled dokku core standard plugin - 20_events 0.36.5 enabled dokku core events logging plugin - app-json 0.36.5 enabled dokku core app-json plugin - apps 0.36.5 enabled dokku core apps plugin - build-env 0.36.5 enabled dokku core build-env plugin - buildpacks 0.36.5 enabled dokku core buildpacks plugin - certs 0.36.5 enabled dokku core certificate management plugin - checks 0.36.5 enabled dokku core checks plugin - common 0.36.5 enabled dokku core common plugin - config 0.36.5 enabled dokku core config plugin - docker-options 0.36.5 enabled dokku core docker-options plugin - domains 0.36.5 enabled dokku core domains plugin - enter 0.36.5 enabled dokku core enter plugin - git 0.36.5 enabled dokku core git plugin - logs 0.36.5 enabled dokku core logs plugin - network 0.36.5 enabled dokku core network plugin - nginx-vhosts 0.36.5 enabled dokku core nginx-vhosts plugin - plugin 0.36.5 enabled dokku core plugin plugin - proxy 0.36.5 enabled dokku core proxy plugin - ps 0.36.5 enabled dokku core ps plugin - repo 0.36.5 enabled dokku core repo plugin - resource 0.36.5 enabled dokku core resource plugin - scheduler-docker-local 0.36.5 enabled dokku core scheduler-docker-local plugin - shell 0.36.5 enabled dokku core shell plugin - ssh-keys 0.36.5 enabled dokku core ssh-keys plugin - storage 0.36.5 enabled dokku core storage plugin - tags 0.36.5 enabled dokku core tags plugin - tar 0.36.5 enabled dokku core tar plugin - trace 0.36.5 enabled dokku core trace plugin + 00_dokku-standard 0.36.6 enabled dokku core standard plugin + 20_events 0.36.6 enabled dokku core events logging plugin + app-json 0.36.6 enabled dokku core app-json plugin + apps 0.36.6 enabled dokku core apps plugin + build-env 0.36.6 enabled dokku core build-env plugin + buildpacks 0.36.6 enabled dokku core buildpacks plugin + certs 0.36.6 enabled dokku core certificate management plugin + checks 0.36.6 enabled dokku core checks plugin + common 0.36.6 enabled dokku core common plugin + config 0.36.6 enabled dokku core config plugin + docker-options 0.36.6 enabled dokku core docker-options plugin + domains 0.36.6 enabled dokku core domains plugin + enter 0.36.6 enabled dokku core enter plugin + git 0.36.6 enabled dokku core git plugin + logs 0.36.6 enabled dokku core logs plugin + network 0.36.6 enabled dokku core network plugin + nginx-vhosts 0.36.6 enabled dokku core nginx-vhosts plugin + plugin 0.36.6 enabled dokku core plugin plugin + proxy 0.36.6 enabled dokku core proxy plugin + ps 0.36.6 enabled dokku core ps plugin + repo 0.36.6 enabled dokku core repo plugin + resource 0.36.6 enabled dokku core resource plugin + scheduler-docker-local 0.36.6 enabled dokku core scheduler-docker-local plugin + shell 0.36.6 enabled dokku core shell plugin + ssh-keys 0.36.6 enabled dokku core ssh-keys plugin + storage 0.36.6 enabled dokku core storage plugin + tags 0.36.6 enabled dokku core tags plugin + tar 0.36.6 enabled dokku core tar plugin + trace 0.36.6 enabled dokku core trace plugin ``` > [!WARNING] diff --git a/docs/assets/favicons/browserconfig.xml b/docs/assets/favicons/browserconfig.xml index b529f6b3a42..d72cabde074 100644 --- a/docs/assets/favicons/browserconfig.xml +++ b/docs/assets/favicons/browserconfig.xml @@ -2,10 +2,10 @@ - - - - + + + + #da532c diff --git a/docs/assets/favicons/manifest.json b/docs/assets/favicons/manifest.json index bbe08f4f94e..db5f4c5c6aa 100644 --- a/docs/assets/favicons/manifest.json +++ b/docs/assets/favicons/manifest.json @@ -2,37 +2,37 @@ "name": "Dokku", "icons": [ { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.5\/docs\/assets\/favicons\/android-chrome-36x36.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.6\/docs\/assets\/favicons\/android-chrome-36x36.png", "sizes": "36x36", "type": "image\/png", "density": "0.75" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.5\/docs\/assets\/favicons\/android-chrome-48x48.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.6\/docs\/assets\/favicons\/android-chrome-48x48.png", "sizes": "48x48", "type": "image\/png", "density": "1.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.5\/docs\/assets\/favicons\/android-chrome-72x72.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.6\/docs\/assets\/favicons\/android-chrome-72x72.png", "sizes": "72x72", "type": "image\/png", "density": "1.5" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.5\/docs\/assets\/favicons\/android-chrome-96x96.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.6\/docs\/assets\/favicons\/android-chrome-96x96.png", "sizes": "96x96", "type": "image\/png", "density": "2.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.5\/docs\/assets\/favicons\/android-chrome-144x144.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.6\/docs\/assets\/favicons\/android-chrome-144x144.png", "sizes": "144x144", "type": "image\/png", "density": "3.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.5\/docs\/assets\/favicons\/android-chrome-192x192.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.6\/docs\/assets\/favicons\/android-chrome-192x192.png", "sizes": "192x192", "type": "image\/png", "density": "4.0" diff --git a/docs/assets/versions.json b/docs/assets/versions.json index 9d1b26d7c7a..c5d13219589 100644 --- a/docs/assets/versions.json +++ b/docs/assets/versions.json @@ -33,6 +33,6 @@ "0.33.9", "0.34.9", "0.35.20", - "0.36.5" + "0.36.6" ] } diff --git a/docs/development/release-process.md b/docs/development/release-process.md index 63ac16252bc..3e25d27022f 100644 --- a/docs/development/release-process.md +++ b/docs/development/release-process.md @@ -29,7 +29,7 @@ The workflow looks like this: ```shell # having dokku-arch in ../dokku-arch vagrant up build-arch -# wait for "==> build-arch: ==> Finished making: dokku 0.36.5-2 (Mon Feb 22 23:20:37 CET 2016)" +# wait for "==> build-arch: ==> Finished making: dokku 0.36.6-2 (Mon Feb 22 23:20:37 CET 2016)" cd ../dokku-arch git add PKGBUILD .SRCINFO git commit -m 'Update to dokku 0.9.9' diff --git a/docs/getting-started/install/docker.md b/docs/getting-started/install/docker.md index b9d83f62a44..9069ca5eb61 100644 --- a/docs/getting-started/install/docker.md +++ b/docs/getting-started/install/docker.md @@ -3,7 +3,7 @@ Pull the dokku/dokku image: ```shell -docker pull dokku/dokku:0.36.5 +docker pull dokku/dokku:0.36.6 ``` Next, run the image. @@ -19,7 +19,7 @@ docker container run -d \ --publish 8443:443 \ --volume /var/lib/dokku:/mnt/dokku \ --volume /var/run/docker.sock:/var/run/docker.sock \ - dokku/dokku:0.36.5 + dokku/dokku:0.36.6 ``` Alternatively, you can use `docker-compose.yml`: @@ -27,7 +27,7 @@ Alternatively, you can use `docker-compose.yml`: ```yaml services: dokku: - image: dokku/dokku:0.36.5 + image: dokku/dokku:0.36.6 container_name: dokku network_mode: bridge ports: @@ -83,7 +83,7 @@ redis: https://github.com/dokku/dokku-redis.git The alternative is to build a custom docker image via a custom Dockerfile. This Dockerfile can run any `plugin:install` command. Note that the version installed at that time will be the one that persists. Below is an example Dockerfile showing this method. ```Dockerfile -FROM dokku/dokku:0.36.5 +FROM dokku/dokku:0.36.6 RUN dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres RUN dokku plugin:install https://github.com/dokku/dokku-redis.git redis ``` diff --git a/docs/getting-started/installation/index.md b/docs/getting-started/installation/index.md index 9e3dc9a8c88..f73eac0f9b0 100644 --- a/docs/getting-started/installation/index.md +++ b/docs/getting-started/installation/index.md @@ -37,8 +37,8 @@ To install the latest stable version of Dokku, you can run the following shell c ```shell # for debian systems, installs Dokku via apt-get -wget -NP . https://dokku.com/install/v0.36.5/bootstrap.sh -sudo DOKKU_TAG=v0.36.5 bash bootstrap.sh +wget -NP . https://dokku.com/install/v0.36.6/bootstrap.sh +sudo DOKKU_TAG=v0.36.6 bash bootstrap.sh ``` The installation process takes about 5-10 minutes, depending upon internet connection speed. diff --git a/docs/home.html b/docs/home.html index 309d535bd3d..f2477ac28d7 100644 --- a/docs/home.html +++ b/docs/home.html @@ -10,26 +10,26 @@ Dokku - The smallest PaaS implementation you've ever seen - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + @@ -38,7 +38,7 @@ - + @@ -98,7 +98,7 @@
-
Latest release v0.36.5
+
Latest release v0.36.6

An open source PAAS alternative to Heroku.

Dokku helps you build and manage the lifecycle of applications from building to scaling.

@@ -125,7 +125,7 @@

Dokku helps you build and manage the lifecycle of ap

$ - sudo DOKKU_TAG=v0.36.5 bash bootstrap.sh + sudo DOKKU_TAG=v0.36.6 bash bootstrap.sh


diff --git a/docs/template.html b/docs/template.html index 310922bc554..75eb5a901f7 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + -
-
-
-
-

- Hello, world! -

-

- This is a sample website using the Heroku Multi Buildpack on Dokku. It uses the python, ruby, and node buildpacks. The node buildpack is for using bower and grunt. The ruby buildpack is for running compass. And last but not last, the python buildpack is to run the flask application. -

-

- Learn more -

-
-
-
-
+
+
+
+
+ {% include 'content.html' %} +

+ Learn more +

+
+
+
+
From daef410a233a81f1a0f1d385356092be141ca6a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 06:37:58 +0000 Subject: [PATCH 3541/4100] chore(deps): bump mvdan.cc/sh/v3 from 3.13.0 to 3.13.1 in /plugins/cron Bumps [mvdan.cc/sh/v3](https://github.com/mvdan/sh) from 3.13.0 to 3.13.1. - [Release notes](https://github.com/mvdan/sh/releases) - [Changelog](https://github.com/mvdan/sh/blob/master/CHANGELOG.md) - [Commits](https://github.com/mvdan/sh/compare/v3.13.0...v3.13.1) --- updated-dependencies: - dependency-name: mvdan.cc/sh/v3 dependency-version: 3.13.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- plugins/cron/go.mod | 2 +- plugins/cron/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/cron/go.mod b/plugins/cron/go.mod index f4654d444c1..39c53ee5516 100644 --- a/plugins/cron/go.mod +++ b/plugins/cron/go.mod @@ -9,7 +9,7 @@ require ( github.com/robfig/cron/v3 v3.0.1 github.com/ryanuber/columnize v2.1.2+incompatible github.com/spf13/pflag v1.0.10 - mvdan.cc/sh/v3 v3.13.0 + mvdan.cc/sh/v3 v3.13.1 ) require ( diff --git a/plugins/cron/go.sum b/plugins/cron/go.sum index 815be605735..e061e0969ba 100644 --- a/plugins/cron/go.sum +++ b/plugins/cron/go.sum @@ -71,5 +71,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ= k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -mvdan.cc/sh/v3 v3.13.0 h1:dSfq/MVsY4w0Vsi6Lbs0IcQquMVqLdKLESAOZjuHdLg= -mvdan.cc/sh/v3 v3.13.0/go.mod h1:KV1GByGPc/Ho0X1E6Uz9euhsIQEj4hwyKnodLlFLoDM= +mvdan.cc/sh/v3 v3.13.1 h1:DP3TfgZhDkT7lerUdnp6PTGKyxxzz6T+cOlY/xEvfWk= +mvdan.cc/sh/v3 v3.13.1/go.mod h1:lXJ8SexMvEVcHCoDvAGLZgFJ9Wsm2sulmoNEXGhYZD0= From daaf6a11b62cebc3436175db710ef06be08d77f5 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 14 Apr 2026 03:16:56 -0400 Subject: [PATCH 3542/4100] chore: bump go modules --- plugins/scheduler-docker-local/go.mod | 2 +- plugins/scheduler-docker-local/go.sum | 4 ++-- plugins/scheduler-k3s/go.mod | 2 +- plugins/scheduler-k3s/go.sum | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/scheduler-docker-local/go.mod b/plugins/scheduler-docker-local/go.mod index c4b4aa9dd54..5a9cf31381c 100644 --- a/plugins/scheduler-docker-local/go.mod +++ b/plugins/scheduler-docker-local/go.mod @@ -30,7 +30,7 @@ require ( golang.org/x/crypto v0.50.0 // indirect golang.org/x/sys v0.43.0 // indirect k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect - mvdan.cc/sh/v3 v3.13.0 // indirect + mvdan.cc/sh/v3 v3.13.1 // indirect ) replace github.com/dokku/dokku/plugins/app-json => ../app-json diff --git a/plugins/scheduler-docker-local/go.sum b/plugins/scheduler-docker-local/go.sum index 78b6c156317..3de658ee007 100644 --- a/plugins/scheduler-docker-local/go.sum +++ b/plugins/scheduler-docker-local/go.sum @@ -69,5 +69,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ= k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -mvdan.cc/sh/v3 v3.13.0 h1:dSfq/MVsY4w0Vsi6Lbs0IcQquMVqLdKLESAOZjuHdLg= -mvdan.cc/sh/v3 v3.13.0/go.mod h1:KV1GByGPc/Ho0X1E6Uz9euhsIQEj4hwyKnodLlFLoDM= +mvdan.cc/sh/v3 v3.13.1 h1:DP3TfgZhDkT7lerUdnp6PTGKyxxzz6T+cOlY/xEvfWk= +mvdan.cc/sh/v3 v3.13.1/go.mod h1:lXJ8SexMvEVcHCoDvAGLZgFJ9Wsm2sulmoNEXGhYZD0= diff --git a/plugins/scheduler-k3s/go.mod b/plugins/scheduler-k3s/go.mod index 69d1d10661f..09f3ab4fabb 100644 --- a/plugins/scheduler-k3s/go.mod +++ b/plugins/scheduler-k3s/go.mod @@ -33,7 +33,7 @@ require ( k8s.io/kubectl v0.35.2 k8s.io/kubernetes v1.35.0 k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 - mvdan.cc/sh/v3 v3.13.0 + mvdan.cc/sh/v3 v3.13.1 sigs.k8s.io/kustomize/api v0.21.1 ) diff --git a/plugins/scheduler-k3s/go.sum b/plugins/scheduler-k3s/go.sum index 72962cf44db..0339a169a4d 100644 --- a/plugins/scheduler-k3s/go.sum +++ b/plugins/scheduler-k3s/go.sum @@ -470,8 +470,8 @@ k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzk k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= knative.dev/pkg v0.0.0-20250708013613-d3550d4350f9 h1:yCiThjArNgVjRbyBGvRvYr/B6G3djvr5pXrh8MXfnsk= knative.dev/pkg v0.0.0-20250708013613-d3550d4350f9/go.mod h1:I2vWm0knRQH2WBfpIAkRzOPk0XoXxfu8YJT63ddYWd4= -mvdan.cc/sh/v3 v3.13.0 h1:dSfq/MVsY4w0Vsi6Lbs0IcQquMVqLdKLESAOZjuHdLg= -mvdan.cc/sh/v3 v3.13.0/go.mod h1:KV1GByGPc/Ho0X1E6Uz9euhsIQEj4hwyKnodLlFLoDM= +mvdan.cc/sh/v3 v3.13.1 h1:DP3TfgZhDkT7lerUdnp6PTGKyxxzz6T+cOlY/xEvfWk= +mvdan.cc/sh/v3 v3.13.1/go.mod h1:lXJ8SexMvEVcHCoDvAGLZgFJ9Wsm2sulmoNEXGhYZD0= oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc= oras.land/oras-go/v2 v2.6.0/go.mod h1:magiQDfG6H1O9APp+rOsvCPcW1GD2MM7vgnKY0Y+u1o= sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= From 80e687e1595898c5e849d72fb2998d3876de76f9 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 14 Apr 2026 04:29:54 -0400 Subject: [PATCH 3543/4100] chore: upgrade traefik from v2.11.41 to v2.11.42 --- plugins/scheduler-k3s/go.mod | 2 +- plugins/scheduler-k3s/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/scheduler-k3s/go.mod b/plugins/scheduler-k3s/go.mod index 09f3ab4fabb..ca87a1f2208 100644 --- a/plugins/scheduler-k3s/go.mod +++ b/plugins/scheduler-k3s/go.mod @@ -23,7 +23,7 @@ require ( github.com/kedacore/keda/v2 v2.18.3 github.com/ryanuber/columnize v2.1.2+incompatible github.com/spf13/pflag v1.0.10 - github.com/traefik/traefik/v2 v2.11.41 + github.com/traefik/traefik/v2 v2.11.42 golang.org/x/sync v0.20.0 gopkg.in/yaml.v3 v3.0.1 helm.sh/helm/v3 v3.20.2 diff --git a/plugins/scheduler-k3s/go.sum b/plugins/scheduler-k3s/go.sum index 0339a169a4d..ff4898c0d10 100644 --- a/plugins/scheduler-k3s/go.sum +++ b/plugins/scheduler-k3s/go.sum @@ -334,8 +334,8 @@ github.com/tailscale/hujson v0.0.0-20250605163823-992244df8c5a h1:a6TNDN9CgG+cYj github.com/tailscale/hujson v0.0.0-20250605163823-992244df8c5a/go.mod h1:EbW0wDK/qEUYI0A5bqq0C2kF8JTQwWONmGDBbzsxxHo= github.com/traefik/paerser v0.2.2 h1:cpzW/ZrQrBh3mdwD/jnp6aXASiUFKOVr6ldP+keJTcQ= github.com/traefik/paerser v0.2.2/go.mod h1:7BBDd4FANoVgaTZG+yh26jI6CA2nds7D/4VTEdIsh24= -github.com/traefik/traefik/v2 v2.11.41 h1:MG4DsMWOnvmkXZqvB3gPrUsjubVS/WZo3RdhBS8sKR4= -github.com/traefik/traefik/v2 v2.11.41/go.mod h1:9mfLtkvPW5JJmOD5ihDNoteHeUtui2ty/C6IVBbeHno= +github.com/traefik/traefik/v2 v2.11.42 h1:S0MkAXMAV98MQ3z5uhCzYFSmXLn98gJpRJ2+x5RhSpA= +github.com/traefik/traefik/v2 v2.11.42/go.mod h1:3jrf93FXaxsoWtckf+flLcV8bXAAAjZm297fqJ299fo= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= From d191c1d6e914b714f07cd20b6c9cb5544e759d7a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 14 Apr 2026 04:41:48 -0400 Subject: [PATCH 3544/4100] chore: bump dependencies in tests/apps/php --- tests/apps/php/composer.json | 6 +- tests/apps/php/composer.lock | 972 +++++++++++------------------------ 2 files changed, 292 insertions(+), 686 deletions(-) diff --git a/tests/apps/php/composer.json b/tests/apps/php/composer.json index 858680a92c6..779925b5b88 100644 --- a/tests/apps/php/composer.json +++ b/tests/apps/php/composer.json @@ -2,9 +2,9 @@ "description": "a test php app for dokku", "name": "test-php-app/0.1", "require": { - "monolog/monolog": "~1.7", - "php": ">=5.5.9", - "silex/silex": "~2.2" + "monolog/monolog": "^3.0", + "php": ">=8.2", + "slim/slim": "^4.0" }, "require-dev": { "heroku/heroku-buildpack-php": "*" diff --git a/tests/apps/php/composer.lock b/tests/apps/php/composer.lock index 6ffde7de0db..c1e56c77e83 100644 --- a/tests/apps/php/composer.lock +++ b/tests/apps/php/composer.lock @@ -4,55 +4,72 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "25734948ac43783241048a01843ef00c", + "content-hash": "bd07a729449c8e7bfadef3c601be8f69", "packages": [ { "name": "monolog/monolog", - "version": "1.27.1", + "version": "3.10.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "904713c5929655dc9b97288b69cfeedad610c9a1" + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1", - "reference": "904713c5929655dc9b97288b69cfeedad610c9a1", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/b321dd6749f0bf7189444158a3ce785cc16d69b0", + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0", "shasum": "" }, "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" }, "provide": { - "psr/log-implementation": "1.0.0" + "psr/log-implementation": "3.0.0" }, "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "aws/aws-sdk-php": "^3.0", "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpstan/phpstan": "^0.12.59", - "phpunit/phpunit": "~4.5", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "^5.3|^6.0" + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8 || ^2.0", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "php-console/php-console": "^3.1.8", + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.17 || ^11.0.7", + "predis/predis": "^1.1 || ^2", + "rollbar/rollbar": "^4.0", + "ruflin/elastica": "^7 || ^8", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, "autoload": { "psr-4": { "Monolog\\": "src/Monolog" @@ -66,16 +83,20 @@ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "homepage": "https://seld.be" } ], "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", + "homepage": "https://github.com/Seldaek/monolog", "keywords": [ "log", "logging", "psr-3" ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/3.10.0" + }, "funding": [ { "url": "https://github.com/Seldaek", @@ -86,128 +107,79 @@ "type": "tidelift" } ], - "time": "2022-06-09T08:53:42+00:00" + "time": "2026-01-02T08:56:05+00:00" }, { - "name": "paragonie/random_compat", - "version": "v2.0.18", + "name": "nikic/fast-route", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db" + "url": "https://github.com/nikic/FastRoute.git", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/0a58ef6e3146256cc3dc7cc393927bcc7d1b72db", - "reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812", "shasum": "" }, "require": { - "php": ">=5.2.0" + "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + "phpunit/phpunit": "^4.8.35|~5.7" }, "type": "library", "autoload": { "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "time": "2019-01-03T20:59:08+00:00" - }, - { - "name": "pimple/pimple", - "version": "v3.2.3", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32", - "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/container": "^1.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "src/" + "src/functions.php" + ], + "psr-4": { + "FastRoute\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nikita Popov", + "email": "nikic@php.net" } ], - "description": "Pimple, a simple Dependency Injection Container", - "homepage": "http://pimple.sensiolabs.org", + "description": "Fast request router for PHP", "keywords": [ - "container", - "dependency injection" + "router", + "routing" ], - "time": "2018-01-21T07:42:36+00:00" + "support": { + "issues": "https://github.com/nikic/FastRoute/issues", + "source": "https://github.com/nikic/FastRoute/tree/master" + }, + "time": "2018-02-13T20:26:39+00:00" }, { "name": "psr/container", - "version": "1.0.0", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -222,7 +194,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common Container Interface (PHP FIG PSR-11)", @@ -234,34 +206,39 @@ "container-interop", "psr" ], - "time": "2017-02-14T16:28:37+00:00" + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" }, { - "name": "psr/log", - "version": "1.1.4", + "name": "psr/http-factory", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -274,81 +251,48 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ - "log", + "factory", + "http", + "message", "psr", - "psr-3" + "psr-17", + "psr-7", + "request", + "response" ], - "time": "2021-05-03T11:20:27+00:00" + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" }, { - "name": "silex/silex", - "version": "v2.2.4", + "name": "psr/http-message", + "version": "2.0", "source": { "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "d2531e5b8099c429b752ad2154e85999c3689057" + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/d2531e5b8099c429b752ad2154e85999c3689057", - "reference": "d2531e5b8099c429b752ad2154e85999c3689057", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { - "php": ">=5.5.9", - "pimple/pimple": "~3.0", - "symfony/event-dispatcher": "~2.8|^3.0", - "symfony/http-foundation": "~2.8|^3.0", - "symfony/http-kernel": "~2.8|^3.0", - "symfony/routing": "~2.8|^3.0" - }, - "conflict": { - "phpunit/phpunit": "<4.8.35 || >= 5.0, <5.4.3" - }, - "replace": { - "silex/api": "self.version", - "silex/providers": "self.version" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/asset": "~2.8|^3.0", - "symfony/browser-kit": "~2.8|^3.0", - "symfony/config": "~2.8|^3.0", - "symfony/css-selector": "~2.8|^3.0", - "symfony/debug": "~2.8|^3.0", - "symfony/doctrine-bridge": "~2.8|^3.0", - "symfony/dom-crawler": "~2.8|^3.0", - "symfony/expression-language": "~2.8|^3.0", - "symfony/finder": "~2.8|^3.0", - "symfony/form": "~2.8|^3.0", - "symfony/intl": "~2.8|^3.0", - "symfony/monolog-bridge": "~2.8|^3.0", - "symfony/options-resolver": "~2.8|^3.0", - "symfony/phpunit-bridge": "^3.2", - "symfony/process": "~2.8|^3.0", - "symfony/security": "~2.8|^3.0", - "symfony/serializer": "~2.8|^3.0", - "symfony/translation": "~2.8|^3.0", - "symfony/twig-bridge": "~2.8|^3.0", - "symfony/validator": "~2.8|^3.0", - "symfony/var-dumper": "~2.8|^3.0", - "symfony/web-link": "^3.3", - "twig/twig": "~1.28|~2.0" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Silex\\": "src/Silex" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -357,177 +301,53 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org", + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", "keywords": [ - "microframework" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ], - "abandoned": "symfony/flex", - "time": "2018-03-16T23:34:20+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.4.35", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086" + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/f72e33fdb1170b326e72c3157f0cd456351dd086", - "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/http-kernel": "~2.8|~3.0|~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com", - "abandoned": "symfony/error-handler", - "time": "2019-10-24T15:33:53+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v3.4.35", + "name": "psr/http-server-handler", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "f9031c22ec127d4a2450760f81a8677fe8a10177" + "url": "https://github.com/php-fig/http-server-handler.git", + "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f9031c22ec127d4a2450760f81a8677fe8a10177", - "reference": "f9031c22ec127d4a2450760f81a8677fe8a10177", + "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/84c4fb66179be4caaf8e97bd239203245302e7d4", + "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" - }, - "conflict": { - "symfony/dependency-injection": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "php": ">=7.0", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "Psr\\Http\\Server\\": "src/" } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2019-10-24T15:33:53+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.4.35", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "9e4b3ac8fa3348b4811674d23de32d201de225ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9e4b3ac8fa3348b4811674d23de32d201de225ce", - "reference": "9e4b3ac8fa3348b4811674d23de32d201de225ce", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php70": "~1.6" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0|~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -535,140 +355,55 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony HttpFoundation Component", - "homepage": "https://symfony.com", - "time": "2019-11-11T12:53:10+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.4.35", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "e1764b3de00ec5636dd03d02fd44bcb1147d70d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e1764b3de00ec5636dd03d02fd44bcb1147d70d9", - "reference": "e1764b3de00ec5636dd03d02fd44bcb1147d70d9", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "psr/log": "~1.0", - "symfony/debug": "^3.3.3|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/http-foundation": "~3.4.12|~4.0.12|^4.1.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php56": "~1.8" - }, - "conflict": { - "symfony/config": "<2.8", - "symfony/dependency-injection": "<3.4.10|<4.0.10,>=4", - "symfony/var-dumper": "<3.3", - "twig/twig": "<1.34|<2.4,>=2" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/cache": "~1.0", - "symfony/browser-kit": "~2.8|~3.0|~4.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/console": "~2.8|~3.0|~4.0", - "symfony/css-selector": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "^3.4.10|^4.0.10", - "symfony/dom-crawler": "~2.8|~3.0|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/process": "~2.8|~3.0|~4.0", - "symfony/routing": "~3.4|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0", - "symfony/templating": "~2.8|~3.0|~4.0", - "symfony/translation": "~2.8|~3.0|~4.0", - "symfony/var-dumper": "~3.3|~4.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } + "description": "Common interface for HTTP server-side request handler", + "keywords": [ + "handler", + "http", + "http-interop", + "psr", + "psr-15", + "psr-7", + "request", + "response", + "server" ], - "description": "Symfony HttpKernel Component", - "homepage": "https://symfony.com", - "time": "2019-11-13T08:44:50+00:00" + "support": { + "source": "https://github.com/php-fig/http-server-handler/tree/1.0.2" + }, + "time": "2023-04-10T20:06:20+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.12.0", + "name": "psr/http-server-middleware", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4" + "url": "https://github.com/php-fig/http-server-middleware.git", + "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4", + "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/c1481f747daaa6a0782775cd6a8c26a1bf4a3829", + "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" + "php": ">=7.0", + "psr/http-message": "^1.0 || ^2.0", + "psr/http-server-handler": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" + "Psr\\Http\\Server\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -677,56 +412,53 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", + "description": "Common interface for HTTP server-side middleware", "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" + "http", + "http-interop", + "middleware", + "psr", + "psr-15", + "psr-7", + "request", + "response" ], - "time": "2019-08-06T08:03:45+00:00" + "support": { + "issues": "https://github.com/php-fig/http-server-middleware/issues", + "source": "https://github.com/php-fig/http-server-middleware/tree/1.0.2" + }, + "time": "2023-04-11T06:14:47+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.12.0", + "name": "psr/log", + "version": "3.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "3.x-dev" } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -735,55 +467,75 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "log", + "psr", + "psr-3" ], - "time": "2019-08-06T08:03:45+00:00" + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" }, { - "name": "symfony/polyfill-php56", - "version": "v1.12.0", + "name": "slim/slim", + "version": "4.15.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "0e3b212e96a51338639d8ce175c046d7729c3403" + "url": "https://github.com/slimphp/Slim.git", + "reference": "887893516557506f254d950425ce7f5387a26970" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/0e3b212e96a51338639d8ce175c046d7729c3403", - "reference": "0e3b212e96a51338639d8ce175c046d7729c3403", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/887893516557506f254d950425ce7f5387a26970", + "reference": "887893516557506f254d950425ce7f5387a26970", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/polyfill-util": "~1.0" + "ext-json": "*", + "nikic/fast-route": "^1.3", + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "psr/container": "^1.0 || ^2.0", + "psr/http-factory": "^1.1", + "psr/http-message": "^1.1 || ^2.0", + "psr/http-server-handler": "^1.0", + "psr/http-server-middleware": "^1.0", + "psr/log": "^1.1 || ^2.0 || ^3.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.12-dev" - } + "require-dev": { + "adriansuter/php-autoload-override": "^1.4 || ^2", + "ext-simplexml": "*", + "guzzlehttp/psr7": "^2.6", + "httpsoft/http-message": "^1.1", + "httpsoft/http-server-request": "^1.1", + "laminas/laminas-diactoros": "^2.17 || ^3", + "nyholm/psr7": "^1.8", + "nyholm/psr7-server": "^1.1", + "phpspec/prophecy": "^1.19", + "phpspec/prophecy-phpunit": "^2.1", + "phpstan/phpstan": "^1 || ^2", + "phpunit/phpunit": "^9.6 || ^10 || ^11 || ^12", + "slim/http": "^1.3", + "slim/psr7": "^1.6", + "squizlabs/php_codesniffer": "^3.10", + "vimeo/psalm": "^5 || ^6" }, + "suggest": { + "ext-simplexml": "Needed to support XML format in BodyParsingMiddleware", + "ext-xml": "Needed to support XML format in BodyParsingMiddleware", + "php-di/php-di": "PHP-DI is the recommended container library to be used with Slim", + "slim/psr7": "Slim PSR-7 implementation. See https://www.slimframework.com/docs/v4/start/installation.html for more information." + }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php56\\": "" + "Slim\\": "Slim" } }, "notification-url": "https://packagist.org/downloads/", @@ -792,225 +544,75 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "https://joshlockhart.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2019-08-06T08:03:45+00:00" - }, - { - "name": "symfony/polyfill-php70", - "version": "v1.12.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "54b4c428a0054e254223797d2713c31e08610831" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/54b4c428a0054e254223797d2713c31e08610831", - "reference": "54b4c428a0054e254223797d2713c31e08610831", - "shasum": "" - }, - "require": { - "paragonie/random_compat": "~1.0|~2.0|~9.99", - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.12-dev" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php70\\": "" + "name": "Andrew Smith", + "email": "a.smith@silentworks.co.uk", + "homepage": "https://silentworks.co.uk" }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Rob Allen", + "email": "rob@akrabat.com", + "homepage": "https://akrabat.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2019-08-06T08:03:45+00:00" - }, - { - "name": "symfony/polyfill-util", - "version": "v1.12.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-util.git", - "reference": "4317de1386717b4c22caed7725350a8887ab205c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4317de1386717b4c22caed7725350a8887ab205c", - "reference": "4317de1386717b4c22caed7725350a8887ab205c", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.12-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Util\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Pierre Berube", + "email": "pierre@lgse.com", + "homepage": "https://www.lgse.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Gabriel Manricks", + "email": "gmanricks@me.com", + "homepage": "http://gabrielmanricks.com" } ], - "description": "Symfony utilities for portability of PHP codes", - "homepage": "https://symfony.com", + "description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs", + "homepage": "https://www.slimframework.com", "keywords": [ - "compat", - "compatibility", - "polyfill", - "shim" - ], - "time": "2019-08-06T08:03:45+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.4.32", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "8b0faa681c4ee14701e76a7056fef15ac5384163" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8b0faa681c4ee14701e76a7056fef15ac5384163", - "reference": "8b0faa681c4ee14701e76a7056fef15ac5384163", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "conflict": { - "symfony/config": "<3.3.1", - "symfony/dependency-injection": "<3.3", - "symfony/yaml": "<3.4" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "psr/log": "~1.0", - "symfony/config": "^3.3.1|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/http-foundation": "~2.8|~3.0|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "api", + "framework", + "micro", + "router" + ], + "support": { + "docs": "https://www.slimframework.com/docs/v4/", + "forum": "https://discourse.slimframework.com/", + "irc": "irc://irc.freenode.net:6667/slimphp", + "issues": "https://github.com/slimphp/Slim/issues", + "rss": "https://www.slimframework.com/blog/feed.rss", + "slack": "https://slimphp.slack.com/", + "source": "https://github.com/slimphp/Slim", + "wiki": "https://github.com/slimphp/Slim/wiki" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "funding": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "url": "https://opencollective.com/slimphp", + "type": "open_collective" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "url": "https://tidelift.com/funding/github/packagist/slim/slim", + "type": "tidelift" } ], - "description": "Symfony Routing Component", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2019-08-26T07:50:50+00:00" + "time": "2025-11-21T12:23:44+00:00" } ], "packages-dev": [ { "name": "heroku/heroku-buildpack-php", - "version": "v231", + "version": "v285", "source": { "type": "git", "url": "https://github.com/heroku/heroku-buildpack-php.git", - "reference": "5c628e7e989e9d96d742bea67f3245bebe5fc7be" + "reference": "8fb15acb4ab0c9753256be702fe0d12f74f6735d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/5c628e7e989e9d96d742bea67f3245bebe5fc7be", - "reference": "5c628e7e989e9d96d742bea67f3245bebe5fc7be", + "url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/8fb15acb4ab0c9753256be702fe0d12f74f6735d", + "reference": "8fb15acb4ab0c9753256be702fe0d12f74f6735d", "shasum": "" }, "bin": [ @@ -1038,17 +640,21 @@ "nginx", "php" ], - "time": "2023-02-14T21:03:27+00:00" + "support": { + "issues": "https://github.com/heroku/heroku-buildpack-php/issues", + "source": "https://github.com/heroku/heroku-buildpack-php/tree/v285" + }, + "time": "2026-03-17T04:06:57+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=5.5.9" + "php": ">=8.2" }, - "platform-dev": [], - "plugin-api-version": "1.1.0" + "platform-dev": {}, + "plugin-api-version": "2.9.0" } From 59d20f4b5934f88b18bac6883fa89918b40faf90 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 08:27:49 +0000 Subject: [PATCH 3545/4100] chore(deps): bump github.com/cert-manager/cert-manager Bumps [github.com/cert-manager/cert-manager](https://github.com/cert-manager/cert-manager) from 1.19.3 to 1.20.0. - [Release notes](https://github.com/cert-manager/cert-manager/releases) - [Changelog](https://github.com/cert-manager/cert-manager/blob/master/RELEASE.md) - [Commits](https://github.com/cert-manager/cert-manager/compare/v1.19.3...v1.20.0) --- updated-dependencies: - dependency-name: github.com/cert-manager/cert-manager dependency-version: 1.20.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- plugins/scheduler-k3s/go.mod | 32 ++++++------- plugins/scheduler-k3s/go.sum | 88 ++++++++++++++++++------------------ 2 files changed, 60 insertions(+), 60 deletions(-) diff --git a/plugins/scheduler-k3s/go.mod b/plugins/scheduler-k3s/go.mod index ca87a1f2208..cca01128da3 100644 --- a/plugins/scheduler-k3s/go.mod +++ b/plugins/scheduler-k3s/go.mod @@ -4,7 +4,7 @@ go 1.25.5 require ( github.com/Masterminds/semver/v3 v3.4.0 - github.com/cert-manager/cert-manager v1.19.3 + github.com/cert-manager/cert-manager v1.20.2 github.com/dokku/dokku/plugins/app-json v0.0.0-20250618161309-8d0c35f1333c github.com/dokku/dokku/plugins/common v0.0.0-20250618161309-8d0c35f1333c github.com/dokku/dokku/plugins/config v0.0.0-20250618161309-8d0c35f1333c @@ -32,7 +32,7 @@ require ( k8s.io/client-go v0.35.2 k8s.io/kubectl v0.35.2 k8s.io/kubernetes v1.35.0 - k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 + k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 mvdan.cc/sh/v3 v3.13.1 sigs.k8s.io/kustomize/api v0.21.1 ) @@ -72,12 +72,12 @@ require ( github.com/go-gorp/gorp/v3 v3.1.0 // indirect github.com/go-jose/go-jose/v4 v4.1.4 // indirect github.com/go-logr/logr v1.4.3 // indirect - github.com/go-openapi/jsonreference v0.21.2 // indirect + github.com/go-openapi/jsonreference v0.21.4 // indirect github.com/go-openapi/swag v0.23.1 // indirect github.com/go-openapi/swag/jsonname v0.25.5 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/google/btree v1.1.3 // indirect - github.com/google/gnostic-models v0.7.0 // indirect + github.com/google/gnostic-models v0.7.1 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gorilla/mux v1.8.1 // indirect @@ -99,12 +99,12 @@ require ( github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect github.com/lib/pq v1.10.9 // indirect github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect - github.com/mailru/easyjson v0.9.0 // indirect + github.com/mailru/easyjson v0.9.1 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect github.com/melbahja/goph v1.5.0 // indirect - github.com/miekg/dns v1.1.68 // indirect + github.com/miekg/dns v1.1.72 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect @@ -147,32 +147,32 @@ require ( golang.org/x/crypto v0.50.0 // indirect golang.org/x/mod v0.34.0 // indirect golang.org/x/net v0.52.0 // indirect - golang.org/x/oauth2 v0.34.0 // indirect + golang.org/x/oauth2 v0.35.0 // indirect golang.org/x/sys v0.43.0 // indirect golang.org/x/term v0.42.0 // indirect golang.org/x/text v0.36.0 // indirect golang.org/x/time v0.14.0 // indirect golang.org/x/tools v0.43.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260319201613-d00831a3d3e7 // indirect google.golang.org/grpc v1.79.3 // indirect - google.golang.org/protobuf v1.36.10 // indirect + google.golang.org/protobuf v1.36.11 // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect - k8s.io/apiextensions-apiserver v0.35.1 // indirect - k8s.io/apiserver v0.35.1 // indirect + k8s.io/apiextensions-apiserver v0.35.2 // indirect + k8s.io/apiserver v0.35.2 // indirect k8s.io/cli-runtime v0.35.2 // indirect k8s.io/component-base v0.35.2 // indirect - k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect + k8s.io/klog/v2 v2.140.0 // indirect + k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4 // indirect knative.dev/pkg v0.0.0-20250708013613-d3550d4350f9 // indirect oras.land/oras-go/v2 v2.6.0 // indirect - sigs.k8s.io/controller-runtime v0.22.4 // indirect - sigs.k8s.io/gateway-api v1.4.0 // indirect + sigs.k8s.io/controller-runtime v0.23.1 // indirect + sigs.k8s.io/gateway-api v1.5.0 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/kustomize/kyaml v0.21.1 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) diff --git a/plugins/scheduler-k3s/go.sum b/plugins/scheduler-k3s/go.sum index ff4898c0d10..1020778e623 100644 --- a/plugins/scheduler-k3s/go.sum +++ b/plugins/scheduler-k3s/go.sum @@ -36,8 +36,8 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= -github.com/cert-manager/cert-manager v1.19.3 h1:3d0Nk/HO3BOmAdBJNaBh+6YgaO3Ciey3xCpOjiX5Obs= -github.com/cert-manager/cert-manager v1.19.3/go.mod h1:e9NzLtOKxTw7y99qLyWGmPo6mrC1Nh0EKKcMkRfK+GE= +github.com/cert-manager/cert-manager v1.20.2 h1:CimnY00nLqB2lmxhoSuEC4GDMFDK7JCXqyjwMM9ndIQ= +github.com/cert-manager/cert-manager v1.20.2/go.mod h1:1g/+a/WK5zWH/dXPZa3dMD3aJQJNRXQu+PN17C6WrOw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chai2010/gettext-go v1.0.3 h1:9liNh8t+u26xl5ddmWLmsOsdNLwkdRTg5AG+JnTiM80= @@ -117,8 +117,8 @@ github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= github.com/go-openapi/jsonpointer v0.22.5 h1:8on/0Yp4uTb9f4XvTrM2+1CPrV05QPZXu+rvu2o9jcA= github.com/go-openapi/jsonpointer v0.22.5/go.mod h1:gyUR3sCvGSWchA2sUBJGluYMbe1zazrYWIkWPjjMUY0= -github.com/go-openapi/jsonreference v0.21.2 h1:Wxjda4M/BBQllegefXrY/9aq1fxBA8sI5M/lFU6tSWU= -github.com/go-openapi/jsonreference v0.21.2/go.mod h1:pp3PEjIsJ9CZDGCNOyXIQxsNuroxm8FAJ/+quA0yKzQ= +github.com/go-openapi/jsonreference v0.21.4 h1:24qaE2y9bx/q3uRK/qN+TDwbok1NhbSmGjjySRCHtC8= +github.com/go-openapi/jsonreference v0.21.4/go.mod h1:rIENPTjDbLpzQmQWCj5kKj3ZlmEh+EFVbz3RTUh30/4= github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZU= github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0= github.com/go-openapi/swag/jsonname v0.25.5 h1:8p150i44rv/Drip4vWI3kGi9+4W9TdI3US3uUYSFhSo= @@ -142,8 +142,8 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= -github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= +github.com/google/gnostic-models v0.7.1 h1:SisTfuFKJSKM5CPZkffwi6coztzzeYUhc3v4yxLWH8c= +github.com/google/gnostic-models v0.7.1/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -213,8 +213,8 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= -github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= -github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= +github.com/mailru/easyjson v0.9.1 h1:LbtsOm5WAswyWbvTEOqhypdPeZzHavpZx96/n553mR8= +github.com/mailru/easyjson v0.9.1/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= @@ -225,8 +225,8 @@ github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/melbahja/goph v1.5.0 h1:RQUBpLvfg3i7fjfG8rTcSWyMjVRfdhwrrfQhjYee4dQ= github.com/melbahja/goph v1.5.0/go.mod h1:dDwo+44cmvfDLdiVpc6fJxexf5BA5yEDUeE5YgtuDO4= -github.com/miekg/dns v1.1.68 h1:jsSRkNozw7G/mnmXULynzMNIsgY2dHC8LO6U6Ij2JEA= -github.com/miekg/dns v1.1.68/go.mod h1:fujopn7TB3Pu3JM69XaawiU0wqjpL9/8xGop5UrTPps= +github.com/miekg/dns v1.1.72 h1:vhmr+TF2A3tuoGNkLDFK9zi36F2LS+hKTRW0Uf8kbzI= +github.com/miekg/dns v1.1.72/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= @@ -252,8 +252,8 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns= -github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= +github.com/onsi/ginkgo/v2 v2.28.0 h1:Rrf+lVLmtlBIKv6KrIGJCjyY8N36vDVcutbGJkyqjJc= +github.com/onsi/ginkgo/v2 v2.28.0/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28= github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -348,8 +348,8 @@ go.opentelemetry.io/contrib/exporters/autoexport v0.57.0 h1:jmTVJ86dP60C01K3slFQ go.opentelemetry.io/contrib/exporters/autoexport v0.57.0/go.mod h1:EJBheUMttD/lABFyLXhce47Wr6DPWYReCzaZiXadH7g= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 h1:Hf9xI/XLML9ElpiHVDNwvqI0hIFlzV8dgIr35kV1kRU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0/go.mod h1:NfchwuyNoMcZ5MLHwPrODwUF1HWCXWrL31s8gSAdIKY= -go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms= -go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0 h1:WzNab7hOOLzdDF/EoWCt4glhrbMPVMOO5JYTmpz36Ls= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0/go.mod h1:hKvJwTzJdp90Vh7p6q/9PAOd55dI6WA6sWj62a/JvSs= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.8.0 h1:S+LdBGiQXtJdowoJoQPEtI52syEP/JYBUpjO49EQhV8= @@ -374,16 +374,16 @@ go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.37.0 h1:SNhVp/9q4Go/XHB go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.37.0/go.mod h1:tx8OOlGH6R4kLV67YaYO44GFXloEjGPZuMjEkaaqIp4= go.opentelemetry.io/otel/log v0.11.0 h1:c24Hrlk5WJ8JWcwbQxdBqxZdOK7PcP/LFtOtwpDTe3Y= go.opentelemetry.io/otel/log v0.11.0/go.mod h1:U/sxQ83FPmT29trrifhQg+Zj2lo1/IPN1PF6RTFqdwc= -go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g= -go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc= -go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= -go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= +go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= go.opentelemetry.io/otel/sdk/log v0.8.0 h1:zg7GUYXqxk1jnGF/dTdLPrK06xJdrXgqgFLnI4Crxvs= go.opentelemetry.io/otel/sdk/log v0.8.0/go.mod h1:50iXr0UVwQrYS45KbruFrEt4LvAdCaWWgIrsN3ZQggo= go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= -go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw= -go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4= go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -402,8 +402,8 @@ golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI= golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY= golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= -golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw= -golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ= +golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -422,14 +422,14 @@ golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0 gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0= gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 h1:1tXaIXCracvtsRxSBsYDiSBN0cuJvM7QYW+MrpIRY78= -google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 h1:fCvbg86sFXwdrl5LgVcTEvNC+2txB5mgROGmRL5mrls= -google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 h1:merA0rdPeUV3YIIfHHcH4qBkiQAc1nfCKSI7lB4cV2M= +google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409/go.mod h1:fl8J1IvUjCilwZzQowmw2b7HQB2eAuYBabMXzWurF+I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260319201613-d00831a3d3e7 h1:ndE4FoJqsIceKP2oYSnUZqhTdYufCYYkqwtFzfrhI7w= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= -google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= -google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -446,38 +446,38 @@ helm.sh/helm/v3 v3.20.2 h1:binM4rvPx5DcNsa1sIt7UZi55lRbu3pZUFmQkSoRh48= helm.sh/helm/v3 v3.20.2/go.mod h1:Fl1kBaWCpkUrM6IYXPjQ3bdZQfFrogKArqptvueZ6Ww= k8s.io/api v0.35.2 h1:tW7mWc2RpxW7HS4CoRXhtYHSzme1PN1UjGHJ1bdrtdw= k8s.io/api v0.35.2/go.mod h1:7AJfqGoAZcwSFhOjcGM7WV05QxMMgUaChNfLTXDRE60= -k8s.io/apiextensions-apiserver v0.35.1 h1:p5vvALkknlOcAqARwjS20kJffgzHqwyQRM8vHLwgU7w= -k8s.io/apiextensions-apiserver v0.35.1/go.mod h1:2CN4fe1GZ3HMe4wBr25qXyJnJyZaquy4nNlNmb3R7AQ= +k8s.io/apiextensions-apiserver v0.35.2 h1:iyStXHoJZsUXPh/nFAsjC29rjJWdSgUmG1XpApE29c0= +k8s.io/apiextensions-apiserver v0.35.2/go.mod h1:OdyGvcO1FtMDWQ+rRh/Ei3b6X3g2+ZDHd0MSRGeS8rU= k8s.io/apimachinery v0.35.2 h1:NqsM/mmZA7sHW02JZ9RTtk3wInRgbVxL8MPfzSANAK8= k8s.io/apimachinery v0.35.2/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= -k8s.io/apiserver v0.35.1 h1:potxdhhTL4i6AYAa2QCwtlhtB1eCdWQFvJV6fXgJzxs= -k8s.io/apiserver v0.35.1/go.mod h1:BiL6Dd3A2I/0lBnteXfWmCFobHM39vt5+hJQd7Lbpi4= +k8s.io/apiserver v0.35.2 h1:rb52v0CZGEL0FkhjS+I6jHflAp7fZ4MIaKcEHX7wmDk= +k8s.io/apiserver v0.35.2/go.mod h1:CROJUAu0tfjZLyYgSeBsBan2T7LUJGh0ucWwTCSSk7g= k8s.io/cli-runtime v0.35.2 h1:3DNctzpPNXavqyrm/FFiT60TLk4UjUxuUMYbKOE970E= k8s.io/cli-runtime v0.35.2/go.mod h1:G2Ieu0JidLm5m1z9b0OkFhnykvJ1w+vjbz1tR5OFKL0= k8s.io/client-go v0.35.2 h1:YUfPefdGJA4aljDdayAXkc98DnPkIetMl4PrKX97W9o= k8s.io/client-go v0.35.2/go.mod h1:4QqEwh4oQpeK8AaefZ0jwTFJw/9kIjdQi0jpKeYvz7g= k8s.io/component-base v0.35.2 h1:btgR+qNrpWuRSuvWSnQYsZy88yf5gVwemvz0yw79pGc= k8s.io/component-base v0.35.2/go.mod h1:B1iBJjooe6xIJYUucAxb26RwhAjzx0gHnqO9htWIX+0= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= +k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= +k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= +k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4 h1:HhDfevmPS+OalTjQRKbTHppRIz01AWi8s45TMXStgYY= +k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= k8s.io/kubectl v0.35.2 h1:aSmqhSOfsoG9NR5oR8OD5eMKpLN9x8oncxfqLHbJJII= k8s.io/kubectl v0.35.2/go.mod h1:+OJC779UsDJGxNPbHxCwvb4e4w9Eh62v/DNYU2TlsyM= k8s.io/kubernetes v1.35.0 h1:PUOojD8c8E3csMP5NX+nLLne6SGqZjrYCscptyBfWMY= k8s.io/kubernetes v1.35.0/go.mod h1:Tzk9Y9W/XUFFFgTUVg+BAowoFe+Pc7koGLuaiLHdcFg= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= +k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= knative.dev/pkg v0.0.0-20250708013613-d3550d4350f9 h1:yCiThjArNgVjRbyBGvRvYr/B6G3djvr5pXrh8MXfnsk= knative.dev/pkg v0.0.0-20250708013613-d3550d4350f9/go.mod h1:I2vWm0knRQH2WBfpIAkRzOPk0XoXxfu8YJT63ddYWd4= mvdan.cc/sh/v3 v3.13.1 h1:DP3TfgZhDkT7lerUdnp6PTGKyxxzz6T+cOlY/xEvfWk= mvdan.cc/sh/v3 v3.13.1/go.mod h1:lXJ8SexMvEVcHCoDvAGLZgFJ9Wsm2sulmoNEXGhYZD0= oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc= oras.land/oras-go/v2 v2.6.0/go.mod h1:magiQDfG6H1O9APp+rOsvCPcW1GD2MM7vgnKY0Y+u1o= -sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= -sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= -sigs.k8s.io/gateway-api v1.4.0 h1:ZwlNM6zOHq0h3WUX2gfByPs2yAEsy/EenYJB78jpQfQ= -sigs.k8s.io/gateway-api v1.4.0/go.mod h1:AR5RSqciWP98OPckEjOjh2XJhAe2Na4LHyXD2FUY7Qk= +sigs.k8s.io/controller-runtime v0.23.1 h1:TjJSM80Nf43Mg21+RCy3J70aj/W6KyvDtOlpKf+PupE= +sigs.k8s.io/controller-runtime v0.23.1/go.mod h1:B6COOxKptp+YaUT5q4l6LqUJTRpizbgf9KSRNdQGns0= +sigs.k8s.io/gateway-api v1.5.0 h1:duoo14Ky/fJXpjpmyMISE2RTBGnfCg8zICfTYLTnBJA= +sigs.k8s.io/gateway-api v1.5.0/go.mod h1:GvCETiaMAlLym5CovLxGjS0NysqFk3+Yuq3/rh6QL2o= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/kustomize/api v0.21.1 h1:lzqbzvz2CSvsjIUZUBNFKtIMsEw7hVLJp0JeSIVmuJs= @@ -486,7 +486,7 @@ sigs.k8s.io/kustomize/kyaml v0.21.1 h1:IVlbmhC076nf6foyL6Taw4BkrLuEsXUXNpsE+ScX7 sigs.k8s.io/kustomize/kyaml v0.21.1/go.mod h1:hmxADesM3yUN2vbA5z1/YTBnzLJ1dajdqpQonwBL1FQ= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/structured-merge-diff/v6 v6.3.2 h1:kwVWMx5yS1CrnFWA/2QHyRVJ8jM6dBA80uLmm0wJkk8= +sigs.k8s.io/structured-merge-diff/v6 v6.3.2/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= From 2d6ba95888988ebc148076b313c146e985a06d72 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 14 Apr 2026 05:04:11 -0400 Subject: [PATCH 3546/4100] fix(deps): pin controller-runtime to v0.22.4 for keda compatibility KEDA v2.18.3 webhook code is incompatible with controller-runtime v0.23.x which was pulled in by the cert-manager v1.20.0 upgrade. --- plugins/scheduler-k3s/go.mod | 2 ++ plugins/scheduler-k3s/go.sum | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/scheduler-k3s/go.mod b/plugins/scheduler-k3s/go.mod index cca01128da3..e5e4a28099c 100644 --- a/plugins/scheduler-k3s/go.mod +++ b/plugins/scheduler-k3s/go.mod @@ -194,4 +194,6 @@ replace github.com/dokku/dokku/plugins/registry => ../registry replace github.com/joho/godotenv => github.com/joho/godotenv v1.2.0 +replace sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.22.4 + replace github.com/imdario/mergo => github.com/imdario/mergo v0.3.16 diff --git a/plugins/scheduler-k3s/go.sum b/plugins/scheduler-k3s/go.sum index 1020778e623..ac2768e827e 100644 --- a/plugins/scheduler-k3s/go.sum +++ b/plugins/scheduler-k3s/go.sum @@ -474,8 +474,8 @@ mvdan.cc/sh/v3 v3.13.1 h1:DP3TfgZhDkT7lerUdnp6PTGKyxxzz6T+cOlY/xEvfWk= mvdan.cc/sh/v3 v3.13.1/go.mod h1:lXJ8SexMvEVcHCoDvAGLZgFJ9Wsm2sulmoNEXGhYZD0= oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc= oras.land/oras-go/v2 v2.6.0/go.mod h1:magiQDfG6H1O9APp+rOsvCPcW1GD2MM7vgnKY0Y+u1o= -sigs.k8s.io/controller-runtime v0.23.1 h1:TjJSM80Nf43Mg21+RCy3J70aj/W6KyvDtOlpKf+PupE= -sigs.k8s.io/controller-runtime v0.23.1/go.mod h1:B6COOxKptp+YaUT5q4l6LqUJTRpizbgf9KSRNdQGns0= +sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= +sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= sigs.k8s.io/gateway-api v1.5.0 h1:duoo14Ky/fJXpjpmyMISE2RTBGnfCg8zICfTYLTnBJA= sigs.k8s.io/gateway-api v1.5.0/go.mod h1:GvCETiaMAlLym5CovLxGjS0NysqFk3+Yuq3/rh6QL2o= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= From 207ffedc4741994508ddc56cd5db97538519e77b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 13:53:41 +0000 Subject: [PATCH 3547/4100] chore(deps): bump zipp from 3.23.0 to 3.23.1 in /docs/_build Bumps [zipp](https://github.com/jaraco/zipp) from 3.23.0 to 3.23.1. - [Release notes](https://github.com/jaraco/zipp/releases) - [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst) - [Commits](https://github.com/jaraco/zipp/compare/v3.23.0...v3.23.1) --- updated-dependencies: - dependency-name: zipp dependency-version: 3.23.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- docs/_build/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_build/requirements.txt b/docs/_build/requirements.txt index 13df14a62d7..170698bf0e8 100644 --- a/docs/_build/requirements.txt +++ b/docs/_build/requirements.txt @@ -20,4 +20,4 @@ pyyaml_env_tag==1.1 six==1.17.0 soupsieve==2.8.3 watchdog==6.0.0 -zipp==3.23.0 +zipp==3.23.1 From ded1a88f4832ec31162f9d3516621d0486c1e124 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 14:42:44 +0000 Subject: [PATCH 3548/4100] chore(deps): bump github.com/fluxcd/pkg/kustomize Bumps [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) from 1.24.0 to 1.28.0. - [Commits](https://github.com/fluxcd/pkg/compare/apis/meta/v1.24.0...kustomize/v1.28.0) --- updated-dependencies: - dependency-name: github.com/fluxcd/pkg/kustomize dependency-version: 1.28.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- plugins/scheduler-k3s/go.mod | 4 ++-- plugins/scheduler-k3s/go.sum | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/scheduler-k3s/go.mod b/plugins/scheduler-k3s/go.mod index e5e4a28099c..52a81e9f429 100644 --- a/plugins/scheduler-k3s/go.mod +++ b/plugins/scheduler-k3s/go.mod @@ -14,7 +14,7 @@ require ( github.com/dokku/dokku/plugins/nginx-vhosts v0.0.0-20250618161309-8d0c35f1333c github.com/dokku/dokku/plugins/registry v0.0.0-20250618161309-8d0c35f1333c github.com/fatih/color v1.19.0 - github.com/fluxcd/pkg/kustomize v1.24.0 + github.com/fluxcd/pkg/kustomize v1.29.0 github.com/go-openapi/jsonpointer v0.22.5 github.com/go-resty/resty/v2 v2.17.2 github.com/gofrs/flock v0.13.0 @@ -167,7 +167,7 @@ require ( k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4 // indirect knative.dev/pkg v0.0.0-20250708013613-d3550d4350f9 // indirect oras.land/oras-go/v2 v2.6.0 // indirect - sigs.k8s.io/controller-runtime v0.23.1 // indirect + sigs.k8s.io/controller-runtime v0.23.3 // indirect sigs.k8s.io/gateway-api v1.5.0 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/kustomize/kyaml v0.21.1 // indirect diff --git a/plugins/scheduler-k3s/go.sum b/plugins/scheduler-k3s/go.sum index ac2768e827e..ff0a4071579 100644 --- a/plugins/scheduler-k3s/go.sum +++ b/plugins/scheduler-k3s/go.sum @@ -91,8 +91,8 @@ github.com/fatih/color v1.19.0 h1:Zp3PiM21/9Ld6FzSKyL5c/BULoe/ONr9KlbYVOfG8+w= github.com/fatih/color v1.19.0/go.mod h1:zNk67I0ZUT1bEGsSGyCZYZNrHuTkJJB+r6Q9VuMi0LE= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fluxcd/pkg/kustomize v1.24.0 h1:ckFB7hh9FpJA1Oy3bYl88p9On/zsZZTbwlLBgP6eUkA= -github.com/fluxcd/pkg/kustomize v1.24.0/go.mod h1:cydG0vKpDuUaoP5STpKfxY3zqgzaARv5HsWDOFyt5nA= +github.com/fluxcd/pkg/kustomize v1.29.0 h1:B/5hr9wX6INwaQAZ6BGKVNvZm++A6qjgorUfoaBAwPw= +github.com/fluxcd/pkg/kustomize v1.29.0/go.mod h1:cW08mnngSP8MJYb6mDmMvxH8YjNATdiML0udb37dk+M= github.com/foxcpp/go-mockdns v1.2.0 h1:omK3OrHRD1IWJz1FuFBCFquhXslXoF17OvBS6JPzZF0= github.com/foxcpp/go-mockdns v1.2.0/go.mod h1:IhLeSFGed3mJIAXPH2aiRQB+kqz7oqu8ld2qVbOu7Wk= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= From 62da542f20b6ec0432bd5873eb85fde5598bf912 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 13:53:35 +0000 Subject: [PATCH 3549/4100] chore(deps): bump packaging from 26.0 to 26.1 in /docs/_build Bumps [packaging](https://github.com/pypa/packaging) from 26.0 to 26.1. - [Release notes](https://github.com/pypa/packaging/releases) - [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pypa/packaging/compare/26.0...26.1) --- updated-dependencies: - dependency-name: packaging dependency-version: '26.1' dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- docs/_build/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_build/requirements.txt b/docs/_build/requirements.txt index 170698bf0e8..34ae65134b8 100644 --- a/docs/_build/requirements.txt +++ b/docs/_build/requirements.txt @@ -10,7 +10,7 @@ mkdocs==1.6.1 mkdocs-exclude==1.0.2 mkdocs-material==9.7.6 mkdocs-material-extensions==1.3.1 -packaging==26.0 +packaging==26.1 Pygments==2.20.0 pymdown-extensions==10.21.2 pyparsing==3.3.2 From 2e605b6e0fe1e6fe2593443716ce670bfa13dfba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 13:54:45 +0000 Subject: [PATCH 3550/4100] chore(deps): bump k8s.io/kubernetes in /plugins/scheduler-k3s Bumps [k8s.io/kubernetes](https://github.com/kubernetes/kubernetes) from 1.35.0 to 1.35.3. - [Release notes](https://github.com/kubernetes/kubernetes/releases) - [Commits](https://github.com/kubernetes/kubernetes/compare/v1.35.0...v1.35.3) --- updated-dependencies: - dependency-name: k8s.io/kubernetes dependency-version: 1.35.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- plugins/scheduler-k3s/go.mod | 2 +- plugins/scheduler-k3s/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/scheduler-k3s/go.mod b/plugins/scheduler-k3s/go.mod index 52a81e9f429..78e975aed7f 100644 --- a/plugins/scheduler-k3s/go.mod +++ b/plugins/scheduler-k3s/go.mod @@ -31,7 +31,7 @@ require ( k8s.io/apimachinery v0.35.2 k8s.io/client-go v0.35.2 k8s.io/kubectl v0.35.2 - k8s.io/kubernetes v1.35.0 + k8s.io/kubernetes v1.35.3 k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 mvdan.cc/sh/v3 v3.13.1 sigs.k8s.io/kustomize/api v0.21.1 diff --git a/plugins/scheduler-k3s/go.sum b/plugins/scheduler-k3s/go.sum index ff0a4071579..3b3bab34aa1 100644 --- a/plugins/scheduler-k3s/go.sum +++ b/plugins/scheduler-k3s/go.sum @@ -464,8 +464,8 @@ k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4 h1:HhDfevmPS+OalTjQRKbTHp k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= k8s.io/kubectl v0.35.2 h1:aSmqhSOfsoG9NR5oR8OD5eMKpLN9x8oncxfqLHbJJII= k8s.io/kubectl v0.35.2/go.mod h1:+OJC779UsDJGxNPbHxCwvb4e4w9Eh62v/DNYU2TlsyM= -k8s.io/kubernetes v1.35.0 h1:PUOojD8c8E3csMP5NX+nLLne6SGqZjrYCscptyBfWMY= -k8s.io/kubernetes v1.35.0/go.mod h1:Tzk9Y9W/XUFFFgTUVg+BAowoFe+Pc7koGLuaiLHdcFg= +k8s.io/kubernetes v1.35.3 h1:J3dk2wybKFHwoH4eydDUGHJo4HAD+9CZbSlvk/YQuao= +k8s.io/kubernetes v1.35.3/go.mod h1:AaPpCpiS8oAqRbEwpY5r3RitLpwpVp5lVXKFkJril58= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= knative.dev/pkg v0.0.0-20250708013613-d3550d4350f9 h1:yCiThjArNgVjRbyBGvRvYr/B6G3djvr5pXrh8MXfnsk= From f6e2ecca1a522807859e14acb6ecaaa2a1af3683 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 13:54:54 +0000 Subject: [PATCH 3551/4100] chore(deps): bump k8s.io/apimachinery in /plugins/scheduler-k3s Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.35.2 to 0.35.3. - [Commits](https://github.com/kubernetes/apimachinery/compare/v0.35.2...v0.35.3) --- updated-dependencies: - dependency-name: k8s.io/apimachinery dependency-version: 0.35.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- plugins/scheduler-k3s/go.mod | 2 +- plugins/scheduler-k3s/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/scheduler-k3s/go.mod b/plugins/scheduler-k3s/go.mod index 52a81e9f429..5e537dc9cd8 100644 --- a/plugins/scheduler-k3s/go.mod +++ b/plugins/scheduler-k3s/go.mod @@ -28,7 +28,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 helm.sh/helm/v3 v3.20.2 k8s.io/api v0.35.2 - k8s.io/apimachinery v0.35.2 + k8s.io/apimachinery v0.35.3 k8s.io/client-go v0.35.2 k8s.io/kubectl v0.35.2 k8s.io/kubernetes v1.35.0 diff --git a/plugins/scheduler-k3s/go.sum b/plugins/scheduler-k3s/go.sum index ff0a4071579..18e605b06f5 100644 --- a/plugins/scheduler-k3s/go.sum +++ b/plugins/scheduler-k3s/go.sum @@ -448,8 +448,8 @@ k8s.io/api v0.35.2 h1:tW7mWc2RpxW7HS4CoRXhtYHSzme1PN1UjGHJ1bdrtdw= k8s.io/api v0.35.2/go.mod h1:7AJfqGoAZcwSFhOjcGM7WV05QxMMgUaChNfLTXDRE60= k8s.io/apiextensions-apiserver v0.35.2 h1:iyStXHoJZsUXPh/nFAsjC29rjJWdSgUmG1XpApE29c0= k8s.io/apiextensions-apiserver v0.35.2/go.mod h1:OdyGvcO1FtMDWQ+rRh/Ei3b6X3g2+ZDHd0MSRGeS8rU= -k8s.io/apimachinery v0.35.2 h1:NqsM/mmZA7sHW02JZ9RTtk3wInRgbVxL8MPfzSANAK8= -k8s.io/apimachinery v0.35.2/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= +k8s.io/apimachinery v0.35.3 h1:MeaUwQCV3tjKP4bcwWGgZ/cp/vpsRnQzqO6J6tJyoF8= +k8s.io/apimachinery v0.35.3/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= k8s.io/apiserver v0.35.2 h1:rb52v0CZGEL0FkhjS+I6jHflAp7fZ4MIaKcEHX7wmDk= k8s.io/apiserver v0.35.2/go.mod h1:CROJUAu0tfjZLyYgSeBsBan2T7LUJGh0ucWwTCSSk7g= k8s.io/cli-runtime v0.35.2 h1:3DNctzpPNXavqyrm/FFiT60TLk4UjUxuUMYbKOE970E= From a4cf06bd152b275183f56aa912b71474a40c2611 Mon Sep 17 00:00:00 2001 From: Dokku Bot Date: Thu, 16 Apr 2026 04:12:27 +0000 Subject: [PATCH 3552/4100] Release 0.37.8 # History ## 0.37.8 Install/update via the bootstrap script: ```shell wget -NP . https://dokku.com/install/v0.37.8/bootstrap.sh sudo DOKKU_TAG=v0.37.8 bash bootstrap.sh ``` ### Bug Fixes - #8451: @mykolasolodukha Fix client prepending `--app` for non-app commands ### New Features - #8443: @chemicalkosek Add application/graphql-response+json to nginx gzip_types ### Dependencies - #8470: @dependabot[bot] chore(deps): bump packaging from 26.0 to 26.1 in /docs/_build - #8471: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.35.0 to 1.35.3 in /plugins/scheduler-k3s - #8472: @dependabot[bot] chore(deps): bump k8s.io/apimachinery from 0.35.2 to 0.35.3 in /plugins/scheduler-k3s - #8413: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.24.0 to 1.28.0 in /plugins/scheduler-k3s - #8425: @dependabot[bot] chore(deps): bump github.com/cert-manager/cert-manager from 1.19.3 to 1.20.0 in /plugins/scheduler-k3s - #8469: @dependabot[bot] chore(deps): bump zipp from 3.23.0 to 3.23.1 in /docs/_build - #8450: @dependabot[bot] chore(deps): bump mvdan.cc/sh/v3 from 3.13.0 to 3.13.1 in /plugins/cron - #8465: @dependabot[bot] chore(deps): bump github.com/joho/godotenv from 1.2.0 to 1.5.1 in /plugins/config - #8463: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.49.0 to 0.50.0 in /plugins/common - #8449: @dependabot[bot] chore(deps): bump click from 8.3.1 to 8.3.2 in /docs/_build - #8464: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.20.1 to 3.20.2 in /plugins/scheduler-k3s - #8458: @dependabot[bot] chore(deps): bump traefik from v3.6.12 to v3.6.13 in /plugins/traefik-vhosts - #8457: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/zombies-dockerfile-no-tini - #8456: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/go-fail-postdeploy - #8455: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/gogrpc - #8454: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/zombies-dockerfile-tini - #8453: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/go-fail-predeploy - #8452: @dependabot[bot] chore(deps): bump rack-session from 2.1.1 to 2.1.2 in /tests/apps/ruby - #8459: @dependabot[bot] chore(deps): bump django from 5.2.12 to 5.2.13 in /tests/apps/dockerfile-release - #8444: @dependabot[bot] chore(deps): bump rack from 3.2.5 to 3.2.6 in /tests/apps/ruby - #8445: @dependabot[bot] chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 in /plugins/scheduler-k3s - #8447: @dependabot[bot] chore(deps): bump werkzeug from 3.1.7 to 3.1.8 in /tests/apps/python-flask - #8440: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.21 to 10.21.2 in /docs/_build - #8441: @dependabot[bot] chore(deps): bump pygments from 2.19.2 to 2.20.0 in /docs/_build - #8442: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.79.3 to 1.80.0 in /tests/apps/gogrpc - #8410: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.48.0 to 0.49.0 in /plugins/common - #8422: @dependabot[bot] chore(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 in /plugins/common - #8434: @dependabot[bot] chore(deps): bump gunicorn from 25.2.0 to 25.3.0 in /tests/apps/python-flask - #8439: @dependabot[bot] chore(deps): bump brace-expansion from 1.1.12 to 1.1.13 in /tests/apps/multi - #8438: @dependabot[bot] chore(deps): bump path-to-regexp from 8.2.0 to 8.4.0 in /tests/apps/checks-root - #8437: @dependabot[bot] chore(deps): bump gunicorn from 25.2.0 to 25.3.0 in /tests/apps/dockerfile-release - #8436: @dependabot[bot] chore(deps): bump traefik from v3.6.11 to v3.6.12 in /plugins/traefik-vhosts - #8435: @dependabot[bot] chore(deps): bump gunicorn from 25.2.0 to 25.3.0 in /tests/apps/multi - #8427: @dependabot[bot] chore(deps): bump werkzeug from 3.1.6 to 3.1.7 in /tests/apps/python-flask - #8428: @dependabot[bot] chore(deps): bump gunicorn from 25.1.0 to 25.2.0 in /tests/apps/multi - #8429: @dependabot[bot] chore(deps): bump gunicorn from 25.1.0 to 25.2.0 in /tests/apps/python-flask - #8430: @dependabot[bot] chore(deps): bump djangorestframework from 3.17.0 to 3.17.1 in /tests/apps/dockerfile-release - #8431: @dependabot[bot] chore(deps): bump gunicorn from 25.1.0 to 25.2.0 in /tests/apps/dockerfile-release - #8432: @dependabot[bot] chore(deps): bump picomatch from 2.3.1 to 2.3.2 in /tests/apps/multi - #8423: @dependabot[bot] chore(deps): bump traefik from v3.6.10 to v3.6.11 in /plugins/traefik-vhosts - #8420: @dependabot[bot] chore(deps): bump mkdocs-material from 9.7.5 to 9.7.6 in /docs/_build - #8421: @dependabot[bot] chore(deps): bump importlib-metadata from 8.8.0 to 9.0.0 in /docs/_build - #8424: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.40 to 2.11.41 in /plugins/scheduler-k3s - #8411: @dependabot[bot] chore(deps): bump lucaslorentz/caddy-docker-proxy from 2.11 to 2.12 in /plugins/caddy-vhosts - #8412: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.20.0 to 3.20.1 in /plugins/scheduler-k3s - #8419: @dependabot[bot] chore(deps): bump djangorestframework from 3.16.1 to 3.17.0 in /tests/apps/dockerfile-release - #8418: @dependabot[bot] chore(deps): bump importlib-metadata from 8.7.1 to 8.8.0 in /docs/_build - #8417: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.77.0-dev to 1.79.3 in /plugins/scheduler-k3s - #8416: @dependabot[bot] chore(deps): bump ruby from 4.0.1 to 4.0.2 in /tests/apps/dockerfile-entrypoint - #8415: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 in /tests/apps/gogrpc - #8409: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.22.4 to 0.22.5 in /plugins/scheduler-k3s - #8408: @dependabot[bot] chore(deps): bump github.com/go-resty/resty/v2 from 2.17.1 to 2.17.2 in /plugins/scheduler-k3s - #8407: @dependabot[bot] chore(deps): bump mkdocs-material from 9.7.4 to 9.7.5 in /docs/_build - #8406: @dependabot[bot] chore(deps): bump timberio/vector from 0.53.0-debian to 0.54.0-debian in /plugins/logs ### Other - #8468: @josegonzalez chore: bump dependencies in tests/apps/php - #8467: @josegonzalez chore: upgrade traefik from v2.11.41 to v2.11.42 - #8466: @josegonzalez chore: bump dependencies in tests/apps/multi --- HISTORY.md | 80 ++++++++++++++++++++++ README.md | 4 +- debian/control | 2 +- docs/advanced-usage/plugin-management.md | 58 ++++++++-------- docs/assets/favicons/browserconfig.xml | 8 +-- docs/assets/favicons/manifest.json | 12 ++-- docs/assets/style.css | 10 +-- docs/assets/versions.json | 2 +- docs/development/release-process.md | 2 +- docs/getting-started/install/docker.md | 8 +-- docs/getting-started/installation/index.md | 4 +- docs/home.html | 40 +++++------ docs/template.html | 36 +++++----- plugins/00_dokku-standard/plugin.toml | 2 +- plugins/20_events/plugin.toml | 2 +- plugins/app-json/plugin.toml | 2 +- plugins/apps/plugin.toml | 2 +- plugins/builder-dockerfile/plugin.toml | 2 +- plugins/builder-herokuish/plugin.toml | 2 +- plugins/builder-lambda/plugin.toml | 2 +- plugins/builder-nixpacks/plugin.toml | 2 +- plugins/builder-null/plugin.toml | 2 +- plugins/builder-pack/plugin.toml | 2 +- plugins/builder-railpack/plugin.toml | 2 +- plugins/builder/plugin.toml | 2 +- plugins/buildpacks/plugin.toml | 2 +- plugins/caddy-vhosts/plugin.toml | 2 +- plugins/certs/plugin.toml | 2 +- plugins/checks/plugin.toml | 2 +- plugins/common/plugin.toml | 2 +- plugins/config/plugin.toml | 2 +- plugins/cron/plugin.toml | 2 +- plugins/docker-options/plugin.toml | 2 +- plugins/domains/plugin.toml | 2 +- plugins/enter/plugin.toml | 2 +- plugins/git/plugin.toml | 2 +- plugins/haproxy-vhosts/plugin.toml | 2 +- plugins/logs/plugin.toml | 2 +- plugins/network/plugin.toml | 2 +- plugins/nginx-vhosts/plugin.toml | 2 +- plugins/openresty-vhosts/plugin.toml | 2 +- plugins/plugin/plugin.toml | 2 +- plugins/ports/plugin.toml | 2 +- plugins/proxy/plugin.toml | 2 +- plugins/ps/plugin.toml | 2 +- plugins/registry/plugin.toml | 2 +- plugins/repo/plugin.toml | 2 +- plugins/resource/plugin.toml | 2 +- plugins/run/plugin.toml | 2 +- plugins/scheduler-docker-local/plugin.toml | 2 +- plugins/scheduler-k3s/plugin.toml | 2 +- plugins/scheduler-null/plugin.toml | 2 +- plugins/scheduler/plugin.toml | 2 +- plugins/shell/plugin.toml | 2 +- plugins/ssh-keys/plugin.toml | 2 +- plugins/storage/plugin.toml | 2 +- plugins/trace/plugin.toml | 2 +- plugins/traefik-vhosts/plugin.toml | 2 +- 58 files changed, 218 insertions(+), 138 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index cb1ed264b22..b91a8e8574b 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,85 @@ # History +## 0.37.8 + +Install/update via the bootstrap script: + +```shell +wget -NP . https://dokku.com/install/v0.37.8/bootstrap.sh +sudo DOKKU_TAG=v0.37.8 bash bootstrap.sh +``` + +### Bug Fixes + +- #8451: @mykolasolodukha Fix client prepending `--app` for non-app commands + +### New Features + +- #8443: @chemicalkosek Add application/graphql-response+json to nginx gzip_types + +### Dependencies + +- #8470: @dependabot[bot] chore(deps): bump packaging from 26.0 to 26.1 in /docs/_build +- #8471: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.35.0 to 1.35.3 in /plugins/scheduler-k3s +- #8472: @dependabot[bot] chore(deps): bump k8s.io/apimachinery from 0.35.2 to 0.35.3 in /plugins/scheduler-k3s +- #8413: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.24.0 to 1.28.0 in /plugins/scheduler-k3s +- #8425: @dependabot[bot] chore(deps): bump github.com/cert-manager/cert-manager from 1.19.3 to 1.20.0 in /plugins/scheduler-k3s +- #8469: @dependabot[bot] chore(deps): bump zipp from 3.23.0 to 3.23.1 in /docs/_build +- #8450: @dependabot[bot] chore(deps): bump mvdan.cc/sh/v3 from 3.13.0 to 3.13.1 in /plugins/cron +- #8465: @dependabot[bot] chore(deps): bump github.com/joho/godotenv from 1.2.0 to 1.5.1 in /plugins/config +- #8463: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.49.0 to 0.50.0 in /plugins/common +- #8449: @dependabot[bot] chore(deps): bump click from 8.3.1 to 8.3.2 in /docs/_build +- #8464: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.20.1 to 3.20.2 in /plugins/scheduler-k3s +- #8458: @dependabot[bot] chore(deps): bump traefik from v3.6.12 to v3.6.13 in /plugins/traefik-vhosts +- #8457: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/zombies-dockerfile-no-tini +- #8456: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/go-fail-postdeploy +- #8455: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/gogrpc +- #8454: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/zombies-dockerfile-tini +- #8453: @dependabot[bot] chore(deps): bump golang from 1.26.1 to 1.26.2 in /tests/apps/go-fail-predeploy +- #8452: @dependabot[bot] chore(deps): bump rack-session from 2.1.1 to 2.1.2 in /tests/apps/ruby +- #8459: @dependabot[bot] chore(deps): bump django from 5.2.12 to 5.2.13 in /tests/apps/dockerfile-release +- #8444: @dependabot[bot] chore(deps): bump rack from 3.2.5 to 3.2.6 in /tests/apps/ruby +- #8445: @dependabot[bot] chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 in /plugins/scheduler-k3s +- #8447: @dependabot[bot] chore(deps): bump werkzeug from 3.1.7 to 3.1.8 in /tests/apps/python-flask +- #8440: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.21 to 10.21.2 in /docs/_build +- #8441: @dependabot[bot] chore(deps): bump pygments from 2.19.2 to 2.20.0 in /docs/_build +- #8442: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.79.3 to 1.80.0 in /tests/apps/gogrpc +- #8410: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.48.0 to 0.49.0 in /plugins/common +- #8422: @dependabot[bot] chore(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 in /plugins/common +- #8434: @dependabot[bot] chore(deps): bump gunicorn from 25.2.0 to 25.3.0 in /tests/apps/python-flask +- #8439: @dependabot[bot] chore(deps): bump brace-expansion from 1.1.12 to 1.1.13 in /tests/apps/multi +- #8438: @dependabot[bot] chore(deps): bump path-to-regexp from 8.2.0 to 8.4.0 in /tests/apps/checks-root +- #8437: @dependabot[bot] chore(deps): bump gunicorn from 25.2.0 to 25.3.0 in /tests/apps/dockerfile-release +- #8436: @dependabot[bot] chore(deps): bump traefik from v3.6.11 to v3.6.12 in /plugins/traefik-vhosts +- #8435: @dependabot[bot] chore(deps): bump gunicorn from 25.2.0 to 25.3.0 in /tests/apps/multi +- #8427: @dependabot[bot] chore(deps): bump werkzeug from 3.1.6 to 3.1.7 in /tests/apps/python-flask +- #8428: @dependabot[bot] chore(deps): bump gunicorn from 25.1.0 to 25.2.0 in /tests/apps/multi +- #8429: @dependabot[bot] chore(deps): bump gunicorn from 25.1.0 to 25.2.0 in /tests/apps/python-flask +- #8430: @dependabot[bot] chore(deps): bump djangorestframework from 3.17.0 to 3.17.1 in /tests/apps/dockerfile-release +- #8431: @dependabot[bot] chore(deps): bump gunicorn from 25.1.0 to 25.2.0 in /tests/apps/dockerfile-release +- #8432: @dependabot[bot] chore(deps): bump picomatch from 2.3.1 to 2.3.2 in /tests/apps/multi +- #8423: @dependabot[bot] chore(deps): bump traefik from v3.6.10 to v3.6.11 in /plugins/traefik-vhosts +- #8420: @dependabot[bot] chore(deps): bump mkdocs-material from 9.7.5 to 9.7.6 in /docs/_build +- #8421: @dependabot[bot] chore(deps): bump importlib-metadata from 8.8.0 to 9.0.0 in /docs/_build +- #8424: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.40 to 2.11.41 in /plugins/scheduler-k3s +- #8411: @dependabot[bot] chore(deps): bump lucaslorentz/caddy-docker-proxy from 2.11 to 2.12 in /plugins/caddy-vhosts +- #8412: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.20.0 to 3.20.1 in /plugins/scheduler-k3s +- #8419: @dependabot[bot] chore(deps): bump djangorestframework from 3.16.1 to 3.17.0 in /tests/apps/dockerfile-release +- #8418: @dependabot[bot] chore(deps): bump importlib-metadata from 8.7.1 to 8.8.0 in /docs/_build +- #8417: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.77.0-dev to 1.79.3 in /plugins/scheduler-k3s +- #8416: @dependabot[bot] chore(deps): bump ruby from 4.0.1 to 4.0.2 in /tests/apps/dockerfile-entrypoint +- #8415: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 in /tests/apps/gogrpc +- #8409: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.22.4 to 0.22.5 in /plugins/scheduler-k3s +- #8408: @dependabot[bot] chore(deps): bump github.com/go-resty/resty/v2 from 2.17.1 to 2.17.2 in /plugins/scheduler-k3s +- #8407: @dependabot[bot] chore(deps): bump mkdocs-material from 9.7.4 to 9.7.5 in /docs/_build +- #8406: @dependabot[bot] chore(deps): bump timberio/vector from 0.53.0-debian to 0.54.0-debian in /plugins/logs + +### Other + +- #8468: @josegonzalez chore: bump dependencies in tests/apps/php +- #8467: @josegonzalez chore: upgrade traefik from v2.11.41 to v2.11.42 +- #8466: @josegonzalez chore: bump dependencies in tests/apps/multi + ## 0.37.7 Install/update via the bootstrap script: diff --git a/README.md b/README.md index aacc9408203..d245ca9eb11 100644 --- a/README.md +++ b/README.md @@ -85,8 +85,8 @@ Otherwise, you will need to import the keypair manually after installation using To install the latest stable release, run the following commands as a user who has access to `sudo`: ```shell -wget -NP . https://dokku.com/install/v0.37.7/bootstrap.sh -sudo DOKKU_TAG=v0.37.7 bash bootstrap.sh +wget -NP . https://dokku.com/install/v0.37.8/bootstrap.sh +sudo DOKKU_TAG=v0.37.8 bash bootstrap.sh ``` You can then proceed to configure your server domain (via `dokku domains:set-global`) and user access (via `dokku ssh-keys:add`) to complete the installation. diff --git a/debian/control b/debian/control index b6141665166..a651b4dea0e 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Package: dokku -Version: 0.37.7 +Version: 0.37.8 Section: web Priority: optional Architecture: amd64 diff --git a/docs/advanced-usage/plugin-management.md b/docs/advanced-usage/plugin-management.md index 0dd19f74777..c471f72ebcd 100644 --- a/docs/advanced-usage/plugin-management.md +++ b/docs/advanced-usage/plugin-management.md @@ -36,35 +36,35 @@ dokku plugin:list ``` plugn: dev - 00_dokku-standard 0.37.7 enabled dokku core standard plugin - 20_events 0.37.7 enabled dokku core events logging plugin - app-json 0.37.7 enabled dokku core app-json plugin - apps 0.37.7 enabled dokku core apps plugin - build-env 0.37.7 enabled dokku core build-env plugin - buildpacks 0.37.7 enabled dokku core buildpacks plugin - certs 0.37.7 enabled dokku core certificate management plugin - checks 0.37.7 enabled dokku core checks plugin - common 0.37.7 enabled dokku core common plugin - config 0.37.7 enabled dokku core config plugin - docker-options 0.37.7 enabled dokku core docker-options plugin - domains 0.37.7 enabled dokku core domains plugin - enter 0.37.7 enabled dokku core enter plugin - git 0.37.7 enabled dokku core git plugin - logs 0.37.7 enabled dokku core logs plugin - network 0.37.7 enabled dokku core network plugin - nginx-vhosts 0.37.7 enabled dokku core nginx-vhosts plugin - plugin 0.37.7 enabled dokku core plugin plugin - proxy 0.37.7 enabled dokku core proxy plugin - ps 0.37.7 enabled dokku core ps plugin - repo 0.37.7 enabled dokku core repo plugin - resource 0.37.7 enabled dokku core resource plugin - scheduler-docker-local 0.37.7 enabled dokku core scheduler-docker-local plugin - shell 0.37.7 enabled dokku core shell plugin - ssh-keys 0.37.7 enabled dokku core ssh-keys plugin - storage 0.37.7 enabled dokku core storage plugin - tags 0.37.7 enabled dokku core tags plugin - tar 0.37.7 enabled dokku core tar plugin - trace 0.37.7 enabled dokku core trace plugin + 00_dokku-standard 0.37.8 enabled dokku core standard plugin + 20_events 0.37.8 enabled dokku core events logging plugin + app-json 0.37.8 enabled dokku core app-json plugin + apps 0.37.8 enabled dokku core apps plugin + build-env 0.37.8 enabled dokku core build-env plugin + buildpacks 0.37.8 enabled dokku core buildpacks plugin + certs 0.37.8 enabled dokku core certificate management plugin + checks 0.37.8 enabled dokku core checks plugin + common 0.37.8 enabled dokku core common plugin + config 0.37.8 enabled dokku core config plugin + docker-options 0.37.8 enabled dokku core docker-options plugin + domains 0.37.8 enabled dokku core domains plugin + enter 0.37.8 enabled dokku core enter plugin + git 0.37.8 enabled dokku core git plugin + logs 0.37.8 enabled dokku core logs plugin + network 0.37.8 enabled dokku core network plugin + nginx-vhosts 0.37.8 enabled dokku core nginx-vhosts plugin + plugin 0.37.8 enabled dokku core plugin plugin + proxy 0.37.8 enabled dokku core proxy plugin + ps 0.37.8 enabled dokku core ps plugin + repo 0.37.8 enabled dokku core repo plugin + resource 0.37.8 enabled dokku core resource plugin + scheduler-docker-local 0.37.8 enabled dokku core scheduler-docker-local plugin + shell 0.37.8 enabled dokku core shell plugin + ssh-keys 0.37.8 enabled dokku core ssh-keys plugin + storage 0.37.8 enabled dokku core storage plugin + tags 0.37.8 enabled dokku core tags plugin + tar 0.37.8 enabled dokku core tar plugin + trace 0.37.8 enabled dokku core trace plugin ``` > [!WARNING] diff --git a/docs/assets/favicons/browserconfig.xml b/docs/assets/favicons/browserconfig.xml index bbdfdf11472..46b5a9a8906 100644 --- a/docs/assets/favicons/browserconfig.xml +++ b/docs/assets/favicons/browserconfig.xml @@ -2,10 +2,10 @@ - - - - + + + + #da532c diff --git a/docs/assets/favicons/manifest.json b/docs/assets/favicons/manifest.json index 0bc49c79ceb..8b843d9d962 100644 --- a/docs/assets/favicons/manifest.json +++ b/docs/assets/favicons/manifest.json @@ -2,37 +2,37 @@ "name": "Dokku", "icons": [ { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-36x36.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.8\/docs\/assets\/favicons\/android-chrome-36x36.png", "sizes": "36x36", "type": "image\/png", "density": "0.75" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-48x48.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.8\/docs\/assets\/favicons\/android-chrome-48x48.png", "sizes": "48x48", "type": "image\/png", "density": "1.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-72x72.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.8\/docs\/assets\/favicons\/android-chrome-72x72.png", "sizes": "72x72", "type": "image\/png", "density": "1.5" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-96x96.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.8\/docs\/assets\/favicons\/android-chrome-96x96.png", "sizes": "96x96", "type": "image\/png", "density": "2.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-144x144.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.8\/docs\/assets\/favicons\/android-chrome-144x144.png", "sizes": "144x144", "type": "image\/png", "density": "3.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-192x192.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.8\/docs\/assets\/favicons\/android-chrome-192x192.png", "sizes": "192x192", "type": "image\/png", "density": "4.0" diff --git a/docs/assets/style.css b/docs/assets/style.css index da86550e396..e9b3307137b 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -25,9 +25,9 @@ /* Avatar section darkmode fade */ --avatar-before-gradient: rgba(0, 0, 0, 0) linear-gradient(90deg, white 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; - --avatar-darkmode-before-gradient: rgba(0, 0, 0, 0) linear-gradient(90deg, #0.37.7 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; + --avatar-darkmode-before-gradient: rgba(0, 0, 0, 0) linear-gradient(90deg, #0.37.8 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; --avatar-after-gradient: rgba(0, 0, 0, 0) linear-gradient(270deg, white 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; - --avatar-darkmode-after-gradient: rgba(0, 0, 0, 0) linear-gradient(270deg, #0.37.7 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; + --avatar-darkmode-after-gradient: rgba(0, 0, 0, 0) linear-gradient(270deg, #0.37.8 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; } body { @@ -1191,15 +1191,15 @@ ul.fas li .fa-large:before { .getting-started::after { background: linear-gradient(0deg, rgba(52, 52, 87, 0.2) -40.97%, rgba(0, 0, 0, 0) 103.19%), - #0.37.7; + #0.37.8; } .tab-content { - background: #0.37.7; + background: #0.37.8; } .nav-tabs { - background: #0.37.7; + background: #0.37.8; } .powered-by_brands { diff --git a/docs/assets/versions.json b/docs/assets/versions.json index 9569fc16e1d..532c4833406 100644 --- a/docs/assets/versions.json +++ b/docs/assets/versions.json @@ -34,6 +34,6 @@ "0.34.9", "0.35.20", "0.36.11", - "0.37.7" + "0.37.8" ] } diff --git a/docs/development/release-process.md b/docs/development/release-process.md index 19bf4541087..a80a29eaa47 100644 --- a/docs/development/release-process.md +++ b/docs/development/release-process.md @@ -29,7 +29,7 @@ The workflow looks like this: ```shell # having dokku-arch in ../dokku-arch vagrant up build-arch -# wait for "==> build-arch: ==> Finished making: dokku 0.37.7-2 (Mon Feb 22 23:20:37 CET 2016)" +# wait for "==> build-arch: ==> Finished making: dokku 0.37.8-2 (Mon Feb 22 23:20:37 CET 2016)" cd ../dokku-arch git add PKGBUILD .SRCINFO git commit -m 'Update to dokku 0.9.9' diff --git a/docs/getting-started/install/docker.md b/docs/getting-started/install/docker.md index f5ff2bda93e..e2883ead8c1 100644 --- a/docs/getting-started/install/docker.md +++ b/docs/getting-started/install/docker.md @@ -3,7 +3,7 @@ Pull the dokku/dokku image: ```shell -docker pull dokku/dokku:0.37.7 +docker pull dokku/dokku:0.37.8 ``` Next, run the image. @@ -19,7 +19,7 @@ docker container run -d \ --publish 8443:443 \ --volume /var/lib/dokku:/mnt/dokku \ --volume /var/run/docker.sock:/var/run/docker.sock \ - dokku/dokku:0.37.7 + dokku/dokku:0.37.8 ``` Alternatively, you can use `docker-compose.yml`: @@ -27,7 +27,7 @@ Alternatively, you can use `docker-compose.yml`: ```yaml services: dokku: - image: dokku/dokku:0.37.7 + image: dokku/dokku:0.37.8 container_name: dokku network_mode: bridge ports: @@ -83,7 +83,7 @@ redis: https://github.com/dokku/dokku-redis.git The alternative is to build a custom docker image via a custom Dockerfile. This Dockerfile can run any `plugin:install` command, though the `install` trigger must be skipped via the `--skip-install-trigger`. The version installed at that time will be the one that persists. Below is an example Dockerfile showing this method. ```Dockerfile -FROM dokku/dokku:0.37.7 +FROM dokku/dokku:0.37.8 RUN dokku plugin:install https://github.com/dokku/dokku-postgres.git --skip-install-trigger RUN dokku plugin:install https://github.com/dokku/dokku-redis.git --skip-install-trigger ``` diff --git a/docs/getting-started/installation/index.md b/docs/getting-started/installation/index.md index 09cc2d9b6b5..216f0851633 100644 --- a/docs/getting-started/installation/index.md +++ b/docs/getting-started/installation/index.md @@ -31,8 +31,8 @@ To install the latest stable version of Dokku, you can run the following shell c ```shell # for debian systems, installs Dokku via apt-get -wget -NP . https://dokku.com/install/v0.37.7/bootstrap.sh -sudo DOKKU_TAG=v0.37.7 bash bootstrap.sh +wget -NP . https://dokku.com/install/v0.37.8/bootstrap.sh +sudo DOKKU_TAG=v0.37.8 bash bootstrap.sh ``` The installation process takes about 5-10 minutes, depending upon internet connection speed. diff --git a/docs/home.html b/docs/home.html index c9059dc8044..cc9160fd841 100644 --- a/docs/home.html +++ b/docs/home.html @@ -10,26 +10,26 @@ Dokku - The smallest PaaS implementation you've ever seen - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + @@ -38,7 +38,7 @@ - + @@ -98,7 +98,7 @@
-
Latest release v0.37.7
+
Latest release v0.37.8

An open source PAAS alternative to Heroku.

Dokku helps you build and manage the lifecycle of applications from building to scaling.

@@ -125,7 +125,7 @@

Dokku helps you build and manage the lifecycle of ap

$ - sudo DOKKU_TAG=v0.37.7 bash bootstrap.sh + sudo DOKKU_TAG=v0.37.8 bash bootstrap.sh


diff --git a/docs/template.html b/docs/template.html index fef15c86fff..d7121dad484 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + +