v0.16.4
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## [0.16.4] - 2026-05-XX
|
||||
## [0.16.4] - 2026-05-05
|
||||
|
||||
If you are upgrading from v0.16.x, replace the binary (or run `docker pull`). If you are upgrading from v0.15.x and below, please read the [upgrading documentation](https://github.com/stalwartlabs/stalwart/blob/main/UPGRADING/v0_16.md) for more information on how to upgrade from previous versions.
|
||||
|
||||
|
||||
@@ -39,7 +39,6 @@ impl PostgresStore {
|
||||
if let Some(max_conn) = config.pool_max_connections {
|
||||
cfg.pool = PoolConfig::new(max_conn as usize).into();
|
||||
}
|
||||
let todo = "implement disabled languages properly";
|
||||
|
||||
let mut replicas = vec![];
|
||||
for replica in config.read_replicas {
|
||||
|
||||
@@ -198,30 +198,15 @@ services:
|
||||
# certificates from Pebble.
|
||||
# ---------------------------------------------------------------------------
|
||||
pebble-challtestsrv:
|
||||
image: ghcr.io/letsencrypt/pebble-challtestsrv:latest
|
||||
build:
|
||||
context: ./pebble
|
||||
dockerfile: Dockerfile.challtestsrv
|
||||
image: stalwart-pebble-challtestsrv:local
|
||||
ports:
|
||||
- "127.0.0.1:8055:8055"
|
||||
command: [ "-defaultIPv6", "", "-defaultIPv4", "0.0.0.0" ]
|
||||
|
||||
# Long-running sidecar: keeps pebble-challtestsrv's default-IPv4 set to the
|
||||
# host gateway. Re-applies on every restart of pebble-challtestsrv (the
|
||||
# default in-memory IPv4 reverts to 0.0.0.0 each time the server starts).
|
||||
# Uses the bridge network (not service:pebble-challtestsrv) so it survives
|
||||
# restarts of the target container.
|
||||
pebble-challtestsrv-init:
|
||||
image: alpine:latest
|
||||
depends_on:
|
||||
- pebble-challtestsrv
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "test -f /tmp/ready" ]
|
||||
interval: 2s
|
||||
timeout: 1s
|
||||
retries: 30
|
||||
start_period: 3s
|
||||
entrypoint: [ "/bin/sh", "-c", "rm -f /tmp/ready; while true; do HOSTIP=$$(getent hosts host.docker.internal | awk '{print $$1}'); if [ -n \"$$HOSTIP\" ] && wget -qO- --post-data='{\"ip\":\"'$$HOSTIP'\"}' http://pebble-challtestsrv:8055/set-default-ipv4 >/dev/null 2>&1; then touch /tmp/ready; else rm -f /tmp/ready; fi; sleep 10; done" ]
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Pebble (ACME server) – ports 14000 (directory) + 15000 (management)
|
||||
@@ -229,8 +214,7 @@ services:
|
||||
pebble:
|
||||
image: ghcr.io/letsencrypt/pebble:latest
|
||||
depends_on:
|
||||
pebble-challtestsrv-init:
|
||||
condition: service_healthy
|
||||
- pebble-challtestsrv
|
||||
environment:
|
||||
PEBBLE_VA_NOSLEEP: "1"
|
||||
PEBBLE_WFE_NONCEREJECT: "0"
|
||||
|
||||
5
tests/docker/pebble/Dockerfile.challtestsrv
Normal file
5
tests/docker/pebble/Dockerfile.challtestsrv
Normal file
@@ -0,0 +1,5 @@
|
||||
FROM ghcr.io/letsencrypt/pebble-challtestsrv:latest AS upstream
|
||||
|
||||
FROM alpine:latest
|
||||
COPY --from=upstream /app /app
|
||||
ENTRYPOINT ["/bin/sh", "-c", "HOSTIP=$(getent hosts host.docker.internal 2>/dev/null | awk '{print $1}' | head -n1); exec /app -defaultIPv6 \"\" -defaultIPv4 \"${HOSTIP:-127.0.0.1}\""]
|
||||
Reference in New Issue
Block a user