diff --git a/README.md b/README.md index a0f5f24..5973143 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,7 @@ All customization options (use with caution): | Variable | Flag | Default | | -------- | ---- | ------- | | `REDIS_DOCKER_IMAGE` | `--redis-docker-image` | `redis:7` | +| `REDIS_HOSTNAME` | `--redis-hostname` | `redis` | | `REDIS_OPTIMIZED` | `--redis-optimized` | `false` (`true`/`false`) | ## Credits diff --git a/commands/host/redis-backend b/commands/host/redis-backend index 473c9dc..fbcaba5 100755 --- a/commands/host/redis-backend +++ b/commands/host/redis-backend @@ -44,6 +44,11 @@ function optimize_config() { ddev dotenv set .ddev/.env.redis --redis-optimized=true } +function change_hostname() { + [[ "${REDIS_HOSTNAME:-}" == "" ]] && return + ddev dotenv set .ddev/.env.redis --redis-hostname="$REDIS_HOSTNAME" +} + function cleanup() { rm -f "$DDEV_APPROOT/.ddev/.env.redis" rm -rf "$DDEV_APPROOT/.ddev/redis/" @@ -82,10 +87,12 @@ case "$REDIS_DOCKER_IMAGE" in valkey) NAME="Valkey 8" REDIS_DOCKER_IMAGE="valkey/valkey:8" + REDIS_HOSTNAME="valkey" ;; valkey-alpine) NAME="Valkey 8 Alpine" REDIS_DOCKER_IMAGE="valkey/valkey:8-alpine" + REDIS_HOSTNAME="valkey" ;; ""|--help|-h) show_help @@ -99,6 +106,7 @@ esac check_docker_image cleanup optimize_config +change_hostname use_docker_image echo diff --git a/commands/redis/redis-cli b/commands/redis/redis-cli index faf556d..2800343 100755 --- a/commands/redis/redis-cli +++ b/commands/redis/redis-cli @@ -7,7 +7,7 @@ ## Aliases: redis if [ -f /etc/redis/conf/security.conf ]; then - redis-cli -p 6379 -h redis -a redis --no-auth-warning $@ + redis-cli -p 6379 -h "${REDIS_HOSTNAME:-redis}" -a redis --no-auth-warning $@ else - redis-cli -p 6379 -h redis $@ + redis-cli -p 6379 -h "${REDIS_HOSTNAME:-redis}" $@ fi diff --git a/commands/redis/redis-flush b/commands/redis/redis-flush index 5d57c02..db90558 100755 --- a/commands/redis/redis-flush +++ b/commands/redis/redis-flush @@ -6,7 +6,7 @@ ## Example: "ddev redis-flush" if [ -f /etc/redis/conf/security.conf ]; then - redis-cli -p 6379 -h redis -a redis --no-auth-warning FLUSHALL ASYNC + redis-cli -p 6379 -h "${REDIS_HOSTNAME:-redis}" -a redis --no-auth-warning FLUSHALL ASYNC else - redis-cli -p 6379 -h redis FLUSHALL ASYNC + redis-cli -p 6379 -h "${REDIS_HOSTNAME:-redis}" FLUSHALL ASYNC fi diff --git a/docker-compose.redis.yaml b/docker-compose.redis.yaml index 2711768..e9da4c6 100644 --- a/docker-compose.redis.yaml +++ b/docker-compose.redis.yaml @@ -3,6 +3,7 @@ services: redis: container_name: ddev-${DDEV_SITENAME}-redis image: ${REDIS_DOCKER_IMAGE:-redis:7} + hostname: ${REDIS_HOSTNAME:-redis} # These labels ensure this service is discoverable by ddev. labels: com.ddev.site-name: ${DDEV_SITENAME} @@ -16,6 +17,11 @@ services: - "./redis:/etc/redis/conf" - "redis:/data" command: /etc/redis/conf/redis.conf + x-ddev: + describe-url-port: | + Backend: ${REDIS_DOCKER_IMAGE:-redis:7} + describe-info: | + Pass: volumes: redis: diff --git a/install.yaml b/install.yaml index 0642da9..097a797 100644 --- a/install.yaml +++ b/install.yaml @@ -18,7 +18,7 @@ project_files: - commands/redis/redis-cli - commands/redis/redis-flush -ddev_version_constraint: '>= v1.24.3' +ddev_version_constraint: '>= v1.24.10' post_install_actions: - | diff --git a/redis/scripts/setup-redis-optimized-config.sh b/redis/scripts/setup-redis-optimized-config.sh index 35f8f96..71c9b39 100755 --- a/redis/scripts/setup-redis-optimized-config.sh +++ b/redis/scripts/setup-redis-optimized-config.sh @@ -65,6 +65,10 @@ services: reservations: cpus: "1.5" memory: "512M" + x-ddev: + describe-info: | + User: redis + Pass: redis EOF fi diff --git a/tests/test.bats b/tests/test.bats index 5e64909..e793762 100644 --- a/tests/test.bats +++ b/tests/test.bats @@ -77,10 +77,21 @@ health_checks() { run grep -F "${PROJNAME}" .ddev/redis/snapshots.conf assert_output "dbfilename ${PROJNAME}.rdb" + + run ddev describe + assert_success + assert_output --partial "Backend:" + assert_output --partial "User: redis" + assert_output --partial "Pass: redis" else for file in "${redis_optimized_files[@]}"; do assert_file_not_exist "$file" done + + run ddev describe + assert_success + assert_output --partial "Backend:" + assert_output --partial "Pass: " fi run ddev redis-cli "KEYS \*"