[bitnami/harbor-exporter] Release 2.7.1-debian-11-r8 (#27615)

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>
This commit is contained in:
Bitnami Bot
2023-03-20 09:11:44 +01:00
committed by GitHub
parent 4ed6fefaa6
commit 271a7b9004
4 changed files with 64 additions and 23 deletions

View File

@@ -3,10 +3,10 @@ FROM docker.io/bitnami/minideb:bullseye
ARG TARGETARCH ARG TARGETARCH
LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bullseye" \ LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bullseye" \
org.opencontainers.image.created="2023-03-13T21:51:16Z" \ org.opencontainers.image.created="2023-03-18T21:48:07Z" \
org.opencontainers.image.description="Application packaged by VMware, Inc" \ org.opencontainers.image.description="Application packaged by VMware, Inc" \
org.opencontainers.image.licenses="Apache-2.0" \ org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.ref.name="2.7.1-debian-11-r7" \ org.opencontainers.image.ref.name="2.7.1-debian-11-r8" \
org.opencontainers.image.title="harbor-exporter" \ org.opencontainers.image.title="harbor-exporter" \
org.opencontainers.image.vendor="VMware, Inc." \ org.opencontainers.image.vendor="VMware, Inc." \
org.opencontainers.image.version="2.7.1" org.opencontainers.image.version="2.7.1"
@@ -22,8 +22,8 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN install_packages ca-certificates curl procps RUN install_packages ca-certificates curl procps
RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \ RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \
COMPONENTS=( \ COMPONENTS=( \
"harbor-exporter-2.7.1-0-linux-${OS_ARCH}-debian-11" \ "harbor-exporter-2.7.1-1-linux-${OS_ARCH}-debian-11" \
"gosu-1.16.0-2-linux-${OS_ARCH}-debian-11" \ "gosu-1.16.0-3-linux-${OS_ARCH}-debian-11" \
) && \ ) && \
for COMPONENT in "${COMPONENTS[@]}"; do \ for COMPONENT in "${COMPONENTS[@]}"; do \
if [ ! -f "${COMPONENT}.tar.gz" ]; then \ if [ ! -f "${COMPONENT}.tar.gz" ]; then \

View File

@@ -1,16 +1,16 @@
{ {
"gosu": { "gosu": {
"arch": "amd64", "arch": "amd64",
"digest": "f6056076afb745fd7d9d87d20f71e7248d63330352cf5ae0be2130b7f44a8cfa", "digest": "bf2b90a31df691e3648c4a41190a926bb638c3a9fa1dfcde36623ce1bfaadc23",
"distro": "debian-11", "distro": "debian-11",
"type": "NAMI", "type": "NAMI",
"version": "1.16.0-2" "version": "1.16.0-3"
}, },
"harbor-exporter": { "harbor-exporter": {
"arch": "amd64", "arch": "amd64",
"digest": "bf83b39553c335a221b3eae5146a59788312173ee9f66599753478628663ae81", "digest": "7178e32e3fa2f755a236be99227e852132a8368b4e9605b1499571b4060841ab",
"distro": "debian-11", "distro": "debian-11",
"type": "NAMI", "type": "NAMI",
"version": "2.7.1-0" "version": "2.7.1-1"
} }
} }

View File

@@ -281,6 +281,8 @@ remove_logrotate_conf() {
# --environment - Environment variable to define (multiple --environment options may be passed) # --environment - Environment variable to define (multiple --environment options may be passed)
# --environment-file - Text file with environment variables # --environment-file - Text file with environment variables
# --exec-start - Start command (required) # --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-stop - Stop command (optional)
# --exec-reload - Reload command (optional) # --exec-reload - Reload command (optional)
# --group - System group to start the service with # --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 # --success-exit-status - Exit code that indicates a successful shutdown
# --type - Systemd unit type (defaults to forking) # --type - Systemd unit type (defaults to forking)
# --user - System user to start the service with # --user - System user to start the service with
# --working-directory - Working directory at which to start the service
# Returns: # Returns:
# None # None
######################### #########################
@@ -307,6 +310,8 @@ generate_systemd_conf() {
local environment="" local environment=""
local environment_file="" local environment_file=""
local exec_start="" local exec_start=""
local exec_start_pre=""
local exec_start_post=""
local exec_stop="" local exec_stop=""
local exec_reload="" local exec_reload=""
local restart="always" local restart="always"
@@ -316,6 +321,7 @@ generate_systemd_conf() {
local limits_content="" local limits_content=""
local success_exit_status="" local success_exit_status=""
local custom_service_content="" local custom_service_content=""
local working_directory=""
# Parse CLI flags # Parse CLI flags
shift shift
while [[ "$#" -gt 0 ]]; do while [[ "$#" -gt 0 ]]; do
@@ -334,6 +340,7 @@ generate_systemd_conf() {
| --standard-error \ | --standard-error \
| --success-exit-status \ | --success-exit-status \
| --custom-service-content \ | --custom-service-content \
| --working-directory \
) )
var_name="$(echo "$1" | sed -e "s/^--//" -e "s/-/_/g")" var_name="$(echo "$1" | sed -e "s/^--//" -e "s/-/_/g")"
shift shift
@@ -345,11 +352,21 @@ generate_systemd_conf() {
shift shift
limits_content+="Limit${var_name^^}=${1:?"--limit-${var_name} value is missing"}" 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) --environment)
shift shift
# It is possible to add multiple environment lines # It is possible to add multiple environment lines
[[ -n "$environment" ]] && environment+=$'\n' [[ -n "$environment" ]] && environment+=$'\n'
environment+="Environment=${1:?"environment" is missing}" environment+="Environment=${1:?"--environment value is missing"}"
;; ;;
*) *)
echo "Invalid command line flag ${1}" >&2 echo "Invalid command line flag ${1}" >&2
@@ -376,8 +393,21 @@ PartOf=bitnami.service
[Service] [Service]
Type=${type} Type=${type}
ExecStart=${exec_start}
EOF 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 # Optional stop and reload commands
if [[ -n "$exec_stop" ]]; then if [[ -n "$exec_stop" ]]; then
cat >> "$service_file" <<< "ExecStop=${exec_stop}" cat >> "$service_file" <<< "ExecStop=${exec_stop}"
@@ -399,8 +429,9 @@ EOF
if [[ -n "$restart" ]]; then if [[ -n "$restart" ]]; then
cat >> "$service_file" <<< "Restart=${restart}" cat >> "$service_file" <<< "Restart=${restart}"
fi fi
# Environment flags (may be specified multiple times in a unit) # Environment flags
if [[ -n "$environment" ]]; then if [[ -n "$environment" ]]; then
# This variable may contain multiple Environment= directives
cat >> "$service_file" <<< "$environment" cat >> "$service_file" <<< "$environment"
fi fi
if [[ -n "$environment_file" ]]; then if [[ -n "$environment_file" ]]; then
@@ -414,6 +445,7 @@ EOF
cat >> "$service_file" <<< "StandardError=${standard_error}" cat >> "$service_file" <<< "StandardError=${standard_error}"
fi fi
if [[ -n "$custom_service_content" ]]; then if [[ -n "$custom_service_content" ]]; then
# This variable may contain multiple miscellaneous directives
cat >> "$service_file" <<< "$custom_service_content" cat >> "$service_file" <<< "$custom_service_content"
fi fi
if [[ -n "$success_exit_status" ]]; then if [[ -n "$success_exit_status" ]]; then
@@ -424,7 +456,8 @@ EOF
fi fi
cat >> "$service_file" <<EOF cat >> "$service_file" <<EOF
# Optimizations # Optimizations
TimeoutSec=5min TimeoutStartSec=2min
TimeoutStopSec=30s
IgnoreSIGPIPE=no IgnoreSIGPIPE=no
KillMode=mixed KillMode=mixed
EOF EOF

