mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-11-24 08:46:54 +08:00
* add foundationdb * Update foundationdb_store.go * fix * apply the patch * avoid panic on error * address comments * remove extra data * address comments * adds more debug messages * fix range listing * delete with prefix range; list with right start key * fix docker files * use the more idiomatic FoundationDB KeySelectors * address comments * proper errors * fix API versions * more efficient * recursive deletion * clean up * clean up * pagination, one transaction for deletion * error checking * Use fdb.Strinc() to compute the lexicographically next string and create a proper range * fix docker * Update README.md * delete in batches * delete in batches * fix build * add foundationdb build * Updated FoundationDB Version * Fixed glibc/musl Incompatibility (Alpine → Debian) * Update container_foundationdb_version.yml * build SeaweedFS * build tag * address comments * separate transaction * address comments * fix build * empty vs no data * fixes * add go test * Install FoundationDB client libraries * nil compare
39 lines
1.0 KiB
Docker
39 lines
1.0 KiB
Docker
# Test environment with Go and FoundationDB support
|
|
FROM golang:1.24-bookworm
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
build-essential \
|
|
wget \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Download and install FoundationDB client libraries with checksum verification
|
|
RUN set -euo pipefail \
|
|
&& FDB_VERSION="7.4.5" \
|
|
&& EXPECTED_SHA256="eea6b98cf386a0848655b2e196d18633662a7440a7ee061c10e32153c7e7e112" \
|
|
&& PACKAGE="foundationdb-clients_${FDB_VERSION}-1_amd64.deb" \
|
|
&& wget -q https://github.com/apple/foundationdb/releases/download/${FDB_VERSION}/${PACKAGE} \
|
|
&& echo "${EXPECTED_SHA256} ${PACKAGE}" | sha256sum -c - \
|
|
&& (dpkg -i ${PACKAGE} || apt-get install -f -y) \
|
|
&& rm ${PACKAGE}
|
|
|
|
# Set up Go environment for CGO
|
|
ENV CGO_ENABLED=1
|
|
ENV GOOS=linux
|
|
|
|
# Set work directory
|
|
WORKDIR /app
|
|
|
|
# Copy source code
|
|
COPY . .
|
|
|
|
# Create directories
|
|
RUN mkdir -p /test/results
|
|
|
|
# Pre-download dependencies
|
|
RUN go mod download
|
|
|
|
# Default command (will be overridden)
|
|
CMD ["go", "version"]
|