Skip to content

Commit ba37580

Browse files
dirkmuellerSUSE Update Bot
authored andcommitted
Test build for #1220
1 parent 9904455 commit ba37580

7 files changed

Lines changed: 275 additions & 0 deletions

File tree

.obs/workflows.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ staging_build:
99
source_project: home:defolos:BCI:CR:SLE-15-SP6
1010
source_package: alertmanager-image
1111
target_project: home:defolos:BCI:CR:SLE-15-SP6:Staging
12+
- branch_package:
13+
source_project: home:defolos:BCI:CR:SLE-15-SP6
14+
source_package: sles15-image
15+
target_project: home:defolos:BCI:CR:SLE-15-SP6:Staging
1216
- branch_package:
1317
source_project: home:defolos:BCI:CR:SLE-15-SP6
1418
source_package: blackbox_exporter-image
@@ -212,6 +216,9 @@ refresh_devel_BCI:
212216
- trigger_services:
213217
project: devel:BCI:SLE-15-SP6
214218
package: alertmanager-image
219+
- trigger_services:
220+
project: devel:BCI:SLE-15-SP6
221+
package: sles15-image
215222
- trigger_services:
216223
project: devel:BCI:SLE-15-SP6
217224
package: blackbox_exporter-image

sles15-image/LICENSE

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Permission is hereby granted, free of charge, to any person obtaining a copy
2+
of this software and associated documentation files (the "Software"), to deal
3+
in the Software without restriction, including without limitation the rights
4+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5+
copies of the Software, and to permit persons to whom the Software is
6+
furnished to do so, subject to the following conditions:
7+
8+
The above copyright notice and this permission notice shall be included in
9+
all copies or substantial portions of the Software.
10+
11+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17+
SOFTWARE.