View File

@@ -13,7 +13,7 @@
# Get the paths relevant to CA certs depending # Get the paths relevant to CA certs depending
# on the OS # on the OS
# Globals: # Globals:
# OS_FLAVOUR # None
# Arguments: # Arguments:
# None # None
# Returns: # Returns:
@@ -21,9 +21,11 @@
# depending on the OS. # depending on the OS.
######################### #########################
get_system_cert_paths() { 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/" echo "/etc/ssl/certs/"
elif [[ "$OS_FLAVOUR" =~ ^(centos|photon)-.*$ ]]; then elif [[ "$distro" =~ ^(centos|photon)$ ]]; then
echo "/etc/pki/tls/certs/" echo "/etc/pki/tls/certs/"
else else
# Check the existence of generic paths when OS_FLAVOR does # 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 # Ensure CA bundles allows users in root group install new certificate
# Globals: # Globals:
# OS_FLAVOUR # None
# Arguments: # Arguments:
# None # None
# Returns: # 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. # 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. # If the path is not a file, then do nothing.
# Globals: # Globals:
# OS_FLAVOUR # None
# Arguments: # Arguments:
# $1 - path # $1 - path
# $2 - owner # $2 - owner
@@ -83,7 +85,7 @@ set_permissions_ownership() {
# Place a given certificate in the correct location for installation # Place a given certificate in the correct location for installation
# depending on the OS # depending on the OS
# Globals: # Globals:
# OS_FLAVOUR* # None
# Arguments: # Arguments:
# $1 - certificate to be installed # $1 - certificate to be installed
# Returns: # Returns:
@@ -91,10 +93,12 @@ set_permissions_ownership() {
######################### #########################
install_cert() { install_cert() {
local -r cert="${1:?missing certificate}" 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 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 cat "$cert" >> /etc/pki/tls/certs/ca-bundle.crt
else else
# Check the existence of generic ca-bundles when OS_FLAVOR does # Check the existence of generic ca-bundles when OS_FLAVOR does
@@ -168,17 +172,21 @@ install_custom_certs() {
# String # String
######################### #########################
harbor_generate_env_file_contents() { harbor_generate_env_file_contents() {
local -r envvars_string="${1:?missing envvars}" local -r envvars_string="${1:-}"
echo "#!/bin/bash" [[ -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 while IFS= read -r ENV_VAR_LINE; do
if [[ ! "$ENV_VAR_LINE" =~ ^[A-Z_] ]]; then if [[ ! "$ENV_VAR_LINE" =~ ^[A-Z_] ]]; then
continue continue
fi fi
ENV_VAR_NAME="${ENV_VAR_LINE/=*}" ENV_VAR_NAME="${ENV_VAR_LINE/=*}"
ENV_VAR_VALUE="${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) # 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 # 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" done <<< "$envvars_string"
} }