mirror of
https://gitlab.com/alemaire/buildx.git
synced 2025-01-11 02:53:30 +00:00
Compare commits
4 Commits
824a5c0c22
...
a0324000ae
Author | SHA1 | Date | |
---|---|---|---|
a0324000ae | |||
132e2b57dc | |||
27c46552b9 | |||
d3451ee490 |
@ -1,3 +1,19 @@
|
|||||||
|
FROM golang:1.15-alpine as builder
|
||||||
|
|
||||||
|
LABEL maintainer="MinIO Inc <dev@min.io>"
|
||||||
|
ARG VERSION
|
||||||
|
ARG TARGETARCH
|
||||||
|
ENV VERSION $VERSION
|
||||||
|
ENV GOPATH /go
|
||||||
|
ENV CGO_ENABLED 0
|
||||||
|
ENV GO111MODULE on
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
apk add --no-cache git && \
|
||||||
|
git clone -b ${VERSION} --depth 1 https://github.com/minio/minio && cd minio && \
|
||||||
|
go install -v -ldflags "$(go run buildscripts/gen-ldflags.go)"
|
||||||
|
|
||||||
|
|
||||||
FROM alpine:3.13.0
|
FROM alpine:3.13.0
|
||||||
|
|
||||||
ENV MINIO_ACCESS_KEY_FILE=access_key \
|
ENV MINIO_ACCESS_KEY_FILE=access_key \
|
||||||
@ -8,18 +24,14 @@ ENV MINIO_ACCESS_KEY_FILE=access_key \
|
|||||||
|
|
||||||
EXPOSE 9000
|
EXPOSE 9000
|
||||||
|
|
||||||
COPY entrypoint.sh /usr/bin/docker-entrypoint.sh
|
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
apk add --no-cache ca-certificates 'curl>7.61.0' 'su-exec>=0.2' && \
|
apk add --no-cache ca-certificates 'curl>7.61.0' 'su-exec>=0.2' && \
|
||||||
echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf
|
echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf
|
||||||
|
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG TARGETARCH
|
|
||||||
ENV VERSION $VERSION
|
ENV VERSION $VERSION
|
||||||
ADD https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${VERSION} /usr/bin/minio
|
COPY --from=builder /go/bin/minio /usr/bin/minio
|
||||||
|
COPY --from=builder /go/minio/dockerscripts/docker-entrypoint.sh /usr/bin/
|
||||||
RUN chmod +x /usr/bin/minio
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
|
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ nopush:
|
|||||||
--tag ${CI_REGISTRY_IMAGE}/${IMAGE}:$(VERSION) .
|
--tag ${CI_REGISTRY_IMAGE}/${IMAGE}:$(VERSION) .
|
||||||
|
|
||||||
push:
|
push:
|
||||||
docker buildx build --platform linux/amd64,linux/arm64,linux/ppc64le --push \
|
docker buildx build --platform linux/amd64,linux/arm64,linux/arm --push \
|
||||||
--build-arg VERSION=$(VERSION) \
|
--build-arg VERSION=$(VERSION) \
|
||||||
--cache-from=type=registry,ref=${NAMESPACE}/buildx:${IMAGE} \
|
--cache-from=type=registry,ref=${NAMESPACE}/buildx:${IMAGE} \
|
||||||
--cache-to=type=registry,ref=${NAMESPACE}/buildx:${IMAGE} \
|
--cache-to=type=registry,ref=${NAMESPACE}/buildx:${IMAGE} \
|
||||||
|
@ -1,104 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# MinIO Cloud Storage, (C) 2019 MinIO, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
|
|
||||||
# If command starts with an option, prepend minio.
|
|
||||||
if [ "${1}" != "minio" ]; then
|
|
||||||
if [ -n "${1}" ]; then
|
|
||||||
set -- minio "$@"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Look for docker secrets at given absolute path or in default documented location.
|
|
||||||
docker_secrets_env() {
|
|
||||||
if [ -f "$MINIO_ACCESS_KEY_FILE" ]; then
|
|
||||||
ACCESS_KEY_FILE="$MINIO_ACCESS_KEY_FILE"
|
|
||||||
else
|
|
||||||
ACCESS_KEY_FILE="/run/secrets/$MINIO_ACCESS_KEY_FILE"
|
|
||||||
fi
|
|
||||||
if [ -f "$MINIO_SECRET_KEY_FILE" ]; then
|
|
||||||
SECRET_KEY_FILE="$MINIO_SECRET_KEY_FILE"
|
|
||||||
else
|
|
||||||
SECRET_KEY_FILE="/run/secrets/$MINIO_SECRET_KEY_FILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f "$ACCESS_KEY_FILE" ] && [ -f "$SECRET_KEY_FILE" ]; then
|
|
||||||
if [ -f "$ACCESS_KEY_FILE" ]; then
|
|
||||||
MINIO_ACCESS_KEY="$(cat "$ACCESS_KEY_FILE")"
|
|
||||||
export MINIO_ACCESS_KEY
|
|
||||||
fi
|
|
||||||
if [ -f "$SECRET_KEY_FILE" ]; then
|
|
||||||
MINIO_SECRET_KEY="$(cat "$SECRET_KEY_FILE")"
|
|
||||||
export MINIO_SECRET_KEY
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
## Set KMS_MASTER_KEY from docker secrets if provided
|
|
||||||
docker_kms_encryption_env() {
|
|
||||||
if [ -f "$MINIO_KMS_MASTER_KEY_FILE" ]; then
|
|
||||||
KMS_MASTER_KEY_FILE="$MINIO_KMS_MASTER_KEY_FILE"
|
|
||||||
else
|
|
||||||
KMS_MASTER_KEY_FILE="/run/secrets/$MINIO_KMS_MASTER_KEY_FILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f "$KMS_MASTER_KEY_FILE" ]; then
|
|
||||||
MINIO_KMS_MASTER_KEY="$(cat "$KMS_MASTER_KEY_FILE")"
|
|
||||||
export MINIO_KMS_MASTER_KEY
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
## Legacy
|
|
||||||
## Set SSE_MASTER_KEY from docker secrets if provided
|
|
||||||
docker_sse_encryption_env() {
|
|
||||||
SSE_MASTER_KEY_FILE="/run/secrets/$MINIO_SSE_MASTER_KEY_FILE"
|
|
||||||
|
|
||||||
if [ -f "$SSE_MASTER_KEY_FILE" ]; then
|
|
||||||
MINIO_SSE_MASTER_KEY="$(cat "$SSE_MASTER_KEY_FILE")"
|
|
||||||
export MINIO_SSE_MASTER_KEY
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# su-exec to requested user, if service cannot run exec will fail.
|
|
||||||
docker_switch_user() {
|
|
||||||
if [ ! -z "${MINIO_USERNAME}" ] && [ ! -z "${MINIO_GROUPNAME}" ]; then
|
|
||||||
|
|
||||||
if [ ! -z "${MINIO_UID}" ] && [ ! -z "${MINIO_GID}" ]; then
|
|
||||||
addgroup -S -g "$MINIO_GID" "$MINIO_GROUPNAME" && \
|
|
||||||
adduser -S -u "$MINIO_UID" -G "$MINIO_GROUPNAME" "$MINIO_USERNAME"
|
|
||||||
else
|
|
||||||
addgroup -S "$MINIO_GROUPNAME" && \
|
|
||||||
adduser -S -G "$MINIO_GROUPNAME" "$MINIO_USERNAME"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec su-exec "${MINIO_USERNAME}:${MINIO_GROUPNAME}" "$@"
|
|
||||||
else
|
|
||||||
# fallback
|
|
||||||
exec "$@"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
## Set access env from secrets if necessary.
|
|
||||||
docker_secrets_env
|
|
||||||
|
|
||||||
## Set kms encryption from secrets if necessary.
|
|
||||||
docker_kms_encryption_env
|
|
||||||
|
|
||||||
## Set sse encryption from secrets if necessary. Legacy
|
|
||||||
docker_sse_encryption_env
|
|
||||||
|
|
||||||
## Switch to user if applicable.
|
|
||||||
docker_switch_user "$@"
|
|
@ -1 +1 @@
|
|||||||
VERSION=RELEASE.2021-01-30T00-20-58Z
|
VERSION=RELEASE.2021-02-01T22-56-52Z
|
||||||
|
Loading…
Reference in New Issue
Block a user