You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1014 B
44 lines
1014 B
FROM golang:1.24-alpine AS builder
|
|
|
|
# Install dependencies
|
|
RUN apk add --no-cache git build-base
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy and create load generator
|
|
COPY ./docker/admin_integration/load-generator.go .
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o load-generator load-generator.go
|
|
|
|
# Final stage
|
|
FROM alpine:latest
|
|
|
|
# Install dependencies
|
|
RUN apk --no-cache add curl ca-certificates openssl
|
|
|
|
WORKDIR /root/
|
|
|
|
# Copy the binary
|
|
COPY --from=builder /app/load-generator .
|
|
|
|
# Copy load generator script
|
|
COPY ./docker/admin_integration/load-entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
# Create directories for test data
|
|
RUN mkdir -p /test-data /temp
|
|
|
|
# Set environment variables
|
|
ENV FILER_ADDRESS="filer:8888"
|
|
ENV MASTER_ADDRESS="master:9333"
|
|
ENV WRITE_RATE="10"
|
|
ENV DELETE_RATE="2"
|
|
ENV FILE_SIZE_MIN="1MB"
|
|
ENV FILE_SIZE_MAX="5MB"
|
|
ENV TEST_DURATION="3600"
|
|
ENV COLLECTION=""
|
|
|
|
# Start load generator
|
|
ENTRYPOINT ["/entrypoint.sh"]
|