Add hadolint checker

Fix some warnings/errors
This commit is contained in:
Faustin Lammler 2022-10-17 12:37:00 +02:00 committed by Daniel Black
parent 3e162d0c38
commit 8732e09705
11 changed files with 152 additions and 82 deletions

View File

@ -18,20 +18,23 @@ on:
defaults: defaults:
run: run:
shell: 'bash -Eeuo pipefail -x {0}' shell: "bash -Eeuo pipefail -x {0}"
jobs: jobs:
checks:
shellcheck: name: Checks
name: Shellcheck
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Run ShellCheck - name: Run ShellCheck
uses: ludeeus/action-shellcheck@master uses: ludeeus/action-shellcheck@master
with: with:
ignore_paths: initdb.d ignore_paths: initdb.d
ignore_names: generate-stackbrew-library.sh ignore_names: generate-stackbrew-library.sh
- name: Run Hadolint
uses: hadolint/hadolint-action@v2.0.0
with:
dockerfile: Dockerfile.template
generate-jobs: generate-jobs:
name: Generate Jobs name: Generate Jobs

4
.hadolint.yaml Normal file
View File

@ -0,0 +1,4 @@
---
ignored:
- DL3008
- DL4006

View File

@ -15,6 +15,8 @@ RUN set -ex; \
# add gosu for easy step-down from root # add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
ENV GOSU_VERSION 1.14 ENV GOSU_VERSION 1.14
# apt-mark manual "$savedAptMark" does not work
# hadolint ignore=SC2086
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \
@ -22,9 +24,10 @@ RUN set -eux; \
apt-get install -y --no-install-recommends wget; \ apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \ rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \ gpgconf --kill all; \
@ -61,14 +64,17 @@ ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8
# sub rsa4096 2016-03-30 [E] # sub rsa4096 2016-03-30 [E]
RUN set -ex; \ RUN set -ex; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
for key in $GPG_KEYS; do \ for key in $GPG_KEYS; do \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
done; \ done; \
gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \
command -v gpgconf > /dev/null && gpgconf --kill all || :; \ if command -v gpgconf >/dev/null; then \
rm -fr "$GNUPGHOME"; \ gpgconf --kill all; \
apt-key list else \
:; \
fi
# bashbrew-architectures: amd64 arm64v8 ppc64le s390x # bashbrew-architectures: amd64 arm64v8 ppc64le s390x
ARG MARIADB_VERSION=1:10.10.1+maria~ubu2204 ARG MARIADB_VERSION=1:10.10.1+maria~ubu2204
@ -91,6 +97,7 @@ RUN set -e;\
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter # also, we set debconf keys to make APT a little quieter
# hadolint ignore=DL3015
RUN set -ex; \ RUN set -ex; \
{ \ { \
echo "mariadb-server" mysql-server/root_password password 'unused'; \ echo "mariadb-server" mysql-server/root_password password 'unused'; \

View File

@ -15,6 +15,8 @@ RUN set -ex; \
# add gosu for easy step-down from root # add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
ENV GOSU_VERSION 1.14 ENV GOSU_VERSION 1.14
# apt-mark manual "$savedAptMark" does not work
# hadolint ignore=SC2086
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \
@ -22,9 +24,10 @@ RUN set -eux; \
apt-get install -y --no-install-recommends wget; \ apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \ rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \ gpgconf --kill all; \
@ -61,14 +64,17 @@ ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8
# sub rsa4096 2016-03-30 [E] # sub rsa4096 2016-03-30 [E]
RUN set -ex; \ RUN set -ex; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
for key in $GPG_KEYS; do \ for key in $GPG_KEYS; do \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
done; \ done; \
gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \
command -v gpgconf > /dev/null && gpgconf --kill all || :; \ if command -v gpgconf >/dev/null; then \
rm -fr "$GNUPGHOME"; \ gpgconf --kill all; \
apt-key list else \
:; \
fi
# bashbrew-architectures: amd64 arm64v8 ppc64le # bashbrew-architectures: amd64 arm64v8 ppc64le
ARG MARIADB_MAJOR=10.3 ARG MARIADB_MAJOR=10.3
@ -93,6 +99,7 @@ RUN set -e;\
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter # also, we set debconf keys to make APT a little quieter
# hadolint ignore=DL3015
RUN set -ex; \ RUN set -ex; \
{ \ { \
echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \ echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \

View File

@ -15,6 +15,8 @@ RUN set -ex; \
# add gosu for easy step-down from root # add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
ENV GOSU_VERSION 1.14 ENV GOSU_VERSION 1.14
# apt-mark manual "$savedAptMark" does not work
# hadolint ignore=SC2086
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \
@ -22,9 +24,10 @@ RUN set -eux; \
apt-get install -y --no-install-recommends wget; \ apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \ rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \ gpgconf --kill all; \
@ -61,14 +64,17 @@ ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8
# sub rsa4096 2016-03-30 [E] # sub rsa4096 2016-03-30 [E]
RUN set -ex; \ RUN set -ex; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
for key in $GPG_KEYS; do \ for key in $GPG_KEYS; do \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
done; \ done; \
gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \
command -v gpgconf > /dev/null && gpgconf --kill all || :; \ if command -v gpgconf >/dev/null; then \
rm -fr "$GNUPGHOME"; \ gpgconf --kill all; \
apt-key list else \
:; \
fi
# bashbrew-architectures: amd64 arm64v8 ppc64le # bashbrew-architectures: amd64 arm64v8 ppc64le
ARG MARIADB_MAJOR=10.4 ARG MARIADB_MAJOR=10.4
@ -93,6 +99,7 @@ RUN set -e;\
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter # also, we set debconf keys to make APT a little quieter
# hadolint ignore=DL3015
RUN set -ex; \ RUN set -ex; \
{ \ { \
echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \ echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \

View File

@ -15,6 +15,8 @@ RUN set -ex; \
# add gosu for easy step-down from root # add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
ENV GOSU_VERSION 1.14 ENV GOSU_VERSION 1.14
# apt-mark manual "$savedAptMark" does not work
# hadolint ignore=SC2086
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \
@ -22,9 +24,10 @@ RUN set -eux; \
apt-get install -y --no-install-recommends wget; \ apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \ rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \ gpgconf --kill all; \
@ -61,14 +64,17 @@ ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8
# sub rsa4096 2016-03-30 [E] # sub rsa4096 2016-03-30 [E]
RUN set -ex; \ RUN set -ex; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
for key in $GPG_KEYS; do \ for key in $GPG_KEYS; do \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
done; \ done; \
gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \
command -v gpgconf > /dev/null && gpgconf --kill all || :; \ if command -v gpgconf >/dev/null; then \
rm -fr "$GNUPGHOME"; \ gpgconf --kill all; \
apt-key list else \
:; \
fi
# bashbrew-architectures: amd64 arm64v8 ppc64le s390x # bashbrew-architectures: amd64 arm64v8 ppc64le s390x
ARG MARIADB_MAJOR=10.5 ARG MARIADB_MAJOR=10.5
@ -93,6 +99,7 @@ RUN set -e;\
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter # also, we set debconf keys to make APT a little quieter
# hadolint ignore=DL3015
RUN set -ex; \ RUN set -ex; \
{ \ { \
echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \ echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \

View File

@ -15,6 +15,8 @@ RUN set -ex; \
# add gosu for easy step-down from root # add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
ENV GOSU_VERSION 1.14 ENV GOSU_VERSION 1.14
# apt-mark manual "$savedAptMark" does not work
# hadolint ignore=SC2086
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \
@ -22,9 +24,10 @@ RUN set -eux; \
apt-get install -y --no-install-recommends wget; \ apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \ rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \ gpgconf --kill all; \
@ -61,14 +64,17 @@ ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8
# sub rsa4096 2016-03-30 [E] # sub rsa4096 2016-03-30 [E]
RUN set -ex; \ RUN set -ex; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
for key in $GPG_KEYS; do \ for key in $GPG_KEYS; do \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
done; \ done; \
gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \
command -v gpgconf > /dev/null && gpgconf --kill all || :; \ if command -v gpgconf >/dev/null; then \
rm -fr "$GNUPGHOME"; \ gpgconf --kill all; \
apt-key list else \
:; \
fi
# bashbrew-architectures: amd64 arm64v8 ppc64le s390x # bashbrew-architectures: amd64 arm64v8 ppc64le s390x
ARG MARIADB_MAJOR=10.6 ARG MARIADB_MAJOR=10.6
@ -93,6 +99,7 @@ RUN set -e;\
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter # also, we set debconf keys to make APT a little quieter
# hadolint ignore=DL3015
RUN set -ex; \ RUN set -ex; \
{ \ { \
echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \ echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \

View File

@ -15,6 +15,8 @@ RUN set -ex; \
# add gosu for easy step-down from root # add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
ENV GOSU_VERSION 1.14 ENV GOSU_VERSION 1.14
# apt-mark manual "$savedAptMark" does not work
# hadolint ignore=SC2086
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \
@ -22,9 +24,10 @@ RUN set -eux; \
apt-get install -y --no-install-recommends wget; \ apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \ rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \ gpgconf --kill all; \
@ -61,14 +64,17 @@ ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8
# sub rsa4096 2016-03-30 [E] # sub rsa4096 2016-03-30 [E]
RUN set -ex; \ RUN set -ex; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
for key in $GPG_KEYS; do \ for key in $GPG_KEYS; do \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
done; \ done; \
gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \
command -v gpgconf > /dev/null && gpgconf --kill all || :; \ if command -v gpgconf >/dev/null; then \
rm -fr "$GNUPGHOME"; \ gpgconf --kill all; \
apt-key list else \
:; \
fi
# bashbrew-architectures: amd64 arm64v8 ppc64le s390x # bashbrew-architectures: amd64 arm64v8 ppc64le s390x
ARG MARIADB_MAJOR=10.7 ARG MARIADB_MAJOR=10.7
@ -93,6 +99,7 @@ RUN set -e;\
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter # also, we set debconf keys to make APT a little quieter
# hadolint ignore=DL3015
RUN set -ex; \ RUN set -ex; \
{ \ { \
echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \ echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \

View File

@ -15,6 +15,8 @@ RUN set -ex; \
# add gosu for easy step-down from root # add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
ENV GOSU_VERSION 1.14 ENV GOSU_VERSION 1.14
# apt-mark manual "$savedAptMark" does not work
# hadolint ignore=SC2086
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \
@ -22,9 +24,10 @@ RUN set -eux; \
apt-get install -y --no-install-recommends wget; \ apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \ rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \ gpgconf --kill all; \
@ -61,14 +64,17 @@ ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8
# sub rsa4096 2016-03-30 [E] # sub rsa4096 2016-03-30 [E]
RUN set -ex; \ RUN set -ex; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
for key in $GPG_KEYS; do \ for key in $GPG_KEYS; do \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
done; \ done; \
gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \
command -v gpgconf > /dev/null && gpgconf --kill all || :; \ if command -v gpgconf >/dev/null; then \
rm -fr "$GNUPGHOME"; \ gpgconf --kill all; \
apt-key list else \
:; \
fi
# bashbrew-architectures: amd64 arm64v8 ppc64le s390x # bashbrew-architectures: amd64 arm64v8 ppc64le s390x
ARG MARIADB_MAJOR=10.8 ARG MARIADB_MAJOR=10.8
@ -93,6 +99,7 @@ RUN set -e;\
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter # also, we set debconf keys to make APT a little quieter
# hadolint ignore=DL3015
RUN set -ex; \ RUN set -ex; \
{ \ { \
echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \ echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \

View File

@ -15,6 +15,8 @@ RUN set -ex; \
# add gosu for easy step-down from root # add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
ENV GOSU_VERSION 1.14 ENV GOSU_VERSION 1.14
# apt-mark manual "$savedAptMark" does not work
# hadolint ignore=SC2086
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \
@ -22,9 +24,10 @@ RUN set -eux; \
apt-get install -y --no-install-recommends wget; \ apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \ rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \ gpgconf --kill all; \
@ -61,14 +64,17 @@ ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8
# sub rsa4096 2016-03-30 [E] # sub rsa4096 2016-03-30 [E]
RUN set -ex; \ RUN set -ex; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
for key in $GPG_KEYS; do \ for key in $GPG_KEYS; do \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
done; \ done; \
gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \
command -v gpgconf > /dev/null && gpgconf --kill all || :; \ if command -v gpgconf >/dev/null; then \
rm -fr "$GNUPGHOME"; \ gpgconf --kill all; \
apt-key list else \
:; \
fi
# bashbrew-architectures: amd64 arm64v8 ppc64le s390x # bashbrew-architectures: amd64 arm64v8 ppc64le s390x
ARG MARIADB_VERSION=1:10.9.3+maria~ubu2204 ARG MARIADB_VERSION=1:10.9.3+maria~ubu2204
@ -91,6 +97,7 @@ RUN set -e;\
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter # also, we set debconf keys to make APT a little quieter
# hadolint ignore=DL3015
RUN set -ex; \ RUN set -ex; \
{ \ { \
echo "mariadb-server" mysql-server/root_password password 'unused'; \ echo "mariadb-server" mysql-server/root_password password 'unused'; \

View File

@ -15,6 +15,8 @@ RUN set -ex; \
# add gosu for easy step-down from root # add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
ENV GOSU_VERSION 1.14 ENV GOSU_VERSION 1.14
# apt-mark manual "$savedAptMark" does not work
# hadolint ignore=SC2086
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates; \
@ -22,9 +24,10 @@ RUN set -eux; \
apt-get install -y --no-install-recommends wget; \ apt-get install -y --no-install-recommends wget; \
rm -rf /var/lib/apt/lists/*; \ rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \ gpgconf --kill all; \
@ -61,14 +64,17 @@ ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8
# sub rsa4096 2016-03-30 [E] # sub rsa4096 2016-03-30 [E]
RUN set -ex; \ RUN set -ex; \
export GNUPGHOME="$(mktemp -d)"; \ GNUPGHOME="$(mktemp -d)"; \
export GNUPGHOME; \
for key in $GPG_KEYS; do \ for key in $GPG_KEYS; do \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
done; \ done; \
gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \
command -v gpgconf > /dev/null && gpgconf --kill all || :; \ if command -v gpgconf >/dev/null; then \
rm -fr "$GNUPGHOME"; \ gpgconf --kill all; \
apt-key list else \
:; \
fi
# bashbrew-architectures:%%ARCHES%% # bashbrew-architectures:%%ARCHES%%
ARG MARIADB_MAJOR=%%MARIADB_MAJOR%% ARG MARIADB_MAJOR=%%MARIADB_MAJOR%%
@ -93,6 +99,7 @@ RUN set -e;\
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter # also, we set debconf keys to make APT a little quieter
# hadolint ignore=DL3015
RUN set -ex; \ RUN set -ex; \
{ \ { \
echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \ echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \