From 4c1752d5e664e47dbf87f3e298b419c083dd2423 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Sat, 21 Dec 2024 15:44:01 +0100 Subject: [PATCH] Import opennebula-docker dockerfile --- opennebula-docker/Dockerfile_0.0.10 | 21 +++++++++++++++++++++ opennebula-docker/build.sh | 18 ++++++++++++++++++ opennebula-docker/entrypoint.sh | 14 ++++++++++++++ opennebula-docker/opennebula-virsh | 1 + opennebula-docker/virsh | 3 +++ 5 files changed, 57 insertions(+) create mode 100644 opennebula-docker/Dockerfile_0.0.10 create mode 100755 opennebula-docker/build.sh create mode 100755 opennebula-docker/entrypoint.sh create mode 100644 opennebula-docker/opennebula-virsh create mode 100755 opennebula-docker/virsh diff --git a/opennebula-docker/Dockerfile_0.0.10 b/opennebula-docker/Dockerfile_0.0.10 new file mode 100644 index 0000000..31ddcde --- /dev/null +++ b/opennebula-docker/Dockerfile_0.0.10 @@ -0,0 +1,21 @@ +FROM debian:bookworm + +#RUN apt-get update && apt-get -y dist-upgrade +RUN apt-get update +RUN echo deb http://downloads.opennebula.org/repo/6.0/Debian/10/ stable opennebula > /etc/apt/sources.list.d/opennebula.list +RUN apt-get install -y gnupg2 openssh-server strace sudo wget +RUN apt-get install -y ceph-common +RUN wget -O - https://downloads.opennebula.org/repo/repo.key | apt-key add - +RUN apt-get update && apt-get install -y --no-install-recommends opennebula-node-kvm + +RUN mv /usr/bin/virsh /usr/bin/virsh.orig +COPY virsh /usr/bin/virsh + +COPY opennebula-virsh /etc/sudoers.d +COPY entrypoint.sh / + +ENTRYPOINT ["/entrypoint.sh"] + +# Need to run: +# - /usr/sbin/libvirtd +# - sshd diff --git a/opennebula-docker/build.sh b/opennebula-docker/build.sh new file mode 100755 index 0000000..2ab151e --- /dev/null +++ b/opennebula-docker/build.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ $# -ne 1 ]; then + echo $1 version + echo $(git describe --always) + exit 1 +fi + +version=$1; shift + +set -e + +docker build -t harbor.k8s.ungleich.ch/ungleich-public/opennebula-docker:$version . + +echo "Press enter to push, ctr-c for abort" +read foo + +docker push harbor.k8s.ungleich.ch/ungleich-public/opennebula-docker:$version diff --git a/opennebula-docker/entrypoint.sh b/opennebula-docker/entrypoint.sh new file mode 100755 index 0000000..3097b73 --- /dev/null +++ b/opennebula-docker/entrypoint.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +if [ -f /config/authorized_keys ]; then + cp /config/authorized_keys ~oneadmin/.ssh/ + chown oneadmin:oneadmin -R ~oneadmin/.ssh/ + chmod og-rwx ~oneadmin/.ssh/ +fi + +/etc/init.d/ssh start + +# It dies from time to time, don't be confused about it +while true; do + /usr/sbin/libvirtd +done diff --git a/opennebula-docker/opennebula-virsh b/opennebula-docker/opennebula-virsh new file mode 100644 index 0000000..a42aaf3 --- /dev/null +++ b/opennebula-docker/opennebula-virsh @@ -0,0 +1 @@ +oneadmin ALL=(ALL:ALL) NOPASSWD: /usr/bin/virsh.orig * diff --git a/opennebula-docker/virsh b/opennebula-docker/virsh new file mode 100755 index 0000000..c437b27 --- /dev/null +++ b/opennebula-docker/virsh @@ -0,0 +1,3 @@ +#!/bin/sh +# without sudo, oneadmin cannot read capabilities +sudo virsh.orig "$@"