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
+[-Build_L3-Green)](https://documentation.suse.com/sbp/server-linux/html/SBP-SLSA4/)
+[](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
+[-Build_L3-Green)](https://documentation.suse.com/sbp/server-linux/html/SBP-SLSA4/)
+[](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