-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5685 from blackpiglet/add_resitc_builder
Add Restic builder in Dockerfile.
- Loading branch information
Showing
4 changed files
with
40 additions
and
14 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,47 +11,58 @@ | |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
FROM --platform=$BUILDPLATFORM golang:1.18.8 as builder-env | ||
|
||
# Setup build environment | ||
ARG GOLANG_VERSION=1.18.8 | ||
FROM --platform=$BUILDPLATFORM golang:${GOLANG_VERSION} as builder-env | ||
|
||
ARG GOPROXY | ||
ARG BIN | ||
ARG PKG | ||
ARG VERSION | ||
ARG REGISTRY | ||
ARG GIT_SHA | ||
ARG GIT_TREE_STATE | ||
ARG REGISTRY | ||
ARG RESTIC_VERSION | ||
ARG TARGETOS | ||
ARG TARGETARCH | ||
ARG TARGETVARIANT | ||
|
||
ENV CGO_ENABLED=0 \ | ||
GO111MODULE=on \ | ||
GOPROXY=${GOPROXY} \ | ||
GOOS=${TARGETOS} \ | ||
GOARCH=${TARGETARCH} \ | ||
GOARM=${TARGETVARIANT} \ | ||
LDFLAGS="-X ${PKG}/pkg/buildinfo.Version=${VERSION} -X ${PKG}/pkg/buildinfo.GitSHA=${GIT_SHA} -X ${PKG}/pkg/buildinfo.GitTreeState=${GIT_TREE_STATE} -X ${PKG}/pkg/buildinfo.ImageRegistry=${REGISTRY}" | ||
|
||
WORKDIR /go/src/github.com/vmware-tanzu/velero | ||
|
||
COPY . /go/src/github.com/vmware-tanzu/velero | ||
|
||
# Velero binary build section | ||
ARG GOLANG_VERSION=1.18.8 | ||
FROM --platform=$BUILDPLATFORM builder-env as builder | ||
|
||
ARG TARGETOS | ||
ARG TARGETARCH | ||
ARG TARGETVARIANT | ||
ARG PKG | ||
ARG BIN | ||
ARG RESTIC_VERSION | ||
|
||
ENV GOOS=${TARGETOS} \ | ||
GOARCH=${TARGETARCH} \ | ||
GOARM=${TARGETVARIANT} | ||
|
||
RUN mkdir -p /output/usr/bin && \ | ||
export GOARM=$( echo "${GOARM}" | cut -c2-) && \ | ||
bash ./hack/build-restic.sh && \ | ||
go build -o /output/${BIN} \ | ||
-ldflags "${LDFLAGS}" ${PKG}/cmd/${BIN} | ||
|
||
# Restic binary build section | ||
ARG GOLANG_VERSION=1.19.4-bullseye | ||
FROM --platform=$BUILDPLATFORM builder-env as restic-builder | ||
|
||
RUN mkdir -p /output/usr/bin && \ | ||
bash /go/src/github.com/vmware-tanzu/velero/hack/build-restic.sh | ||
|
||
# Velero image packing section | ||
FROM gcr.io/distroless/base-debian11@sha256:99133cb0878bb1f84d1753957c6fd4b84f006f2798535de22ebf7ba170bbf434 | ||
|
||
LABEL maintainer="Nolan Brubaker <[email protected]>" | ||
|
||
COPY --from=builder /output / | ||
|
||
COPY --from=restic-builder /output / | ||
|
||
USER nonroot:nonroot |
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 |
---|---|---|
@@ -0,0 +1 @@ | ||
Add Restic builder in Dockerfile, and keep the used built Golang image version in accordance with upstream Restic. |
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 |
---|---|---|
@@ -0,0 +1,13 @@ | ||
diff --git a/internal/backend/s3/s3.go b/internal/backend/s3/s3.go | ||
index 0b3816c06..eec10f9c7 100644 | ||
--- a/internal/backend/s3/s3.go | ||
+++ b/internal/backend/s3/s3.go | ||
@@ -164,7 +164,7 @@ func isAccessDenied(err error) bool { | ||
debug.Log("isAccessDenied(%T, %#v)", err, err) | ||
|
||
var e minio.ErrorResponse | ||
- return errors.As(err, &e) && e.Code == "Access Denied" | ||
+ return errors.As(err, &e) && e.Code == "AccessDenied" | ||
} | ||
|
||
// IsNotExist returns true if the error is caused by a not existing file. |