-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathDockerfile.rhtap
37 lines (32 loc) · 1.6 KB
/
Dockerfile.rhtap
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
# Build the manager binary
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:rhel_9_1.23 AS builder
WORKDIR /workspace
# Copy the source files
COPY main.go main.go
COPY go.mod go.mod
COPY go.sum go.sum
COPY api/. api/
COPY config/. config/
COPY controllers/ controllers/
# Copy the go source
RUN CGO_ENABLED=1 GOFLAGS='-mod=readonly' GOOS=linux GOARCH=amd64 go mod vendor
# RUN CGO_ENABLED=1 GOFLAGS='-mod=readonly' GOOS=linux GOARCH=amd64 go mod tidy
# Build
RUN CGO_ENABLED=1 GOFLAGS='-mod=readonly' GOOS=linux GOARCH=amd64 go build -a -o manager main.go
# Use distroless as minimal base image to package the manager binary
# Refer to https://github.com/GoogleContainerTools/distroless for more details
FROM registry.redhat.io/ubi9/ubi-minimal:latest
LABEL \
name="cluster-backup-operator" \
com.redhat.component="cluster-backup-operator" \
description="The Cluster Backup and Restore Operator runs on the hub cluster, providing disaster recovery \
solutions for Red Hat Advanced Cluster Management in the event of hub cluster failures." \
io.k8s.description="The Cluster Backup and Restore Operator runs on the hub cluster, providing disaster recovery \
solutions for Red Hat Advanced Cluster Management in the event of hub cluster failures." \
summary="An ACM operator that delivers disaster recovery solutions for hub cluster failures." \
io.k8s.display-name="Red Hat Advanced Cluster Management Cluster Backup and Restore Operator" \
io.openshift.tags="acm cluster-backup-operator"
WORKDIR /
COPY --from=builder /workspace/manager .
USER 65532:65532
ENTRYPOINT ["/manager"]