Skip to content

Commit af88c51

Browse files
author
SUSE Update Bot
committed
Test build for #1092
1 parent 9c56c01 commit af88c51

File tree

88 files changed

+261
-4108
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+261
-4108
lines changed

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
version: 2
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "daily"

.github/workflows/changelog_checker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232

3333
- name: check the changelog
3434
run: |
35-
poetry run ./scratch-build-bot.py \
35+
poetry run scratch-build-bot \
3636
--os-version 3 -vvvv \
3737
changelog_check \
3838
--base-ref origin/${{ github.base_ref }} \
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
name: Check whether packages are missing on OBS
3+
4+
on:
5+
push:
6+
branches:
7+
- 'sle15-sp3'
8+
9+
jobs:
10+
create-issues-for-dan:
11+
name: create an issue for Dan to create the packages in devel:BCI
12+
runs-on: ubuntu-latest
13+
container: ghcr.io/dcermak/bci-ci:latest
14+
15+
strategy:
16+
fail-fast: false
17+
18+
steps:
19+
# we need all branches for the build checks
20+
- uses: actions/checkout@v3
21+
with:
22+
fetch-depth: 0
23+
ref: main
24+
token: ${{ secrets.CHECKOUT_TOKEN }}
25+
26+
- uses: actions/cache@v3
27+
with:
28+
path: ~/.cache/pypoetry/virtualenvs
29+
key: poetry-${{ hashFiles('poetry.lock') }}
30+
31+
- name: fix the file permissions of the repository
32+
run: chown -R $(id -un):$(id -gn) .
33+
34+
- name: install python dependencies
35+
run: poetry install
36+
37+
- name: find the packages that are missing
38+
run: |
39+
pkgs=$(poetry run scratch-build-bot --os-version 3 find_missing_packages)
40+
if [[ ${pkgs} = "" ]]; then
41+
echo "missing_pkgs=false" >> $GITHUB_ENV
42+
else
43+
echo "missing_pkgs=true" >> $GITHUB_ENV
44+
echo "pkgs=${pkgs}" >> $GITHUB_ENV
45+
fi
46+
cat test-build.env >> $GITHUB_ENV
47+
env:
48+
OSC_PASSWORD: ${{ secrets.OSC_PASSWORD }}
49+
OSC_USER: "defolos"
50+
51+
- uses: JasonEtco/create-an-issue@v2
52+
env:
53+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
54+
with:
55+
update_existing: true
56+
filename: ".github/create-package.md"
57+
if: env.missing_pkgs == 'true'

.obs/workflows.yml

Lines changed: 15 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -3,122 +3,30 @@ staging_build:
33
steps:
44
- branch_package:
55
source_project: home:defolos:BCI:CR:SLE-15-SP3
6-
source_package: python-3.6
7-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
8-
- branch_package:
9-
source_project: home:defolos:BCI:CR:SLE-15-SP3
10-
source_package: python-3.9
11-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
12-
- branch_package:
13-
source_project: home:defolos:BCI:CR:SLE-15-SP3
14-
source_package: rmt-nginx
15-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
16-
- branch_package:
17-
source_project: home:defolos:BCI:CR:SLE-15-SP3
18-
source_package: pcp-image
19-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
20-
- branch_package:
21-
source_project: home:defolos:BCI:CR:SLE-15-SP3
22-
source_package: rmt-server
23-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
24-
- branch_package:
25-
source_project: home:defolos:BCI:CR:SLE-15-SP3
26-
source_package: golang-1.18
27-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
28-
- branch_package:
29-
source_project: home:defolos:BCI:CR:SLE-15-SP3
30-
source_package: ruby-2.5-image
31-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
32-
- branch_package:
33-
source_project: home:defolos:BCI:CR:SLE-15-SP3
34-
source_package: nodejs-14
35-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
36-
- branch_package:
37-
source_project: home:defolos:BCI:CR:SLE-15-SP3
38-
source_package: nodejs-16
39-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
40-
- branch_package:
41-
source_project: home:defolos:BCI:CR:SLE-15-SP3
42-
source_package: openjdk-11-devel
43-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
44-
- branch_package:
45-
source_project: home:defolos:BCI:CR:SLE-15-SP3
46-
source_package: openjdk-11
47-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
48-
- branch_package:
49-
source_project: home:defolos:BCI:CR:SLE-15-SP3
50-
source_package: init
51-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
52-
- branch_package:
53-
source_project: home:defolos:BCI:CR:SLE-15-SP3
54-
source_package: rmt-mariadb
55-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
56-
- branch_package:
57-
source_project: home:defolos:BCI:CR:SLE-15-SP3
58-
source_package: rmt-mariadb-client
59-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
60-
- branch_package:
61-
source_project: home:defolos:BCI:CR:SLE-15-SP3
62-
source_package: minimal
63-
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
64-
- branch_package:
65-
source_project: home:defolos:BCI:CR:SLE-15-SP3
66-
source_package: micro
6+
source_package: base-fips-image
677
target_project: home:defolos:BCI:CR:SLE-15-SP3:Staging
688
filters:
699
event: pull_request
7010

