# syntax=docker/dockerfile:latest
#######################################################################
# Copyright (c) 2024 China Unicom Digital Technology Co., Ltd.
# openFuyao is licensed under Mulan PSL v2.
# You can use this software according to the terms and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
#######################################################################
# currently supported builders:
# - golang
ARG BUILDER=golang
ARG BUILDER_VERSION=1.24.5
ARG BUILDER_IMAGE=cr.openfuyao.cn/openfuyao/builder/$BUILDER:$BUILDER_VERSION
# override builder args, see `ONBUILD ARG` in builder recipe for all supported args
ARG PKG=./cmd/colocation-manager
# currently supported base image types:
# - static
# - busybox
ARG BASE_TYPE=static
ARG BASE_IMAGE=cr.openfuyao.cn/openfuyao/base/$BASE_TYPE
# stage 1: build
FROM $BUILDER_IMAGE AS build
# stage 2: release
FROM $BASE_IMAGE AS release
WORKDIR /
# see `ONBUILD RUN` in builder recipe for artifact output path
# use `--link` to increase cache hit; use `--chmod` to minimize file permission
COPY --link --from=build --chmod=555 /go/bin/app /colocation-management/colocation-manager
ENTRYPOINT ["/colocation-management/colocation-manager"]