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/).
|
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.
|
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 {
|
if let Some(max_conn) = config.pool_max_connections {
|
||||||
cfg.pool = PoolConfig::new(max_conn as usize).into();
|
cfg.pool = PoolConfig::new(max_conn as usize).into();
|
||||||
}
|
}
|
||||||
let todo = "implement disabled languages properly";
|
|
||||||
|
|
||||||
let mut replicas = vec![];
|
let mut replicas = vec![];
|
||||||
for replica in config.read_replicas {
|
for replica in config.read_replicas {
|
||||||
|
|||||||
@@ -198,30 +198,15 @@ services:
|
|||||||
# certificates from Pebble.
|
# certificates from Pebble.
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
pebble-challtestsrv:
|
pebble-challtestsrv:
|
||||||
image: ghcr.io/letsencrypt/pebble-challtestsrv:latest
|
build:
|
||||||
|
context: ./pebble
|
||||||
|
dockerfile: Dockerfile.challtestsrv
|
||||||
|
image: stalwart-pebble-challtestsrv:local
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:8055:8055"
|
- "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:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
restart: unless-stopped
|
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)
|
# Pebble (ACME server) – ports 14000 (directory) + 15000 (management)
|
||||||
@@ -229,8 +214,7 @@ services:
|
|||||||
pebble:
|
pebble:
|
||||||
image: ghcr.io/letsencrypt/pebble:latest
|
image: ghcr.io/letsencrypt/pebble:latest
|
||||||
depends_on:
|
depends_on:
|
||||||
pebble-challtestsrv-init:
|
- pebble-challtestsrv
|
||||||
condition: service_healthy
|
|
||||||
environment:
|
environment:
|
||||||
PEBBLE_VA_NOSLEEP: "1"
|
PEBBLE_VA_NOSLEEP: "1"
|
||||||
PEBBLE_WFE_NONCEREJECT: "0"
|
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