[info=be27e2f798257ef043251dc8a6494444]

OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/micro-image?expand=0&rev=179
This commit is contained in:
Dan Čermák 2024-09-13 13:55:31 +00:00 committed by Git OBS Bridge
commit 6fc1cc8575
7 changed files with 327 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

45
README.md Normal file
View File

@ -0,0 +1,45 @@
# openSUSE Tumbleweed BCI Micro: Suitable for deploying static binaries
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
## Description
The `bci-micro` image includes the RPM database, but not the RPM package
manager. This means that the image is smaller than `bci-minimal`. The primary
use case for the image is deploying static binaries produced externally or
during multi-stage builds.
## Usage
As there is no straightforward way to install additional
dependencies inside the container image, we recommend deploying a project
using the `bci-micro` image only when the final build artifact bundles all
dependencies and needs no further installation of packages.
Example using a Go application:
```Dockerfile
FROM registry.suse.com/bci/golang:stable as build
WORKDIR /app
RUN go install github.com/go-training/helloworld@latest
# Create an image to bundle the app
FROM registry.suse.com/bci/bci-micro:latest
COPY --from=build /go/bin/helloworld /usr/local/bin/helloworld
CMD ["/usr/local/bin/helloworld"]
```
## 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 based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/).

4
_service Normal file
View File

@ -0,0 +1,4 @@
<services>
<service mode="buildtime" name="kiwi_label_helper"/>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
</services>

31
config.sh Normal file
View File

@ -0,0 +1,31 @@
#!/bin/bash
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: (c) 2022-2024 SUSE LLC
set -euo pipefail
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
echo "Configure image: [$kiwi_iname]..."
#============================================
# Import repositories' keys if rpm is present
#--------------------------------------------
if command -v rpm > /dev/null; then
suseImportBuildKey
fi
#=======================================
# Clean up after zypper if it is present
#---------------------------------------
if command -v zypper > /dev/null; then
zypper -n clean
fi
rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2}
exit 0

154
micro-image.changes Normal file
View File

@ -0,0 +1,154 @@
-------------------------------------------------------------------
Fri Sep 13 09:56:19 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- Remove trailing whitespace
-------------------------------------------------------------------
Thu Aug 8 19:28:10 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- add oci.image.ref.name
-------------------------------------------------------------------
Thu Aug 8 16:43:43 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- remove oci reference annotation again
-------------------------------------------------------------------
Mon Aug 5 11:38:13 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- add OCI reference annotation
-------------------------------------------------------------------
Sat Aug 3 08:56:51 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- set OCI.authors attribute instead of deprecated MAINTAINER
-------------------------------------------------------------------
Wed Jul 31 12:06:44 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- set specific lifecycle url for openSUSE BCI
-------------------------------------------------------------------
Tue Jul 16 15:20:06 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- Re-render templates (no functional change)
-------------------------------------------------------------------
Wed Jun 26 13:56:49 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- README fixes
-------------------------------------------------------------------
Mon Jun 10 15:11:25 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- update README; reduce unnecessary newlines
-------------------------------------------------------------------
Wed Jun 5 15:13:27 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- Don't add artifacthub labels into labelprefix section
-------------------------------------------------------------------
Tue Jun 4 12:35:15 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi@suse.com>
- Fix grammar mistake in licensing footer
-------------------------------------------------------------------
Wed May 15 13:43:21 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- Remove duplication from the image title
-------------------------------------------------------------------
Wed May 8 16:26:31 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- README fixes - better titles and follow recommended document structure
-------------------------------------------------------------------
Tue May 7 19:07:24 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- extend READMEs; correct eula for application images
-------------------------------------------------------------------
Fri Apr 19 10:31:30 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- Bump kiwi schema version
-------------------------------------------------------------------
Fri Apr 12 12:03:53 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- Don't wipe everything in /var/log, only remove log files (this omits directories owned by packages)
-------------------------------------------------------------------
Thu Apr 4 17:37:20 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- add a shared licensing footer to the base container READMEs
-------------------------------------------------------------------
Fri Mar 22 17:20:58 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- add readme and logo urls
-------------------------------------------------------------------
Wed Jan 17 14:29:14 UTC 2024 - Dan Čermák <dcermak@suse.com>
- Add initial README stub
-------------------------------------------------------------------
Tue Jan 2 08:26:58 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- update year to 2024
-------------------------------------------------------------------
Thu Sep 28 14:29:10 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- add copyright and description header
-------------------------------------------------------------------
Mon Jul 24 12:54:31 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- Fix base image naming in description label
-------------------------------------------------------------------
Wed Jul 12 12:52:48 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- Replace distribution-release with openSUSE-release and openSUSE-release-appliance-docker
-------------------------------------------------------------------
Fri Jun 23 15:33:33 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- label capitalization and related cleanups
-------------------------------------------------------------------
Tue May 30 06:52:56 UTC 2023 - Dan Čermák <dcermak@suse.com>
- Add release stage and lifecycle url
-------------------------------------------------------------------
Wed Apr 26 06:18:12 UTC 2023 - Dirk Müller <dmueller@suse.com>
- switch versioning to rolling Tumbleweed schema
-------------------------------------------------------------------
Fri Mar 3 07:24:36 UTC 2023 - Dan Čermák <dcermak@suse.com>
- Add org.opencontainers.image.source label set to %SOURCEURL%
-------------------------------------------------------------------
Mon Jan 2 12:22:14 UTC 2023 - Dan Čermák <dcermak@suse.com>
- Bump copyright year
-------------------------------------------------------------------
Fri Jul 15 11:09:11 UTC 2022 - Dan Čermák <dcermak@suse.com>
- Increase compatibility with openSUSE
-------------------------------------------------------------------
Tue Jul 12 15:13:51 UTC 2022 - Dan Čermák <dcermak@suse.com>
- Convert SLE specific parts to openSUSE
-------------------------------------------------------------------
Thu Apr 28 10:15:38 UTC 2022 - Dan Čermák <dcermak@suse.com>
- Ensure that /var/log/zypp is not present in the image

