diff options
author | zer0def | 2019-12-17 18:16:53 +0100 |
---|---|---|
committer | zer0def | 2019-12-19 00:40:12 +0100 |
commit | c5e0336a52910c0d3413bb484982859379c6685d (patch) | |
tree | ff92506d38e239a95e63095266948746fb974549 | |
download | aur-c5e0336a52910c0d3413bb484982859379c6685d.tar.gz |
Initial commit.
-rw-r--r-- | .SRCINFO | 60 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | PKGBUILD | 121 | ||||
-rw-r--r-- | kata-runtime.install | 44 |
4 files changed, 229 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..74dc59c7c854 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,60 @@ +pkgbase = kata-containers-git + pkgdesc = Lightweight virtual machines for containers + pkgver = 1.10.0~rc0~runtime.r31.3ea682d6 + pkgrel = 1 + url = https://katacontainers.io/ + arch = x86_64 + license = Apache + makedepends = go-pie + source = agent::git+https://github.com/kata-containers/agent + source = ksm-throttler::git+https://github.com/kata-containers/ksm-throttler + source = osbuilder::git+https://github.com/kata-containers/osbuilder + source = proxy::git+https://github.com/kata-containers/proxy + source = runtime::git+https://github.com/kata-containers/runtime + source = shim::git+https://github.com/kata-containers/shim + source = https://github.com/kata-containers/runtime/releases/download/1.10.0-rc0/kata-static-1.10.0-rc0-x86_64.tar.xz + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = f0e69db2327f87234b053c554793ee28f0f102835e1778e85772d14c90c0caf63890541a780cc5439e08d39a419fa86bd5ff4750228c93f70f2511328afe1aa5 + +pkgname = kata-ksm-throttler-git + provides = kata-ksm-throttler + conflicts = kata-ksm-throttler + +pkgname = kata-proxy-git + provides = kata-proxy + conflicts = kata-proxy + +pkgname = kata-runtime-git + install = kata-runtime.install + depends = qemu-headless + depends = kata-ksm-throttler=1.10.0~rc0~runtime.r31.3ea682d6 + depends = kata-proxy=1.10.0~rc0~runtime.r31.3ea682d6 + depends = kata-shim=1.10.0~rc0~runtime.r31.3ea682d6 + depends = kata-linux-container=1.10.0~rc0~runtime.r31.3ea682d6 + depends = kata-containers-image=1.10.0~rc0~runtime.r31.3ea682d6 + optdepends = firecracker + optdepends = cloud-hypervisor + provides = kata-runtime + conflicts = kata-runtime + +pkgname = kata-shim-git + provides = kata-shim + conflicts = kata-shim + +pkgname = kata-agent-git + provides = kata-agent + conflicts = kata-agent + +pkgname = kata-containers-image-git + provides = kata-containers-image + conflicts = kata-containers-image + +pkgname = kata-linux-container-git + provides = kata-linux-container + conflicts = kata-linux-container + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..05c6d4d4c97b --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +* +!.gitignore +!.SRCINFO +!PKGBUILD diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..1e16db1f4eeb --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,121 @@ +pkgbase=kata-containers-git +pkgname=(kata-ksm-throttler-git kata-proxy-git kata-runtime-git kata-shim-git kata-agent-git kata-containers-image-git kata-linux-container-git) +pkgver=1.10.0~rc0~runtime.r31.3ea682d6 +_pkgver=1.10.0-rc0 +pkgrel=1 +pkgdesc="Lightweight virtual machines for containers" +arch=('x86_64') +url="https://katacontainers.io/" +license=('Apache') +makedepends=('go-pie') +_gh_org="github.com/kata-containers" +source=( + "agent::git+https://${_gh_org}/agent" + "ksm-throttler::git+https://${_gh_org}/ksm-throttler" + "osbuilder::git+https://${_gh_org}/osbuilder" + "proxy::git+https://${_gh_org}/proxy" + "runtime::git+https://${_gh_org}/runtime" + "shim::git+https://${_gh_org}/shim" + "https://${_gh_org}/runtime/releases/download/${_pkgver}/kata-static-${_pkgver}-${CARCH}.tar.xz" +) +sha512sums=( + 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' + 'f0e69db2327f87234b053c554793ee28f0f102835e1778e85772d14c90c0caf63890541a780cc5439e08d39a419fa86bd5ff4750228c93f70f2511328afe1aa5' +) + +pkgver(){ + cd "${srcdir}/src/${_gh_org}/runtime" + GITTAG="$(git describe --abbrev=0 --tags 2>/dev/null)" + printf '%s.r%s.%s' \ + "${GITTAG/-/\~}~runtime" \ + "$(git rev-list --count ${GITTAG}..)" \ + "$(git rev-parse --short HEAD)" +} + +prepare(){ + mkdir -p "${srcdir}/src/${_gh_org}" + for i in agent ksm-throttler proxy runtime shim; do + rm -rf "${srcdir}/src/${_gh_org}/${i}" + mv "${srcdir}/${i}" "${srcdir}/src/${_gh_org}/${i}" + done +} + +build(){ + cd "${srcdir}/src/${_gh_org}/agent" + GOPATH="${srcdir}" LDFLAGS="" make + + for i in ksm-throttler proxy runtime shim; do + echo "Building kata-${i}…" + cd "${srcdir}/src/${_gh_org}/${i}" + GOPATH="${srcdir}" make DESTDIR="${pkgdir}" BINDIR="/usr/bin" PKGLIBEXECDIR="/usr/lib/kata-containers" LIBEXECDIR="/usr/lib" + done +} + +package_kata-agent-git(){ + conflicts=('kata-agent') + provides=('kata-agent') + cd "${srcdir}/src/${_gh_org}/agent" + GOPATH="${srcdir}" make install DESTDIR="${pkgdir}" BINDIR="/usr/bin" PKGLIBEXECDIR="/usr/lib/kata-containers" LIBEXECDIR="/usr/lib" +} + +package_kata-ksm-throttler-git(){ + conflicts=('kata-ksm-throttler') + provides=('kata-ksm-throttler') + cd "${srcdir}/src/${_gh_org}/ksm-throttler" + GOPATH="${srcdir}" make install DESTDIR="${pkgdir}" BINDIR="/usr/bin" PKGLIBEXECDIR="/usr/lib/kata-containers" LIBEXECDIR="/usr/lib" + install -d -m 0755 "${pkgdir}/var/lib/vc/{firecracker,sbs,uuid}" +} + +package_kata-proxy-git(){ + conflicts=('kata-proxy') + provides=('kata-proxy') + cd "${srcdir}/src/${_gh_org}/proxy" + GOPATH="${srcdir}" make install DESTDIR="${pkgdir}" BINDIR="/usr/bin" PKGLIBEXECDIR="/usr/lib/kata-containers" LIBEXECDIR="/usr/lib" +} + +package_kata-runtime-git(){ + conflicts=('kata-runtime') + provides=('kata-runtime') + depends=('qemu-headless' "kata-ksm-throttler=${pkgver}" "kata-proxy=${pkgver}" "kata-shim=${pkgver}" "kata-linux-container=${pkgver}" "kata-containers-image=${pkgver}") + optdepends=( + 'firecracker' + 'cloud-hypervisor' + #'acrn' + ) + install=kata-runtime.install + cd "${srcdir}/src/${_gh_org}/runtime" + GOPATH="${srcdir}" make install DESTDIR="${pkgdir}" BINDIR="/usr/bin" PKGLIBEXECDIR="/usr/lib/kata-containers" LIBEXECDIR="/usr/lib" +} + +package_kata-shim-git(){ + conflicts=('kata-shim') + provides=('kata-shim') + cd "${srcdir}/src/${_gh_org}/shim" + GOPATH="${srcdir}" make install DESTDIR="${pkgdir}" BINDIR="/usr/bin" PKGLIBEXECDIR="/usr/lib/kata-containers" LIBEXECDIR="/usr/lib" +} + +package_kata-containers-image-git(){ + conflicts=('kata-containers-image') + provides=('kata-containers-image') + install -Dm644 -t "${pkgdir}/usr/share/kata-containers/" \ + ${srcdir}/opt/kata/share/kata-containers/kata-containers-image_clearlinux_${_pkgver}_agent_*.img \ + ${srcdir}/opt/kata/share/kata-containers/kata-containers-initrd_alpine_${_pkgver}_agent_*.initrd + cd "${pkgdir}/usr/share/kata-containers/" + ln -s kata-containers-image_clearlinux_${_pkgver}_agent_*.img kata-containers.img + ln -s kata-containers-initrd_alpine_${_pkgver}_agent_*.initrd kata-containers-initrd.img +} + +package_kata-linux-container-git(){ + conflicts=('kata-linux-container') + provides=('kata-linux-container') + install -Dm644 -t "${pkgdir}/usr/share/kata-containers/" \ + ${srcdir}/opt/kata/share/kata-containers/config-* \ + ${srcdir}/opt/kata/share/kata-containers/vmlinux-* \ + ${srcdir}/opt/kata/share/kata-containers/vmlinuz-* + cd "${pkgdir}/usr/share/kata-containers/" + ln -sf vmlinux-virtio-fs-* vmlinux-virtiofs.container + ln -sf vmlinuz-virtio-fs-* vmlinuz-virtiofs.container + # bash-specific behavior? + ln -s vmlinux-[0-9].[0-9]* vmlinux.container + ln -s vmlinuz-[0-9].[0-9]* vmlinuz.container +} diff --git a/kata-runtime.install b/kata-runtime.install new file mode 100644 index 000000000000..bf29b5a97eae --- /dev/null +++ b/kata-runtime.install @@ -0,0 +1,44 @@ +post_install() { + cat <<EOF + +To use kata-runtime with docker, +- add the following config to /etc/docker/daemon.json +""" +{ + "runtimes": { + "kata": { + "path": "/usr/bin/kata-runtime" + } + } +} +""" + and restart the docker daemon + +- run containers with the "--runtime=kata" options to use kata-runtime +""" +$ docker run --runtime=kata --rm busybox date +""" + +- to set Kata as the default runtime, add '"default-runtime": "kata"' to /etc/docker/daemon.json and restart the docker daemon +""" +{ + "default-runtime": "kata", + "runtimes": { + "kata": { + "path": "/usr/bin/kata-runtime" + }, + } +} + +""" + +- to run Kata with Firecracker, due to Firecracker's limitations, you have to set your Docker storage driver (ref: https://docs.docker.com/storage/storagedriver/select-storage-driver/ ) to 'devicemapper' in /etc/docker/daemon.json +""" +{ + "storage-driver": "devicemapper" +} +""" + +EOF + +} |