# This Dockerfile is used for cluster testing - it produces a much larger image # and includes all of Go as well as some utilities. FROM golang:1.19 LABEL maintainer "dev@pilosa.com" COPY . /go/src/github.com/featurebasedb/featurebase/ # download pumba for fault injection ADD https://github.com/alexei-led/pumba/releases/download/0.6.0/pumba_linux_amd64 /pumba RUN chmod +x /pumba # add docker client to pause/unpause nodes RUN apt update RUN apt install -y docker.io # add docker-compose so tests can use it for stuff ADD https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose RUN chmod +x /usr/local/bin/docker-compose WORKDIR /go/src/github.com/featurebasedb/featurebase/cmd/featurebase RUN go test -covermode=atomic -coverpkg=../../... -c -tags testrunmain -o featurebase RUN cp /go/src/github.com/featurebasedb/featurebase/cmd/featurebase/featurebase /featurebase COPY NOTICE /NOTICE COPY ./internal/clustertests /go/src/github.com/featurebasedb/featurebase/internal/clustertests EXPOSE 10101 VOLUME /data WORKDIR /go/src/github.com/featurebasedb/featurebase CMD ["/featurebase", "-test.run=TestRunMain", "-test.coverprofile=/results/coverage.out", "server", "--data-dir", "/data", "--bind", "http://0.0.0.0:10101"]