From 88d64aa5c01db1fc7f8bd767d58c6e28729a9c6b Mon Sep 17 00:00:00 2001 From: unitexe Date: Fri, 16 Jan 2026 00:05:30 -0600 Subject: Rootless pubd kube --- .../packagegroups/packagegroup-unit-kubes.bb | 5 +++ .../recipes-containers/pubd-kube/files/pubd.kube | 15 ++++++++ .../recipes-containers/pubd-kube/files/pubsubd.yml | 42 ++++++++++++++++++++++ .../recipes-containers/pubd-kube/pubd-kube.bb | 26 ++++++++++++++ .../recipes-unit/images/core-image-unit.bbappend | 1 + 5 files changed, 89 insertions(+) create mode 100644 meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-unit-kubes.bb create mode 100644 meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/files/pubd.kube create mode 100644 meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/files/pubsubd.yml create mode 100644 meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/pubd-kube.bb (limited to 'meta-unit-core') diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-unit-kubes.bb b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-unit-kubes.bb new file mode 100644 index 0000000..0ab160e --- /dev/null +++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-unit-kubes.bb @@ -0,0 +1,5 @@ +SUMMARY = "Unit kube packages" + +inherit packagegroup + +RDEPENDS:${PN}:append = " pubd-kube" diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/files/pubd.kube b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/files/pubd.kube new file mode 100644 index 0000000..3ee4930 --- /dev/null +++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/files/pubd.kube @@ -0,0 +1,15 @@ +[Unit] +Description=A pubsub multi-container application + +[Kube] +Yaml=/home/svc/.config/containers/kube/pubsubd.yml + +[Service] +Restart=on-failure +RestartSec=10s +RestartSteps=5 +RestartMaxDelaySec=1min +TimeoutStartSec=15min + +[Install] +WantedBy=default.target diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/files/pubsubd.yml b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/files/pubsubd.yml new file mode 100644 index 0000000..58b2e1b --- /dev/null +++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/files/pubsubd.yml @@ -0,0 +1,42 @@ +# Save the output of this file and use kubectl create -f to import +# it into Kubernetes. +# +# Created with podman-5.6.2 +apiVersion: v1 +kind: Pod +metadata: + annotations: + io.kubernetes.cri-o.SandboxID/grpcurl-client: 817d1ab354c6fa173eb343fa4454496907e13462228109fdc6c4e053b976815c + io.kubernetes.cri-o.SandboxID/pubd: 817d1ab354c6fa173eb343fa4454496907e13462228109fdc6c4e053b976815c + creationTimestamp: "2026-01-16T04:27:46Z" + labels: + app: pubsubd + name: pubsubd +spec: + containers: + - image: ghcr.io/closedcircuitconsulting/pubd:latest + name: pubd + ports: + - containerPort: 60069 + - args: + - -plaintext + - -import-path + - /proto + - -proto + - countah.proto + - -d + - '{}' + - localhost:60069 + - unit.countah.v0.Countah.Counter + image: docker.io/fullstorydev/grpcurl:latest-alpine + name: grpcurl-client + securityContext: {} + volumeMounts: + - mountPath: /proto + name: pubd-proto + readOnly: true + volumes: + - hostPath: + path: /home/svc/.config/proto/pubd + type: Directory + name: pubd-proto diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/pubd-kube.bb b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/pubd-kube.bb new file mode 100644 index 0000000..7c24fb4 --- /dev/null +++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/pubd-kube/pubd-kube.bb @@ -0,0 +1,26 @@ +SUMMARY = "Pubd kube" +DESCRIPTION = "A kube for running a multi-container application (pubsub) that runs rootless" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${UNIT_CORE_LAYERDIR}/LICENSE;md5=38bf13be5d6979b28bd8adddb2f2f9b3" + +SRC_URI = "\ + file://pubd.kube \ + file://pubsubd.yml \ +" + +RDEPENDS:${PN}:append = " podman" +RDEPENDS:${PN}:append = " add-user-svc" + +S = "${UNPACKDIR}" + +ROOTLESS_USER_NAME ?= "svc" + +do_install() { + install -D -m 0644 ${UNPACKDIR}/pubd.kube ${D}/home/${ROOTLESS_USER_NAME}/.config/containers/systemd/pubd.kube + install -D -m 0644 ${UNPACKDIR}/pubsubd.yml ${D}/home/${ROOTLESS_USER_NAME}/.config/containers/kube/pubsubd.yml +} + +FILES:${PN} = "\ + /home/${ROOTLESS_USER_NAME}/.config/containers/systemd/pubd.kube \ + /home/${ROOTLESS_USER_NAME}/.config/containers/kube/pubsubd.yml \ +" diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-unit/images/core-image-unit.bbappend b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-unit/images/core-image-unit.bbappend index 01cc401..02be003 100644 --- a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-unit/images/core-image-unit.bbappend +++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-unit/images/core-image-unit.bbappend @@ -1,2 +1,3 @@ IMAGE_INSTALL:append = " packagegroup-unit-containers" +IMAGE_INSTALL:append = " packagegroup-unit-kubes" IMAGE_INSTALL:append = " packagegroup-unit-quadlets" -- cgit v1.2.3