Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bitnami/valkey] Release valkey-8.0.1-debian-12-r1 #73523

Merged
merged 1 commit into from
Oct 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions bitnami/valkey/8.0/debian-12/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,16 @@

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="2024-10-03T18:49:06Z" \
org.opencontainers.image.created="2024-10-22T22:04:38Z" \
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/valkey/README.md" \
org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.ref.name="8.0.1-debian-12-r0" \
org.opencontainers.image.ref.name="8.0.1-debian-12-r1" \
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/valkey" \
org.opencontainers.image.title="valkey" \
org.opencontainers.image.vendor="Broadcom, Inc." \
Expand All @@ -29,12 +30,12 @@ RUN install_packages ca-certificates curl libgomp1 libssl3 procps
RUN mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ ; \
COMPONENTS=( \
"wait-for-port-1.0.8-5-linux-${OS_ARCH}-debian-12" \
"valkey-8.0.1-0-linux-${OS_ARCH}-debian-12" \
"valkey-8.0.1-3-linux-${OS_ARCH}-debian-12" \
) ; \
for COMPONENT in "${COMPONENTS[@]}"; do \
if [ ! -f "${COMPONENT}.tar.gz" ]; then \
curl -SsLf "https://downloads.bitnami.com/files/stacksmith/${COMPONENT}.tar.gz" -O ; \
curl -SsLf "https://downloads.bitnami.com/files/stacksmith/${COMPONENT}.tar.gz.sha256" -O ; \
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 --wildcards '*/files' ; \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"arch": "amd64",
"distro": "debian-12",
"type": "NAMI",
"version": "8.0.1-0"
"version": "8.0.1-3"
},
"wait-for-port": {
"arch": "amd64",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,17 +199,17 @@ valkey_validate() {
[[ -z "$VALKEY_PASSWORD" ]] && empty_password_error VALKEY_PASSWORD
fi
if [[ -n "$VALKEY_REPLICATION_MODE" ]]; then
if [[ "$VALKEY_REPLICATION_MODE" =~ ^(slave|replica)$ ]]; then
if [[ -n "$VALKEY_MASTER_PORT_NUMBER" ]]; then
if ! err=$(validate_port "$VALKEY_MASTER_PORT_NUMBER"); then
print_validation_error "An invalid port was specified in the environment variable VALKEY_MASTER_PORT_NUMBER: $err"
if [[ "$VALKEY_REPLICATION_MODE" = "replica" ]]; then
if [[ -n "$VALKEY_PRIMARY_PORT_NUMBER" ]]; then
if ! err=$(validate_port "$VALKEY_PRIMARY_PORT_NUMBER"); then
print_validation_error "An invalid port was specified in the environment variable VALKEY_PRIMARY_PORT_NUMBER: $err"
fi
fi
if ! is_boolean_yes "$ALLOW_EMPTY_PASSWORD" && [[ -z "$VALKEY_MASTER_PASSWORD" ]]; then
empty_password_error VALKEY_MASTER_PASSWORD
if ! is_boolean_yes "$ALLOW_EMPTY_PASSWORD" && [[ -z "$VALKEY_PRIMARY_PASSWORD" ]]; then
empty_password_error VALKEY_PRIMARY_PASSWORD
fi
elif [[ "$VALKEY_REPLICATION_MODE" != "master" ]]; then
print_validation_error "Invalid replication mode. Available options are 'master/replica'"
elif [[ "$VALKEY_REPLICATION_MODE" != "primary" ]]; then
print_validation_error "Invalid replication mode. Available options are 'primary/replica'"
fi
fi
if is_boolean_yes "$VALKEY_TLS_ENABLED"; then
Expand Down Expand Up @@ -257,32 +257,29 @@ valkey_configure_replication() {
info "Configuring replication mode"

valkey_conf_set replica-announce-ip "${VALKEY_REPLICA_IP:-$(get_machine_ip)}"
valkey_conf_set replica-announce-port "${VALKEY_REPLICA_PORT:-$VALKEY_MASTER_PORT_NUMBER}"
valkey_conf_set replica-announce-port "${VALKEY_REPLICA_PORT:-$VALKEY_PRIMARY_PORT_NUMBER}"
# Use TLS in the replication connections
if is_boolean_yes "$VALKEY_TLS_ENABLED"; then
valkey_conf_set tls-replication yes
fi
if [[ "$VALKEY_REPLICATION_MODE" = "master" ]]; then
if [[ "$VALKEY_REPLICATION_MODE" = "primary" ]]; then
if [[ -n "$VALKEY_PASSWORD" ]]; then
valkey_conf_set masterauth "$VALKEY_PASSWORD"
valkey_conf_set primaryauth "$VALKEY_PASSWORD"
fi
elif [[ "$VALKEY_REPLICATION_MODE" =~ ^(slave|replica)$ ]]; then
elif [[ "$VALKEY_REPLICATION_MODE" = "replica" ]]; then
if [[ -n "$VALKEY_SENTINEL_HOST" ]]; then
local -a sentinel_info_command=("valkey-cli" "-h" "${VALKEY_SENTINEL_HOST}" "-p" "${VALKEY_SENTINEL_PORT_NUMBER}")
is_boolean_yes "$VALKEY_TLS_ENABLED" && sentinel_info_command+=("--tls" "--cert" "${VALKEY_TLS_CERT_FILE}" "--key" "${VALKEY_TLS_KEY_FILE}")
# shellcheck disable=SC2015
is_empty_value "$VALKEY_TLS_CA_FILE" && sentinel_info_command+=("--cacertdir" "${VALKEY_TLS_CA_DIR}") || sentinel_info_command+=("--cacert" "${VALKEY_TLS_CA_FILE}")
sentinel_info_command+=("sentinel" "get-master-addr-by-name" "${VALKEY_SENTINEL_MASTER_NAME}")
sentinel_info_command+=("sentinel" "get-master-addr-by-name" "${VALKEY_SENTINEL_PRIMARY_NAME}")
read -r -a VALKEY_SENTINEL_INFO <<< "$("${sentinel_info_command[@]}" | tr '\n' ' ')"
VALKEY_MASTER_HOST=${VALKEY_SENTINEL_INFO[0]}
VALKEY_MASTER_PORT_NUMBER=${VALKEY_SENTINEL_INFO[1]}
VALKEY_PRIMARY_HOST=${VALKEY_SENTINEL_INFO[0]}
VALKEY_PRIMARY_PORT_NUMBER=${VALKEY_SENTINEL_INFO[1]}
fi
wait-for-port --host "$VALKEY_MASTER_HOST" "$VALKEY_MASTER_PORT_NUMBER"
[[ -n "$VALKEY_MASTER_PASSWORD" ]] && valkey_conf_set masterauth "$VALKEY_MASTER_PASSWORD"
# Starting with Valkey 5, use 'replicaof' instead of 'slaveof'. Maintaining both for backward compatibility
local parameter="replicaof"
[[ $(valkey_major_version) -lt 5 ]] && parameter="slaveof"
valkey_conf_set "$parameter" "$VALKEY_MASTER_HOST $VALKEY_MASTER_PORT_NUMBER"
wait-for-port --host "$VALKEY_PRIMARY_HOST" "$VALKEY_PRIMARY_PORT_NUMBER"
[[ -n "$VALKEY_PRIMARY_PASSWORD" ]] && valkey_conf_set primaryauth "$VALKEY_PRIMARY_PASSWORD"
valkey_conf_set "replicaof" "$VALKEY_PRIMARY_HOST $VALKEY_PRIMARY_PORT_NUMBER"
fi
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ valkey_env_vars=(
VALKEY_AOF_ENABLED
VALKEY_RDB_POLICY
VALKEY_RDB_POLICY_DISABLED
VALKEY_MASTER_HOST
VALKEY_MASTER_PORT_NUMBER
VALKEY_PRIMARY_HOST
VALKEY_PRIMARY_PORT_NUMBER
VALKEY_PORT_NUMBER
VALKEY_ALLOW_REMOTE_CONNECTIONS
VALKEY_REPLICATION_MODE
Expand All @@ -41,7 +41,7 @@ valkey_env_vars=(
VALKEY_EXTRA_FLAGS
ALLOW_EMPTY_PASSWORD
VALKEY_PASSWORD
VALKEY_MASTER_PASSWORD
VALKEY_PRIMARY_PASSWORD
VALKEY_ACLFILE
VALKEY_IO_THREADS_DO_READS
VALKEY_IO_THREADS
Expand All @@ -54,7 +54,7 @@ valkey_env_vars=(
VALKEY_TLS_CA_FILE
VALKEY_TLS_DH_PARAMS_FILE
VALKEY_TLS_AUTH_CLIENTS
VALKEY_SENTINEL_MASTER_NAME
VALKEY_SENTINEL_PRIMARY_NAME
VALKEY_SENTINEL_HOST
VALKEY_SENTINEL_PORT_NUMBER
VALKEY_TLS_PORT
Expand Down Expand Up @@ -98,8 +98,8 @@ export VALKEY_DATABASE="${VALKEY_DATABASE:-valkey}"
export VALKEY_AOF_ENABLED="${VALKEY_AOF_ENABLED:-yes}"
export VALKEY_RDB_POLICY="${VALKEY_RDB_POLICY:-}"
export VALKEY_RDB_POLICY_DISABLED="${VALKEY_RDB_POLICY_DISABLED:-no}"
export VALKEY_MASTER_HOST="${VALKEY_MASTER_HOST:-}"
export VALKEY_MASTER_PORT_NUMBER="${VALKEY_MASTER_PORT_NUMBER:-6379}"
export VALKEY_PRIMARY_HOST="${VALKEY_PRIMARY_HOST:-}"
export VALKEY_PRIMARY_PORT_NUMBER="${VALKEY_PRIMARY_PORT_NUMBER:-6379}"
export VALKEY_DEFAULT_PORT_NUMBER="6379" # only used at build time
export VALKEY_PORT_NUMBER="${VALKEY_PORT_NUMBER:-$VALKEY_DEFAULT_PORT_NUMBER}"
export VALKEY_ALLOW_REMOTE_CONNECTIONS="${VALKEY_ALLOW_REMOTE_CONNECTIONS:-yes}"
Expand All @@ -109,7 +109,7 @@ export VALKEY_REPLICA_PORT="${VALKEY_REPLICA_PORT:-}"
export VALKEY_EXTRA_FLAGS="${VALKEY_EXTRA_FLAGS:-}"
export ALLOW_EMPTY_PASSWORD="${ALLOW_EMPTY_PASSWORD:-no}"
export VALKEY_PASSWORD="${VALKEY_PASSWORD:-}"
export VALKEY_MASTER_PASSWORD="${VALKEY_MASTER_PASSWORD:-}"
export VALKEY_PRIMARY_PASSWORD="${VALKEY_PRIMARY_PASSWORD:-}"
export VALKEY_ACLFILE="${VALKEY_ACLFILE:-}"
export VALKEY_IO_THREADS_DO_READS="${VALKEY_IO_THREADS_DO_READS:-}"
export VALKEY_IO_THREADS="${VALKEY_IO_THREADS:-}"
Expand All @@ -127,7 +127,7 @@ export VALKEY_TLS_DH_PARAMS_FILE="${VALKEY_TLS_DH_PARAMS_FILE:-}"
export VALKEY_TLS_AUTH_CLIENTS="${VALKEY_TLS_AUTH_CLIENTS:-yes}"

# Valkey Sentinel cluster settings
export VALKEY_SENTINEL_MASTER_NAME="${VALKEY_SENTINEL_MASTER_NAME:-}"
export VALKEY_SENTINEL_PRIMARY_NAME="${VALKEY_SENTINEL_PRIMARY_NAME:-}"
export VALKEY_SENTINEL_HOST="${VALKEY_SENTINEL_HOST:-}"
export VALKEY_SENTINEL_PORT_NUMBER="${VALKEY_SENTINEL_PORT_NUMBER:-26379}"

Expand Down
12 changes: 6 additions & 6 deletions bitnami/valkey/docker-compose-replicaset.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@ services:
ports:
- '6379'
environment:
- VALKEY_REPLICATION_MODE=master
- VALKEY_REPLICATION_MODE=primary
- VALKEY_PASSWORD=my_password
- VALKEY_DISABLE_COMMANDS=FLUSHDB,FLUSHALL
volumes:
- 'valkey_data:/bitnami/valkey/data'

valkey-secondary:
valkey-replica:
image: docker.io/bitnami/valkey:8.0
ports:
- '6379'
depends_on:
- valkey-primary
environment:
- VALKEY_REPLICATION_MODE=slave
- VALKEY_MASTER_HOST=valkey-primary
- VALKEY_MASTER_PORT_NUMBER=6379
- VALKEY_MASTER_PASSWORD=my_password
- VALKEY_REPLICATION_MODE=replica
- VALKEY_PRIMARY_HOST=valkey-primary
- VALKEY_PRIMARY_PORT_NUMBER=6379
- VALKEY_PRIMARY_PASSWORD=my_password
- VALKEY_PASSWORD=my_password
- VALKEY_DISABLE_COMMANDS=FLUSHDB,FLUSHALL

Expand Down
Loading