71-
refresh_devel_BCI:
11+
refresh_staging_project:
7212
steps:
7313
- trigger_services:
74-
project: devel:BCI:SLE-15-SP3
75-
package: python-3.6
76-
- trigger_services:
77-
project: devel:BCI:SLE-15-SP3
78-
package: python-3.9
79-
- trigger_services:
80-
project: devel:BCI:SLE-15-SP3
81-
package: rmt-nginx
82-
- trigger_services:
83-
project: devel:BCI:SLE-15-SP3
84-
package: pcp-image
85-
- trigger_services:
86-
project: devel:BCI:SLE-15-SP3
87-
package: rmt-server
88-
- trigger_services:
89-
project: devel:BCI:SLE-15-SP3
90-
package: golang-1.18
91-
- trigger_services:
92-
project: devel:BCI:SLE-15-SP3
93-
package: ruby-2.5-image
94-
- trigger_services:
95-
project: devel:BCI:SLE-15-SP3
96-
package: nodejs-14
97-
- trigger_services:
98-
project: devel:BCI:SLE-15-SP3
99-
package: nodejs-16
100-
- trigger_services:
101-
project: devel:BCI:SLE-15-SP3
102-
package: openjdk-11-devel
103-
- trigger_services:
104-
project: devel:BCI:SLE-15-SP3
105-
package: openjdk-11
106-
- trigger_services:
107-
project: devel:BCI:SLE-15-SP3
108-
package: init
109-
- trigger_services:
110-
project: devel:BCI:SLE-15-SP3
111-
package: rmt-mariadb
112-
- trigger_services:
113-
project: devel:BCI:SLE-15-SP3
114-
package: rmt-mariadb-client
115-
- trigger_services:
116-
project: devel:BCI:SLE-15-SP3
117-
package: minimal
14+
project: home:defolos:BCI:CR:SLE-15-SP3
15+
package: _project
16+
filters:
17+
event: push
18+
branches:
19+
only:
20+
- sle15-sp3
21+
22+
23+
refresh_devel_BCI:
24+
steps:
11825
- trigger_services:
11926
project: devel:BCI:SLE-15-SP3
120-
package: micro
27+
package: base-fips-image
12128
filters:
29+
event: push
12230
branches:
12331
only:
12432
- sle15-sp3

base-fips-image/Dockerfile

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# SPDX-License-Identifier: MIT
2+
3+
# Copyright (c) 2024 SUSE LLC
4+
5+
# All modifications and additions to the file contributed by third parties
6+
# remain the property of their copyright owners, unless otherwise agreed
7+
# upon.
8+
9+
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
10+
# It is maintained by the BCI team and generated by
11+
# https://github.com/SUSE/BCI-dockerfile-generator
12+
13+
# Please submit bugfixes or comments via https://bugs.opensuse.org/
14+
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
15+
16+
#!ExclusiveArch: x86_64
17+
#!BuildTag: suse/ltss/sle15.3/bci-base-fips:%OS_VERSION_ID_SP%
18+
#!BuildTag: suse/ltss/sle15.3/bci-base-fips:%OS_VERSION_ID_SP%.%RELEASE%
19+
#!BuildName: suse-ltss-sle15.3-bci-base-fips-%OS_VERSION_ID_SP%
20+
#!BuildVersion: 15.3
21+
FROM suse/ltss/sle15.3/sle15:15.3
22+
23+
RUN set -euo pipefail; zypper -n in --no-recommends sles-ltss-release fipscheck; zypper -n clean; rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2}
24+
25+
# Define labels according to https://en.opensuse.org/Building_derived_containers
26+
# labelprefix=com.suse.sle.base-fips
27+
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
28+
LABEL org.opencontainers.image.title="SLE LTSS BCI 15 SP3 FIPS-140-2"
29+
LABEL org.opencontainers.image.description="15 SP3 FIPS-140-2 container based on the SLE LTSS Base Container Image."
30+
LABEL org.opencontainers.image.version="%OS_VERSION_ID_SP%.%RELEASE%"
31+
LABEL org.opencontainers.image.url="https://www.suse.com/products/long-term-service-pack-support/"
32+
LABEL org.opencontainers.image.created="%BUILDTIME%"
33+
LABEL org.opencontainers.image.vendor="SUSE LLC"
34+
LABEL org.opencontainers.image.source="%SOURCEURL%"
35+
LABEL org.opencontainers.image.ref.name="%OS_VERSION_ID_SP%.%RELEASE%"
36+
LABEL org.opensuse.reference="registry.suse.com/suse/ltss/sle15.3/bci-base-fips:%OS_VERSION_ID_SP%.%RELEASE%"
37+
LABEL org.openbuildservice.disturl="%DISTURL%"
38+
LABEL com.suse.supportlevel="l3"
39+
LABEL com.suse.supportlevel.until="2025-12-31"
40+
LABEL com.suse.eula="sle-eula"
41+
LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle#suse-linux-enterprise-server-15"
42+
LABEL com.suse.release-stage="released"
43+
# endlabelprefix
44+
LABEL io.artifacthub.package.readme-url="%SOURCEURL%/README.md"
45+
LABEL usage="This container should only be used on a FIPS enabled host (fips=1 on kernel cmdline)."
46+
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP2:Update/pool/x86_64/openssl-1_1.18804/openssl-1_1-1.1.1d-11.20.1.x86_64.rpm
47+
COPY openssl-1_1-1.1.1d-11.20.1.x86_64.rpm .
48+
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP2:Update/pool/x86_64/openssl-1_1.18804/libopenssl1_1-1.1.1d-11.20.1.x86_64.rpm
49+
COPY libopenssl1_1-1.1.1d-11.20.1.x86_64.rpm .
50+
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP2:Update/pool/x86_64/openssl-1_1.18804/libopenssl1_1-hmac-1.1.1d-11.20.1.x86_64.rpm
51+
COPY libopenssl1_1-hmac-1.1.1d-11.20.1.x86_64.rpm .
52+
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP1:Update/pool/x86_64/libgcrypt.15117/libgcrypt20-1.8.2-8.36.1.x86_64.rpm
53+
COPY libgcrypt20-1.8.2-8.36.1.x86_64.rpm .
54+
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP1:Update/pool/x86_64/libgcrypt.15117/libgcrypt20-hmac-1.8.2-8.36.1.x86_64.rpm
55+
COPY libgcrypt20-hmac-1.8.2-8.36.1.x86_64.rpm .
56+
RUN set -euo pipefail; \
57+
[ $(LC_ALL=C rpm --checksig -v *rpm | \
58+
grep -c -E "^ *V3.*key ID 39db7c82: OK") = 5 ] \
59+
&& rpm -Uvh --oldpackage --force *.rpm \
60+
&& rm -vf *.rpm \
61+
&& rpmqpack | grep -E '(openssl|libgcrypt)' | xargs zypper -n addlock
62+
63+
ENV OPENSSL_FIPS=1
64+
ENV OPENSSL_FORCE_FIPS_MODE=1
65+
ENV LIBGCRYPT_FORCE_FIPS_MODE=1
66+
ENV GNUTLS_FORCE_FIPS_MODE=1

base-fips-image/README.md

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
2+
# The SUSE Linux Enterprise 15 SP3 LTSS FIPS-140-2 container image
3+
4+
![Access Protected](https://img.shields.io/badge/Requires_login_for_access-orange)
5+
![Long Term Service Pack Support](https://img.shields.io/badge/LTSS-Yes-orange)
6+
[![SLSA](https://img.shields.io/badge/SLSA_(v0.1)-Level_4-Green)](https://documentation.suse.com/sbp/server-linux/html/SBP-SLSA4/)
7+
[![Provenance: Available](https://img.shields.io/badge/Provenance-Available-Green)](https://documentation.suse.com/container/all/html/Container-guide/index.html#container-verify)
8+
9+
## Description
10+
11+
12+
This SUSE Linux Enterprise 15 SP3 LTSS-based container image includes the
13+
SLES 15 FIPS-140-2 certified OpenSSL and libgcrypt modules. The image is
14+
designed to run on a FIPS-140-2 compliant SUSE Linux Enterprise Server 15 SP3
15+
host environment. Although it is configured to enforce FIPS mode, the FIPS
16+
certification requires a host kernel in FIPS mode to be fully compliant.
17+
18+
The [FIPS-140-2 certified OpenSSL module](https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp3991.pdf)
19+
is a cryptographic module that provides a FIPS-140-2 compliant
20+
cryptographic library. The module is certified by the National
21+
Institute of Standards and Technology (NIST).
22+
23+
The FIPS-140-2 certified OpenSSL module is a drop-in replacement for the
24+
standard OpenSSL library. It provides the same functionality as the standard
25+
OpenSSL library, with additional security features to meet the FIPS-140-2
26+
requirements.
27+
28+
Similarly, the [FIPS-140-2 certified libgcrypt module](https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp3848.pdf)
29+
is a drop-in replacement for the standard libgcrypt library. It provides the
30+
same functionality as the standard libgcrypt library, with the additional
31+
security features enforced to meet FIPS-140-2 requirements.
32+
33+
34+
## Usage
35+
The image is configured to enforce the use of FIPS mode by default,
36+
independent of the host environment setup by specifying the following
37+
environment variables:
38+
* `OPENSSL_FIPS=1`: Initialize the OpenSSL FIPS mode
39+
* `OPENSSL_FORCE_FIPS_MODE=1`: Set FIPS mode to enforcing independent of the host kernel
40+
* `LIBGCRYPT_FORCE_FIPS_MODE=1`: Set FIPS mode in libgcrypt to enforcing
41+
42+
Below is a list of other environment variables that can be used to configure the OpenSSL library:
43+
44+
* `OPENSSL_ENFORCE_MODULUS_BITS=1`: Restrict the OpenSSL module to only generate
45+
the acceptable key sizes of RSA.
46+
## Accessing the container image
47+
48+
Accessing this container image requires a valid SUSE subscription. In order
49+
to access the container image, you must login to the SUSE Registry with your credentials.
50+
There are three ways to do that which are described below. The first two methods
51+
leverage the system registration of your host system, while the third method
52+
requires you to obtain the organisation SCC mirroring credentials.
53+
54+
### Use the system registration of your host system
55+
56+
If the host system you are using to build or run a container is already registered with
57+
the correct subscription required for accessing the LTSS container images, you can use
58+
the registration information from the host to log in to the registry.
59+
60+
The file `/etc/zypp/credentials.d/SCCcredentials` contains a username and a password.
61+
These credentials allow you to access any container that is available under the
62+
subscription of the respective host system. You can use these credentials to log
63+
in to SUSE Registry using the following commands
64+
(use the leading space before the echo command to avoid storing the credentials in the
65+
shell history):
66+
67+
```ShellSession
68+
set +o history
69+
echo PASSWORD | podman login -u USERNAME --password-stdin registry.suse.com
70+
set -o history
71+
```
72+
73+
### Use a separate SUSE Customer Center registration code
74+
75+
If the host system is not registered with SUSE Customer Center, you can use a valid
76+
SUSE Customer Center registration code to log in to the registry:
77+
78+
```ShellSession
79+
set +o history
80+
echo SCC_REGISTRATION_CODE | podman login -u "regcode" --password-stdin registry.suse.com
81+
set -o history
82+
```
83+
The user parameter in this case is the verbatim string `regcode`, and
84+
`SCC_REGISTRATION_CODE` is the actual registration code obtained from SUSE.
85+
86+
### Use the organization mirroring credentials
87+
88+
You can also use the organization mirroring credentials to log in to the
89+
SUSE Registry:
90+
91+
```ShellSession
92+
set +o history
93+
echo SCC_MIRRORING_PASSWORD | podman login -u "SCC_MIRRORING_USER" --password-stdin registry.suse.com
94+
set -o history
95+
```
96+
97+
These credentials give you access to all subscriptions the organization owns,
98+
including those related to container images in the SUSE Registry.
99+
The credentials are highly privileged and should be preferably used for
100+
a private mirroring registry only.
101+
## Licensing
102+
103+
`SPDX-License-Identifier: MIT`
104+
105+
This documentation and the build recipe are licensed as MIT.
106+
The container itself contains various software components under various open source licenses listed in the associated
107+
Software Bill of Materials (SBOM).
108+
109+
This image is based on [SUSE Linux Enterprise Server](https://www.suse.com/products/server/), a reliable,
110+
secure, and scalable server operating system built to power mission-critical workloads in physical and virtual environments.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<services>
2+
<service mode="buildtime" name="docker_label_helper"/>
23
<service mode="buildtime" name="kiwi_metainfo_helper"/>
3-
<service mode="buildtime" name="kiwi_label_helper"/>
44
</services>

0 commit comments

Comments
 (0)