summaryrefslogtreecommitdiff
path: root/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers
diff options
context:
space:
mode:
Diffstat (limited to 'meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers')
-rw-r--r--meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/distribution.bb31
-rw-r--r--meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/LICENSE (renamed from meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/files/LICENSE)1
-rw-r--r--meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/config.yml29
-rw-r--r--meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/distribution.container22
-rw-r--r--meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/prometheus-target.yml5
-rw-r--r--meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-unit-quadlets.bb2
-rw-r--r--meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/prometheus/files/prometheus.container2
-rw-r--r--meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/files/registry.container23
-rw-r--r--meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/registry-quadlet.bb19
9 files changed, 90 insertions, 44 deletions
diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/distribution.bb b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/distribution.bb
new file mode 100644
index 0000000..dc769d5
--- /dev/null
+++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/distribution.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Distribution quadlet"
+DESCRIPTION = "A quadlet for a distribution container that runs rootless"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${UNPACKDIR}/LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+SRC_URI = "\
+ file://config.yml \
+ file://distribution.container \
+ file://prometheus-target.yml \
+ file://LICENSE \
+"
+
+RDEPENDS:${PN}:append = " systemd-regkeygen"
+RDEPENDS:${PN}:append = " podman"
+RDEPENDS:${PN}:append = " add-user-svc"
+
+S = "${UNPACKDIR}"
+
+ROOTLESS_USER_NAME ?= "svc"
+
+do_install() {
+ install -D -p -m 0644 ${UNPACKDIR}/distribution.container ${D}/home/${ROOTLESS_USER_NAME}/.config/containers/systemd/distribution.container
+ install -D -p -m 0644 ${UNPACKDIR}/config.yml ${D}/home/${ROOTLESS_USER_NAME}/.config/containers/distribution/config.yml
+ install -D -m 0644 ${UNPACKDIR}/prometheus-target.yml ${D}${sysconfdir}/prometheus/targets.d/distribution.yml
+}
+
+FILES:${PN} = "\
+ /home/${ROOTLESS_USER_NAME}/.config/containers/systemd/distribution.container \
+ /home/${ROOTLESS_USER_NAME}/.config/containers/distribution/config.yml \
+ ${sysconfdir}/prometheus/targets.d/distribution.yml \
+"
diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/files/LICENSE b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/LICENSE
index 5c304d1..e06d208 100644
--- a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/files/LICENSE
+++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/LICENSE
@@ -199,3 +199,4 @@ Apache License
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+
diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/config.yml b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/config.yml
new file mode 100644
index 0000000..ee15050
--- /dev/null
+++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/config.yml
@@ -0,0 +1,29 @@
+version: 0.1
+storage:
+ delete:
+ enabled: true
+ cache:
+ blobdescriptor: inmemory
+ filesystem:
+ rootdirectory: /var/lib/distribution
+ maintenance:
+ uploadpurging:
+ enabled: false
+ tag:
+ concurrencylimit: 8
+http:
+ addr: 0.0.0.0:5000
+ tls:
+ certificate: /certs/domain.crt
+ key: /certs/domain.key
+ debug:
+ addr: 0.0.0.0:5001
+ prometheus:
+ enabled: true
+ headers:
+ X-Content-Type-Options: [nosniff]
+health:
+ storagedriver:
+ enabled: true
+ interval: 10s
+ threshold: 3
diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/distribution.container b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/distribution.container
new file mode 100644
index 0000000..e8eb7dc
--- /dev/null
+++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/distribution.container
@@ -0,0 +1,22 @@
+[Unit]
+Description=A distribution container
+After=regkeygen.service
+Requires=regkeygen.service
+
+[Container]
+ContainerName=distribution
+Image=docker.io/distribution/distribution:latest
+PublishPort=127.0.0.1:5000:5000,127.0.0.1:5001:5001
+Volume=%h/.config/containers/distribution/certs:/certs
+Volume=%h/.config/containers/distribution/config.yml:/etc/distribution/config.yml:ro
+Volume=distribution-data:/var/lib/distribution
+
+[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/distribution/files/prometheus-target.yml b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/prometheus-target.yml
new file mode 100644
index 0000000..c7ac184
--- /dev/null
+++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/distribution/files/prometheus-target.yml
@@ -0,0 +1,5 @@
+- targets:
+ - '127.0.0.1:5001'
+ labels:
+ job: 'distribution'
+ context: 'rootless'
diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-unit-quadlets.bb b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-unit-quadlets.bb
index ecacb6f..127dd54 100644
--- a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-unit-quadlets.bb
+++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-unit-quadlets.bb
@@ -3,7 +3,7 @@ SUMMARY = "Unit quadlet packages"
inherit packagegroup
RDEPENDS:${PN}:append = " banner"
-RDEPENDS:${PN}:append = " registry-quadlet"
+RDEPENDS:${PN}:append = " distribution"
RDEPENDS:${PN}:append = " prometheus"
RDEPENDS:${PN}:append = " prometheus-podman-exporter-rootful"
RDEPENDS:${PN}:append = " prometheus-podman-exporter-rootless"
diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/prometheus/files/prometheus.container b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/prometheus/files/prometheus.container
index cbc955c..b6a533f 100644
--- a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/prometheus/files/prometheus.container
+++ b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/prometheus/files/prometheus.container
@@ -6,7 +6,7 @@ Wants=time-sync.target systemd-time-wait-sync.service
[Container]
ContainerName=prometheus
Image=docker.io/prom/prometheus:latest
-Network=pasta:-T,9091:9091,-T,9882:9882,-T,9883:9883,-T,9100:9100
+Network=pasta:-T,9091:9091,-T,9882:9882,-T,9883:9883,-T,9100:9100,-T,5001:5001
PublishPort=127.0.0.1:9090:9090
Volume=prometheus-data:/var/lib/prometheus
Volume=%h/.config/containers/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/files/registry.container b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/files/registry.container
deleted file mode 100644
index 41b3248..0000000
--- a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/files/registry.container
+++ /dev/null
@@ -1,23 +0,0 @@
-[Unit]
-Description=A registry container
-After=time-sync.target regkeygen.service
-Wants=time-sync.target systemd-time-wait-sync.service regkeygen.service
-
-[Container]
-ContainerName=registry
-Image=docker.io/registry:latest
-PublishPort=127.0.0.1:5000:5000
-Volume=/etc/registry:/certs
-Volume=registry-data:/var/lib/registry
-Environment=REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt
-Environment=REGISTRY_HTTP_TLS_KEY=/certs/domain.key
-
-[Service]
-Restart=on-failure
-RestartSec=10s
-RestartSteps=5
-RestartMaxDelaySec=1min
-TimeoutStartSec=15min
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/registry-quadlet.bb b/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/registry-quadlet.bb
deleted file mode 100644
index 35ee02b..0000000
--- a/meta-unit-core/dynamic-layers/virtualization-layer/recipes-containers/registry-quadlet/registry-quadlet.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Registry quadlet"
-DESCRIPTION = "A quadlet for a registry container that runs rootful"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${UNPACKDIR}/LICENSE;md5=136e4f49dbf29942c572a3a8f6e88a77"
-
-SRC_URI = "\
- file://registry.container \
- file://LICENSE \
-"
-
-RDEPENDS:${PN}:append = " systemd-regkeygen"
-
-S = "${UNPACKDIR}"
-
-do_install() {
- install -D -p -m 0644 ${UNPACKDIR}/registry.container ${D}${sysconfdir}/containers/systemd/registry.container
-}
-
-FILES:${PN} = "${sysconfdir}/containers/systemd/registry.container"