Bump version to 1.1.6; fix storage bugs, tests, CI pipeline and Docker config
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled

Storage fixes:
- Fix bloom filter hash2 OverflowDefect (uint64 instead of int Hash)
- Fix MemTable.put size calculation on overwrite (was leaking size)
- Fix fuzz_test duplicate-key issues in LSM delete and SSTable tests

Test fixes:
- Fix stress_test.nim: replace deprecated threadpool with std/threads
- Fix fuzz_test.nim: add missing imports (tables, algorithm, sets)
- Fix fuzz_test.nim: var sst for close() compatibility
- Remove unused imports from test_all.nim and bench_all.nim

Docker / CI fixes:
- Fix Dockerfile.source: invalid nimlang/nim:2.2.10-alpine tag → 2.2.10 + ubuntu:24.04 runtime
- Fix Dockerfile.source healthcheck (--spider → -qO- for 200 OK)
- Fix Dockerfile run comment ports (9470/9471 → 9912/9913)
- Fix scripts/docker-run.sh healthcheck port (9470 → 9912)
- Add ARG BUILD_DATE/VCS_REF to Dockerfile for docker-build.sh
- Update all version strings 1.1.4 → 1.1.6 across nimble/docker/source/docs
This commit is contained in:
2026-05-19 12:13:33 +03:00
parent 343f479127
commit cd46edcb67
47 changed files with 150 additions and 118 deletions
+17 -14
View File
@@ -13,13 +13,10 @@
# docker build -f Dockerfile.source -t baradb:latest .
# ─── Stage 1: Builder ─────────────────────────────────────
FROM nimlang/nim:2.2.10-alpine AS builder
FROM nimlang/nim:2.2.10 AS builder
WORKDIR /build
# Инсталираме build зависимости
RUN apk add --no-cache git gcc musl-dev openssl-dev pcre-dev
# Копираме nimble файл и инсталираме публични зависимости
COPY baradadb.nimble .
RUN nimble install -d -y || true
@@ -33,21 +30,27 @@ COPY *.nim .
RUN nim c -d:release --opt:speed -d:ssl -o:baradadb src/baradadb.nim
# Компилираме backup tool
RUN nim c -d:release -o:backup src/barabadb/core/backup.nim
RUN nim c -d:release --path:src -o:backup src/barabadb/core/backup.nim
# ─── Stage 2: Production Runtime ──────────────────────────
FROM alpine:3.19
FROM ubuntu:24.04
LABEL maintainer="BaraDB Team"
LABEL description="BaraDB — Multimodal Database Engine (source build)"
LABEL version="1.1.4"
LABEL version="1.1.6"
# Инсталираме runtime зависимости
RUN apk add --no-cache ca-certificates su-exec wget pcre
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libpcre3 \
ca-certificates \
wget \
gosu && \
rm -rf /var/lib/apt/lists/*
# Създаваме dedicated потребител за сигурност
RUN addgroup -g 1000 -S baradb && \
adduser -u 1000 -S baradb -G baradb
RUN groupadd -r baradb && \
useradd -r -g baradb baradb
WORKDIR /app
@@ -66,20 +69,20 @@ RUN mkdir -p /data && chown baradb:baradb /data && \
# Environment variables (defaults)
ENV BARADB_ADDRESS=0.0.0.0
ENV BARADB_PORT=9472
ENV BARADB_HTTP_PORT=9470
ENV BARADB_WS_PORT=9471
# Note: HTTP port = TCP port + 440 (9912 when TCP=9472)
# Note: WS port = TCP port + 441 (9913 when TCP=9472)
ENV BARADB_DATA_DIR=/data
ENV BARADB_LOG_LEVEL=info
# Expose ports
EXPOSE 9472 9470 9471
EXPOSE 9472 9912 9913
# Volume за persistent data
VOLUME ["/data"]
# Healthcheck
HEALTHCHECK --interval=15s --timeout=5s --start-period=10s --retries=3 \
CMD wget -q --spider http://localhost:${BARADB_HTTP_PORT}/health || exit 1
CMD wget -qO- http://localhost:9912/health >/dev/null 2>&1 || exit 1
# Стартираме чрез entrypoint
ENTRYPOINT ["docker-entrypoint.sh"]