sles15-image/README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# SLE BCI %OS_VERSION_NO_DASH% Base
2+
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
3+
[![SLSA](https://img.shields.io/badge/SLSA_(v0.1)-Level_4-Green)](https://documentation.suse.com/sbp/server-linux/html/SBP-SLSA4/)
4+
[![Provenance: Available](https://img.shields.io/badge/Provenance-Available-Green)](https://documentation.suse.com/container/all/html/Container-guide/index.html#container-verify)
5+
6+
## Description
7+
8+
SUSE Linux Enterprise Base Container Images (SLE BCI) provide truly open,
9+
flexible, and secure container images and application development tools. The
10+
images consist of container environments based on SUSE Linux Enterprise and
11+
designed to be a secure base for any containerized workload.
12+
13+
SLE BCI is freely available, re-distributable, and supported across many
14+
different environments. These templates and tools address modern, containerized
15+
application development and CI/CD application containerization. They can be
16+
used immediately by developers and integrators without the “lock-in” imposed by
17+
other offerings.
18+
19+
SLE BCI inherits industry-leading security and compliance from SUSE Linux
20+
within your container build process. The container images are designed to be a
21+
secure base for any application workload. SUSE ensures that compliance
22+
standards are applied consistently and continuously improves security-related
23+
capabilities.
24+
25+
SLE BCI is lightweight and easy to adopt, with the ability to run with any
26+
Linux OS. Avoid lock-in imposed by other vendors and get exactly what you need,
27+
fast. SLE BCI delivers a flexible developer experience that accounts for,
28+
integrates with, and supports language-native tools and workflows.
29+
30+
## Usage
31+
32+
## Licensing
33+
34+
`SPDX-License-Identifier: MIT`
35+
36+
This documentation and the build recipe are licensed as MIT.
37+
The container itself contains various software components under various open source licenses listed in the associated
38+
Software Bill of Materials (SBOM).
39+
40+
This image is based on [SLE BCI](https://opensource.suse.com/bci/), a stable and redistributable foundation for software innovation. SLE BCI is enterprise-ready, and it comes with an option for support.
41+
42+
See the [SLE BCI EULA](https://www.suse.com/licensing/eula/#bci) for further information.

sles15-image/_service

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<services>
2+
<service mode="buildtime" name="kiwi_label_helper"/>
3+
<service mode="buildtime" name="kiwi_metainfo_helper"/>
4+
</services>

sles15-image/config.sh

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
#!/bin/bash
2+
# SPDX-License-Identifier: MIT
3+
# SPDX-FileCopyrightText: (c) 2022-2024 SUSE LLC
4+
5+
set -euo pipefail
6+
7+
test -f /.kconfig && . /.kconfig
8+
test -f /.profile && . /.profile
9+
10+
echo "Configure image: [$kiwi_iname]..."
11+
12+
#============================================
13+
# Import repositories' keys if rpm is present
14+
#--------------------------------------------
15+
if command -v rpm > /dev/null; then
16+
suseImportBuildKey
17+
fi
18+
19+
20+
echo "Configure image: [$kiwi_iname]..."
21+
22+
#======================================
23+
# Setup baseproduct link
24+
#--------------------------------------
25+
suseSetupProduct
26+
27+
#======================================
28+
# Import repositories' keys
29+
#--------------------------------------
30+
suseImportBuildKey
31+
32+
33+
# don't have duplicate licenses of the same type
34+
jdupes -1 -L -r /usr/share/licenses
35+
36+
zypper --non-interactive rm -u jdupes
37+
38+
# Not needed, but neither rpm nor libzypp handle rpmlib(X-CheckUnifiedSystemdir) yet
39+
# which would avoid it being installed by filesystem package
40+
rpm -q compat-usrmerge-tools && rpm -e compat-usrmerge-tools
41+
42+
#======================================
43+
# Disable recommends
44+
#--------------------------------------
45+
sed -i 's/.*solver.onlyRequires.*/solver.onlyRequires = true/g' /etc/zypp/zypp.conf
46+
47+
#======================================
48+
# Exclude docs installation
49+
#--------------------------------------
50+
sed -i 's/.*rpm.install.excludedocs.*/rpm.install.excludedocs = yes/g' /etc/zypp/zypp.conf
51+
52+
#======================================
53+
# Configure SLE BCI repositories
54+
#--------------------------------------
55+
zypper -n ar --refresh --gpgcheck --priority 100 --enable 'https://updates.suse.com/SUSE/Products/SLE-BCI/$releasever_major-SP$releasever_minor/$basearch/product/' SLE_BCI
56+
zypper -n ar --refresh --gpgcheck --priority 100 --disable 'https://updates.suse.com/SUSE/Products/SLE-BCI/$releasever_major-SP$releasever_minor/$basearch/product_debug/' SLE_BCI_debug
57+
zypper -n ar --refresh --gpgcheck --priority 100 --disable 'https://updates.suse.com/SUSE/Products/SLE-BCI/$releasever_major-SP$releasever_minor/$basearch/product_source/' SLE_BCI_source
58+
59+
#======================================
60+
# Remove locale files
61+
#--------------------------------------
62+
shopt -s globstar
63+
rm -f /usr/share/locale/**/*.mo
64+
65+
#======================================
66+
# Remove zypp uuid (bsc#1098535)
67+
#--------------------------------------
68+
rm -f /var/lib/zypp/AnonymousUniqueId
69+
70+
#==========================================
71+
# Clean up log files
72+
#------------------------------------------
73+
# Remove various log files. Although possible to just rm -rf /var/log/*, that
74+
# would also remove some package owned directories (not %ghost) and some files
75+
# are actually wanted, like lastlog in the !docker case.
76+
# For those wondering about YaST2 here: Kiwi writes /etc/hosts, so the version
77+
# from the netcfg package ends up as /etc/hosts.rpmnew, which zypper writes a
78+
# letter about to /var/log/YaST2/config_diff_2022_03_06.log. Kiwi fixes this,
79+
# but the log file remains.
80+
rm -rf /var/log/{zypper.log,zypp/history,YaST2}
81+
82+
# Remove the entire zypper cache content (not the dir itself, owned by libzypp)
83+
rm -rf /var/cache/zypp/*
84+
85+
#==========================================
86+
# Hack! The go container management tools can't handle sparse files:
87+
# https://github.com/golang/go/issues/13548
88+
# If lastlog doesn't exist, useradd doesn't attempt to reserve space,
89+
# also in derived containers.
90+
#------------------------------------------
91+
rm -f /var/log/lastlog
92+
93+
#======================================
94+
# Remove locale files
95+
#--------------------------------------
96+
find /usr/share/locale -name '*.mo' -delete
97+
98+
99+
#=======================================
100+
# Clean up after zypper if it is present
101+
#---------------------------------------
102+
if command -v zypper > /dev/null; then
103+
zypper -n clean
104+
fi
105+
106+
rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2}
107+
108+
exit 0

sles15-image/sles15-image.changes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-------------------------------------------------------------------
2+
Thu Jul 04 12:56:19 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
3+
4+
- First version of the Base BCI

sles15-image/sles15-image.kiwi

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- SPDX-License-Identifier: MIT -->
3+
<!--
4+
Copyright (c) 2024 SUSE LLC
5+
6+
All modifications and additions to the file contributed by third parties
7+
remain the property of their copyright owners, unless otherwise agreed
8+
upon.
9+
10+
The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
11+
It is maintained by the BCI team and generated by
12+
https://github.com/SUSE/BCI-dockerfile-generator
13+
14+
Please submit bugfixes or comments via https://bugs.opensuse.org/
15+
You can contact the BCI team via https://github.com/SUSE/bci/discussions
16+
-->
17+
<!-- OBS-AddTag: suse/sle15:%OS_VERSION_ID_SP% suse/sle15:%OS_VERSION_ID_SP%.%RELEASE% bci/bci-base:%OS_VERSION_ID_SP% bci/bci-base:%OS_VERSION_ID_SP%.%RELEASE% -->
18+
<!-- OBS-Imagerepo: obsrepositories:/ -->
19+
<!-- OBS-IgnorePackage: rpm -->
20+
21+
<image schemaversion="7.4" name="base-image" xmlns:suse_label_helper="com.suse.label_helper">
22+
<description type="system">
23+
<author>SUSE LLC</author>
24+
<contact>https://www.suse.com/</contact>
25+
<specification>SLE BCI %OS_VERSION_NO_DASH% Base Container Image</specification>
26+
</description>
27+
<preferences>
28+
<type image="docker">
29+
<containerconfig
30+
name="suse/sle15"
31+
tag="%OS_VERSION_ID_SP%"
32+
maintainer="SUSE LLC (https://www.suse.com/)"
33+
additionaltags="%OS_VERSION_ID_SP%,%OS_VERSION_ID_SP%.%RELEASE%">
34+
<labels>
35+
<suse_label_helper:add_prefix prefix="com.suse.bci.base">
36+
<label name="org.opencontainers.image.title" value="SLE BCI %OS_VERSION_NO_DASH% Base"/>
37+
<label name="org.opencontainers.image.description" value="Image for containers based on %OS_PRETTY_NAME%."/>
38+
<label name="org.opencontainers.image.version" value="%OS_VERSION_ID_SP%.%RELEASE%"/>
39+
<label name="org.opencontainers.image.created" value="%BUILDTIME%"/>
40+
<label name="org.opencontainers.image.vendor" value="SUSE LLC"/>
41+
<label name="org.opencontainers.image.source" value="%SOURCEURL%"/>
42+
<label name="org.opencontainers.image.url" value="https://www.suse.com/products/base-container-images/"/>
43+
<label name="org.opensuse.reference" value="registry.suse.com/bci/bci-base:%OS_VERSION_ID_SP%.%RELEASE%"/>
44+
<label name="org.openbuildservice.disturl" value="%DISTURL%"/>
45+
<label name="com.suse.supportlevel" value="l3"/>
46+
<label name="com.suse.eula" value="sle-bci"/>
47+
<label name="com.suse.release-stage" value="released"/>
48+
<label name="com.suse.lifecycle-url" value="https://www.suse.com/lifecycle#suse-linux-enterprise-server-15"/>
49+
</suse_label_helper:add_prefix>
50+
<label name="io.artifacthub.package.readme-url" value="%SOURCEURL%/README.md"/>
51+
<label name="io.artifacthub.package.logo-url" value="https://opensource.suse.com/bci/SLE_BCI_logomark_green.svg"/>
52+
</labels>
53+
</containerconfig>
54+
</type>
55+
<version>15.6.0</version>
56+
<packagemanager>zypper</packagemanager>
57+
<rpm-check-signatures>false</rpm-check-signatures>
58+
<rpm-excludedocs>true</rpm-excludedocs>
59+
</preferences>
60+
<repository type="rpm-md">
61+
<source path="obsrepositories:/"/>
62+
</repository>
63+
<packages type="bootstrap">
64+
<package name="aaa_base"/>
65+
<package name="cracklib-dict-small"/>
66+
<package name="filesystem"/>
67+
<package name="jdupes"/>
68+
<package name="kubic-locale-archive"/>
69+
<package name="patterns-base-fips"/>
70+
<package name="patterns-base-minimal_base"/>
71+
<package name="rpm-ndb"/>
72+
<package name="shadow"/>
73+
<package name="sles-release"/>
74+
<package name="zypper"/>
75+
</packages>
76+
<packages type="image">
77+
<package name="bash"/>
78+
<package name="ca-certificates-mozilla"/>
79+
<package name="container-suseconnect"/>
80+
<package name="coreutils"/>
81+
<package name="curl"/>
82+
<package name="gzip"/>
83+
<package name="netcfg"/>
84+
<package name="skelcd-EULA-bci"/>
85+
<package name="sle-module-basesystem-release"/>
86+
<package name="sle-module-server-applications-release"/>
87+
<package name="sle-module-python3-release"/>
88+
<package name="suse-build-key"/>
89+
<package name="tar"/>
90+
<package name="timezone"/>
91+
</packages>
92+
93+
</image>

0 commit comments

Comments
 (0)