diff --git a/bitnami/dotnet-sdk/9/debian-12/Dockerfile b/bitnami/dotnet-sdk/9/debian-12/Dockerfile new file mode 100644 index 000000000000..083ab3676506 --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/Dockerfile @@ -0,0 +1,59 @@ +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 + +FROM docker.io/bitnami/minideb:bookworm + +ARG DOWNLOADS_URL="downloads.bitnami.com/files/stacksmith" +ARG TARGETARCH + +LABEL com.vmware.cp.artifact.flavor="sha256:c50c90cfd9d12b445b011e6ad529f1ad3daea45c26d20b00732fae3cd71f6a83" \ + org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \ + org.opencontainers.image.created="2025-04-28T06:29:57Z" \ + org.opencontainers.image.description="Application packaged by Broadcom, Inc." \ + org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/dotnet-sdk/README.md" \ + org.opencontainers.image.ref.name="9.0.203-debian-12-r4" \ + org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/dotnet-sdk" \ + org.opencontainers.image.title="dotnet-sdk" \ + org.opencontainers.image.vendor="Broadcom, Inc." \ + org.opencontainers.image.version="9.0.203" + +ENV HOME="/app" \ + OS_ARCH="${TARGETARCH:-amd64}" \ + OS_FLAVOUR="debian-12" \ + OS_NAME="linux" + +COPY prebuildfs / +SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"] +# Install required system packages and dependencies +RUN install_packages ca-certificates curl libcap2-bin libgcc-s1 libicu-dev liblttng-ust-dev libstdc++6 procps +RUN mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ || exit 1 ; \ + COMPONENTS=( \ + "dotnet-sdk-9.0.203-1-linux-${OS_ARCH}-debian-12" \ + ) ; \ + for COMPONENT in "${COMPONENTS[@]}"; do \ + if [ ! -f "${COMPONENT}.tar.gz" ]; then \ + curl -SsLf "https://${DOWNLOADS_URL}/${COMPONENT}.tar.gz" -O ; \ + curl -SsLf "https://${DOWNLOADS_URL}/${COMPONENT}.tar.gz.sha256" -O ; \ + fi ; \ + sha256sum -c "${COMPONENT}.tar.gz.sha256" ; \ + tar -zxf "${COMPONENT}.tar.gz" -C /opt/bitnami --strip-components=2 --no-same-owner ; \ + rm -rf "${COMPONENT}".tar.gz{,.sha256} ; \ + done +RUN apt-get update && apt-get upgrade -y && \ + apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives +RUN find / -perm /6000 -type f -exec chmod a-s {} \; || true +RUN sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/' /etc/login.defs && \ + sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 0/' /etc/login.defs && \ + sed -i 's/sha512/sha512 minlen=8/' /etc/pam.d/common-password + +COPY rootfs / +RUN /opt/bitnami/scripts/dotnet-sdk/postunpack.sh +ENV APP_VERSION="9.0.203" \ + BITNAMI_APP_NAME="dotnet-sdk" \ + DOTNET_CLI_HOME="/app" \ + DOTNET_ROOT="/opt/bitnami/dotnet-sdk/bin" \ + PATH="/opt/bitnami/dotnet-sdk/bin:$PATH" + +WORKDIR /app +ENTRYPOINT [ "/opt/bitnami/scripts/dotnet-sdk/entrypoint.sh" ] +CMD [ "/bin/bash" ] diff --git a/bitnami/dotnet-sdk/9/debian-12/docker-compose.yml b/bitnami/dotnet-sdk/9/debian-12/docker-compose.yml new file mode 100644 index 000000000000..272f92046e15 --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/docker-compose.yml @@ -0,0 +1,12 @@ +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 + +services: + dotnet-sdk: + image: docker.io/bitnami/dotnet-sdk:9 + command: ["tail", "-f", "/dev/null"] # To keep the container running + volumes: + - dotnet_data:/app +volumes: + dotnet_data: + driver: local diff --git a/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json new file mode 100644 index 000000000000..9ca810c9703a --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json @@ -0,0 +1,8 @@ +{ + "dotnet-sdk": { + "arch": "amd64", + "distro": "debian-12", + "type": "NAMI", + "version": "9.0.203-1" + } +} \ No newline at end of file diff --git a/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/base/functions b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/base/functions new file mode 100644 index 000000000000..844d8ab3f3bb --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/base/functions @@ -0,0 +1,122 @@ +#!/bin/bash +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 + +[[ ${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/containers" + + log "" + log "${BOLD}Welcome to the Bitnami ${BITNAMI_APP_NAME} container${RESET}" + log "Subscribe to project updates by watching ${BOLD}${github_url}${RESET}" + log "Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application Catalog. See https://www.arrow.com/globalecs/na/vendors/bitnami/ for more information." + log "" +} diff --git a/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/base/helpers b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/base/helpers new file mode 100644 index 000000000000..a6d909869eca --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/base/helpers @@ -0,0 +1,42 @@ +#!/bin/bash +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 + +. /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 overridden 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/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/licenses/licenses.txt b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/licenses/licenses.txt new file mode 100644 index 000000000000..76956b38e82c --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/opt/bitnami/licenses/licenses.txt @@ -0,0 +1,2 @@ +Bitnami containers ship with software bundles. You can find the licenses under: +/opt/bitnami/[name-of-bundle]/licenses/[bundle-version].txt diff --git a/bitnami/dotnet-sdk/9/debian-12/prebuildfs/usr/sbin/install_packages b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/usr/sbin/install_packages new file mode 100755 index 000000000000..ccce248b2d14 --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/usr/sbin/install_packages @@ -0,0 +1,27 @@ +#!/bin/sh +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 +set -eu + +n=0 +max=2 +export DEBIAN_FRONTEND=noninteractive + +until [ $n -gt $max ]; do + set +e + ( + apt-get update -qq && + apt-get install -y --no-install-recommends "$@" + ) + CODE=$? + set -e + if [ $CODE -eq 0 ]; then + break + fi + if [ $n -eq $max ]; then + exit $CODE + fi + echo "apt failed, retrying" + n=$(($n + 1)) +done +apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives diff --git a/bitnami/dotnet-sdk/9/debian-12/prebuildfs/usr/sbin/run-script b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/usr/sbin/run-script new file mode 100755 index 000000000000..0e07c9038dfd --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/prebuildfs/usr/sbin/run-script @@ -0,0 +1,24 @@ +#!/bin/sh +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 +set -u + +if [ $# -eq 0 ]; then + >&2 echo "No arguments provided" + exit 1 +fi + +script=$1 +exit_code="${2:-96}" +fail_if_not_present="${3:-n}" + +if test -f "$script"; then + sh $script + + if [ $? -ne 0 ]; then + exit $((exit_code)) + fi +elif [ "$fail_if_not_present" = "y" ]; then + >&2 echo "script not found: $script" + exit 127 +fi diff --git a/bitnami/dotnet-sdk/9/debian-12/rootfs/opt/bitnami/scripts/dotnet-sdk/entrypoint.sh b/bitnami/dotnet-sdk/9/debian-12/rootfs/opt/bitnami/scripts/dotnet-sdk/entrypoint.sh new file mode 100755 index 000000000000..b9a949e6c080 --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/rootfs/opt/bitnami/scripts/dotnet-sdk/entrypoint.sh @@ -0,0 +1,12 @@ +#!/bin/bash -e +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 + +# shellcheck disable=SC1091 + +. /opt/bitnami/base/functions +. /opt/bitnami/base/helpers + +print_welcome_page + +exec "$@" diff --git a/bitnami/dotnet-sdk/9/debian-12/rootfs/opt/bitnami/scripts/dotnet-sdk/postunpack.sh b/bitnami/dotnet-sdk/9/debian-12/rootfs/opt/bitnami/scripts/dotnet-sdk/postunpack.sh new file mode 100755 index 000000000000..3d1ee85bface --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/rootfs/opt/bitnami/scripts/dotnet-sdk/postunpack.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 + +# shellcheck disable=SC1091 + +set -o errexit +set -o nounset +set -o pipefail +# set -o xtrace # Uncomment this line for debugging purpose +mkdir /app +chmod g+rwx /app +setcap CAP_NET_BIND_SERVICE=+eip /opt/bitnami/dotnet-sdk/bin/dotnet diff --git a/bitnami/dotnet-sdk/9/debian-12/tags-info.yaml b/bitnami/dotnet-sdk/9/debian-12/tags-info.yaml new file mode 100644 index 000000000000..2bf19687dabf --- /dev/null +++ b/bitnami/dotnet-sdk/9/debian-12/tags-info.yaml @@ -0,0 +1,5 @@ +rolling-tags: +- "9" +- 9-debian-12 +- 9.0.203 +- latest diff --git a/bitnami/dotnet-sdk/README.md b/bitnami/dotnet-sdk/README.md index ee056dd733a0..f009d4733f18 100644 --- a/bitnami/dotnet-sdk/README.md +++ b/bitnami/dotnet-sdk/README.md @@ -24,9 +24,9 @@ docker run --name dotnet-sdk bitnami/dotnet-sdk:latest Looking to use .NET SDK in production? Try [VMware Tanzu Application Catalog](https://bitnami.com/enterprise), the commercial edition of the Bitnami catalog. -## Only the latest stable branch maintained in the free Bitnami catalog +## Only latest stable or LTS branch maintained in the free Bitnami catalog -Starting December 10th, 2024, only the latest stable branch of each container image will receive updates in the free Bitnami catalog. To access up-to-date releases for all upstream-supported branches (e.g., LTS), consider upgrading to Bitnami Premium. Previously released versions will not be deleted and will remain available for pulling from DockerHub. +Starting December 10th 2024, only the latest stable or LTS branch of any container will receive updates in the free Bitnami catalog. To access up-to-date releases for all upstream-supported branches, consider upgrading to Bitnami Premium. Previous versions already released will not be deleted. They are still available to pull from DockerHub. Please check the Bitnami Premium page in our partner [Arrow Electronics](https://www.arrow.com/globalecs/na/vendors/bitnami?utm_source=GitHub&utm_medium=containers) for more information.