mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-03 09:54:33 +00:00
Merge pull request #9091 from jodh-intel/packaging-add-kata-manager-script
packaging: Add the kata manager script
This commit is contained in:
@@ -36,6 +36,7 @@ jobs:
|
|||||||
- firecracker
|
- firecracker
|
||||||
- genpolicy
|
- genpolicy
|
||||||
- kata-ctl
|
- kata-ctl
|
||||||
|
- kata-manager
|
||||||
- kernel
|
- kernel
|
||||||
- kernel-confidential
|
- kernel-confidential
|
||||||
- kernel-dragonball-experimental
|
- kernel-dragonball-experimental
|
||||||
|
@@ -111,6 +111,9 @@ pause-image-tarball:
|
|||||||
kata-ctl-tarball:
|
kata-ctl-tarball:
|
||||||
${MAKE} $@-build
|
${MAKE} $@-build
|
||||||
|
|
||||||
|
kata-manager-tarball:
|
||||||
|
${MAKE} $@-build
|
||||||
|
|
||||||
kernel-dragonball-experimental-tarball:
|
kernel-dragonball-experimental-tarball:
|
||||||
${MAKE} $@-build
|
${MAKE} $@-build
|
||||||
|
|
||||||
@@ -124,7 +127,7 @@ kernel-nvidia-gpu-snp-tarball:
|
|||||||
${MAKE} $@-build
|
${MAKE} $@-build
|
||||||
|
|
||||||
kernel-nvidia-gpu-tdx-experimental-tarball:
|
kernel-nvidia-gpu-tdx-experimental-tarball:
|
||||||
${MAKE} $@-build
|
${MAKE} $@-build
|
||||||
|
|
||||||
kernel-tarball:
|
kernel-tarball:
|
||||||
${MAKE} $@-build
|
${MAKE} $@-build
|
||||||
|
@@ -52,6 +52,8 @@ workdir="${WORKDIR:-$PWD}"
|
|||||||
|
|
||||||
destdir="${workdir}/kata-static"
|
destdir="${workdir}/kata-static"
|
||||||
|
|
||||||
|
default_binary_permissions='0744'
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
msg="$*"
|
msg="$*"
|
||||||
echo "ERROR: ${msg}" >&2
|
echo "ERROR: ${msg}" >&2
|
||||||
@@ -95,6 +97,7 @@ options:
|
|||||||
firecracker
|
firecracker
|
||||||
genpolicy
|
genpolicy
|
||||||
kata-ctl
|
kata-ctl
|
||||||
|
kata-manager
|
||||||
kernel
|
kernel
|
||||||
kernel-confidential
|
kernel-confidential
|
||||||
kernel-dragonball-experimental
|
kernel-dragonball-experimental
|
||||||
@@ -165,7 +168,7 @@ cleanup_and_fail() {
|
|||||||
rm -f "${extra_tarball_name}"
|
rm -f "${extra_tarball_name}"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,7 +200,7 @@ install_cached_tarball_component() {
|
|||||||
|
|
||||||
info "Using cached tarball of ${component}"
|
info "Using cached tarball of ${component}"
|
||||||
mv "${component_tarball_name}" "${component_tarball_path}"
|
mv "${component_tarball_name}" "${component_tarball_path}"
|
||||||
|
|
||||||
[ -z "${extra_tarballs}" ] && return 0
|
[ -z "${extra_tarballs}" ] && return 0
|
||||||
|
|
||||||
local mapping
|
local mapping
|
||||||
@@ -423,7 +426,7 @@ install_cached_kernel_tarball_component() {
|
|||||||
"${final_tarball_path}" \
|
"${final_tarball_path}" \
|
||||||
"${extra_tarballs}" \
|
"${extra_tarballs}" \
|
||||||
|| return 1
|
|| return 1
|
||||||
|
|
||||||
if [[ "${kernel_name}" != "kernel"*"-confidential" ]]; then
|
if [[ "${kernel_name}" != "kernel"*"-confidential" ]]; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@@ -586,8 +589,8 @@ install_firecracker() {
|
|||||||
"${firecracker_builder}"
|
"${firecracker_builder}"
|
||||||
info "Install static firecracker"
|
info "Install static firecracker"
|
||||||
mkdir -p "${destdir}/opt/kata/bin/"
|
mkdir -p "${destdir}/opt/kata/bin/"
|
||||||
sudo install -D --owner root --group root --mode 0744 release-${firecracker_version}-${ARCH}/firecracker-${firecracker_version}-${ARCH} "${destdir}/opt/kata/bin/firecracker"
|
sudo install -D --owner root --group root --mode "$default_binary_permissions" release-${firecracker_version}-${ARCH}/firecracker-${firecracker_version}-${ARCH} "${destdir}/opt/kata/bin/firecracker"
|
||||||
sudo install -D --owner root --group root --mode 0744 release-${firecracker_version}-${ARCH}/jailer-${firecracker_version}-${ARCH} "${destdir}/opt/kata/bin/jailer"
|
sudo install -D --owner root --group root --mode "$default_binary_permissions" release-${firecracker_version}-${ARCH}/jailer-${firecracker_version}-${ARCH} "${destdir}/opt/kata/bin/jailer"
|
||||||
}
|
}
|
||||||
|
|
||||||
install_clh_helper() {
|
install_clh_helper() {
|
||||||
@@ -610,7 +613,7 @@ install_clh_helper() {
|
|||||||
libc="${libc}" features="${features}" "${clh_builder}"
|
libc="${libc}" features="${features}" "${clh_builder}"
|
||||||
info "Install static cloud-hypervisor"
|
info "Install static cloud-hypervisor"
|
||||||
mkdir -p "${destdir}/opt/kata/bin/"
|
mkdir -p "${destdir}/opt/kata/bin/"
|
||||||
sudo install -D --owner root --group root --mode 0744 cloud-hypervisor/cloud-hypervisor "${destdir}/opt/kata/bin/cloud-hypervisor${suffix}"
|
sudo install -D --owner root --group root --mode "$default_binary_permissions" cloud-hypervisor/cloud-hypervisor "${destdir}/opt/kata/bin/cloud-hypervisor${suffix}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Install static cloud-hypervisor asset
|
# Install static cloud-hypervisor asset
|
||||||
@@ -654,7 +657,7 @@ install_stratovirt() {
|
|||||||
"${stratovirt_builder}"
|
"${stratovirt_builder}"
|
||||||
info "Install static stratovirt"
|
info "Install static stratovirt"
|
||||||
mkdir -p "${destdir}/opt/kata/bin/"
|
mkdir -p "${destdir}/opt/kata/bin/"
|
||||||
sudo install -D --owner root --group root --mode 0744 static-stratovirt/stratovirt "${destdir}/opt/kata/bin/stratovirt"
|
sudo install -D --owner root --group root --mode "$default_binary_permissions" static-stratovirt/stratovirt "${destdir}/opt/kata/bin/stratovirt"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Install static virtiofsd asset
|
# Install static virtiofsd asset
|
||||||
@@ -674,7 +677,7 @@ install_virtiofsd() {
|
|||||||
"${virtiofsd_builder}"
|
"${virtiofsd_builder}"
|
||||||
info "Install static virtiofsd"
|
info "Install static virtiofsd"
|
||||||
mkdir -p "${destdir}/opt/kata/libexec/"
|
mkdir -p "${destdir}/opt/kata/libexec/"
|
||||||
sudo install -D --owner root --group root --mode 0744 virtiofsd/virtiofsd "${destdir}/opt/kata/libexec/virtiofsd"
|
sudo install -D --owner root --group root --mode "$default_binary_permissions" virtiofsd/virtiofsd "${destdir}/opt/kata/libexec/virtiofsd"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Install static nydus asset
|
# Install static nydus asset
|
||||||
@@ -698,7 +701,7 @@ install_nydus() {
|
|||||||
mkdir -p "${destdir}/opt/kata/libexec/"
|
mkdir -p "${destdir}/opt/kata/libexec/"
|
||||||
ls -tl . || true
|
ls -tl . || true
|
||||||
ls -tl nydus-static || true
|
ls -tl nydus-static || true
|
||||||
sudo install -D --owner root --group root --mode 0744 nydus-static/nydusd "${destdir}/opt/kata/libexec/nydusd"
|
sudo install -D --owner root --group root --mode "$default_binary_permissions" nydus-static/nydusd "${destdir}/opt/kata/libexec/nydusd"
|
||||||
}
|
}
|
||||||
|
|
||||||
#Install all components that are not assets
|
#Install all components that are not assets
|
||||||
@@ -708,7 +711,7 @@ install_shimv2() {
|
|||||||
local protocols_last_commit="$(get_last_modification "${repo_root_dir}/src/libs/protocols")"
|
local protocols_last_commit="$(get_last_modification "${repo_root_dir}/src/libs/protocols")"
|
||||||
local GO_VERSION="$(get_from_kata_deps "languages.golang.meta.newest-version")"
|
local GO_VERSION="$(get_from_kata_deps "languages.golang.meta.newest-version")"
|
||||||
local RUST_VERSION="$(get_from_kata_deps "languages.rust.meta.newest-version")"
|
local RUST_VERSION="$(get_from_kata_deps "languages.rust.meta.newest-version")"
|
||||||
|
|
||||||
latest_artefact="${shim_v2_last_commit}-${protocols_last_commit}-${runtime_rs_last_commit}-${GO_VERSION}-${RUST_VERSION}"
|
latest_artefact="${shim_v2_last_commit}-${protocols_last_commit}-${runtime_rs_last_commit}-${GO_VERSION}-${RUST_VERSION}"
|
||||||
latest_builder_image="$(get_shim_v2_image_name)"
|
latest_builder_image="$(get_shim_v2_image_name)"
|
||||||
|
|
||||||
@@ -823,6 +826,53 @@ install_pause_image() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
install_script_helper() {
|
||||||
|
local script="${1:-}"
|
||||||
|
[ -n "$script" ] || die "need script"
|
||||||
|
|
||||||
|
local script_path
|
||||||
|
|
||||||
|
# If the script isn't specified as an absolute or relative path,
|
||||||
|
# find it.
|
||||||
|
if grep -q '/' <<< "$script"
|
||||||
|
then
|
||||||
|
script_path="$script"
|
||||||
|
else
|
||||||
|
script_path=$(find "${repo_root_dir}/" -type f -name "$script")
|
||||||
|
fi
|
||||||
|
|
||||||
|
local script_file
|
||||||
|
script_file=$(basename "$script_path")
|
||||||
|
|
||||||
|
local script_file_name
|
||||||
|
|
||||||
|
# Remove any extension
|
||||||
|
script_file_name="${script_file%%.*}"
|
||||||
|
|
||||||
|
info "installing utility script ${script}"
|
||||||
|
|
||||||
|
local bin_dir
|
||||||
|
bin_dir="${destdir}/opt/kata/bin/"
|
||||||
|
|
||||||
|
mkdir -p "$bin_dir"
|
||||||
|
|
||||||
|
sudo install -D \
|
||||||
|
--owner root \
|
||||||
|
--group root \
|
||||||
|
--mode "${default_binary_permissions}" \
|
||||||
|
"${script_path}" \
|
||||||
|
"${bin_dir}/${script_file}"
|
||||||
|
|
||||||
|
[ "$script_file" = "$script_file_name" ] && return 0
|
||||||
|
|
||||||
|
pushd "$bin_dir" &>/dev/null
|
||||||
|
|
||||||
|
# Create a sym-link with the extension removed
|
||||||
|
sudo ln -sf "$script_file" "$script_file_name"
|
||||||
|
|
||||||
|
popd &>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
install_tools_helper() {
|
install_tools_helper() {
|
||||||
tool=${1}
|
tool=${1}
|
||||||
|
|
||||||
@@ -853,7 +903,7 @@ install_tools_helper() {
|
|||||||
sudo install -D --owner root --group root --mode 0644 ${repo_root_dir}/src/tools/${tool}/genpolicy-settings.json "${defaults_path}/genpolicy-settings.json"
|
sudo install -D --owner root --group root --mode 0644 ${repo_root_dir}/src/tools/${tool}/genpolicy-settings.json "${defaults_path}/genpolicy-settings.json"
|
||||||
binary_permissions="0755"
|
binary_permissions="0755"
|
||||||
else
|
else
|
||||||
binary_permissions="0744"
|
binary_permissions="$default_binary_permissions"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
info "Install static ${tool_binary}"
|
info "Install static ${tool_binary}"
|
||||||
@@ -873,6 +923,10 @@ install_kata_ctl() {
|
|||||||
install_tools_helper "kata-ctl"
|
install_tools_helper "kata-ctl"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
install_kata_manager() {
|
||||||
|
install_script_helper "kata-manager.sh"
|
||||||
|
}
|
||||||
|
|
||||||
install_runk() {
|
install_runk() {
|
||||||
install_tools_helper "runk"
|
install_tools_helper "runk"
|
||||||
}
|
}
|
||||||
@@ -911,6 +965,7 @@ handle_build() {
|
|||||||
install_initrd_confidential
|
install_initrd_confidential
|
||||||
install_initrd_mariner
|
install_initrd_mariner
|
||||||
install_kata_ctl
|
install_kata_ctl
|
||||||
|
install_kata_manager
|
||||||
install_kernel
|
install_kernel
|
||||||
install_kernel_confidential
|
install_kernel_confidential
|
||||||
install_kernel_dragonball_experimental
|
install_kernel_dragonball_experimental
|
||||||
@@ -949,6 +1004,8 @@ handle_build() {
|
|||||||
|
|
||||||
kata-ctl) install_kata_ctl ;;
|
kata-ctl) install_kata_ctl ;;
|
||||||
|
|
||||||
|
kata-manager) install_kata_manager ;;
|
||||||
|
|
||||||
kernel) install_kernel ;;
|
kernel) install_kernel ;;
|
||||||
|
|
||||||
kernel-confidential) install_kernel_confidential ;;
|
kernel-confidential) install_kernel_confidential ;;
|
||||||
@@ -986,7 +1043,7 @@ handle_build() {
|
|||||||
rootfs-initrd-mariner) install_initrd_mariner ;;
|
rootfs-initrd-mariner) install_initrd_mariner ;;
|
||||||
|
|
||||||
runk) install_runk ;;
|
runk) install_runk ;;
|
||||||
|
|
||||||
shim-v2) install_shimv2 ;;
|
shim-v2) install_shimv2 ;;
|
||||||
|
|
||||||
tdvf) install_tdvf ;;
|
tdvf) install_tdvf ;;
|
||||||
@@ -1087,6 +1144,7 @@ main() {
|
|||||||
firecracker
|
firecracker
|
||||||
genpolicy
|
genpolicy
|
||||||
kata-ctl
|
kata-ctl
|
||||||
|
kata-manager
|
||||||
kernel
|
kernel
|
||||||
kernel-experimental
|
kernel-experimental
|
||||||
nydus
|
nydus
|
||||||
|
Reference in New Issue
Block a user