diff --git a/bitnami/tomcat/9.0/debian-11/Dockerfile b/bitnami/tomcat/9.0/debian-11/Dockerfile index 0fdc8b1188a3..7d02323d7a21 100644 --- a/bitnami/tomcat/9.0/debian-11/Dockerfile +++ b/bitnami/tomcat/9.0/debian-11/Dockerfile @@ -4,10 +4,10 @@ ARG JAVA_EXTRA_SECURITY_DIR="/bitnami/java/extra-security" ARG TARGETARCH LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bullseye" \ - org.opencontainers.image.created="2023-03-13T11:55:38Z" \ + org.opencontainers.image.created="2023-03-19T01:24:09Z" \ org.opencontainers.image.description="Application packaged by VMware, Inc" \ org.opencontainers.image.licenses="Apache-2.0" \ - org.opencontainers.image.ref.name="9.0.73-debian-11-r0" \ + org.opencontainers.image.ref.name="9.0.73-debian-11-r1" \ org.opencontainers.image.title="tomcat" \ org.opencontainers.image.vendor="VMware, Inc." \ org.opencontainers.image.version="9.0.73" @@ -23,10 +23,10 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN install_packages ca-certificates curl libssl1.1 procps xmlstarlet zlib1g RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \ COMPONENTS=( \ - "java-11.0.18-10-2-linux-${OS_ARCH}-debian-11" \ - "tomcat-9.0.73-0-linux-${OS_ARCH}-debian-11" \ - "render-template-1.0.5-1-linux-${OS_ARCH}-debian-11" \ - "gosu-1.16.0-2-linux-${OS_ARCH}-debian-11" \ + "java-11.0.18-10-3-linux-${OS_ARCH}-debian-11" \ + "tomcat-9.0.73-1-linux-${OS_ARCH}-debian-11" \ + "render-template-1.0.5-2-linux-${OS_ARCH}-debian-11" \ + "gosu-1.16.0-3-linux-${OS_ARCH}-debian-11" \ ) && \ for COMPONENT in "${COMPONENTS[@]}"; do \ if [ ! -f "${COMPONENT}.tar.gz" ]; then \ diff --git a/bitnami/tomcat/9.0/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/tomcat/9.0/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json index 86dd71ae9e65..05eed2165a5d 100644 --- a/bitnami/tomcat/9.0/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/tomcat/9.0/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json @@ -1,30 +1,30 @@ { "gosu": { "arch": "amd64", - "digest": "f6056076afb745fd7d9d87d20f71e7248d63330352cf5ae0be2130b7f44a8cfa", + "digest": "bf2b90a31df691e3648c4a41190a926bb638c3a9fa1dfcde36623ce1bfaadc23", "distro": "debian-11", "type": "NAMI", - "version": "1.16.0-2" + "version": "1.16.0-3" }, "java": { "arch": "amd64", - "digest": "be7aa8950dacdcd96b5308a246b86665d364f70675564f157bfc7594b383af1f", + "digest": "fbdf266273a4dd4c5fc37c344462aa50047549aa2e63858ffee5594ea450fca5", "distro": "debian-11", "type": "NAMI", - "version": "11.0.18-10-2" + "version": "11.0.18-10-3" }, "render-template": { "arch": "amd64", - "digest": "185e277977366ec222d2bde1a395ffa138ce1a9d3bdf1df20c3e49e8b8f9c68b", + "digest": "d1a128e25098f793a92342efd5fa85c1075a2b21042929b269d23c6694e20c3b", "distro": "debian-11", "type": "NAMI", - "version": "1.0.5-1" + "version": "1.0.5-2" }, "tomcat": { "arch": "amd64", - "digest": "d6c1ab4a0311c37ab8692fe3a005fae892c073f2b73914a68241503ea4df6a16", + "digest": "fa0c590c144b438a5361a349047891d81915c4a9bbc2a9ba64b91d3df80d9316", "distro": "debian-11", "type": "NAMI", - "version": "9.0.73-0" + "version": "9.0.73-1" } } \ No newline at end of file diff --git a/bitnami/tomcat/9.0/debian-11/prebuildfs/opt/bitnami/scripts/libservice.sh b/bitnami/tomcat/9.0/debian-11/prebuildfs/opt/bitnami/scripts/libservice.sh index 2d53aca9af84..2d4b7af6fd3a 100644 --- a/bitnami/tomcat/9.0/debian-11/prebuildfs/opt/bitnami/scripts/libservice.sh +++ b/bitnami/tomcat/9.0/debian-11/prebuildfs/opt/bitnami/scripts/libservice.sh @@ -281,6 +281,8 @@ remove_logrotate_conf() { # --environment - Environment variable to define (multiple --environment options may be passed) # --environment-file - Text file with environment variables # --exec-start - Start command (required) +# --exec-start-pre - Pre-start command (optional) +# --exec-start-post - Post-start command (optional) # --exec-stop - Stop command (optional) # --exec-reload - Reload command (optional) # --group - System group to start the service with @@ -292,6 +294,7 @@ remove_logrotate_conf() { # --success-exit-status - Exit code that indicates a successful shutdown # --type - Systemd unit type (defaults to forking) # --user - System user to start the service with +# --working-directory - Working directory at which to start the service # Returns: # None ######################### @@ -307,6 +310,8 @@ generate_systemd_conf() { local environment="" local environment_file="" local exec_start="" + local exec_start_pre="" + local exec_start_post="" local exec_stop="" local exec_reload="" local restart="always" @@ -316,6 +321,7 @@ generate_systemd_conf() { local limits_content="" local success_exit_status="" local custom_service_content="" + local working_directory="" # Parse CLI flags shift while [[ "$#" -gt 0 ]]; do @@ -334,6 +340,7 @@ generate_systemd_conf() { | --standard-error \ | --success-exit-status \ | --custom-service-content \ + | --working-directory \ ) var_name="$(echo "$1" | sed -e "s/^--//" -e "s/-/_/g")" shift @@ -345,11 +352,21 @@ generate_systemd_conf() { shift limits_content+="Limit${var_name^^}=${1:?"--limit-${var_name} value is missing"}" ;; + --exec-start-pre) + shift + [[ -n "$exec_start_pre" ]] && exec_start_pre+=$'\n' + exec_start_pre+="ExecStartPre=${1:?"--exec-start-pre value is missing"}" + ;; + --exec-start-post) + shift + [[ -n "$exec_start_post" ]] && exec_start_post+=$'\n' + exec_start_post+="ExecStartPost=${1:?"--exec-start-post value is missing"}" + ;; --environment) shift # It is possible to add multiple environment lines [[ -n "$environment" ]] && environment+=$'\n' - environment+="Environment=${1:?"environment" is missing}" + environment+="Environment=${1:?"--environment value is missing"}" ;; *) echo "Invalid command line flag ${1}" >&2 @@ -376,8 +393,21 @@ PartOf=bitnami.service [Service] Type=${type} -ExecStart=${exec_start} EOF + if [[ -n "$working_directory" ]]; then + cat >> "$service_file" <<< "WorkingDirectory=$working_directory" + fi + if [[ -n "$exec_start_pre" ]]; then + # This variable may contain multiple ExecStartPre= directives + cat >> "$service_file" <<< "$exec_start_pre" + fi + if [[ -n "$exec_start" ]]; then + cat >> "$service_file" <<< "ExecStart=${exec_start}" + fi + if [[ -n "$exec_start_post" ]]; then + # This variable may contain multiple ExecStartPost= directives + cat >> "$service_file" <<< "$exec_start_post" + fi # Optional stop and reload commands if [[ -n "$exec_stop" ]]; then cat >> "$service_file" <<< "ExecStop=${exec_stop}" @@ -399,8 +429,9 @@ EOF if [[ -n "$restart" ]]; then cat >> "$service_file" <<< "Restart=${restart}" fi - # Environment flags (may be specified multiple times in a unit) + # Environment flags if [[ -n "$environment" ]]; then + # This variable may contain multiple Environment= directives cat >> "$service_file" <<< "$environment" fi if [[ -n "$environment_file" ]]; then @@ -414,6 +445,7 @@ EOF cat >> "$service_file" <<< "StandardError=${standard_error}" fi if [[ -n "$custom_service_content" ]]; then + # This variable may contain multiple miscellaneous directives cat >> "$service_file" <<< "$custom_service_content" fi if [[ -n "$success_exit_status" ]]; then @@ -424,7 +456,8 @@ EOF fi cat >> "$service_file" <