diff --git a/bitnami/valkey-cluster/7.2/debian-12/Dockerfile b/bitnami/valkey-cluster/7.2/debian-12/Dockerfile index 4d6461a94b35f..09fc7cfb3662e 100644 --- a/bitnami/valkey-cluster/7.2/debian-12/Dockerfile +++ b/bitnami/valkey-cluster/7.2/debian-12/Dockerfile @@ -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-04T10:43:30Z" \ + org.opencontainers.image.created="2024-10-22T21:31:16Z" \ org.opencontainers.image.description="Application packaged by Broadcom, Inc." \ org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/valkey-cluster/README.md" \ org.opencontainers.image.licenses="Apache-2.0" \ - org.opencontainers.image.ref.name="7.2.7-debian-12-r0" \ + org.opencontainers.image.ref.name="7.2.7-debian-12-r1" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/valkey-cluster" \ org.opencontainers.image.title="valkey-cluster" \ org.opencontainers.image.vendor="Broadcom, Inc." \ @@ -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-7.2.7-0-linux-${OS_ARCH}-debian-12" \ + "valkey-7.2.7-4-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' ; \ diff --git a/bitnami/valkey-cluster/7.2/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/valkey-cluster/7.2/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json index d9991e12ec806..240896d494268 100644 --- a/bitnami/valkey-cluster/7.2/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/valkey-cluster/7.2/debian-12/prebuildfs/opt/bitnami/.bitnami_components.json @@ -3,7 +3,7 @@ "arch": "amd64", "distro": "debian-12", "type": "NAMI", - "version": "7.2.7-0" + "version": "7.2.7-4" }, "wait-for-port": { "arch": "amd64", diff --git a/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/libvalkey.sh b/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/libvalkey.sh index e16ee6ae576da..1e87bd02153b9 100644 --- a/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/libvalkey.sh +++ b/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/libvalkey.sh @@ -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 @@ -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 } diff --git a/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/valkey-cluster-env.sh b/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/valkey-cluster-env.sh index f4e55051e1660..9bbe4dd4adb4a 100644 --- a/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/valkey-cluster-env.sh +++ b/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/valkey-cluster-env.sh @@ -31,8 +31,8 @@ valkey_cluster_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 @@ -41,7 +41,7 @@ valkey_cluster_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 @@ -108,8 +108,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}" @@ -119,7 +119,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:-}" diff --git a/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/valkey-cluster/run.sh b/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/valkey-cluster/run.sh index e75e0b82befe0..a08dc1dcf2dd5 100755 --- a/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/valkey-cluster/run.sh +++ b/bitnami/valkey-cluster/7.2/debian-12/rootfs/opt/bitnami/scripts/valkey-cluster/run.sh @@ -27,7 +27,7 @@ ARGS+=("--include" "${VALKEY_BASE_DIR}/etc/valkey.conf") if ! is_boolean_yes "$ALLOW_EMPTY_PASSWORD"; then ARGS+=("--requirepass" "$VALKEY_PASSWORD") - ARGS+=("--masterauth" "$VALKEY_PASSWORD") + ARGS+=("--primaryauth" "$VALKEY_PASSWORD") else ARGS+=("--protected-mode" "no") fi diff --git a/bitnami/valkey-cluster/README.md b/bitnami/valkey-cluster/README.md index c60c57ce97e8c..161bd46eb973c 100644 --- a/bitnami/valkey-cluster/README.md +++ b/bitnami/valkey-cluster/README.md @@ -172,17 +172,17 @@ services: | `VALKEY_AOF_ENABLED` | Enable AOF | `yes` | | `VALKEY_RDB_POLICY` | Enable RDB policy persitence | `nil` | | `VALKEY_RDB_POLICY_DISABLED` | Allows to enable RDB policy persistence | `no` | -| `VALKEY_MASTER_HOST` | Valkey master host (used by slaves) | `nil` | -| `VALKEY_MASTER_PORT_NUMBER` | Valkey master host port (used by slaves) | `6379` | +| `VALKEY_PRIMARY_HOST` | Valkey primary host (used by replicas) | `nil` | +| `VALKEY_PRIMARY_PORT_NUMBER` | Valkey primary host port (used by replicas) | `6379` | | `VALKEY_PORT_NUMBER` | Valkey port number | `$VALKEY_DEFAULT_PORT_NUMBER` | | `VALKEY_ALLOW_REMOTE_CONNECTIONS` | Allow remote connection to the service | `yes` | -| `VALKEY_REPLICATION_MODE` | Valkey replication mode (values: master, slave) | `nil` | +| `VALKEY_REPLICATION_MODE` | Valkey replication mode (values: primary, replica) | `nil` | | `VALKEY_REPLICA_IP` | The replication announce ip | `nil` | | `VALKEY_REPLICA_PORT` | The replication announce port | `nil` | | `VALKEY_EXTRA_FLAGS` | Additional flags pass to 'valkey-server' commands | `nil` | | `ALLOW_EMPTY_PASSWORD` | Allow password-less access | `no` | | `VALKEY_PASSWORD` | Password for Valkey | `nil` | -| `VALKEY_MASTER_PASSWORD` | Valkey master node password | `nil` | +| `VALKEY_PRIMARY_PASSWORD` | Valkey primary node password | `nil` | | `VALKEY_ACLFILE` | Valkey ACL file | `nil` | | `VALKEY_IO_THREADS_DO_READS` | Enable multithreading when reading socket | `nil` | | `VALKEY_IO_THREADS` | Number of threads | `nil` | @@ -234,7 +234,7 @@ Once all the Valkey nodes are running you need to execute command like the follo valkey-cli --cluster create node1:port node2:port --cluster-replicas 1 --cluster-yes ``` -Where you can add all the `node:port` that you want. The `--cluster-replicas` parameters indicates how many replicas you want to have for every master. +Where you can add all the `node:port` that you want. The `--cluster-replicas` parameters indicates how many replicas you want to have for every primary. ### Cluster Initialization Troubleshooting @@ -364,6 +364,12 @@ If you detect any issue in the `docker-compose.yaml` file, feel free to report i We'd love for you to contribute to this container. You can request new features by creating an [issue](https://github.com/bitnami/containers/issues) or submitting a [pull request](https://github.com/bitnami/containers/pulls) with your contribution. +## Notable Changes + +### Starting October 20, 2024 + +* All the references have been updated from `master/slave` to `primary/replica` to follow the upstream project strategy. Environment variables previously prefixed as `VALKEY_MASTER` or `VALKEY_SENTINEL_MASTER` use `VALKEY_PRIMARY` and `VALKEY_SENTINEL_PRIMARY` now. + ## Issues If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/containers/issues/new/choose). For us to provide better support, be sure to fill the issue template.