forked from sigstore/timestamp-authority
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Configuring dockerfile for rhtap build (#61)
* Configuring dockerfile for rhtap build * Changes based upon feedback * Added mod = read only to the build
- Loading branch information
Showing
3 changed files
with
20 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,34 +12,26 @@ | |
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
FROM golang:1.21.3@sha256:02d7116222536a5cf0fcf631f90b507758b669648e0f20186d2dc94a9b419a9b AS builder | ||
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:rhel_9_1.21@sha256:98a0ff138c536eee98704d6909699ad5d0725a20573e2c510a60ef462b45cce0 AS builder | ||
ENV APP_ROOT=/opt/app-root | ||
ENV GOPATH=$APP_ROOT | ||
RUN mkdir /opt/app-root && mkdir /opt/app-root/src | ||
|
||
WORKDIR $APP_ROOT/src/ | ||
ADD go.mod go.sum $APP_ROOT/src/ | ||
RUN go mod download | ||
|
||
# Add source code | ||
ADD go.mod go.sum $APP_ROOT/src/ | ||
ADD ./cmd/ $APP_ROOT/src/cmd/ | ||
ADD ./pkg/ $APP_ROOT/src/pkg/ | ||
|
||
ARG SERVER_LDFLAGS | ||
RUN go build -ldflags "${SERVER_LDFLAGS}" ./cmd/timestamp-server | ||
RUN CGO_ENABLED=0 go build -gcflags "all=-N -l" -ldflags "${SERVER_LDFLAGS}" -o timestamp-server_debug ./cmd/timestamp-server | ||
RUN git config --global --add safe.directory /opt/app-root/src && \ | ||
go mod download && \ | ||
CGO_ENABLED=0 go build -mod=readonly -ldflags "${SERVER_LDFLAGS}" ./cmd/timestamp-server | ||
|
||
# Multi-Stage production build | ||
FROM golang:1.21.3@sha256:02d7116222536a5cf0fcf631f90b507758b669648e0f20186d2dc94a9b419a9b as deploy | ||
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:rhel_9_1.21@sha256:98a0ff138c536eee98704d6909699ad5d0725a20573e2c510a60ef462b45cce0 as deploy | ||
|
||
# Retrieve the binary from the previous stage | ||
COPY --from=builder /opt/app-root/src/timestamp-server /usr/local/bin/timestamp-server | ||
|
||
# Set the binary as the entrypoint of the container | ||
CMD ["timestamp-server", "serve"] | ||
|
||
# debug compile options & debugger | ||
FROM deploy as debug | ||
RUN go install github.com/go-delve/delve/cmd/[email protected] | ||
|
||
# overwrite server and include debugger | ||
COPY --from=builder /opt/app-root/src/timestamp-server_debug /usr/local/bin/timestamp-server | ||
CMD ["timestamp-server", "serve"] |