-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathDockerfile.dev
More file actions
42 lines (31 loc) · 1.57 KB
/
Dockerfile.dev
File metadata and controls
42 lines (31 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# This Dockerfile is used to build container image for development and CI purposes.
# It intentionally contains helpful tooling and the repository source code so that
# workflows like E2E tests can run inside the container image.
# TODO(@olshansky): Split the E2E/config preparation image from the runtime image once CI supports it.
FROM golang:1.25.8 AS base
# TODO_INVESTIGATE: CGO builds disabled - https://github.com/pokt-network/poktroll/discussions/1822
# Install build dependencies; CGO remains disabled downstream.
RUN apt update && \
apt-get install -y \
build-essential pkg-config \
ca-certificates net-tools kubernetes-client \
curl jq yq make vim less dnsutils rsync
# CGO builds disabled; rely on pure-Go toolchain for dev containers.
ENV CGO_ENABLED=0
# TODO_INVESTIGATE: Original CGO settings - https://github.com/pokt-network/poktroll/discussions/1822
# Install build dependencies including CGO toolchain
# Enable CGO and set build flags for secp256k1
# ENV CGO_ENABLED=1
# ENV CGO_CFLAGS="-Wno-implicit-function-declaration -Wno-error=implicit-function-declaration"
# Enable faster module downloading.
ENV GOPROXY=https://proxy.golang.org
COPY . /pocket
WORKDIR /pocket
RUN mv /pocket/bin/ignite /usr/bin/ && mv /pocket/bin/pocketd /usr/bin/
# Install Cosmovisor (required for configmaps/secret creation jobs)
RUN make install_cosmovisor
# Regenerate localnet artifacts that populate /root/.pocket; fail fast if the
# regenesis does not complete because downstream jobs rely on these files.
RUN make localnet_regenesis
EXPOSE 8545 8546 8547
ENTRYPOINT ["pocketd"]