69
micro-image.kiwi Normal file
View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- SPDX-License-Identifier: MIT -->
<!--
Copyright (c) 2024 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
-->
<!-- OBS-AddTag: opensuse/bci/bci-micro:%OS_VERSION_ID_SP% opensuse/bci/bci-micro:%OS_VERSION_ID_SP%.%RELEASE% opensuse/bci/bci-micro:latest -->
<!-- OBS-Imagerepo: obsrepositories:/ -->
<image schemaversion="7.4" name="micro-image" xmlns:suse_label_helper="com.suse.label_helper">
<description type="system">
<author>openSUSE Project</author>
<contact>https://www.suse.com/</contact>
<specification>openSUSE Tumbleweed BCI Micro Container Image</specification>
</description>
<preferences>
<type image="docker">
<containerconfig
name="opensuse/bci/bci-micro"
tag="%OS_VERSION_ID_SP%"
additionaltags="%OS_VERSION_ID_SP%.%RELEASE%,latest">
<labels>
<suse_label_helper:add_prefix prefix="org.opensuse.bci.micro">
<label name="org.opencontainers.image.authors" value="openSUSE (https://www.opensuse.org/)"/>
<label name="org.opencontainers.image.title" value="openSUSE Tumbleweed BCI Micro"/>
<label name="org.opencontainers.image.description" value="A micro environment for containers based on the openSUSE Tumbleweed Base Container Image."/>
<label name="org.opencontainers.image.version" value="%OS_VERSION_ID_SP%.%RELEASE%"/>
<label name="org.opencontainers.image.created" value="%BUILDTIME%"/>
<label name="org.opencontainers.image.vendor" value="openSUSE Project"/>
<label name="org.opencontainers.image.source" value="%SOURCEURL%"/>
<label name="org.opencontainers.image.url" value="https://www.opensuse.org"/>
<label name="org.opencontainers.image.ref.name" value="%OS_VERSION_ID_SP%.%RELEASE%"/>
<label name="org.opensuse.reference" value="registry.opensuse.org/opensuse/bci/bci-micro:%OS_VERSION_ID_SP%.%RELEASE%"/>
<label name="org.openbuildservice.disturl" value="%DISTURL%"/>
<label name="org.opensuse.release-stage" value="released"/>
<label name="org.opensuse.lifecycle-url" value="https://en.opensuse.org/Lifetime#openSUSE_BCI"/>
</suse_label_helper:add_prefix>
<label name="io.artifacthub.package.readme-url" value="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/micro-image/README.md"/>
<label name="io.artifacthub.package.logo-url" value="https://opensource.suse.com/bci/SLE_BCI_logomark_green.svg"/>
</labels>
</containerconfig>
</type>
<version>2024</version>
<packagemanager>zypper</packagemanager>
<rpm-check-signatures>false</rpm-check-signatures>
<rpm-excludedocs>true</rpm-excludedocs>
</preferences>
<repository type="rpm-md">
<source path="obsrepositories:/"/>
</repository>
<packages type="bootstrap">
<package name="bash"/>
<package name="ca-certificates-mozilla-prebuilt"/>
<package name="coreutils"/>
<package name="openSUSE-release"/>
<package name="openSUSE-release-appliance-docker"/>
</packages>
</image>