mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-17 14:58:16 +00:00
rootfs: Add AGENT_TARBALL env var
This env var will serve us to pass the agent tarball to the rootfs builder, which will then just unpack the content into the rootfs instead of building the agent again. AGENT_TARBALL and AGENT_SOURCE_BIN should never be used together. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
@@ -125,6 +125,14 @@ AGENT_INIT When set to "yes", use ${AGENT_BIN} as init process in place
|
|||||||
|
|
||||||
AGENT_SOURCE_BIN Path to the directory of agent binary.
|
AGENT_SOURCE_BIN Path to the directory of agent binary.
|
||||||
If set, use the binary as agent but not build agent package.
|
If set, use the binary as agent but not build agent package.
|
||||||
|
AGENT_SOURCE_BIN and AGENT_TARBALL should never be used toghether.
|
||||||
|
Default value: <not set>
|
||||||
|
|
||||||
|
AGENT_TARBALL Path to the kata-agent.tar.xz tarball to be unpacked inside the
|
||||||
|
rootfs.
|
||||||
|
If set, this will take the priority and will be used instead of
|
||||||
|
building the agent.
|
||||||
|
AGENT_SOURCE_BIN and AGENT_TARBALL should never be used toghether.
|
||||||
Default value: <not set>
|
Default value: <not set>
|
||||||
|
|
||||||
AGENT_VERSION Version of the agent to include in the rootfs.
|
AGENT_VERSION Version of the agent to include in the rootfs.
|
||||||
@@ -419,14 +427,22 @@ build_rootfs_distro()
|
|||||||
engine_run_args+=" --ulimit nofile=262144:262144"
|
engine_run_args+=" --ulimit nofile=262144:262144"
|
||||||
engine_run_args+=" --runtime ${DOCKER_RUNTIME}"
|
engine_run_args+=" --runtime ${DOCKER_RUNTIME}"
|
||||||
|
|
||||||
if [ -z "${AGENT_SOURCE_BIN}" ] ; then
|
if [ -n "${AGENT_SOURCE_BIN}" ] && [ -n "${AGENT_TARBALL}" ]; then
|
||||||
engine_run_args+=" -v ${GOPATH_LOCAL}:${GOPATH_LOCAL} --env GOPATH=${GOPATH_LOCAL}"
|
die "AGENT_SOURCE_BIN and AGENT_TARBALL should never be used together!"
|
||||||
else
|
fi
|
||||||
|
|
||||||
|
if [ -n "${AGENT_SOURCE_BIN}" ] ; then
|
||||||
engine_run_args+=" --env AGENT_SOURCE_BIN=${AGENT_SOURCE_BIN}"
|
engine_run_args+=" --env AGENT_SOURCE_BIN=${AGENT_SOURCE_BIN}"
|
||||||
engine_run_args+=" -v ${AGENT_SOURCE_BIN}:${AGENT_SOURCE_BIN}"
|
engine_run_args+=" -v ${AGENT_SOURCE_BIN}:${AGENT_SOURCE_BIN}"
|
||||||
engine_run_args+=" -v ${GOPATH_LOCAL}:${GOPATH_LOCAL} --env GOPATH=${GOPATH_LOCAL}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "${AGENT_TARBALL}" ] ; then
|
||||||
|
engine_run_args+=" --env AGENT_TARBALL=${AGENT_TARBALL}"
|
||||||
|
engine_run_args+=" -v $(dirname ${AGENT_TARBALL}):$(dirname ${AGENT_TARBALL})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
engine_run_args+=" -v ${GOPATH_LOCAL}:${GOPATH_LOCAL} --env GOPATH=${GOPATH_LOCAL}"
|
||||||
|
|
||||||
engine_run_args+=" $(docker_extra_args $distro)"
|
engine_run_args+=" $(docker_extra_args $distro)"
|
||||||
|
|
||||||
# Relabel volumes so SELinux allows access (see docker-run(1))
|
# Relabel volumes so SELinux allows access (see docker-run(1))
|
||||||
@@ -630,7 +646,7 @@ EOF
|
|||||||
AGENT_DIR="${ROOTFS_DIR}/usr/bin"
|
AGENT_DIR="${ROOTFS_DIR}/usr/bin"
|
||||||
AGENT_DEST="${AGENT_DIR}/${AGENT_BIN}"
|
AGENT_DEST="${AGENT_DIR}/${AGENT_BIN}"
|
||||||
|
|
||||||
if [ -z "${AGENT_SOURCE_BIN}" ] ; then
|
if [ -z "${AGENT_SOURCE_BIN}" ] && [ -z "${AGENT_TARBALL}" ] ; then
|
||||||
test -r "${HOME}/.cargo/env" && source "${HOME}/.cargo/env"
|
test -r "${HOME}/.cargo/env" && source "${HOME}/.cargo/env"
|
||||||
# rust agent needs ${arch}-unknown-linux-${LIBC}
|
# rust agent needs ${arch}-unknown-linux-${LIBC}
|
||||||
if ! (rustup show | grep -v linux-${LIBC} > /dev/null); then
|
if ! (rustup show | grep -v linux-${LIBC} > /dev/null); then
|
||||||
@@ -669,10 +685,12 @@ EOF
|
|||||||
rm -rf "${libseccomp_install_dir}" "${gperf_install_dir}"
|
rm -rf "${libseccomp_install_dir}" "${gperf_install_dir}"
|
||||||
fi
|
fi
|
||||||
popd
|
popd
|
||||||
else
|
elif [ "${AGENT_SOURCE_BIN}" ]; then
|
||||||
mkdir -p ${AGENT_DIR}
|
mkdir -p ${AGENT_DIR}
|
||||||
cp ${AGENT_SOURCE_BIN} ${AGENT_DEST}
|
cp ${AGENT_SOURCE_BIN} ${AGENT_DEST}
|
||||||
OK "cp ${AGENT_SOURCE_BIN} ${AGENT_DEST}"
|
OK "cp ${AGENT_SOURCE_BIN} ${AGENT_DEST}"
|
||||||
|
else
|
||||||
|
tar xvJpf ${AGENT_TARBALL} -C ${ROOTFS_DIR}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -x "${AGENT_DEST}" ] || die "${AGENT_DEST} is not installed in ${ROOTFS_DIR}"
|
[ -x "${AGENT_DEST}" ] || die "${AGENT_DEST} is not installed in ${ROOTFS_DIR}"
|
||||||
|
Reference in New Issue
Block a user