Support alternate image specification.

This commit is contained in:
Michael Lipp 2023-08-12 23:26:33 +02:00
parent 8acd98d703
commit e1ea5f473d
2 changed files with 21 additions and 3 deletions

View file

@ -20,7 +20,16 @@ spec:
description: >-
The image to use for the pod. Must run a runner.
type: object
oneOf:
- properties:
source: {}
path: {}
properties:
source:
description: >-
The image to use for the pod. Must run a "runner".
type: string
default: "ghcr.io/mnlipp/org.jdrupes.vmoperator.runner.qemu-arch:latest"
repository:
type: string
default: "ghcr.io"
@ -31,9 +40,12 @@ spec:
type: string
default: "latest"
pullPolicy:
description: >-
Image pull policy. One of Always, Never, IfNotPresent.
Defaults to Always if :latest tag is specified, or IfNotPresent
otherwise.
enum: [ "Always", "Never", "IfNotPresent" ]
type: string
enum: [ "IfNotPresent", "Always" ]
default: "IfNotPresent"
vm:
type: object
description: Defines the VM.

View file

@ -29,9 +29,15 @@ spec:
containers:
- name: ${ cr.metadata.name.asString }
<#assign image = cr.spec.image>
image: ${ image.repository.asString }/${ image.path.asString }:${ image.version.asString }
<#if image.repository?? && image.path??>
image: ${ image.repository.asString }/${ image.path.asString }<#if image.version??>:${ image.version.asString }</#if>
<#else>
image: ${ source.asString }
</#if>
resources: {}
<#if image.pullPolicy??>
imagePullPolicy: ${ image.pullPolicy.asString }
</#if>
volumeMounts:
# Not needed because pod is priviledged:
# - mountPath: /dev/kvm