diff --git a/.obs/workflows.yml b/.obs/workflows.yml index aba839cd6..6dff8f5ab 100644 --- a/.obs/workflows.yml +++ b/.obs/workflows.yml @@ -113,6 +113,10 @@ staging_build: source_project: home:defolos:BCI:CR:SLE-15-SP6 source_package: init-image target_project: home:defolos:BCI:CR:SLE-15-SP6:Staging + - branch_package: + source_project: home:defolos:BCI:CR:SLE-15-SP6 + source_package: kiosk-firefox-esr-image + target_project: home:defolos:BCI:CR:SLE-15-SP6:Staging - branch_package: source_project: home:defolos:BCI:CR:SLE-15-SP6 source_package: kiwi-image @@ -197,6 +201,10 @@ staging_build: source_project: home:defolos:BCI:CR:SLE-15-SP6 source_package: prometheus-image target_project: home:defolos:BCI:CR:SLE-15-SP6:Staging + - branch_package: + source_project: home:defolos:BCI:CR:SLE-15-SP6 + source_package: pulseaudio-image + target_project: home:defolos:BCI:CR:SLE-15-SP6:Staging - branch_package: source_project: home:defolos:BCI:CR:SLE-15-SP6 source_package: python-3.11-image @@ -366,6 +374,9 @@ refresh_devel_BCI: - trigger_services: project: devel:BCI:SLE-15-SP6 package: init-image + - trigger_services: + project: devel:BCI:SLE-15-SP6 + package: kiosk-firefox-esr-image - trigger_services: project: devel:BCI:SLE-15-SP6 package: kiwi-image @@ -429,6 +440,9 @@ refresh_devel_BCI: - trigger_services: project: devel:BCI:SLE-15-SP6 package: prometheus-image + - trigger_services: + project: devel:BCI:SLE-15-SP6 + package: pulseaudio-image - trigger_services: project: devel:BCI:SLE-15-SP6 package: python-3.11-image diff --git a/kiosk-firefox-esr-image/Dockerfile b/kiosk-firefox-esr-image/Dockerfile new file mode 100644 index 000000000..dbd527047 --- /dev/null +++ b/kiosk-firefox-esr-image/Dockerfile @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: MIT + +# Copyright (c) 2025 SUSE LLC + +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. + +# The content of THIS FILE IS AUTOGENERATED and should not be manually modified. +# It is maintained by the BCI team and generated by +# https://github.com/SUSE/BCI-dockerfile-generator + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# You can contact the BCI team via https://github.com/SUSE/bci/discussions + +#!UseOBSRepositories +#!ExclusiveArch: x86_64 aarch64 +#!BuildTag: suse/kiosk-firefox-esr:%%ff_ver%%-%RELEASE% +#!BuildTag: suse/kiosk-firefox-esr:%%ff_ver%% +#!BuildTag: suse/kiosk-firefox-esr:latest +#!BuildName: suse-kiosk-firefox-esr-%%ff_ver%% +#!BuildVersion: 15.6 +#!BuildRelease: 35 +FROM registry.suse.com/bci/bci-base:15.6 + +RUN set -euo pipefail; \ + zypper -n install --no-recommends MozillaFirefox xorg-x11-fonts MozillaFirefox-branding-SLE gconf2; \ + zypper -n clean; \ + rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2} + +# Define labels according to https://en.opensuse.org/Building_derived_containers +# labelprefix=com.suse.application.kiosk-firefox-esr +LABEL org.opencontainers.image.authors="https://github.com/SUSE/bci/discussions" +LABEL org.opencontainers.image.title="SLE Mozilla Firefox" +LABEL org.opencontainers.image.description="Mozilla Firefox container based on the SLE Base Container Image." +LABEL org.opencontainers.image.version="%%ff_ver%%" +LABEL org.opencontainers.image.url="https://www.suse.com/products/base-container-images/" +LABEL org.opencontainers.image.created="%BUILDTIME%" +LABEL org.opencontainers.image.vendor="SUSE LLC" +LABEL org.opencontainers.image.source="%SOURCEURL%" +LABEL org.opencontainers.image.ref.name="%%ff_ver%%-%RELEASE%" +LABEL org.opensuse.reference="registry.suse.com/suse/kiosk-firefox-esr:%%ff_ver%%-%RELEASE%" +LABEL org.openbuildservice.disturl="%DISTURL%" +LABEL com.suse.supportlevel="techpreview" +LABEL com.suse.eula="sle-eula" +LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle#suse-linux-enterprise-server-15" +LABEL com.suse.release-stage="released" +# endlabelprefix +LABEL org.opencontainers.image.base.name="%BASE_REFNAME%" +LABEL org.opencontainers.image.base.digest="%BASE_DIGEST%" +LABEL io.artifacthub.package.readme-url="%SOURCEURL%/README.md" +CMD ["/bin/bash", "-c", "firefox --kiosk $URL"] +RUN useradd -m user -u 1000 +ENV DISPLAY=":0" diff --git a/kiosk-firefox-esr-image/README.md b/kiosk-firefox-esr-image/README.md new file mode 100644 index 000000000..8c685d2fd --- /dev/null +++ b/kiosk-firefox-esr-image/README.md @@ -0,0 +1,17 @@ +# The SLE Mozilla Firefox container image +![Support Level](https://img.shields.io/badge/Support_Level-techpreview-blue)[![SLSA](https://img.shields.io/badge/SLSA_(v1.0)-Build_L3-Green)](https://documentation.suse.com/sbp/server-linux/html/SBP-SLSA4/) +[![Provenance: Available](https://img.shields.io/badge/Provenance-Available-Green)](https://documentation.suse.com/container/all/html/Container-guide/index.html#container-verify) + +Mozilla Firefox container based on the SLE Base Container Image. + +## Licensing + +`SPDX-License-Identifier: MIT` + +This documentation and the build recipe are licensed as MIT. +The container itself contains various software components under various open source licenses listed in the associated +Software Bill of Materials (SBOM). + +This image is a tech preview. Do not use it for production. +Your feedback is welcome. +Please report any issues to the [SUSE Bugzilla](https://bugzilla.suse.com/enter_bug.cgi?product=SUSE%20Linux%20Enterprise%20Base%20Container%20Images). diff --git a/kiosk-firefox-esr-image/_service b/kiosk-firefox-esr-image/_service new file mode 100644 index 000000000..4099a821b --- /dev/null +++ b/kiosk-firefox-esr-image/_service @@ -0,0 +1,10 @@ + + + + + Dockerfile + %%ff_ver%% + MozillaFirefox + minor + + \ No newline at end of file diff --git a/kiosk-firefox-esr-image/kiosk-firefox-esr-image.changes b/kiosk-firefox-esr-image/kiosk-firefox-esr-image.changes new file mode 100644 index 000000000..23728d7d6 --- /dev/null +++ b/kiosk-firefox-esr-image/kiosk-firefox-esr-image.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Wed Feb 26 17:26:33 UTC 2025 - SUSE Update Bot + +- First version of the Mozilla Firefox BCI diff --git a/pulseaudio-image/Dockerfile b/pulseaudio-image/Dockerfile new file mode 100644 index 000000000..79e4b8268 --- /dev/null +++ b/pulseaudio-image/Dockerfile @@ -0,0 +1,60 @@ +# SPDX-License-Identifier: MIT + +# Copyright (c) 2025 SUSE LLC + +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. + +# The content of THIS FILE IS AUTOGENERATED and should not be manually modified. +# It is maintained by the BCI team and generated by +# https://github.com/SUSE/BCI-dockerfile-generator + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# You can contact the BCI team via https://github.com/SUSE/bci/discussions + +#!UseOBSRepositories +#!ExclusiveArch: x86_64 aarch64 +#!BuildTag: suse/pulseaudio:%%pulseaudio_ver%%-%RELEASE% +#!BuildTag: suse/pulseaudio:%%pulseaudio_ver%% +#!BuildTag: suse/pulseaudio:17 +#!BuildTag: suse/pulseaudio:latest +#!BuildName: suse-pulseaudio-17 +#!BuildVersion: 15.6.17 +#!BuildRelease: 35 +FROM registry.suse.com/bci/bci-base:15.6 + +RUN set -euo pipefail; \ + zypper -n install --no-recommends pulseaudio pulseaudio-utils; \ + zypper -n clean; \ + rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2} + +# Define labels according to https://en.opensuse.org/Building_derived_containers +# labelprefix=com.suse.application.pulseaudio +LABEL org.opencontainers.image.authors="https://github.com/SUSE/bci/discussions" +LABEL org.opencontainers.image.title="SLE Pulseaudio" +LABEL org.opencontainers.image.description="Pulseaudio container based on the SLE Base Container Image." +LABEL org.opencontainers.image.version="%%pulseaudio_ver%%" +LABEL org.opencontainers.image.url="https://www.suse.com/products/base-container-images/" +LABEL org.opencontainers.image.created="%BUILDTIME%" +LABEL org.opencontainers.image.vendor="SUSE LLC" +LABEL org.opencontainers.image.source="%SOURCEURL%" +LABEL org.opencontainers.image.ref.name="%%pulseaudio_ver%%-%RELEASE%" +LABEL org.opensuse.reference="registry.suse.com/suse/pulseaudio:%%pulseaudio_ver%%-%RELEASE%" +LABEL org.openbuildservice.disturl="%DISTURL%" +LABEL com.suse.supportlevel="techpreview" +LABEL com.suse.eula="sle-eula" +LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle#suse-linux-enterprise-server-15" +LABEL com.suse.release-stage="released" +# endlabelprefix +LABEL org.opencontainers.image.base.name="%BASE_REFNAME%" +LABEL org.opencontainers.image.base.digest="%BASE_DIGEST%" +LABEL io.artifacthub.package.readme-url="%SOURCEURL%/README.md" +CMD ["/usr/bin/pulseaudio"] +# sanity check that the version from the tag is equal to the version of pulseaudio that we expect +RUN set -euo pipefail; \ + [ "$(rpm -q --qf '%{version}' pulseaudio | \ + cut -d '.' -f -1)" = "17" ] +COPY daemon.conf /etc/pulse/ +COPY client.conf /etc/pulse/ +COPY system.pa /etc/pulse/ diff --git a/pulseaudio-image/README.md b/pulseaudio-image/README.md new file mode 100644 index 000000000..0750ee214 --- /dev/null +++ b/pulseaudio-image/README.md @@ -0,0 +1,17 @@ +# The SLE Pulseaudio container image +![Support Level](https://img.shields.io/badge/Support_Level-techpreview-blue)[![SLSA](https://img.shields.io/badge/SLSA_(v1.0)-Build_L3-Green)](https://documentation.suse.com/sbp/server-linux/html/SBP-SLSA4/) +[![Provenance: Available](https://img.shields.io/badge/Provenance-Available-Green)](https://documentation.suse.com/container/all/html/Container-guide/index.html#container-verify) + +Pulseaudio container based on the SLE Base Container Image. + +## Licensing + +`SPDX-License-Identifier: MIT` + +This documentation and the build recipe are licensed as MIT. +The container itself contains various software components under various open source licenses listed in the associated +Software Bill of Materials (SBOM). + +This image is a tech preview. Do not use it for production. +Your feedback is welcome. +Please report any issues to the [SUSE Bugzilla](https://bugzilla.suse.com/enter_bug.cgi?product=SUSE%20Linux%20Enterprise%20Base%20Container%20Images). diff --git a/pulseaudio-image/_service b/pulseaudio-image/_service new file mode 100644 index 000000000..5241722ec --- /dev/null +++ b/pulseaudio-image/_service @@ -0,0 +1,10 @@ + + + + + Dockerfile + %%pulseaudio_ver%% + pulseaudio + minor + + \ No newline at end of file diff --git a/pulseaudio-image/client.conf b/pulseaudio-image/client.conf new file mode 100644 index 000000000..73f8927b3 --- /dev/null +++ b/pulseaudio-image/client.conf @@ -0,0 +1,2 @@ +autospawn = no +auto-connect-localhost = yes diff --git a/pulseaudio-image/daemon.conf b/pulseaudio-image/daemon.conf new file mode 100644 index 000000000..6765f9638 --- /dev/null +++ b/pulseaudio-image/daemon.conf @@ -0,0 +1,6 @@ +daemonize = no +fail = no +; allow-module-loading = yes +allow-exit = no +use-pid-file = no +system-instance = yes diff --git a/pulseaudio-image/pulseaudio-image.changes b/pulseaudio-image/pulseaudio-image.changes new file mode 100644 index 000000000..4352cdb3a --- /dev/null +++ b/pulseaudio-image/pulseaudio-image.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Wed Feb 26 17:26:33 UTC 2025 - SUSE Update Bot + +- First version of the Pulseaudio BCI diff --git a/pulseaudio-image/system.pa b/pulseaudio-image/system.pa new file mode 100644 index 000000000..5094cc2fb --- /dev/null +++ b/pulseaudio-image/system.pa @@ -0,0 +1,39 @@ +#!/usr/bin/pulseaudio -nF +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +load-module module-udev-detect + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix auth-anonymous=1 + +load-module module-native-protocol-tcp auth-anonymous=1 auth-ip-acl=127.0.0.1 + +load-module module-default-device-restore + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### Enable positioned event sounds +load-module module-position-event-sounds + +.nofail + +### Set the default sink +#set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo + +### Set default sink volume to 100% +set-sink-volume @DEFAULT_SINK@ 0x10000 + +### Unmute default sink +set-sink-mute @DEFAULT_SINK@ 0