From 36e3d2e8d326c89406512f69589c10b90e420d21 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Hernandez Date: Fri, 24 Jan 2020 14:12:44 +0000 Subject: [PATCH] Remove unmaintained 5 branch and debian 9 --- bitnami/rails/5/debian-9/Dockerfile | 23 -- bitnami/rails/5/debian-9/docker-compose.yml | 19 -- .../rails/5/debian-9/rootfs/app-entrypoint.sh | 107 --------- bitnami/rails/5/ol-7/Dockerfile | 23 -- bitnami/rails/5/ol-7/docker-compose.yml | 20 -- bitnami/rails/5/ol-7/rootfs/app-entrypoint.sh | 107 --------- bitnami/rails/6/debian-9/Dockerfile | 33 --- bitnami/rails/6/debian-9/docker-compose.yml | 19 -- .../6/debian-9/prebuildfs/bitnami-user.sh | 6 - .../debian-9/prebuildfs/build/bitnami-user.sh | 6 - .../debian-9/prebuildfs/build/install-gosu.sh | 10 - .../debian-9/prebuildfs/build/install-nami.sh | 7 - .../debian-9/prebuildfs/build/install-tini.sh | 17 -- .../6/debian-9/prebuildfs/install-nami.sh | 7 - .../prebuildfs/opt/bitnami/base/functions | 121 ---------- .../prebuildfs/opt/bitnami/base/helpers | 40 ---- .../debian-9/prebuildfs/usr/sbin/bitnami-pkg | 211 ------------------ .../rails/6/debian-9/rootfs/app-entrypoint.sh | 123 ---------- 18 files changed, 899 deletions(-) delete mode 100644 bitnami/rails/5/debian-9/Dockerfile delete mode 100644 bitnami/rails/5/debian-9/docker-compose.yml delete mode 100755 bitnami/rails/5/debian-9/rootfs/app-entrypoint.sh delete mode 100644 bitnami/rails/5/ol-7/Dockerfile delete mode 100644 bitnami/rails/5/ol-7/docker-compose.yml delete mode 100755 bitnami/rails/5/ol-7/rootfs/app-entrypoint.sh delete mode 100644 bitnami/rails/6/debian-9/Dockerfile delete mode 100644 bitnami/rails/6/debian-9/docker-compose.yml delete mode 100755 bitnami/rails/6/debian-9/prebuildfs/bitnami-user.sh delete mode 100755 bitnami/rails/6/debian-9/prebuildfs/build/bitnami-user.sh delete mode 100755 bitnami/rails/6/debian-9/prebuildfs/build/install-gosu.sh delete mode 100755 bitnami/rails/6/debian-9/prebuildfs/build/install-nami.sh delete mode 100755 bitnami/rails/6/debian-9/prebuildfs/build/install-tini.sh delete mode 100755 bitnami/rails/6/debian-9/prebuildfs/install-nami.sh delete mode 100644 bitnami/rails/6/debian-9/prebuildfs/opt/bitnami/base/functions delete mode 100644 bitnami/rails/6/debian-9/prebuildfs/opt/bitnami/base/helpers delete mode 100755 bitnami/rails/6/debian-9/prebuildfs/usr/sbin/bitnami-pkg delete mode 100755 bitnami/rails/6/debian-9/rootfs/app-entrypoint.sh diff --git a/bitnami/rails/5/debian-9/Dockerfile b/bitnami/rails/5/debian-9/Dockerfile deleted file mode 100644 index 0fe54eb01c45..000000000000 --- a/bitnami/rails/5/debian-9/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM bitnami/minideb-extras:stretch-r470 -LABEL maintainer "Bitnami " - -# Install required system packages and dependencies -RUN install_packages build-essential default-libmysqlclient-dev ghostscript imagemagick libc6 libcomerr2 libcurl3 libffi6 libgcc1 libgcrypt20 libgmp-dev libgmp10 libgnutls30 libgpg-error0 libgssapi-krb5-2 libhogweed4 libidn11 libidn2-0 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 libncurses5 libnettle6 libnghttp2-14 libp11-kit0 libpq5 libpsl5 libreadline-dev libreadline7 librtmp1 libsasl2-2 libssh2-1 libssl1.0.2 libssl1.1 libstdc++6 libtasn1-6 libtinfo5 libunistring0 libxml2-dev libxslt1-dev netcat-traditional zlib1g zlib1g-dev -RUN bitnami-pkg install ruby-2.6.4-0 --checksum d3850ff8359e897e10fd224371b34a5334e3f2ae1f79a73ab138d74987d61a72 -RUN bitnami-pkg install mysql-client-10.3.17-0 --checksum 71d59fafc3e7e3e598af0c2b6788d77558630afe647ec1f922ffdd5025f3d737 -RUN bitnami-pkg install git-2.23.0-0 --checksum 54731b0fecdf38ab559cdd76311a229915bf0581b213a5806d3c7d56c5399981 -RUN bitnami-pkg install rails-5.2.3-0-0 --checksum abeeb5eb4fcfeb118f509715160ea072794b6d37e2bf6e88542789ecd9d20c1c -RUN mkdir /app && chown bitnami:bitnami /app - -COPY rootfs / -ENV BITNAMI_APP_NAME="rails" \ - BITNAMI_IMAGE_VERSION="5.2.3-0-debian-9-r121" \ - PATH="/opt/bitnami/ruby/bin:/opt/bitnami/mysql/bin:/opt/bitnami/git/bin:/opt/bitnami/rails/bin:$PATH" \ - RAILS_ENV="development" - -EXPOSE 3000 - -WORKDIR /app -USER bitnami -ENTRYPOINT [ "/app-entrypoint.sh" ] -CMD [ "bundle", "exec", "rails", "server", "-b", "0.0.0.0", "-p", "3000" ] diff --git a/bitnami/rails/5/debian-9/docker-compose.yml b/bitnami/rails/5/debian-9/docker-compose.yml deleted file mode 100644 index 3c10b470d5a2..000000000000 --- a/bitnami/rails/5/debian-9/docker-compose.yml +++ /dev/null @@ -1,19 +0,0 @@ -version: '2' -services: - mariadb: - image: 'bitnami/mariadb:10.3' - environment: - - ALLOW_EMPTY_PASSWORD=yes - - myapp: - tty: true # Enables debugging capabilities when attached to this container. - image: bitnami/rails:5 - environment: - - DATABASE_HOST=mariadb - - DATABASE_NAME=my_app_development - depends_on: - - mariadb - ports: - - 3000:3000 - volumes: - - .:/app diff --git a/bitnami/rails/5/debian-9/rootfs/app-entrypoint.sh b/bitnami/rails/5/debian-9/rootfs/app-entrypoint.sh deleted file mode 100755 index b38fa8207189..000000000000 --- a/bitnami/rails/5/debian-9/rootfs/app-entrypoint.sh +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/bash - -set -o errexit -set -o pipefail -# set -o xtrace -# shellcheck disable=SC1091 - -# Load libraries -. /opt/bitnami/base/functions - -# Constants -INIT_SEM=/tmp/initialized.sem - -# Functions - -######################## -# Ensure gems are up to date -# Arguments: -# None -# Returns: -# Boolean -######################### -gems_up_to_date() { - bundle check 1> /dev/null -} - -######################## -# Wait for database to be ready -# Globals: -# DATABASE_HOST -# Arguments: -# None -# Returns: -# None -######################### -wait_for_db() { - local db_host="${DATABASE_HOST:-mariadb}" - local db_address - db_address="$(getent hosts "$db_host" | awk '{ print $1 }')" - counter=0 - log "Connecting to MariaDB at $db_address" - while ! nc -z "$db_host" 3306; do - counter=$((counter+1)) - if [ $counter == 30 ]; then - log "Error: Couldn't connect to MariaDB." - exit 1 - fi - log "Trying to connect to mariadb at $db_address. Attempt $counter." - sleep 5 - done -} - -print_welcome_page - -if [[ "$1" = "bundle" ]] && [[ "$2" = "exec" ]]; then - if [[ -f /app/config.ru ]]; then - log "Rails project found. Skipping creation..." - else - log "Creating new Rails project..." - rails new . --skip-bundle --database mysql - # Add mini_racer - sed -i -e "s/# gem 'mini_racer'/gem 'mini_racer'/" Gemfile - # TODO: substitution using 'yq' once they support anchors - # Related issue: https://github.com/mikefarah/yq/issues/178 - # E.g: yq w -i /app/config/database.yml default.host '<%= ENV.fetch("DATABASE_HOST") { mariadb } %>' - # E.g: yq w -i /app/config/database.yml development.database '<%= ENV.fetch("DATABASE_NAME") { mariadb } %>' - log "Setting default host to \`${DATABASE_HOST:-mariadb}\`..." - sed -i -e 's/host:.*$/host: <%= ENV.fetch("DATABASE_HOST", "mariadb") %>/g' /app/config/database.yml - log "Setting development database to \`${DATABASE_NAME:-my_app_development}\`..." - sed -i -e '1,/test:/ s/database:.*$/database: <%= ENV.fetch("DATABASE_NAME", "my_app_development") %>/g' /app/config/database.yml - fi - - if ! gems_up_to_date; then - log "Installing/Updating Rails dependencies (gems)..." - bundle install - log "Gems updated!!" - fi - - if [[ -z $SKIP_DB_WAIT ]]; then - wait_for_db - fi - - if [[ -f $INIT_SEM ]]; then - echo "#########################################################################" - echo " " - echo " App initialization skipped:" - echo " Delete the file $INIT_SEM and restart the container to reinitialize" - echo " You can alternatively run specific commands using docker-compose exec" - echo " e.g docker-compose exec rails bundle exec rails db:migrate" - echo " " - echo "#########################################################################" - else - if [[ -z $SKIP_DB_SETUP ]]; then - log "Configuring the database..." - bundle exec rails db:create - fi - log "Initialization finished!!!" - touch $INIT_SEM - fi - - if [[ -z $SKIP_DB_SETUP ]]; then - log "Applying database migrations (db:migrate)..." - bundle exec rails db:migrate - fi -fi - -exec tini -- "$@" diff --git a/bitnami/rails/5/ol-7/Dockerfile b/bitnami/rails/5/ol-7/Dockerfile deleted file mode 100644 index 09368d7d0e9f..000000000000 --- a/bitnami/rails/5/ol-7/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM bitnami/oraclelinux-extras:7-r451 -LABEL maintainer "Bitnami " - -# Install required system packages and dependencies -RUN install_packages ca-certificates cyrus-sasl-lib gcc-c++ glibc keyutils-libs krb5-libs libcom_err libcurl libgcc libidn libselinux libssh2 libstdc++ libxml2 make mysql-devel nc ncurses-libs nspr nss nss-softokn-freebl nss-util openldap openssl-libs pcre pkgconfig readline zlib -RUN bitnami-pkg install ruby-2.6.4-0 --checksum 8774fa00c7fbf9bd5e8af4425f20c466c606c9bdf2df4aee80db525bbd45ab49 -RUN bitnami-pkg install mysql-client-10.3.17-0 --checksum 83fd01acb88a54d028a327870cec66bf43f57f326814a16dc4626a5171742229 -RUN bitnami-pkg install git-2.23.0-0 --checksum 30618c63e72727b90b3cc3e7f8747e599ec11352b29812285a27029807d8766d -RUN bitnami-pkg install rails-5.2.3-0-0 --checksum 57f3f739ebc3051ee3376f0d8087161a058d67bae8f88a248f457529e7e4ea72 -RUN mkdir /app && chown bitnami:bitnami /app - -COPY rootfs / -ENV BITNAMI_APP_NAME="rails" \ - BITNAMI_IMAGE_VERSION="5.2.3-0-ol-7-r132" \ - PATH="/opt/bitnami/ruby/bin:/opt/bitnami/mysql/bin:/opt/bitnami/git/bin:/opt/bitnami/rails/bin:$PATH" \ - RAILS_ENV="development" - -EXPOSE 3000 - -WORKDIR /app -USER bitnami -ENTRYPOINT [ "/app-entrypoint.sh" ] -CMD [ "bundle", "exec", "rails", "server", "-b", "0.0.0.0", "-p", "3000" ] diff --git a/bitnami/rails/5/ol-7/docker-compose.yml b/bitnami/rails/5/ol-7/docker-compose.yml deleted file mode 100644 index aa877f49ac08..000000000000 --- a/bitnami/rails/5/ol-7/docker-compose.yml +++ /dev/null @@ -1,20 +0,0 @@ -version: '2' - -services: - mariadb: - image: 'bitnami/mariadb:10.3-ol-7' - environment: - - ALLOW_EMPTY_PASSWORD=yes - - myapp: - tty: true # Enables debugging capabilities when attached to this container. - image: bitnami/rails:5-ol-7 - environment: - - DATABASE_HOST=mariadb - - DATABASE_NAME=my_app_development - depends_on: - - mariadb - ports: - - 3000:3000 - volumes: - - .:/app diff --git a/bitnami/rails/5/ol-7/rootfs/app-entrypoint.sh b/bitnami/rails/5/ol-7/rootfs/app-entrypoint.sh deleted file mode 100755 index b38fa8207189..000000000000 --- a/bitnami/rails/5/ol-7/rootfs/app-entrypoint.sh +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/bash - -set -o errexit -set -o pipefail -# set -o xtrace -# shellcheck disable=SC1091 - -# Load libraries -. /opt/bitnami/base/functions - -# Constants -INIT_SEM=/tmp/initialized.sem - -# Functions - -######################## -# Ensure gems are up to date -# Arguments: -# None -# Returns: -# Boolean -######################### -gems_up_to_date() { - bundle check 1> /dev/null -} - -######################## -# Wait for database to be ready -# Globals: -# DATABASE_HOST -# Arguments: -# None -# Returns: -# None -######################### -wait_for_db() { - local db_host="${DATABASE_HOST:-mariadb}" - local db_address - db_address="$(getent hosts "$db_host" | awk '{ print $1 }')" - counter=0 - log "Connecting to MariaDB at $db_address" - while ! nc -z "$db_host" 3306; do - counter=$((counter+1)) - if [ $counter == 30 ]; then - log "Error: Couldn't connect to MariaDB." - exit 1 - fi - log "Trying to connect to mariadb at $db_address. Attempt $counter." - sleep 5 - done -} - -print_welcome_page - -if [[ "$1" = "bundle" ]] && [[ "$2" = "exec" ]]; then - if [[ -f /app/config.ru ]]; then - log "Rails project found. Skipping creation..." - else - log "Creating new Rails project..." - rails new . --skip-bundle --database mysql - # Add mini_racer - sed -i -e "s/# gem 'mini_racer'/gem 'mini_racer'/" Gemfile - # TODO: substitution using 'yq' once they support anchors - # Related issue: https://github.com/mikefarah/yq/issues/178 - # E.g: yq w -i /app/config/database.yml default.host '<%= ENV.fetch("DATABASE_HOST") { mariadb } %>' - # E.g: yq w -i /app/config/database.yml development.database '<%= ENV.fetch("DATABASE_NAME") { mariadb } %>' - log "Setting default host to \`${DATABASE_HOST:-mariadb}\`..." - sed -i -e 's/host:.*$/host: <%= ENV.fetch("DATABASE_HOST", "mariadb") %>/g' /app/config/database.yml - log "Setting development database to \`${DATABASE_NAME:-my_app_development}\`..." - sed -i -e '1,/test:/ s/database:.*$/database: <%= ENV.fetch("DATABASE_NAME", "my_app_development") %>/g' /app/config/database.yml - fi - - if ! gems_up_to_date; then - log "Installing/Updating Rails dependencies (gems)..." - bundle install - log "Gems updated!!" - fi - - if [[ -z $SKIP_DB_WAIT ]]; then - wait_for_db - fi - - if [[ -f $INIT_SEM ]]; then - echo "#########################################################################" - echo " " - echo " App initialization skipped:" - echo " Delete the file $INIT_SEM and restart the container to reinitialize" - echo " You can alternatively run specific commands using docker-compose exec" - echo " e.g docker-compose exec rails bundle exec rails db:migrate" - echo " " - echo "#########################################################################" - else - if [[ -z $SKIP_DB_SETUP ]]; then - log "Configuring the database..." - bundle exec rails db:create - fi - log "Initialization finished!!!" - touch $INIT_SEM - fi - - if [[ -z $SKIP_DB_SETUP ]]; then - log "Applying database migrations (db:migrate)..." - bundle exec rails db:migrate - fi -fi - -exec tini -- "$@" diff --git a/bitnami/rails/6/debian-9/Dockerfile b/bitnami/rails/6/debian-9/Dockerfile deleted file mode 100644 index a93758ba86be..000000000000 --- a/bitnami/rails/6/debian-9/Dockerfile +++ /dev/null @@ -1,33 +0,0 @@ -FROM bitnami/minideb:stretch -LABEL maintainer "Bitnami " - -ENV PATH="/opt/bitnami/ruby/bin:/opt/bitnami/node/bin:/opt/bitnami/mysql/bin:/opt/bitnami/git/bin:/opt/bitnami/rails/bin:/opt/bitnami/nami/bin:$PATH" - -COPY prebuildfs / -# Install required system packages and dependencies -RUN install_packages build-essential ca-certificates curl default-libmysqlclient-dev dirmngr ghostscript gnupg imagemagick libbz2-1.0 libc6 libcomerr2 libcurl3 libffi6 libgcc1 libgcrypt20 libgmp-dev libgmp10 libgnutls30 libgpg-error0 libgssapi-krb5-2 libhogweed4 libidn11 libidn2-0 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 libncurses5 libnettle6 libnghttp2-14 libp11-kit0 libpq5 libpsl5 libreadline-dev libreadline7 librtmp1 libsasl2-2 libsqlite3-0 libssh2-1 libssl1.0.2 libssl1.1 libstdc++6 libtasn1-6 libtinfo5 libunistring0 libxml2-dev libxslt1-dev netcat-traditional procps sudo unzip zlib1g zlib1g-dev -RUN /build/bitnami-user.sh && \ - /build/install-nami.sh -RUN bitnami-pkg install ruby-2.6.5-0 --checksum 3a856a4569b5d4f59628209a1ab1b78619647bf1f4d5f11ca3ae6b28ee1e7fa9 -RUN bitnami-pkg install node-10.18.1-0 --checksum ea470130eeb8730473153d75bcdd8979032120fcad9aae7fc6730615b76d888c -RUN bitnami-pkg install mysql-client-10.3.21-0 --checksum 19c6b964f289772a4e5963e22929133fa65222f66752eb29af715ce3d0b7ef0e -RUN bitnami-pkg install git-2.25.0-0 --checksum 49b040c04ed41e5707e3aac4bbc13553a865dc16acd2053e50e4355d13a373d1 -RUN bitnami-pkg install rails-6.0.2-1-1 --checksum 5907cdc43f4d3a30e1141db8b4e92259d4824548771f6d044830591694c1cde2 -RUN apt-get update && apt-get upgrade && \ - rm -r /var/lib/apt/lists /var/cache/apt/archives -RUN mkdir /app && chown bitnami:bitnami /app -RUN /build/install-gosu.sh -RUN /build/install-tini.sh - -COPY rootfs / -ENV BITNAMI_APP_NAME="rails" \ - BITNAMI_IMAGE_VERSION="6.0.2-1-debian-9-r27" \ - BUNDLE_BUILD__SASSC="--disable-march-tune-native" \ - RAILS_ENV="development" - -EXPOSE 3000 - -WORKDIR /app -USER bitnami -ENTRYPOINT [ "/app-entrypoint.sh" ] -CMD [ "bundle", "exec", "rails", "server", "-b", "0.0.0.0", "-p", "3000" ] diff --git a/bitnami/rails/6/debian-9/docker-compose.yml b/bitnami/rails/6/debian-9/docker-compose.yml deleted file mode 100644 index 9dcd442648c7..000000000000 --- a/bitnami/rails/6/debian-9/docker-compose.yml +++ /dev/null @@ -1,19 +0,0 @@ -version: '2' -services: - mariadb: - image: 'bitnami/mariadb:10.3' - environment: - - ALLOW_EMPTY_PASSWORD=yes - - myapp: - tty: true # Enables debugging capabilities when attached to this container. - image: bitnami/rails:6 - environment: - - DATABASE_HOST=mariadb - - DATABASE_NAME=my_app_development - depends_on: - - mariadb - ports: - - 3000:3000 - volumes: - - .:/app diff --git a/bitnami/rails/6/debian-9/prebuildfs/bitnami-user.sh b/bitnami/rails/6/debian-9/prebuildfs/bitnami-user.sh deleted file mode 100755 index ab84296bcdfa..000000000000 --- a/bitnami/rails/6/debian-9/prebuildfs/bitnami-user.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -useradd -ms /bin/bash bitnami -mkdir -p /opt/bitnami && chown bitnami:bitnami /opt/bitnami -sed -i -e 's/\s*Defaults\s*secure_path\s*=/# Defaults secure_path=/' /etc/sudoers -echo 'bitnami ALL=NOPASSWD: ALL' >> /etc/sudoers diff --git a/bitnami/rails/6/debian-9/prebuildfs/build/bitnami-user.sh b/bitnami/rails/6/debian-9/prebuildfs/build/bitnami-user.sh deleted file mode 100755 index ab84296bcdfa..000000000000 --- a/bitnami/rails/6/debian-9/prebuildfs/build/bitnami-user.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -useradd -ms /bin/bash bitnami -mkdir -p /opt/bitnami && chown bitnami:bitnami /opt/bitnami -sed -i -e 's/\s*Defaults\s*secure_path\s*=/# Defaults secure_path=/' /etc/sudoers -echo 'bitnami ALL=NOPASSWD: ALL' >> /etc/sudoers diff --git a/bitnami/rails/6/debian-9/prebuildfs/build/install-gosu.sh b/bitnami/rails/6/debian-9/prebuildfs/build/install-gosu.sh deleted file mode 100755 index 1756700daa89..000000000000 --- a/bitnami/rails/6/debian-9/prebuildfs/build/install-gosu.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -VERSION="1.11" -SHA256="0b843df6d86e270c5b0f5cbd3c326a04e18f4b7f9b8457fa497b0454c4b138d7" - -curl --silent -L "https://github.com/tianon/gosu/releases/download/${VERSION}/gosu-amd64" > "/usr/local/bin/gosu" -echo "$SHA256" "/usr/local/bin/gosu" | sha256sum --check -chmod u+x "/usr/local/bin/gosu" -mkdir -p "/opt/bitnami/licenses" -curl --silent -L "https://raw.githubusercontent.com/tianon/gosu/master/LICENSE" > "/opt/bitnami/licenses/gosu-${VERSION}.txt" diff --git a/bitnami/rails/6/debian-9/prebuildfs/build/install-nami.sh b/bitnami/rails/6/debian-9/prebuildfs/build/install-nami.sh deleted file mode 100755 index d8a59c381f6d..000000000000 --- a/bitnami/rails/6/debian-9/prebuildfs/build/install-nami.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -curl --silent -L https://nami-prod.s3.amazonaws.com/tools/nami/releases/nami-1.0.0-1-linux-x64.tar.gz > /tmp/nami-linux-x64.tar.gz -echo "80488279b056d5e9c183fe34097c5f496715ab16a602afcc9f78d59f15139a16 /tmp/nami-linux-x64.tar.gz" | sha256sum --check -mkdir -p /opt/bitnami/nami /opt/bitnami/licenses -tar xzf /tmp/nami-linux-x64.tar.gz --strip 1 -C /opt/bitnami/nami && rm /tmp/nami-linux-x64.tar.gz -curl --silent -L https://raw.githubusercontent.com/bitnami/nami/master/COPYING > /opt/bitnami/licenses/nami-1.0.0-1.txt diff --git a/bitnami/rails/6/debian-9/prebuildfs/build/install-tini.sh b/bitnami/rails/6/debian-9/prebuildfs/build/install-tini.sh deleted file mode 100755 index 8376a36aee5f..000000000000 --- a/bitnami/rails/6/debian-9/prebuildfs/build/install-tini.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -GPG_KEY="595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7" -GPG_KEY_FINGERPRINT="6380 DC42 8747 F6C3 93FE ACA5 9A84 159D 7001 A4E5" -SERVERS=("ha.pool.sks-keyservers.net" "hkp://p80.pool.sks-keyservers.net:80" "keyserver.ubuntu.com" "hkp://keyserver.ubuntu.com:80" "pgp.mit.edu") -VERSION="0.13.2" - -for server in "${SERVERS[@]}"; do - gpg --keyserver "$server" --recv-keys "$GPG_KEY" && break || : -done -gpg --fingerprint "$GPG_KEY" | grep -q "$GPG_KEY_FINGERPRINT" -curl --silent -L "https://github.com/krallin/tini/releases/download/v${VERSION}/tini.asc" > "/tmp/tini.asc" -curl --silent -L "https://github.com/krallin/tini/releases/download/v${VERSION}/tini" > "/usr/local/bin/tini" -gpg --verify "/tmp/tini.asc" "/usr/local/bin/tini" -chmod +x "/usr/local/bin/tini" -mkdir -p "/opt/bitnami/licenses" -curl --silent -L "https://raw.githubusercontent.com/krallin/tini/master/LICENSE" > "/opt/bitnami/licenses/tini-${VERSION}.txt" diff --git a/bitnami/rails/6/debian-9/prebuildfs/install-nami.sh b/bitnami/rails/6/debian-9/prebuildfs/install-nami.sh deleted file mode 100755 index d8a59c381f6d..000000000000 --- a/bitnami/rails/6/debian-9/prebuildfs/install-nami.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -curl --silent -L https://nami-prod.s3.amazonaws.com/tools/nami/releases/nami-1.0.0-1-linux-x64.tar.gz > /tmp/nami-linux-x64.tar.gz -echo "80488279b056d5e9c183fe34097c5f496715ab16a602afcc9f78d59f15139a16 /tmp/nami-linux-x64.tar.gz" | sha256sum --check -mkdir -p /opt/bitnami/nami /opt/bitnami/licenses -tar xzf /tmp/nami-linux-x64.tar.gz --strip 1 -C /opt/bitnami/nami && rm /tmp/nami-linux-x64.tar.gz -curl --silent -L https://raw.githubusercontent.com/bitnami/nami/master/COPYING > /opt/bitnami/licenses/nami-1.0.0-1.txt diff --git a/bitnami/rails/6/debian-9/prebuildfs/opt/bitnami/base/functions b/bitnami/rails/6/debian-9/prebuildfs/opt/bitnami/base/functions deleted file mode 100644 index 6e9168c5577b..000000000000 --- a/bitnami/rails/6/debian-9/prebuildfs/opt/bitnami/base/functions +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/bash - -[[ ${BASH_DEBUG:-false} = true ]] && set -x - -# Constants -MODULE="$(basename "$0")" -BITNAMI_PREFIX=/opt/bitnami - -# Color Palette -RESET='\033[0m' -BOLD='\033[1m' - -## Foreground -BLACK='\033[38;5;0m' -RED='\033[38;5;1m' -GREEN='\033[38;5;2m' -YELLOW='\033[38;5;3m' -BLUE='\033[38;5;4m' -MAGENTA='\033[38;5;5m' -CYAN='\033[38;5;6m' -WHITE='\033[38;5;7m' - -## Background -ON_BLACK='\033[48;5;0m' -ON_RED='\033[48;5;1m' -ON_GREEN='\033[48;5;2m' -ON_YELLOW='\033[48;5;3m' -ON_BLUE='\033[48;5;4m' -ON_MAGENTA='\033[48;5;5m' -ON_CYAN='\033[48;5;6m' -ON_WHITE='\033[48;5;7m' - -# Functions - -######################## -# Print to STDERR -# Arguments: -# Message to print -# Returns: -# None -######################### -stderr_print() { - printf "%b\\n" "${*}" >&2 -} - -######################## -# Log message -# Arguments: -# Message to log -# Returns: -# None -######################### -log() { - stderr_print "${NAMI_DEBUG:+${CYAN}${MODULE:-} ${MAGENTA}$(date "+%T.%2N ")}${RESET}${*}" -} -######################## -# Log an 'info' message -# Arguments: -# Message to log -# Returns: -# None -######################### -info() { - log "${GREEN}INFO ${RESET} ==> ${*}" -} -######################## -# Log message -# Arguments: -# Message to log -# Returns: -# None -######################### -warn() { - log "${YELLOW}WARN ${RESET} ==> ${*}" -} -######################## -# Log an 'error' message -# Arguments: -# Message to log -# Returns: -# None -######################### -error() { - log "${RED}ERROR${RESET} ==> ${*}" -} -######################## -# Print the welcome page -# Globals: -# DISABLE_WELCOME_MESSAGE -# BITNAMI_APP_NAME -# Arguments: -# None -# Returns: -# None -######################### -print_welcome_page() { - if [[ -z "${DISABLE_WELCOME_MESSAGE:-}" ]]; then - if [[ -n "$BITNAMI_APP_NAME" ]]; then - print_image_welcome_page - fi - fi -} -######################## -# Print the welcome page for a Bitnami Docker image -# Globals: -# BITNAMI_APP_NAME -# Arguments: -# None -# Returns: -# None -######################### -print_image_welcome_page() { - local github_url="https://github.com/bitnami/bitnami-docker-${BITNAMI_APP_NAME}" - - log "" - log "${BOLD}Welcome to the Bitnami ${BITNAMI_APP_NAME} container${RESET}" - log "Subscribe to project updates by watching ${BOLD}${github_url}${RESET}" - log "Submit issues and feature requests at ${BOLD}${github_url}/issues${RESET}" - log "Send us your feedback at ${BOLD}containers@bitnami.com${RESET}" - log "" -} diff --git a/bitnami/rails/6/debian-9/prebuildfs/opt/bitnami/base/helpers b/bitnami/rails/6/debian-9/prebuildfs/opt/bitnami/base/helpers deleted file mode 100644 index da35a1975ec6..000000000000 --- a/bitnami/rails/6/debian-9/prebuildfs/opt/bitnami/base/helpers +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -. /opt/bitnami/base/functions - -######################## -# Helper function to initialize a single nami module -# Arguments: -# Module to initialize -# Returns: -# None -# Description: -# Initialize an unpacked nami module with the `nami initialize` command. -# Command arguments can be specified as function argumnts after the module name. -# `--log-level trace` flag is added to the command if `NAMI_DEBUG` env variable exists. -# The log level can be overriden using the `NAMI_LOG_LEVEL` env variable. -######################### -nami_initialize_one() { - local module="${1:?module not specified}" - if nami inspect $module | grep -q '"lifecycle": "unpacked"'; then - local inputs= - if [[ -f "/${module}-inputs.json" ]]; then - inputs="--inputs-file=/${module}-inputs.json" - fi - nami ${NAMI_DEBUG:+--log-level ${NAMI_LOG_LEVEL:-trace}} initialize $module $inputs "${@:2}" - fi -} - -######################## -# Helper function to initialize one or more nami modules -# Arguments: -# Module to initialize -# Returns: -# None -######################### -nami_initialize() { - local module="${1:?module not specified}" - for module in "${@}"; do - nami_initialize_one $module - done -} diff --git a/bitnami/rails/6/debian-9/prebuildfs/usr/sbin/bitnami-pkg b/bitnami/rails/6/debian-9/prebuildfs/usr/sbin/bitnami-pkg deleted file mode 100755 index 3d934df5585a..000000000000 --- a/bitnami/rails/6/debian-9/prebuildfs/usr/sbin/bitnami-pkg +++ /dev/null @@ -1,211 +0,0 @@ -#!/bin/bash -e -. /opt/bitnami/base/functions - -print_usage() { - log "Usage: bitnami-pkg - [OPTIONS] -- [ARGS]" - log "" - log "Download and install Bitnami packages" - log "" - log "Commands:" - log " install Download and install a package." - log " unpack Download and unpack a package." - log "" - log "Options:" - log " -b, --bucket Package release bucket (default: stacksmith)." - log " -c, --checksum SHA256 verification checksum." - log " -h, --help Show this help message and exit." - log "" - log "If the package is already available in the /tmp/bitnami/pkg/cache/" - log "directory, the download will be skipped. If there is a corresponding" - log "file of the same name post-fixed with .sha256 in the directory," - log "that sha will be used instead of the --checksum option." - log "" - log "Examples:" - log " - Unpack package" - log " \$ bitnami-pkg unpack nginx-1.9.10-0" - log "" - log " - Verify and Install package" - log " \$ bitnami-pkg install nginx-1.9.10-0 --checksum 15565d06b18c2e3710fc08e579ddb3d0e39aa663264a0f7404f0743cb4cdb58d" - log "" - log " - Install package with arguments" - log " \$ bitnami-pkg install mariadb-10.1.11-0 -- --password bitnami" - log "" - log " - Install package from testing" - log " \$ bitnami-pkg install mariadb-10.1.11-0 --bucket testing" - log "" -} - -identify_distro() { - distro="${IMAGE_OS:-unknown}" - if [ "${distro}" == "unknown" -a -f /etc/os-release ]; then - distro="$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | cut -d'"' -f2)-$(grep "^VERSION_ID=" /etc/os-release | cut -d'=' -f2 | cut -d'"' -f2 | cut -d'.' -f1)" - fi - echo "$distro" -} - -identify_arch() { - local arch=$(uname -m) - - case "${arch}" in - ppc64le) - ;; # no-op - x86_64) - case $(identify_distro) in - debian-*) - arch=amd64 - ;; - ol-*) - arch=x86_64 - ;; - centos-*) - arch=x86_64 - ;; - rhel-*) - arch=x86_64 - ;; - photon-*) - arch=x86_64 - ;; - esac - ;; - *) - arch="unknown" - ;; - esac - echo $arch -} - -# break up command line for easy parsing and check legal options -ARGS=$(getopt -o b:c:h -l "bucket:,checksum:,help" -n "bitnami-pkg" -- "$@") -if [ $? -ne 0 ]; -then - exit 1 -fi - -eval set -- "$ARGS"; -while true; do - case "$1" in - -b|--bucket) - shift - if [ -n "$1" ]; then - RELEASE_BUCKET=$1 - shift - fi - ;; - -c|--checksum) - shift - if [ -n "$1" ]; then - PACKAGE_SHA256=$1 - shift - fi - ;; - -h|--help) - print_usage - exit 0 - ;; - --) - shift - break - ;; - esac -done - -# weed out unrecognized commands -case "$1" in - install|unpack) ;; - *) - error "Unrecognized command: $1" - print_usage - exit 1 - ;; -esac - -# install/unpack command need to be supplied a package name -if [ $# -lt 2 ]; then - print_usage - exit 1 -fi - -INSTALL_ROOT=/tmp/bitnami/pkg/install -CACHE_ROOT=/tmp/bitnami/pkg/cache - -PACKAGE="$2-linux-$(identify_arch)-$(identify_distro)" -PACKAGE_ARGS=${@:3} -PACKAGE_NAME=$(echo $PACKAGE | sed 's/-[0-9].*//') -RELEASE_BUCKET=${RELEASE_BUCKET:-stacksmith} - -mkdir -p $INSTALL_ROOT -cd $INSTALL_ROOT - -info "Downloading $PACKAGE package" -if [ -f $CACHE_ROOT/$PACKAGE.tar.gz ]; then - info "$CACHE_ROOT/$PACKAGE.tar.gz already exists, skipping download." - cp $CACHE_ROOT/$PACKAGE.tar.gz . - if [ -f $CACHE_ROOT/$PACKAGE.tar.gz.sha256 ]; then - info "Using the local sha256 from $CACHE_ROOT/$PACKAGE.tar.gz.sha256" - PACKAGE_SHA256=$(cat $CACHE_ROOT/$PACKAGE.tar.gz.sha256) - fi -else - # display cURL progress bar when a tty is attached - if tty -s; then - CURL_ARGS="-#" - else - CURL_ARGS="-sS" - fi - if ! curl $CURL_ARGS -LOf "https://downloads.bitnami.com/files/$RELEASE_BUCKET/$PACKAGE.tar.gz"; then - warn "Package name '$PACKAGE' does not exist, will try '${PACKAGE%-$(identify_distro)}'..." - if curl $CURL_ARGS -LOf "https://downloads.bitnami.com/files/$RELEASE_BUCKET/${PACKAGE%-$(identify_distro)}.tar.gz"; then - PACKAGE="${PACKAGE%-$(identify_distro)}" - else - error "Could not find the requested package..." - exit 1 - fi - fi -fi - -if ! tar tzf $PACKAGE.tar.gz >/dev/null 2>&1; then - error "Invalid or corrupt '$PACKAGE' package." - exit 1 -fi - -if [ "$PACKAGE_SHA256" ]; then - info "Verifying package integrity" - echo "$PACKAGE_SHA256 $PACKAGE.tar.gz" | sha256sum -c - -fi - -# If the tarball has too many files, it can trigger a bug -# in overlayfs when using tar. Install bsdtar in the container image -# to workaround it. As the overhead is too big (~40 MB), it is not added by -# default. Source: https://github.com/coreos/bugs/issues/1095 -if which bsdtar > /dev/null; then - bsdtar -xf $PACKAGE.tar.gz -else - tar xzf $PACKAGE.tar.gz -fi - -case "$1" in - install) info "Installing $PACKAGE" ;; - unpack) info "Unpacking $PACKAGE" ;; -esac -nami $1 $PACKAGE $PACKAGE_ARGS - -rm -rf $INSTALL_ROOT - -if [ "$BITNAMI_PKG_EXTRA_DIRS" ]; then - info "Creating extra directories" - for i in ${BITNAMI_PKG_EXTRA_DIRS}; do - mkdir -p $i - done -fi - -if [ "$BITNAMI_PKG_CHMOD" ]; then - DIRS="/.nami /bitnami $BITNAMI_PKG_EXTRA_DIRS" - if ! [[ $PACKAGE_NAME =~ .*-client ]]; then - mkdir -p /bitnami/$PACKAGE_NAME - fi - # We need to be in $HOME in order to nami inspect works - cd $HOME - DIRS+=" $(nami inspect $PACKAGE_NAME | grep -e 'installdir' | cut -f4 -d\")" - info "Fixing permissions: chmod $BITNAMI_PKG_CHMOD $DIRS" - chmod $BITNAMI_PKG_CHMOD $DIRS -fi diff --git a/bitnami/rails/6/debian-9/rootfs/app-entrypoint.sh b/bitnami/rails/6/debian-9/rootfs/app-entrypoint.sh deleted file mode 100755 index b394be74e516..000000000000 --- a/bitnami/rails/6/debian-9/rootfs/app-entrypoint.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/bash - -set -o errexit -set -o pipefail -# set -o xtrace -# shellcheck disable=SC1091 - -# Load libraries -. /opt/bitnami/base/functions - -# Constants -INIT_SEM=/tmp/initialized.sem - -# Functions - -######################## -# Ensure gems are up to date -# Arguments: -# None -# Returns: -# Boolean -######################### -gems_up_to_date() { - bundle check 1> /dev/null -} - -######################## -# Wait for database to be ready -# Globals: -# DATABASE_HOST -# Arguments: -# None -# Returns: -# None -######################### -wait_for_db() { - local db_host="${DATABASE_HOST:-mariadb}" - local db_address - db_address="$(getent hosts "$db_host" | awk '{ print $1 }')" - counter=0 - log "Connecting to MariaDB at $db_address" - while ! nc -z "$db_host" 3306; do - counter=$((counter+1)) - if [ $counter == 30 ]; then - log "Error: Couldn't connect to MariaDB." - exit 1 - fi - log "Trying to connect to mariadb at $db_address. Attempt $counter." - sleep 5 - done -} - -print_welcome_page - -if [[ "$1" = "bundle" ]] && [[ "$2" = "exec" ]]; then - if [[ -f /app/config.ru ]]; then - log "Rails project found. Skipping creation..." - else - log "Creating new Rails project..." - rails new . --skip-bundle --database mysql - # Add mini_racer - sed -i -e "s/# gem 'mini_racer'/gem 'mini_racer'/" Gemfile - # TODO: substitution using 'yq' once they support anchors - # Related issue: https://github.com/mikefarah/yq/issues/178 - # E.g: yq w -i /app/config/database.yml default.host '<%= ENV.fetch("DATABASE_HOST") { mariadb } %>' - # E.g: yq w -i /app/config/database.yml development.database '<%= ENV.fetch("DATABASE_NAME") { mariadb } %>' - log "Setting default host to \`${DATABASE_HOST:-mariadb}\`..." - sed -i -e 's/host:.*$/host: <%= ENV.fetch("DATABASE_HOST", "mariadb") %>/g' /app/config/database.yml - log "Setting development database to \`${DATABASE_NAME:-my_app_development}\`..." - sed -i -e '1,/test:/ s/database:.*$/database: <%= ENV.fetch("DATABASE_NAME", "my_app_development") %>/g' /app/config/database.yml - fi - - if ! gems_up_to_date; then - log "Installing/Updating Rails dependencies (gems)..." - bundle install - log "Gems updated!!" - fi - - if [[ -z $SKIP_DB_WAIT ]]; then - wait_for_db - fi - - if [[ -f $INIT_SEM ]]; then - echo "#########################################################################" - echo " " - echo " App initialization skipped:" - echo " Delete the file $INIT_SEM and restart the container to reinitialize" - echo " You can alternatively run specific commands using docker-compose exec" - echo " e.g docker-compose exec rails bundle exec rails db:migrate" - echo " " - echo "#########################################################################" - else - if [[ -z $SKIP_DB_SETUP ]]; then - log "Configuring the database..." - while ! bundle exec rails db:create; do - counter=$((counter+1)) - if [ $counter == 30 ]; then - log "Error: db:create failed" - exit 1 - fi - log "Trying to execute db:create. Attempt $counter." - sleep 5 - done - fi - log "Initialization finished!!!" - touch $INIT_SEM - fi - - if [[ -z $SKIP_DB_SETUP ]]; then - log "Applying database migrations (db:migrate)..." - while ! bundle exec rails db:migrate; do - counter=$((counter+1)) - if [ $counter == 30 ]; then - log "Error: db:migrate failed" - exit 1 - fi - log "Trying to execute db:migrate. Attempt $counter." - sleep 5 - done - fi -fi - -exec tini -- "$@"