From bda983f753d7771f2226107e93456c05664cb3d6 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sat, 22 Jun 2024 15:22:57 +0200 Subject: [PATCH 001/306] Update. --- deploy/vmop-deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/vmop-deployment.yaml b/deploy/vmop-deployment.yaml index 648cc39..b7467d4 100644 --- a/deploy/vmop-deployment.yaml +++ b/deploy/vmop-deployment.yaml @@ -20,7 +20,7 @@ spec: containers: - name: vm-operator image: >- - ghcr.io/mnlipp/org.jdrupes.vmoperator.manager:latest + ghcr.io/mnlipp/org.jdrupes.vmoperator.manager:3.1.1 volumeMounts: - name: config mountPath: /etc/opt/vmoperator From 28691b64439588de1201f460760b1428e2c19399 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sat, 22 Jun 2024 16:06:31 +0200 Subject: [PATCH 002/306] Make dependencies branch specific. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a8673aa..740fd8f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,7 @@ stages: extends: .any-job image: registry.mnl.de/org/jgrapes/jdk21-builder:v2 cache: - - key: dependencies + - key: dependencies-CI_COMMIT_BRANCH policy: pull-push paths: - .gradle From e830815400fbff6ab0e6558eaaf813b9ff41fd0f Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sat, 22 Jun 2024 23:03:28 +0200 Subject: [PATCH 003/306] Add dependency. --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 740fd8f..62a51fb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,6 +37,8 @@ build-jars: publish-images: stage: publish extends: .gradle-job + dependencies: + - build-jars script: - ./gradlew -Pdocker.registry=$CI_REGISTRY_IMAGE pushImage From 12ca211fdba91a625cbc69402672864cef8cb1e2 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sun, 23 Jun 2024 11:25:19 +0200 Subject: [PATCH 004/306] Fix env reference. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 62a51fb..13b12fd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,7 @@ stages: extends: .any-job image: registry.mnl.de/org/jgrapes/jdk21-builder:v2 cache: - - key: dependencies-CI_COMMIT_BRANCH + - key: dependencies-${CI_COMMIT_BRANCH} policy: pull-push paths: - .gradle From 7df0cc386ccdc0960e55ca5782bfbe98b722685c Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sun, 23 Jun 2024 12:52:18 +0200 Subject: [PATCH 005/306] Fix image building. --- .github/workflows/release.yml | 2 +- .gitlab-ci.yml | 2 +- org.jdrupes.vmoperator.manager/build.gradle | 35 +++++---- .../build.gradle | 75 ++++++++++--------- spice-squid/build.gradle | 56 ++++++-------- 5 files changed, 86 insertions(+), 84 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 161b7c8..beab0c4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,4 +37,4 @@ jobs: java-version: '21' distribution: 'temurin' - name: Push with Gradle - run: ./gradlew -Pwebsite.push.token=${{ secrets.WEBSITE_PUSH_TOKEN }} -Pdocker.registry=ghcr.io/${{ github.actor }} stage pushImages + run: ./gradlew -Pwebsite.push.token=${{ secrets.WEBSITE_PUSH_TOKEN }} -Pdocker.registry=ghcr.io/${{ github.actor }} stage publishImage diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 13b12fd..04acdec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -40,7 +40,7 @@ publish-images: dependencies: - build-jars script: - - ./gradlew -Pdocker.registry=$CI_REGISTRY_IMAGE pushImage + - ./gradlew -Pdocker.registry=$CI_REGISTRY_IMAGE publishImage .pages-job: extends: .any-job diff --git a/org.jdrupes.vmoperator.manager/build.gradle b/org.jdrupes.vmoperator.manager/build.gradle index a956a00..45d9494 100644 --- a/org.jdrupes.vmoperator.manager/build.gradle +++ b/org.jdrupes.vmoperator.manager/build.gradle @@ -46,6 +46,7 @@ application { } project.ext.gitBranch = grgit.branch.current.name.replace('/', '-') +def registry = "${project.rootProject.properties['docker.registry']}" task buildImage(type: Exec) { dependsOn installDist @@ -61,20 +62,23 @@ task pushImage(type: Exec) { // Don't push without testing first dependsOn test - def registry = "${project.rootProject.properties['docker.registry']}" commandLine 'podman', 'push', '--tls-verify=false', \ - "localhost/${project.name}:${project.gitBranch}", \ + "${project.name}:${project.gitBranch}", \ "${registry}/${project.name}:${project.gitBranch}" - - if (!project.version.contains("SNAPSHOT")) { - commandLine 'podman', 'tag', \ - "${registry}/${project.name}:${project.gitBranch}",\ - "${registry}/${project.name}:${project.version}" - } +} + +task tagWithVersion(type: Exec) { + dependsOn pushImage + + enabled = !project.version.contains("SNAPSHOT") + + commandLine 'podman', 'push', \ + "${project.name}:${project.gitBranch}",\ + "${registry}/${project.name}:${project.version}" } task tagAsLatest(type: Exec) { - dependsOn pushImage + dependsOn tagWithVersion enabled = !project.version.contains("SNAPSHOT") && !project.version.contains("alpha") \ @@ -83,17 +87,22 @@ task tagAsLatest(type: Exec) { && project.rootProject.properties['docker.registry'] \ == project.rootProject.properties['docker.testRegistry'] - def registry = "${project.rootProject.properties['docker.registry']}" - commandLine 'podman', 'tag', \ - "${registry}/${project.name}:${project.version}",\ + commandLine 'podman', 'push', \ + "${project.name}:${project.gitBranch}",\ "${registry}/${project.name}:latest" } +task publishImage { + dependsOn pushImage + dependsOn tagWithVersion + dependsOn tagAsLatest +} + task pushForTest(type: Exec) { dependsOn buildImage commandLine 'podman', 'push', '--tls-verify=false', \ - "localhost/${project.name}:${project.gitBranch}", \ + "${project.name}:${project.gitBranch}", \ "${project.rootProject.properties['docker.testRegistry']}" \ + "/${project.name}:test" } diff --git a/org.jdrupes.vmoperator.runner.qemu/build.gradle b/org.jdrupes.vmoperator.runner.qemu/build.gradle index 00bf7ea..8cea1ae 100644 --- a/org.jdrupes.vmoperator.runner.qemu/build.gradle +++ b/org.jdrupes.vmoperator.runner.qemu/build.gradle @@ -32,8 +32,9 @@ application { } project.ext.gitBranch = grgit.branch.current.name.replace('/', '-') +def registry = "${project.rootProject.properties['docker.registry']}" -task buildArchImage(type: Exec) { +task buildImageArch(type: Exec) { dependsOn installDist inputs.files 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch' @@ -42,23 +43,26 @@ task buildArchImage(type: Exec) { '-f', 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch', '.' } -task pushArchImage(type: Exec) { - dependsOn buildArchImage +task pushImageArch(type: Exec) { + dependsOn buildImageArch - def registry = "${project.rootProject.properties['docker.registry']}" commandLine 'podman', 'push', '--tls-verify=false', \ - "localhost/${project.name}-arch:${project.gitBranch}", \ + "${project.name}-arch:${project.gitBranch}", \ "${registry}/${project.name}-arch:${project.gitBranch}" - - if (!project.version.contains("SNAPSHOT")) { - commandLine 'podman', 'tag', \ - "${registry}/${project.name}-arch:${project.gitBranch}",\ - "${registry}/${project.name}-arch:${project.version}" - } +} + +task tagWithVersionArch(type: Exec) { + dependsOn pushImageArch + + enabled = !project.version.contains("SNAPSHOT") + + commandLine 'podman', 'push', \ + "${project.name}-arch:${project.gitBranch}",\ + "${registry}/${project.name}-arch:${project.version}" } task tagAsLatestArch(type: Exec) { - dependsOn pushArchImage + dependsOn tagWithVersionArch enabled = !project.version.contains("SNAPSHOT") && !project.version.contains("alpha") \ @@ -67,13 +71,12 @@ task tagAsLatestArch(type: Exec) { && project.rootProject.properties['docker.registry'] \ == project.rootProject.properties['docker.testRegistry'] - def registry = "${project.rootProject.properties['docker.registry']}" - commandLine 'podman', 'tag', \ - "${registry}/${project.name}-arch:${project.version}",\ + commandLine 'podman', 'push', \ + "${project.name}-arch:${project.gitBranch}",\ "${registry}/${project.name}-arch:latest" } -task buildAlpineImage(type: Exec) { +task buildImageAlpine(type: Exec) { dependsOn installDist inputs.files 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.alpine' @@ -82,23 +85,26 @@ task buildAlpineImage(type: Exec) { '-f', 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.alpine', '.' } -task pushAlpineImage(type: Exec) { - dependsOn buildAlpineImage +task pushImageAlpine(type: Exec) { + dependsOn buildImageAlpine - def registry = "${project.rootProject.properties['docker.registry']}" commandLine 'podman', 'push', '--tls-verify=false', \ "localhost/${project.name}-alpine:${project.gitBranch}", \ "${registry}/${project.name}-alpine:${project.gitBranch}" - - if (!project.version.contains("SNAPSHOT")) { - commandLine 'podman', 'tag', \ - "${registry}/${project.name}-alpine:${project.gitBranch}",\ - "${registry}/${project.name}-alpine:${project.version}" - } +} + +task tagWithVersionAlpine(type: Exec) { + dependsOn pushImageAlpine + + enabled = !project.version.contains("SNAPSHOT") + + commandLine 'podman', 'push', \ + "${project.name}-alpine:${project.gitBranch}",\ + "${registry}/${project.name}-alpine:${project.version}" } task tagAsLatestAlpine(type: Exec) { - dependsOn pushAlpineImage + dependsOn tagWithVersionAlpine enabled = !project.version.contains("SNAPSHOT") && !project.version.contains("alpha") \ @@ -107,19 +113,16 @@ task tagAsLatestAlpine(type: Exec) { && project.rootProject.properties['docker.registry'] \ == project.rootProject.properties['docker.testRegistry'] - def registry = "${project.rootProject.properties['docker.registry']}" - commandLine 'podman', 'tag', \ - "${registry}/${project.name}-alpine:${project.version}",\ + commandLine 'podman', 'push', \ + "${project.name}-alpine:${project.gitBranch}",\ "${registry}/${project.name}-alpine:latest" } -task pushImage { - dependsOn pushArchImage - dependsOn pushAlpineImage -} - -task tagAsLatest { +task publishImage { + dependsOn pushImageArch + dependsOn tagWithVersionArch dependsOn tagAsLatestArch + dependsOn pushImageAlpine + dependsOn tagWithVersionAlpine dependsOn tagAsLatestAlpine } - diff --git a/spice-squid/build.gradle b/spice-squid/build.gradle index 2cb7183..e7ccd00 100644 --- a/spice-squid/build.gradle +++ b/spice-squid/build.gradle @@ -5,44 +5,36 @@ plugins { dependencies { } +project.ext.gitBranch = grgit.branch.current.name.replace('/', '-') +def registry = "${project.rootProject.properties['docker.registry']}" + task buildImage(type: Exec) { inputs.files 'Containerfile' commandLine 'podman', 'build', '--pull', - '-t', "${project.name}:${project.version}",\ + '-t', "${project.name}:${project.gitBranch}",\ '-f', 'Containerfile', '.' } -task tagLatestImage(type: Exec) { - dependsOn buildImage - - enabled = !project.version.contains("SNAPSHOT") - && !project.version.contains("alpha") \ - && !project.version.contains("beta") \ - || project.rootProject.properties['docker.testRegistry'] \ - && project.rootProject.properties['docker.registry'] \ - == project.rootProject.properties['docker.testRegistry'] - - commandLine 'podman', 'tag', "${project.name}:${project.version}",\ - "${project.name}:latest" -} - -task buildLatestImage { - dependsOn buildImage - dependsOn tagLatestImage -} - task pushImage(type: Exec) { dependsOn buildImage commandLine 'podman', 'push', '--tls-verify=false', \ - "localhost/${project.name}:${project.version}", \ - "${project.rootProject.properties['docker.registry']}" \ - + "/${project.name}:${project.version}" + "${project.name}:${project.gitBranch}", \ + "${registry}/${project.name}:${project.gitBranch}" +} +task tagWithVersion(type: Exec) { + dependsOn pushImage + + enabled = !project.version.contains("SNAPSHOT") + + commandLine 'podman', 'push', \ + "${project.name}:${project.gitBranch}",\ + "${registry}/${project.name}:${project.version}" } -task pushLatestImage(type: Exec) { - dependsOn buildLatestImage +task tagAsLatest(type: Exec) { + dependsOn tagWithVersion enabled = !project.version.contains("SNAPSHOT") && !project.version.contains("alpha") \ @@ -51,18 +43,16 @@ task pushLatestImage(type: Exec) { && project.rootProject.properties['docker.registry'] \ == project.rootProject.properties['docker.testRegistry'] - commandLine 'podman', 'push', '--tls-verify=false', \ - "localhost/${project.name}:${project.version}", \ - "${project.rootProject.properties['docker.registry']}" \ - + "/${project.name}:latest" + commandLine 'podman', 'push', \ + "${project.name}:${project.gitBranch}",\ + "${registry}/${project.name}:latest" } -task pushImages { - // Don't push without testing first +task publishImage { dependsOn pushImage - dependsOn pushLatestImage + dependsOn tagWithVersion + dependsOn tagAsLatest } - test { enabled = project.hasProperty("k8s.testCluster") From 8b83a0cbc8bb5001ea3755f6dc3e5d5ed4886d01 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sun, 23 Jun 2024 17:02:44 +0200 Subject: [PATCH 006/306] Make sure to switch to branch. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 04acdec..84d99d7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,7 +24,7 @@ stages: - "*/build" before_script: - echo -n $CI_REGISTRY_PASSWORD | podman login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY - - git switch $CI_COMMIT_REF_NAME + - git switch $CI_COMMIT_BRANCH - git pull - git reset --hard $CI_COMMIT_SHA From e994fa154333af1d27f951e339d77ce2a6fcf690 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sun, 23 Jun 2024 21:41:00 +0200 Subject: [PATCH 007/306] Another attempt to find the branch. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 84d99d7..9a07e7c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,7 +24,7 @@ stages: - "*/build" before_script: - echo -n $CI_REGISTRY_PASSWORD | podman login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY - - git switch $CI_COMMIT_BRANCH + - git switch $(git branch -r --contains $CI_COMMIT_SHA | sed -e 's#[^/]*/##') - git pull - git reset --hard $CI_COMMIT_SHA From 8a434d8410e096d6efeee6b4dc083003224e14a7 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Mon, 24 Jun 2024 10:04:09 +0200 Subject: [PATCH 008/306] Use newest branch if we have multiple matches. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9a07e7c..7dff899 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,7 +24,7 @@ stages: - "*/build" before_script: - echo -n $CI_REGISTRY_PASSWORD | podman login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY - - git switch $(git branch -r --contains $CI_COMMIT_SHA | sed -e 's#[^/]*/##') + - git switch $(git branch -r --sort="authordate" --contains $CI_COMMIT_SHA | head -1 | sed -e 's#[^/]*/##') - git pull - git reset --hard $CI_COMMIT_SHA From fc29786afe6d0234e08350597563604fa6fc3316 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Mon, 24 Jun 2024 11:18:35 +0200 Subject: [PATCH 009/306] Fix links. --- webpages/vm-operator/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/webpages/vm-operator/index.md b/webpages/vm-operator/index.md index 04134d5..232a9ce 100644 --- a/webpages/vm-operator/index.md +++ b/webpages/vm-operator/index.md @@ -11,15 +11,15 @@ based VMs in Kubernetes pods. The image used for the VM pods combines Qemu and a control program for starting and managing the Qemu process. This application is called -"[the runner](runner.md)". +"[the runner](runner.html)". While you can deploy a runner manually (or with the help of some -helm templates), the preferred way is to deploy "[the manager](manager.md)" +helm templates), the preferred way is to deploy "[the manager](manager.html)" application which acts as a Kubernetes operator for runners and thus the VMs. If you just want to try out things, you can skip the remainder of this -page and proceed to "[the manager](manager.md)". +page and proceed to "[the manager](manager.html)". ## Motivation The project was triggered by a remark in the discussion about RedHat From 1fe7960d24cc1397fc8147d1317f3a70cb516247 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Wed, 26 Jun 2024 14:14:45 +0200 Subject: [PATCH 010/306] Update. --- webpages/vm-operator/favicon.svg | 196 +++++++++++++++++++++++-------- 1 file changed, 146 insertions(+), 50 deletions(-) diff --git a/webpages/vm-operator/favicon.svg b/webpages/vm-operator/favicon.svg index e216c44..c8616d5 100644 --- a/webpages/vm-operator/favicon.svg +++ b/webpages/vm-operator/favicon.svg @@ -2,23 +2,20 @@ + inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" + sodipodi:docname="VM-Operator.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + inkscape:window-y="32" + inkscape:window-maximized="1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:showpageshadow="2" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" /> @@ -51,7 +51,6 @@ image/svg+xml - @@ -59,30 +58,127 @@ inkscape:label="Ebene 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-175.34341,-117.71255)"> - M - L + transform="translate(799.83239,410.74206)"> + + + + + + + + + + + + + + + + + + + + + + + + + + From 6852c575ae4a08f42da68f99f550f6726da73900 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Wed, 26 Jun 2024 21:43:28 +0200 Subject: [PATCH 011/306] Fix hover. --- .../org/jdrupes/vmoperator/vmviewer/browser/VmViewer-style.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/org.jdrupes.vmoperator.vmviewer/src/org/jdrupes/vmoperator/vmviewer/browser/VmViewer-style.scss b/org.jdrupes.vmoperator.vmviewer/src/org/jdrupes/vmoperator/vmviewer/browser/VmViewer-style.scss index 6d0654f..3ee432a 100644 --- a/org.jdrupes.vmoperator.vmviewer/src/org/jdrupes/vmoperator/vmviewer/browser/VmViewer-style.scss +++ b/org.jdrupes.vmoperator.vmviewer/src/org/jdrupes/vmoperator/vmviewer/browser/VmViewer-style.scss @@ -72,6 +72,7 @@ position: absolute; animation: spin 2s linear infinite; z-index: 100; + pointer-events: none; } } From b74de67c6d6f61daa60d30cc4b4853288228bc10 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Thu, 27 Jun 2024 14:56:06 +0200 Subject: [PATCH 012/306] Update icon. --- webpages/vm-operator/VM-Operator.svg | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/webpages/vm-operator/VM-Operator.svg b/webpages/vm-operator/VM-Operator.svg index c8616d5..30c1ed2 100644 --- a/webpages/vm-operator/VM-Operator.svg +++ b/webpages/vm-operator/VM-Operator.svg @@ -7,7 +7,7 @@ viewBox="0 0 331.50461 323.22329" id="svg2" version="1.1" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" + inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" sodipodi:docname="VM-Operator.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" @@ -25,9 +25,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.7" - inkscape:cx="245" - inkscape:cy="145.71429" + inkscape:zoom="1.4" + inkscape:cx="190.35714" + inkscape:cy="178.57143" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" @@ -171,12 +171,12 @@ cy="-109.05605" r="9.2055216" /> + transform="matrix(0.32800241,0,0,0.32572486,-723.34527,-233.01684)"> From e3da87d94fd5415f2c83f5ae0f3e334da6689487 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Thu, 27 Jun 2024 16:50:49 +0200 Subject: [PATCH 013/306] Version tag may only be applied when all projects are "clean". --- build.gradle | 3 ++- org.jdrupes.vmoperator.manager/build.gradle | 9 +++++---- org.jdrupes.vmoperator.runner.qemu/build.gradle | 17 +++++++++-------- spice-squid/build.gradle | 9 +++++---- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/build.gradle b/build.gradle index d0ebc71..df173d8 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,8 @@ buildscript { plugins { id 'org.ajoberstar.grgit' version '5.2.0' apply false id 'org.ajoberstar.git-publish' version '4.2.0' apply false - id 'pl.allegro.tech.build.axion-release' version '1.15.0' apply false + id 'pl.allegro.tech.build.axion-release' version '1.17.2' apply false + id 'org.jdrupes.vmoperator.versioning-conventions' id 'org.jdrupes.vmoperator.java-doc-conventions' id 'eclipse' id "com.github.node-gradle.node" version "7.0.1" diff --git a/org.jdrupes.vmoperator.manager/build.gradle b/org.jdrupes.vmoperator.manager/build.gradle index 45d9494..202c6f8 100644 --- a/org.jdrupes.vmoperator.manager/build.gradle +++ b/org.jdrupes.vmoperator.manager/build.gradle @@ -47,6 +47,7 @@ application { project.ext.gitBranch = grgit.branch.current.name.replace('/', '-') def registry = "${project.rootProject.properties['docker.registry']}" +def rootVersion = rootProject.version task buildImage(type: Exec) { dependsOn installDist @@ -70,7 +71,7 @@ task pushImage(type: Exec) { task tagWithVersion(type: Exec) { dependsOn pushImage - enabled = !project.version.contains("SNAPSHOT") + enabled = !rootVersion.contains("SNAPSHOT") commandLine 'podman', 'push', \ "${project.name}:${project.gitBranch}",\ @@ -80,9 +81,9 @@ task tagWithVersion(type: Exec) { task tagAsLatest(type: Exec) { dependsOn tagWithVersion - enabled = !project.version.contains("SNAPSHOT") - && !project.version.contains("alpha") \ - && !project.version.contains("beta") \ + enabled = !rootVersion.contains("SNAPSHOT") + && !rootVersion.contains("alpha") \ + && !rootVersion.contains("beta") \ || project.rootProject.properties['docker.testRegistry'] \ && project.rootProject.properties['docker.registry'] \ == project.rootProject.properties['docker.testRegistry'] diff --git a/org.jdrupes.vmoperator.runner.qemu/build.gradle b/org.jdrupes.vmoperator.runner.qemu/build.gradle index 8cea1ae..b2cd8d4 100644 --- a/org.jdrupes.vmoperator.runner.qemu/build.gradle +++ b/org.jdrupes.vmoperator.runner.qemu/build.gradle @@ -33,6 +33,7 @@ application { project.ext.gitBranch = grgit.branch.current.name.replace('/', '-') def registry = "${project.rootProject.properties['docker.registry']}" +def rootVersion = rootProject.version task buildImageArch(type: Exec) { dependsOn installDist @@ -54,7 +55,7 @@ task pushImageArch(type: Exec) { task tagWithVersionArch(type: Exec) { dependsOn pushImageArch - enabled = !project.version.contains("SNAPSHOT") + enabled = !rootVersion.contains("SNAPSHOT") commandLine 'podman', 'push', \ "${project.name}-arch:${project.gitBranch}",\ @@ -64,9 +65,9 @@ task tagWithVersionArch(type: Exec) { task tagAsLatestArch(type: Exec) { dependsOn tagWithVersionArch - enabled = !project.version.contains("SNAPSHOT") - && !project.version.contains("alpha") \ - && !project.version.contains("beta") \ + enabled = !rootVersion.contains("SNAPSHOT") + && !rootVersion.contains("alpha") \ + && !rootVersion.contains("beta") \ || project.rootProject.properties['docker.testRegistry'] \ && project.rootProject.properties['docker.registry'] \ == project.rootProject.properties['docker.testRegistry'] @@ -96,7 +97,7 @@ task pushImageAlpine(type: Exec) { task tagWithVersionAlpine(type: Exec) { dependsOn pushImageAlpine - enabled = !project.version.contains("SNAPSHOT") + enabled = !rootVersion.contains("SNAPSHOT") commandLine 'podman', 'push', \ "${project.name}-alpine:${project.gitBranch}",\ @@ -106,9 +107,9 @@ task tagWithVersionAlpine(type: Exec) { task tagAsLatestAlpine(type: Exec) { dependsOn tagWithVersionAlpine - enabled = !project.version.contains("SNAPSHOT") - && !project.version.contains("alpha") \ - && !project.version.contains("beta") \ + enabled = !rootVersion.contains("SNAPSHOT") + && !rootVersion.contains("alpha") \ + && !rootVersion.contains("beta") \ || project.rootProject.properties['docker.testRegistry'] \ && project.rootProject.properties['docker.registry'] \ == project.rootProject.properties['docker.testRegistry'] diff --git a/spice-squid/build.gradle b/spice-squid/build.gradle index e7ccd00..5278098 100644 --- a/spice-squid/build.gradle +++ b/spice-squid/build.gradle @@ -7,6 +7,7 @@ dependencies { project.ext.gitBranch = grgit.branch.current.name.replace('/', '-') def registry = "${project.rootProject.properties['docker.registry']}" +def rootVersion = rootProject.version task buildImage(type: Exec) { inputs.files 'Containerfile' @@ -26,7 +27,7 @@ task pushImage(type: Exec) { task tagWithVersion(type: Exec) { dependsOn pushImage - enabled = !project.version.contains("SNAPSHOT") + enabled = !rootVersion.contains("SNAPSHOT") commandLine 'podman', 'push', \ "${project.name}:${project.gitBranch}",\ @@ -36,9 +37,9 @@ task tagWithVersion(type: Exec) { task tagAsLatest(type: Exec) { dependsOn tagWithVersion - enabled = !project.version.contains("SNAPSHOT") - && !project.version.contains("alpha") \ - && !project.version.contains("beta") \ + enabled = !rootVersion.contains("SNAPSHOT") + && !rootVersion.contains("alpha") \ + && !rootVersion.contains("beta") \ || project.rootProject.properties['docker.testRegistry'] \ && project.rootProject.properties['docker.registry'] \ == project.rootProject.properties['docker.testRegistry'] From 63e77c0a8afaf5e00702e35eabf5b77767485199 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sun, 30 Jun 2024 15:09:20 +0200 Subject: [PATCH 014/306] Fix HTML error. --- webpages/_layouts/vm-operator.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpages/_layouts/vm-operator.html b/webpages/_layouts/vm-operator.html index dfe4220..282dde0 100644 --- a/webpages/_layouts/vm-operator.html +++ b/webpages/_layouts/vm-operator.html @@ -44,7 +44,7 @@

Upgrading

Javadoc

From 88026669442533898c439422e1e5c5efab190c1e Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Tue, 2 Jul 2024 13:39:20 +0200 Subject: [PATCH 015/306] Fix link. --- webpages/_layouts/vm-operator.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpages/_layouts/vm-operator.html b/webpages/_layouts/vm-operator.html index 282dde0..d4b4f0c 100644 --- a/webpages/_layouts/vm-operator.html +++ b/webpages/_layouts/vm-operator.html @@ -18,7 +18,7 @@
-

VM-Operator

+

VM-Operator

By Michael N. Lipp

Mastodon Follow

From 9a5e1800ffff1bee8e84636b7b89558b5cd4e407 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Thu, 4 Jul 2024 09:38:02 +0200 Subject: [PATCH 016/306] Remove duplicate h1. --- webpages/_layouts/vm-operator.html | 4 ++-- webpages/stylesheets/styles.css | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/webpages/_layouts/vm-operator.html b/webpages/_layouts/vm-operator.html index d4b4f0c..b6172f3 100644 --- a/webpages/_layouts/vm-operator.html +++ b/webpages/_layouts/vm-operator.html @@ -18,8 +18,8 @@
diff --git a/webpages/stylesheets/styles.css b/webpages/stylesheets/styles.css index 748ffcb..8d6b803 100644 --- a/webpages/stylesheets/styles.css +++ b/webpages/stylesheets/styles.css @@ -5,7 +5,7 @@ body { color:#595959; } -h1, h2, h3, h4, h5, h6 { +h1, h2, h3, h4, h5, h6, .index-title, .index-subtitle { color:#222; margin:0 0 20px; } @@ -14,11 +14,11 @@ p, ul, ol, table, pre, dl { margin:0 0 20px; } -h1, h2, h3 { +h1, h2, h3, .index-title, .index-subtitle { line-height:1.1; } -h1 { +h1, .index-title { font-size:28px; font-weight: 500; } @@ -28,11 +28,15 @@ h2 { font-weight: 500; } -h3, h4, h5, h6 { +h3, h4, h5, h6, .index-subtitle { color:#494949; font-weight: 500; } +.index-subtitle { + font-size: 1.17em; +} + a { color:#39c; text-decoration:none; From 299bded9de8974a79aeb25125f2d0394bb4523e2 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Sat, 6 Jul 2024 10:35:26 +0200 Subject: [PATCH 017/306] Add backlink. --- overview.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/overview.md b/overview.md index 0677d51..447a33c 100644 --- a/overview.md +++ b/overview.md @@ -3,5 +3,8 @@ A Kubernetes operator for running VMs as pods. VM-Operator =========== -The VM-operator is built on the [JGrapes](https://mnlipp.github.io/jgrapes/) -event driven framework. +The VM-operator enables you to easily run Qemu based VMs as pods +in Kubernetes. It is built on the +[JGrapes](https://mnlipp.github.io/jgrapes/) event driven framework. + +See the project's [home page](https://jdrupes.org/vm-operator/) for details. From f45c5698d1d0b89217b5e90c1b02fc9e4a87c3cc Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Tue, 9 Jul 2024 11:21:14 +0200 Subject: [PATCH 018/306] Update. --- README.md | 4 +- webpages/vm-operator/index-pic.svg | 7329 ++++++++++++++++++++++++++++ webpages/vm-operator/index.md | 6 +- 3 files changed, 7335 insertions(+), 4 deletions(-) create mode 100644 webpages/vm-operator/index-pic.svg diff --git a/README.md b/README.md index 52a2fa8..9118f9d 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ # Run Qemu in Kubernetes Pods -The goal of this project is to provide the means for running Qemu -based VMs in Kubernetes pods. +The goal of this project is to provide easy to use and flexible components +for running Qemu based VMs in Kubernetes pods. See the [project's home page](https://jdrupes.org/vm-operator/) for details. diff --git a/webpages/vm-operator/index-pic.svg b/webpages/vm-operator/index-pic.svg new file mode 100644 index 0000000..e912900 --- /dev/null +++ b/webpages/vm-operator/index-pic.svg @@ -0,0 +1,7329 @@ + + + + diff --git a/webpages/vm-operator/index.md b/webpages/vm-operator/index.md index 232a9ce..b5e18ca 100644 --- a/webpages/vm-operator/index.md +++ b/webpages/vm-operator/index.md @@ -6,8 +6,10 @@ layout: vm-operator # Welcome to VM-Operator -The goal of this project is to provide the means for running Qemu -based VMs in Kubernetes pods. +![Overview picture](index-pic.svg) + +The goal of this project is to provide easy to use and flexible components +for running Qemu based VMs in Kubernetes pods. The image used for the VM pods combines Qemu and a control program for starting and managing the Qemu process. This application is called From 8f8a38771ec9d1cac0b1a0d3013f6a8b71430f60 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Tue, 9 Jul 2024 17:09:52 +0200 Subject: [PATCH 019/306] Use longer titles. --- webpages/vm-operator/admin-gui.md | 2 +- webpages/vm-operator/manager.md | 2 +- webpages/vm-operator/runner.md | 2 +- webpages/vm-operator/user-gui.md | 2 +- webpages/vm-operator/webgui.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/webpages/vm-operator/admin-gui.md b/webpages/vm-operator/admin-gui.md index 15a6dec..f7ce987 100644 --- a/webpages/vm-operator/admin-gui.md +++ b/webpages/vm-operator/admin-gui.md @@ -1,5 +1,5 @@ --- -title: VM-Operator Web-GUI for Admins +title: VM-Operator: Administrator View — Provides an overview of running VMs layout: vm-operator --- diff --git a/webpages/vm-operator/manager.md b/webpages/vm-operator/manager.md index 4613201..7f3f8e3 100644 --- a/webpages/vm-operator/manager.md +++ b/webpages/vm-operator/manager.md @@ -1,5 +1,5 @@ --- -title: VM-Operator Manager +title: VM-Operator: The Manager — Reconciles CRDs and provides a Web-GUI layout: vm-operator --- diff --git a/webpages/vm-operator/runner.md b/webpages/vm-operator/runner.md index d580530..260007b 100644 --- a/webpages/vm-operator/runner.md +++ b/webpages/vm-operator/runner.md @@ -1,5 +1,5 @@ --- -title: VM-Operator Runner +title: VM-Operator: The Runner — Starts and monitors a VM layout: vm-operator --- diff --git a/webpages/vm-operator/user-gui.md b/webpages/vm-operator/user-gui.md index 394c28f..a084e3b 100644 --- a/webpages/vm-operator/user-gui.md +++ b/webpages/vm-operator/user-gui.md @@ -1,5 +1,5 @@ --- -title: VM-Operator Web-GUI for Users +title: VM-Operator: User View — Allows users to manage their own VMs layout: vm-operator --- diff --git a/webpages/vm-operator/webgui.md b/webpages/vm-operator/webgui.md index 38b9faa..9621101 100644 --- a/webpages/vm-operator/webgui.md +++ b/webpages/vm-operator/webgui.md @@ -1,5 +1,5 @@ --- -title: VM-Operator Web-GUI +title: VM-Operator: Web-GUI — Provides easy access to VM management layout: vm-operator --- From fcf0c1d1af45889c66f10c54639969a90a613c1e Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Tue, 9 Jul 2024 17:19:15 +0200 Subject: [PATCH 020/306] Fix syntax. --- webpages/vm-operator/admin-gui.md | 2 +- webpages/vm-operator/controller.md | 2 +- webpages/vm-operator/manager.md | 2 +- webpages/vm-operator/runner.md | 2 +- webpages/vm-operator/user-gui.md | 2 +- webpages/vm-operator/webgui.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/webpages/vm-operator/admin-gui.md b/webpages/vm-operator/admin-gui.md index f7ce987..4bfa3d3 100644 --- a/webpages/vm-operator/admin-gui.md +++ b/webpages/vm-operator/admin-gui.md @@ -1,5 +1,5 @@ --- -title: VM-Operator: Administrator View — Provides an overview of running VMs +title: "VM-Operator: Administrator View — Provides an overview of running VMs" layout: vm-operator --- diff --git a/webpages/vm-operator/controller.md b/webpages/vm-operator/controller.md index 2a00b16..ce94228 100644 --- a/webpages/vm-operator/controller.md +++ b/webpages/vm-operator/controller.md @@ -1,5 +1,5 @@ --- -title: VM-Operator Controller +title: "VM-Operator Controller — Reconciles the VM CRs" layout: vm-operator --- diff --git a/webpages/vm-operator/manager.md b/webpages/vm-operator/manager.md index 7f3f8e3..a4ed202 100644 --- a/webpages/vm-operator/manager.md +++ b/webpages/vm-operator/manager.md @@ -1,5 +1,5 @@ --- -title: VM-Operator: The Manager — Reconciles CRDs and provides a Web-GUI +title: "VM-Operator: The Manager — Reconciles CRDs and provides a Web-GUI" layout: vm-operator --- diff --git a/webpages/vm-operator/runner.md b/webpages/vm-operator/runner.md index 260007b..319a5dc 100644 --- a/webpages/vm-operator/runner.md +++ b/webpages/vm-operator/runner.md @@ -1,5 +1,5 @@ --- -title: VM-Operator: The Runner — Starts and monitors a VM +title: "VM-Operator: The Runner — Starts and monitors a VM" layout: vm-operator --- diff --git a/webpages/vm-operator/user-gui.md b/webpages/vm-operator/user-gui.md index a084e3b..03e7bdf 100644 --- a/webpages/vm-operator/user-gui.md +++ b/webpages/vm-operator/user-gui.md @@ -1,5 +1,5 @@ --- -title: VM-Operator: User View — Allows users to manage their own VMs +title: "VM-Operator: User View — Allows users to manage their own VMs" layout: vm-operator --- diff --git a/webpages/vm-operator/webgui.md b/webpages/vm-operator/webgui.md index 9621101..f354770 100644 --- a/webpages/vm-operator/webgui.md +++ b/webpages/vm-operator/webgui.md @@ -1,5 +1,5 @@ --- -title: VM-Operator: Web-GUI — Provides easy access to VM management +title: "VM-Operator: Web-GUI — Provides easy access to VM management" layout: vm-operator --- From e3fc4747e490a375d0c22990f36251ea3f61dcb2 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Tue, 9 Jul 2024 17:31:58 +0200 Subject: [PATCH 021/306] Minor edits. --- webpages/vm-operator/controller.md | 2 +- webpages/vm-operator/manager.md | 2 +- webpages/vm-operator/upgrading.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/webpages/vm-operator/controller.md b/webpages/vm-operator/controller.md index ce94228..a24943d 100644 --- a/webpages/vm-operator/controller.md +++ b/webpages/vm-operator/controller.md @@ -1,5 +1,5 @@ --- -title: "VM-Operator Controller — Reconciles the VM CRs" +title: "VM-Operator: Controller — Reconciles the VM CRs" layout: vm-operator --- diff --git a/webpages/vm-operator/manager.md b/webpages/vm-operator/manager.md index a4ed202..e4e5442 100644 --- a/webpages/vm-operator/manager.md +++ b/webpages/vm-operator/manager.md @@ -1,5 +1,5 @@ --- -title: "VM-Operator: The Manager — Reconciles CRDs and provides a Web-GUI" +title: "VM-Operator: The Manager — Provides the controller and a Web-GUI" layout: vm-operator --- diff --git a/webpages/vm-operator/upgrading.md b/webpages/vm-operator/upgrading.md index 41d04ad..7b69716 100644 --- a/webpages/vm-operator/upgrading.md +++ b/webpages/vm-operator/upgrading.md @@ -1,5 +1,5 @@ --- -title: Upgrading +title: "VM-Operator: Upgrading — Issues to watch out for" layout: vm-operator --- From 33856fffc28b6c19f58a6522d84520be9df328ce Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Thu, 11 Jul 2024 12:52:28 +0200 Subject: [PATCH 022/306] Fix link. --- webpages/_layouts/vm-operator.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpages/_layouts/vm-operator.html b/webpages/_layouts/vm-operator.html index b6172f3..9e9cbb4 100644 --- a/webpages/_layouts/vm-operator.html +++ b/webpages/_layouts/vm-operator.html @@ -18,7 +18,7 @@
- +

Mastodon Follow

From e7cdaea205e900dbfebc7616ac2849a8f02e5183 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Thu, 11 Jul 2024 12:54:12 +0200 Subject: [PATCH 023/306] Minor edit. --- webpages/vm-operator/user-gui.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpages/vm-operator/user-gui.md b/webpages/vm-operator/user-gui.md index 03e7bdf..ce46e8f 100644 --- a/webpages/vm-operator/user-gui.md +++ b/webpages/vm-operator/user-gui.md @@ -99,7 +99,7 @@ spec: spice: port: 5930 server: 192.168.19.32 - proxyUrl: http://lgpe-spice.some.host:1234 + proxyUrl: http://vms-spice.some.host:1234 generateSecret: true ``` From 1b2d7ec330e60282c5d7b7b4ea4458ed98413b62 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Thu, 11 Jul 2024 13:21:46 +0200 Subject: [PATCH 024/306] Fix link. --- webpages/_layouts/vm-operator.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webpages/_layouts/vm-operator.html b/webpages/_layouts/vm-operator.html index 9e9cbb4..7ea1bc5 100644 --- a/webpages/_layouts/vm-operator.html +++ b/webpages/_layouts/vm-operator.html @@ -18,8 +18,8 @@
From a62b8c2899ac04d2960957902478c23188c77191 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" <1446020+mnlipp@users.noreply.github.com> Date: Mon, 15 Jul 2024 08:46:23 +0200 Subject: [PATCH 025/306] Update index.md --- webpages/vm-operator/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webpages/vm-operator/index.md b/webpages/vm-operator/index.md index b5e18ca..32d2cd5 100644 --- a/webpages/vm-operator/index.md +++ b/webpages/vm-operator/index.md @@ -1,6 +1,6 @@ --- -title: VM-Operator by mnlipp -description: A Kubernetes operator for running virtual machines (notably Qemu VMs) in pods on Kubernetes +title: Run Qemu based VMs on Kubernetes +description: A Kubernetes operator for running virtual machines (notably Qemu VMs) in pods on Kubernetes with a web interface for admins and users. layout: vm-operator --- From 959a35ca9e729a1778376eeca8b26beeabd7d6af Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" <1446020+mnlipp@users.noreply.github.com> Date: Wed, 17 Jul 2024 07:52:03 +0200 Subject: [PATCH 026/306] Update manager.md --- webpages/vm-operator/manager.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webpages/vm-operator/manager.md b/webpages/vm-operator/manager.md index e4e5442..8e6ebb4 100644 --- a/webpages/vm-operator/manager.md +++ b/webpages/vm-operator/manager.md @@ -1,5 +1,5 @@ --- -title: "VM-Operator: The Manager — Provides the controller and a Web-GUI" +title: "VM-Operator: The Manager — Provides the controller and a web user interface" layout: vm-operator --- @@ -7,7 +7,7 @@ layout: vm-operator The Manager is the program that provides the controller from the [operator pattern](https://github.com/cncf/tag-app-delivery/blob/eece8f7307f2970f46f100f51932db106db46968/operator-wg/whitepaper/Operator-WhitePaper_v1-0.md#operator-components-in-kubernetes) -together with a Web-GUI. It should be run in a container in the cluster. +together with a web user interface. It should be run in a container in the cluster. ## Installation From 45e271e6d0b482ab5a994b2eadcc6f1a1c35d86b Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" <1446020+mnlipp@users.noreply.github.com> Date: Wed, 17 Jul 2024 07:55:16 +0200 Subject: [PATCH 027/306] Update webgui.md --- webpages/vm-operator/webgui.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/webpages/vm-operator/webgui.md b/webpages/vm-operator/webgui.md index f354770..ef24245 100644 --- a/webpages/vm-operator/webgui.md +++ b/webpages/vm-operator/webgui.md @@ -1,11 +1,11 @@ --- -title: "VM-Operator: Web-GUI — Provides easy access to VM management" +title: "VM-Operator: Web user interface — Provides easy access to VM management" layout: vm-operator --- # The Web-GUI -The manager component provides a GUI via a web server. The web GUI is +The manager component provides a GUI via a web server. This web user interface is implemented using components from the [JGrapes WebConsole](https://jgrapes.org/WebConsole.html) project. Configuration of the GUI therefore follows the conventions @@ -31,7 +31,7 @@ from the ## User Access -Access to the web GUI is controlled by the login conlet. The framework +Access to the web user interface is controlled by the login conlet. The framework does not include sophisticated components for user management. Rather, it assumes that an OIDC provider is responsible for user authentication and role management. From 4c04bb0e0ace6a6a4e8cab7803c34261344c1d1a Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Wed, 17 Jul 2024 22:26:29 +0200 Subject: [PATCH 028/306] Minor edit. --- webpages/_layouts/vm-operator.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpages/_layouts/vm-operator.html b/webpages/_layouts/vm-operator.html index 7ea1bc5..30e6407 100644 --- a/webpages/_layouts/vm-operator.html +++ b/webpages/_layouts/vm-operator.html @@ -40,7 +40,7 @@ -

The Web-GUI

+

Web interface