mirror of
https://github.com/bitnami/containers.git
synced 2026-02-18 12:27:16 +08:00
[bitnami/harbor-portal] Release 2.7.1-debian-11-r9 (#27637)
Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>
This commit is contained in:
@@ -3,10 +3,10 @@ FROM docker.io/bitnami/minideb:bullseye
|
||||
ARG TARGETARCH
|
||||
|
||||
LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bullseye" \
|
||||
org.opencontainers.image.created="2023-03-14T17:45:52Z" \
|
||||
org.opencontainers.image.created="2023-03-18T21:52:02Z" \
|
||||
org.opencontainers.image.description="Application packaged by VMware, Inc" \
|
||||
org.opencontainers.image.licenses="Apache-2.0" \
|
||||
org.opencontainers.image.ref.name="2.7.1-debian-11-r8" \
|
||||
org.opencontainers.image.ref.name="2.7.1-debian-11-r9" \
|
||||
org.opencontainers.image.title="harbor-portal" \
|
||||
org.opencontainers.image.vendor="VMware, Inc." \
|
||||
org.opencontainers.image.version="2.7.1"
|
||||
@@ -22,10 +22,10 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
RUN install_packages ca-certificates curl libcrypt1 libgeoip1 libpcre3 libssl1.1 procps zlib1g
|
||||
RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \
|
||||
COMPONENTS=( \
|
||||
"nginx-1.23.3-3-linux-${OS_ARCH}-debian-11" \
|
||||
"render-template-1.0.5-1-linux-${OS_ARCH}-debian-11" \
|
||||
"harbor-2.7.1-0-linux-${OS_ARCH}-debian-11" \
|
||||
"gosu-1.16.0-2-linux-${OS_ARCH}-debian-11" \
|
||||
"nginx-1.23.3-4-linux-${OS_ARCH}-debian-11" \
|
||||
"render-template-1.0.5-2-linux-${OS_ARCH}-debian-11" \
|
||||
"harbor-2.7.1-1-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 \
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
"harbor": {
|
||||
"arch": "amd64",
|
||||
"digest": "97159b7b292541b66f11afb871eaf59d8a879b5b81096ac3df68a873b0a40016",
|
||||
"digest": "a1a121e4019eb557f33c617a350a9823e131ff68eab452977a738b5cc938524b",
|
||||
"distro": "debian-11",
|
||||
"type": "NAMI",
|
||||
"version": "2.7.1-0"
|
||||
"version": "2.7.1-1"
|
||||
},
|
||||
"nginx": {
|
||||
"arch": "amd64",
|
||||
"digest": "d91f7d25430a4c7fa7d2bf1dc4525b925fa54dbcd3aca669be9909624115307e",
|
||||
"digest": "dc08b425a75d9b60c6352daef53932c9766023086a89978ee3a95b5bc1e1818f",
|
||||
"distro": "debian-11",
|
||||
"type": "NAMI",
|
||||
"version": "1.23.3-3"
|
||||
"version": "1.23.3-4"
|
||||
},
|
||||
"render-template": {
|
||||
"arch": "amd64",
|
||||
"digest": "185e277977366ec222d2bde1a395ffa138ce1a9d3bdf1df20c3e49e8b8f9c68b",
|
||||
"digest": "d1a128e25098f793a92342efd5fa85c1075a2b21042929b269d23c6694e20c3b",
|
||||
"distro": "debian-11",
|
||||
"type": "NAMI",
|
||||
"version": "1.0.5-1"
|
||||
"version": "1.0.5-2"
|
||||
}
|
||||
}
|
||||
@@ -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" <<EOF
|
||||
# Optimizations
|
||||
TimeoutSec=5min
|
||||
TimeoutStartSec=2min
|
||||
TimeoutStopSec=30s
|
||||
IgnoreSIGPIPE=no
|
||||
KillMode=mixed
|
||||
EOF
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
# shellcheck disable=SC1090,SC1091
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# Get the paths relevant to CA certs depending
|
||||
# on the OS
|
||||
# Globals:
|
||||
# OS_FLAVOUR
|
||||
# None
|
||||
# Arguments:
|
||||
# None
|
||||
# Returns:
|
||||
@@ -21,9 +21,11 @@
|
||||
# depending on the OS.
|
||||
#########################
|
||||
get_system_cert_paths() {
|
||||
if [[ "$OS_FLAVOUR" =~ ^(debian|ubuntu)-.*$ ]]; then
|
||||
local distro
|
||||
distro="$(get_os_metadata --id)"
|
||||
if [[ "$distro" =~ ^(debian|ubuntu)$ ]]; then
|
||||
echo "/etc/ssl/certs/"
|
||||
elif [[ "$OS_FLAVOUR" =~ ^(centos|photon)-.*$ ]]; then
|
||||
elif [[ "$distro" =~ ^(centos|photon)$ ]]; then
|
||||
echo "/etc/pki/tls/certs/"
|
||||
else
|
||||
# Check the existence of generic paths when OS_FLAVOR does
|
||||
@@ -41,7 +43,7 @@ get_system_cert_paths() {
|
||||
########################
|
||||
# Ensure CA bundles allows users in root group install new certificate
|
||||
# Globals:
|
||||
# OS_FLAVOUR
|
||||
# None
|
||||
# Arguments:
|
||||
# None
|
||||
# Returns:
|
||||
@@ -60,7 +62,7 @@ configure_permissions_system_certs() {
|
||||
# Grant group write permissions to the file provided and change ownership if a the owner argument is set.
|
||||
# If the path is not a file, then do nothing.
|
||||
# Globals:
|
||||
# OS_FLAVOUR
|
||||
# None
|
||||
# Arguments:
|
||||
# $1 - path
|
||||
# $2 - owner
|
||||
@@ -83,7 +85,7 @@ set_permissions_ownership() {
|
||||
# Place a given certificate in the correct location for installation
|
||||
# depending on the OS
|
||||
# Globals:
|
||||
# OS_FLAVOUR*
|
||||
# None
|
||||
# Arguments:
|
||||
# $1 - certificate to be installed
|
||||
# Returns:
|
||||
@@ -91,10 +93,12 @@ set_permissions_ownership() {
|
||||
#########################
|
||||
install_cert() {
|
||||
local -r cert="${1:?missing certificate}"
|
||||
local distro
|
||||
distro="$(get_os_metadata --id)"
|
||||
|
||||
if [[ "$OS_FLAVOUR" =~ ^(debian|ubuntu)-.*$ ]]; then
|
||||
if [[ "$distro" =~ ^(debian|ubuntu)$ ]]; then
|
||||
cat "$cert" >> /etc/ssl/certs/ca-certificates.crt
|
||||
elif [[ "$OS_FLAVOUR" =~ ^(centos|photon)-.*$ ]]; then
|
||||
elif [[ "$distro" =~ ^(centos|photon)$ ]]; then
|
||||
cat "$cert" >> /etc/pki/tls/certs/ca-bundle.crt
|
||||
else
|
||||
# Check the existence of generic ca-bundles when OS_FLAVOR does
|
||||
@@ -168,17 +172,21 @@ install_custom_certs() {
|
||||
# String
|
||||
#########################
|
||||
harbor_generate_env_file_contents() {
|
||||
local -r envvars_string="${1:?missing envvars}"
|
||||
echo "#!/bin/bash"
|
||||
local -r envvars_string="${1:-}"
|
||||
[[ -z "$envvars_string" ]] && return
|
||||
# For systemd, we will load it via EnvironmentFile=, so the shebang is not needed
|
||||
[[ "$BITNAMI_SERVICE_MANAGER" != "systemd" ]] && echo "#!/bin/bash"
|
||||
while IFS= read -r ENV_VAR_LINE; do
|
||||
if [[ ! "$ENV_VAR_LINE" =~ ^[A-Z_] ]]; then
|
||||
continue
|
||||
fi
|
||||
ENV_VAR_NAME="${ENV_VAR_LINE/=*}"
|
||||
ENV_VAR_VALUE="${ENV_VAR_LINE#*=}"
|
||||
# For systemd, we will load it via EnvironmentFile=, which does not allow 'export'
|
||||
[[ "$BITNAMI_SERVICE_MANAGER" != "systemd" ]] && echo -n 'export '
|
||||
# Use single quotes to avoid shell expansion, and escape to be parsed properly (even if it contains quotes)
|
||||
# Escape the value, so it can be parsed as a variable even with quotes set
|
||||
echo "export ${ENV_VAR_NAME}='${ENV_VAR_VALUE//\'/\'\\\'\'}'"
|
||||
echo "${ENV_VAR_NAME}='${ENV_VAR_VALUE//\'/\'\\\'\'}'"
|
||||
done <<< "$envvars_string"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user