Create and use alpine based image.
Arch based is simply too big.
This commit is contained in:
parent
9305ebe927
commit
2d35738f5a
3 changed files with 57 additions and 5 deletions
|
|
@ -26,7 +26,7 @@ spec:
|
||||||
- required:
|
- required:
|
||||||
- repository
|
- repository
|
||||||
- path
|
- path
|
||||||
default: { source: "ghcr.io/mnlipp/org.jdrupes.vmoperator.runner.qemu-arch:latest" }
|
default: { source: "ghcr.io/mnlipp/org.jdrupes.vmoperator.runner.qemu-alpine:latest" }
|
||||||
properties:
|
properties:
|
||||||
source:
|
source:
|
||||||
description: >-
|
description: >-
|
||||||
|
|
|
||||||
|
|
@ -36,14 +36,14 @@ task buildArchImage(type: Exec) {
|
||||||
dependsOn installDist
|
dependsOn installDist
|
||||||
inputs.files 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch'
|
inputs.files 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch'
|
||||||
|
|
||||||
commandLine 'podman', 'build', '-t', "${project.name}:${project.version}",\
|
commandLine 'podman', 'build', '-t', "${project.name}-arch:${project.version}",\
|
||||||
'-f', 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch', '.'
|
'-f', 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch', '.'
|
||||||
}
|
}
|
||||||
|
|
||||||
task tagLatestArchImage(type: Exec) {
|
task tagLatestArchImage(type: Exec) {
|
||||||
dependsOn buildArchImage
|
dependsOn buildArchImage
|
||||||
|
|
||||||
commandLine 'podman', 'tag', "${project.name}:${project.version}",\
|
commandLine 'podman', 'tag', "${project.name}-arch:${project.version}",\
|
||||||
"${project.name}:latest"
|
"${project.name}:latest"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -56,7 +56,7 @@ task pushArchImage(type: Exec) {
|
||||||
dependsOn buildArchImage
|
dependsOn buildArchImage
|
||||||
|
|
||||||
commandLine 'podman', 'push', '--tls-verify=false', \
|
commandLine 'podman', 'push', '--tls-verify=false', \
|
||||||
"localhost/${project.name}:${project.version}", \
|
"localhost/${project.name}-arch:${project.version}", \
|
||||||
"${project.rootProject.properties['docker.registry']}" \
|
"${project.rootProject.properties['docker.registry']}" \
|
||||||
+ "/${project.name}-arch:${project.version}"
|
+ "/${project.name}-arch:${project.version}"
|
||||||
}
|
}
|
||||||
|
|
@ -65,13 +65,53 @@ task pushArchLatestImage(type: Exec) {
|
||||||
dependsOn buildLatestArchImage
|
dependsOn buildLatestArchImage
|
||||||
|
|
||||||
commandLine 'podman', 'push', '--tls-verify=false', \
|
commandLine 'podman', 'push', '--tls-verify=false', \
|
||||||
"localhost/${project.name}:${project.version}", \
|
"localhost/${project.name}-arch:${project.version}", \
|
||||||
"${project.rootProject.properties['docker.registry']}" \
|
"${project.rootProject.properties['docker.registry']}" \
|
||||||
+ "/${project.name}-arch:latest"
|
+ "/${project.name}-arch:latest"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task buildAlpineImage(type: Exec) {
|
||||||
|
dependsOn installDist
|
||||||
|
inputs.files 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.alpine'
|
||||||
|
|
||||||
|
commandLine 'podman', 'build', '-t', "${project.name}-alpine:${project.version}",\
|
||||||
|
'-f', 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.alpine', '.'
|
||||||
|
}
|
||||||
|
|
||||||
|
task tagLatestAlpineImage(type: Exec) {
|
||||||
|
dependsOn buildAlpineImage
|
||||||
|
|
||||||
|
commandLine 'podman', 'tag', "${project.name}-alpine:${project.version}",\
|
||||||
|
"${project.name}-alpine:latest"
|
||||||
|
}
|
||||||
|
|
||||||
|
task buildLatestAlpineImage {
|
||||||
|
dependsOn buildAlpineImage
|
||||||
|
dependsOn tagLatestAlpineImage
|
||||||
|
}
|
||||||
|
|
||||||
|
task pushAlpineImage(type: Exec) {
|
||||||
|
dependsOn buildAlpineImage
|
||||||
|
|
||||||
|
commandLine 'podman', 'push', '--tls-verify=false', \
|
||||||
|
"localhost/${project.name}-alpine:${project.version}", \
|
||||||
|
"${project.rootProject.properties['docker.registry']}" \
|
||||||
|
+ "/${project.name}-alpine:${project.version}"
|
||||||
|
}
|
||||||
|
|
||||||
|
task pushAlpineLatestImage(type: Exec) {
|
||||||
|
dependsOn buildLatestAlpineImage
|
||||||
|
|
||||||
|
commandLine 'podman', 'push', '--tls-verify=false', \
|
||||||
|
"localhost/${project.name}-alpine:${project.version}", \
|
||||||
|
"${project.rootProject.properties['docker.registry']}" \
|
||||||
|
+ "/${project.name}-alpine:latest"
|
||||||
|
}
|
||||||
|
|
||||||
task pushImages {
|
task pushImages {
|
||||||
dependsOn pushArchImage
|
dependsOn pushArchImage
|
||||||
dependsOn pushArchLatestImage
|
dependsOn pushArchLatestImage
|
||||||
|
dependsOn pushAlpineImage
|
||||||
|
dependsOn pushAlpineLatestImage
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
FROM docker.io/alpine
|
||||||
|
|
||||||
|
RUN apk update
|
||||||
|
|
||||||
|
RUN apk add qemu-system-x86_64 qemu-modules ovmf swtpm openjdk17
|
||||||
|
|
||||||
|
RUN mkdir -p /etc/qemu && echo "allow all" > /etc/qemu/bridge.conf
|
||||||
|
|
||||||
|
COPY build/install/vm-runner.qemu /opt/vmrunner
|
||||||
|
COPY templates/* /opt/vmrunner/templates/
|
||||||
|
|
||||||
|
CMD ["/opt/vmrunner/bin/vm-runner.qemu"]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue