Skip to content

Commit 389927d

Browse files
authored
Merge pull request #3153 from SUSE/for-deploy-7
🤖: Update build recipes for SP7
2 parents ab38f42 + c385ffd commit 389927d

34 files changed

+778
-6
lines changed

.obs/workflows.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ staging_build:
99
source_project: home:pushman:BCI:CR:SLE-15-SP7
1010
source_package: alertmanager-image
1111
target_project: home:pushman:BCI:CR:SLE-15-SP7:Staging
12+
- branch_package:
13+
source_project: home:pushman:BCI:CR:SLE-15-SP7
14+
source_package: aspnet-runtime-10.0
15+
target_project: home:pushman:BCI:CR:SLE-15-SP7:Staging
1216
- branch_package:
1317
source_project: home:pushman:BCI:CR:SLE-15-SP7
1418
source_package: aspnet-runtime-8.0
@@ -41,6 +45,10 @@ staging_build:
4145
source_project: home:pushman:BCI:CR:SLE-15-SP7
4246
source_package: distribution-image
4347
target_project: home:pushman:BCI:CR:SLE-15-SP7:Staging
48+
- branch_package:
49+
source_project: home:pushman:BCI:CR:SLE-15-SP7
50+
source_package: dotnet-10.0
51+
target_project: home:pushman:BCI:CR:SLE-15-SP7:Staging
4452
- branch_package:
4553
source_project: home:pushman:BCI:CR:SLE-15-SP7
4654
source_package: dotnet-8.0
@@ -49,6 +57,10 @@ staging_build:
4957
source_project: home:pushman:BCI:CR:SLE-15-SP7
5058
source_package: dotnet-9.0
5159
target_project: home:pushman:BCI:CR:SLE-15-SP7:Staging
60+
- branch_package:
61+
source_project: home:pushman:BCI:CR:SLE-15-SP7
62+
source_package: dotnet-runtime-10.0
63+
target_project: home:pushman:BCI:CR:SLE-15-SP7:Staging
5264
- branch_package:
5365
source_project: home:pushman:BCI:CR:SLE-15-SP7
5466
source_package: dotnet-runtime-8.0
@@ -280,6 +292,9 @@ refresh_devel_BCI:
280292
- trigger_services:
281293
project: devel:BCI:SLE-15-SP7
282294
package: alertmanager-image
295+
- trigger_services:
296+
project: devel:BCI:SLE-15-SP7
297+
package: aspnet-runtime-10.0
283298
- trigger_services:
284299
project: devel:BCI:SLE-15-SP7
285300
package: aspnet-runtime-8.0
@@ -304,12 +319,18 @@ refresh_devel_BCI:
304319
- trigger_services:
305320
project: devel:BCI:SLE-15-SP7
306321
package: distribution-image
322+
- trigger_services:
323+
project: devel:BCI:SLE-15-SP7
324+
package: dotnet-10.0
307325
- trigger_services:
308326
project: devel:BCI:SLE-15-SP7
309327
package: dotnet-8.0
310328
- trigger_services:
311329
project: devel:BCI:SLE-15-SP7
312330
package: dotnet-9.0
331+
- trigger_services:
332+
project: devel:BCI:SLE-15-SP7
333+
package: dotnet-runtime-10.0
313334
- trigger_services:
314335
project: devel:BCI:SLE-15-SP7
315336
package: dotnet-runtime-8.0

aspnet-runtime-10.0/Dockerfile

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# SPDX-License-Identifier: MIT
2+
3+
# Copyright (c) 2025 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+
#!UseOBSRepositories
17+
#!ExclusiveArch: x86_64
18+
#!BuildTag: bci/dotnet-aspnet:10.0.0-%RELEASE%
19+
#!BuildTag: bci/dotnet-aspnet:10.0.0
20+
#!BuildTag: bci/dotnet-aspnet:10.0
21+
#!BuildTag: bci/dotnet-aspnet:latest
22+
#!BuildName: bci-dotnet-aspnet-10.0
23+
#!BuildVersion: 15.7.10.0
24+
FROM registry.suse.com/bci/bci-base:15.7
25+
26+
27+
28+
# set the day of last password change to empty
29+
RUN set -euo pipefail; sed -i 's/^\([^:]*:[^:]*:\)[^:]*\(:.*\)$/\1\2/' /etc/shadow
30+
31+
# Define labels according to https://en.opensuse.org/Building_derived_containers
32+
# labelprefix=com.suse.bci.dotnet.aspnet
33+
LABEL org.opencontainers.image.authors="https://github.com/SUSE/bci/discussions"
34+
LABEL org.opencontainers.image.title="SLE BCI ASP.NET Core Runtime 10.0"
35+
LABEL org.opencontainers.image.description="The ASP.NET Core Runtime 10.0 based on the SUSE Linux Enterprise Base Container Image. The .NET packages contained in this image come from a 3rd-party repository http://packages.microsoft.com. You can find the respective source code in https://github.com/dotnet. SUSE doesn't provide any support or warranties."
36+
LABEL org.opencontainers.image.version="10.0.0"
37+
LABEL org.opencontainers.image.url="https://www.suse.com/products/base-container-images/"
38+
LABEL org.opencontainers.image.created="%BUILDTIME%"
39+
LABEL org.opencontainers.image.vendor="SUSE LLC"
40+
LABEL org.opencontainers.image.source="%SOURCEURL%"
41+
LABEL org.opencontainers.image.ref.name="10.0.0-%RELEASE%"
42+
LABEL org.opensuse.reference="registry.suse.com/bci/dotnet-aspnet:10.0.0-%RELEASE%"
43+
LABEL org.openbuildservice.disturl="%DISTURL%"
44+
LABEL com.suse.supportlevel="techpreview"
45+
LABEL com.suse.supportlevel.until="2028-11-12"
46+
LABEL com.suse.eula="sle-bci"
47+
LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle#suse-linux-enterprise-server-15"
48+
LABEL com.suse.release-stage="released"
49+
# endlabelprefix
50+
LABEL org.opencontainers.image.base.name="%BASE_REFNAME%"
51+
LABEL org.opencontainers.image.base.digest="%BASE_DIGEST%"
52+
LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.md)%"
53+
54+
55+
RUN mkdir -p /tmp/
56+
57+
#!RemoteAssetUrl: https://packages.microsoft.com/sles/15/prod/Packages/d/dotnet-host-10.0.0-1.x86_64.rpm sha256:0367de591ce206589496d4c1489dfaeec748a0cbab2612cd64087de4d92a90dd
58+
COPY dotnet-host-10.0.0-1.x86_64.rpm /tmp/
59+
#!RemoteAssetUrl: https://packages.microsoft.com/sles/15/prod/Packages/d/dotnet-hostfxr-10.0-10.0.0-1.x86_64.rpm sha256:6541a4345ba7c0efed58d932c47470a55f906125222c3f634e0f59dee290ded7
60+
COPY dotnet-hostfxr-10.0-10.0.0-1.x86_64.rpm /tmp/
61+
#!RemoteAssetUrl: https://packages.microsoft.com/sles/15/prod/Packages/d/dotnet-runtime-deps-10.0-10.0.0-1.x86_64.rpm sha256:987ac9d24088187d2b2bead6e81f0d3f58705db7a104c8326e5077245224ebc6
62+
COPY dotnet-runtime-deps-10.0-10.0.0-1.x86_64.rpm /tmp/
63+
#!RemoteAssetUrl: https://packages.microsoft.com/sles/15/prod/Packages/d/dotnet-runtime-10.0-10.0.0-1.x86_64.rpm sha256:aa7eb160c0e20dd7a4b2070b962062b7850d1a9c660d51ae5186650cef648bef
64+
COPY dotnet-runtime-10.0-10.0.0-1.x86_64.rpm /tmp/
65+
#!RemoteAssetUrl: https://packages.microsoft.com/sles/15/prod/Packages/a/aspnetcore-runtime-10.0-10.0.0-1.x86_64.rpm sha256:a0dc272d0111dcc82769352b91c5f4d70549f6d8cdfa146ed5bbb49d44d3acbe
66+
COPY aspnetcore-runtime-10.0-10.0.0-1.x86_64.rpm /tmp/
67+
68+
69+
# Workaround for https://github.com/openSUSE/obs-build/issues/487
70+
RUN zypper --non-interactive install --no-recommends coreutils sles-release
71+
72+
# Importing MS GPG keys
73+
COPY microsoft.asc /tmp
74+
RUN rpm --import /tmp/microsoft.asc
75+
76+
RUN zypper --non-interactive install --no-recommends libicu libopenssl1_1 /tmp/*rpm
77+
78+
COPY prod.repo /etc/zypp/repos.d/microsoft-dotnet-prod.repo
79+
COPY dotnet-host.check /etc/zypp/systemCheck.d/dotnet-host.check
80+
81+
RUN rm -rf /tmp/* && zypper clean -a && rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}; \
82+
rm -rf {/target,}/run/*; \
83+
rm -f {/target,}/etc/{shadow-,group-,passwd-,.pwd.lock}; \
84+
rm -f {/target,}/usr/lib/sysimage/rpm/.rpm.lock; \
85+
rm -f {/target,}/var/cache/ldconfig/aux-cache; \
86+
command -v zypper >/dev/null 2>&1 || rm -f /var/lib/zypp/AutoInstalled
87+
88+
89+
90+
ENV APP_UID=1654 ASPNETCORE_HTTP_PORTS=8080 DOTNET_RUNNING_IN_CONTAINER=true
91+
ENV DOTNET_VERSION=10.0.0
92+
RUN useradd --uid=$APP_UID -U -d /app -G '' -ms /bin/bash app
93+
WORKDIR /app
94+
EXPOSE 8080

aspnet-runtime-10.0/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.

aspnet-runtime-10.0/README.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# ASP.NET Core Runtime 10.0 container image
2+
3+
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)![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/security/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+
.NET is a general purpose development platform.
9+
It is cross-platform, and can be used in devices, cloud, and embedded/IoT scenarios.
10+
You can use C# or F# to write .NET applications.
11+
12+
This image contains the ASP.NET Core and .NET runtimes and libraries,
13+
and it is optimized for running ASP.NET Core applications in production.
14+
15+
## Notice
16+
17+
The .NET packages in the image come from a third-party repository
18+
[packages.microsoft.com](https://packages.microsoft.com).
19+
20+
The source code is available on [github.com/dotnet](https://github.com/dotnet).
21+
22+
SUSE does not provide any support or warranties for the third-party components in the image.
23+
24+
## Usage
25+
26+
To compile and deploy an application, copy the sources and build the binary:
27+
28+
```Dockerfile
29+
FROM registry.suse.com/bci/dotnet-sdk:10.0 AS build
30+
WORKDIR /source
31+
32+
# copy csproj and restore as distinct layers
33+
COPY aspnetapp/*.csproj .
34+
RUN dotnet restore
35+
36+
# copy and publish app and libraries
37+
COPY aspnetapp/. .
38+
RUN dotnet publish --no-restore -o /app
39+
40+
# final image
41+
FROM registry.suse.com/bci/dotnet-aspnet:10.0
42+
43+
WORKDIR /app
44+
COPY --from=build /app .
45+
46+
EXPOSE 8080
47+
48+
# uncomment to run as non-root user
49+
# USER $APP_UID
50+
51+
ENTRYPOINT ["./aspnetapp"]
52+
```
53+
54+
Build and run the container image:
55+
56+
```ShellSession
57+
podman build -t my-aspnet-app .
58+
podman run -it --rm -p 8080:8080 my-aspnet-app
59+
```
60+
61+
## HTTPS and certificates
62+
63+
ASP.NET Core uses [HTTPS by default](https://docs.microsoft.com/aspnet/core/security/enforcing-ssl).
64+
You need a valid certificate for production deployments.
65+
66+
To create a self-signed certificate for testing, use the following command:
67+
68+
```ShellSession
69+
podman run --rm -it -v "$PWD/https":/https:Z \
70+
registry.suse.com/bci/dotnet-sdk:10.0 \
71+
dotnet dev-certs https -ep /https/aspnetapp.pfx -p <PASSWORD>
72+
```
73+
74+
To use a certificate and run the container image with ASP.NET Core configured for HTTPS in development or production, use the following command:
75+
76+
```ShellSession
77+
podman run --rm -it -p 8081:8081 \
78+
-e ASPNETCORE_HTTPS_PORTS=8081 \
79+
-e ASPNETCORE_Kestrel__Certificates__Default__Password="<PASSWORD>" \
80+
-e ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx \
81+
-v "$PWD/https":/https:Z my-apsnet-app
82+
```
83+
84+
## Globalization
85+
86+
.NET includes [globalization](https://learn.microsoft.com/dotnet/core/extensions/globalization-and-localization) capabilities, including support for processing natural language text, calendars, currency, and timezones. The .NET implementation for these capabilities is based on system libraries available in the container image, such as [International Components for Unicode (ICU)](https://icu.unicode.org/) and [tzdata](https://wikipedia.org/wiki/Tz_database).
87+
88+
It's considered a good practice to pass timezone information into a container via environment variable `TZ`.
89+
90+
```bash
91+
podman run --rm -it -e TZ="Europe/Berlin" app
92+
```
93+
94+
## Licensing
95+
96+
`SPDX-License-Identifier: MIT`
97+
98+
This documentation and the build recipe are licensed as MIT.
99+
The container itself contains various software components under various open source licenses listed in the associated
100+
Software Bill of Materials (SBOM).
101+
102+
This image is a tech preview. Do not use it for production.
103+
Your feedback is welcome.
104+
Please report any issues to the [SUSE Bugzilla](https://bugzilla.suse.com/enter_bug.cgi?product=PUBLIC%20SUSE%20Linux%20Enterprise%20Base%20Container%20Images).

aspnet-runtime-10.0/_constraints

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<constraints>
2+
<hardware>
3+
<disk>
4+
<size unit="G">8</size>
5+
</disk>
6+
</hardware>
7+
</constraints>

aspnet-runtime-10.0/_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="docker_label_helper"/>
3+
<service mode="buildtime" name="kiwi_metainfo_helper"/>
4+
</services>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-------------------------------------------------------------------
2+
Tue Nov 11 20:37:52 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
3+
4+
- First version of the ASP.NET Core Runtime 10.0 BCI
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
requires:dotnet-host < 10.1

aspnet-runtime-10.0/microsoft.asc

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
Version: GnuPG v1.4.7 (GNU/Linux)
3+
4+
mQENBFYxWIwBCADAKoZhZlJxGNGWzqV+1OG1xiQeoowKhssGAKvd+buXCGISZJwT
5+
LXZqIcIiLP7pqdcZWtE9bSc7yBY2MalDp9Liu0KekywQ6VVX1T72NPf5Ev6x6DLV
6+
7aVWsCzUAF+eb7DC9fPuFLEdxmOEYoPjzrQ7cCnSV4JQxAqhU4T6OjbvRazGl3ag
7+
OeizPXmRljMtUUttHQZnRhtlzkmwIrUivbfFPD+fEoHJ1+uIdfOzZX8/oKHKLe2j
8+
H632kvsNzJFlROVvGLYAk2WRcLu+RjjggixhwiB+Mu/A8Tf4V6b+YppS44q8EvVr
9+
M+QvY7LNSOffSO6Slsy9oisGTdfE39nC7pVRABEBAAG0N01pY3Jvc29mdCAoUmVs
10+
ZWFzZSBzaWduaW5nKSA8Z3Bnc2VjdXJpdHlAbWljcm9zb2Z0LmNvbT6JATUEEwEC
11+
AB8FAlYxWIwCGwMGCwkIBwMCBBUCCAMDFgIBAh4BAheAAAoJEOs+lK2+EinPGpsH
12+
/32vKy29Hg51H9dfFJMx0/a/F+5vKeCeVqimvyTM04C+XENNuSbYZ3eRPHGHFLqe
13+
MNGxsfb7C7ZxEeW7J/vSzRgHxm7ZvESisUYRFq2sgkJ+HFERNrqfci45bdhmrUsy
14+
7SWw9ybxdFOkuQoyKD3tBmiGfONQMlBaOMWdAsic965rvJsd5zYaZZFI1UwTkFXV
15+
KJt3bp3Ngn1vEYXwijGTa+FXz6GLHueJwF0I7ug34DgUkAFvAs8Hacr2DRYxL5RJ
16+
XdNgj4Jd2/g6T9InmWT0hASljur+dJnzNiNCkbn9KbX7J/qK1IbR8y560yRmFsU+
17+
NdCFTW7wY0Fb1fWJ+/KTsC4=
18+
=J6gs
19+
-----END PGP PUBLIC KEY BLOCK-----

aspnet-runtime-10.0/prod.repo

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[packages-microsoft-com-prod]
2+
name=packages-microsoft-com-prod
3+
baseurl=https://packages.microsoft.com/sles/15/prod/
4+
enabled=1
5+
gpgcheck=1
6+
gpgkey=https://packages.microsoft.com/keys/microsoft.asc

0 commit comments

Comments
 (0)