[info=0d7635603c725795f2a9a5c7143a1c76]

OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/distribution-image?expand=0&rev=264
This commit is contained in:
Dan Čermák 2025-01-01 14:15:46 +00:00 committed by Git OBS Bridge
commit f424939ae6
7 changed files with 364 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

52
README.md Normal file
View File

@ -0,0 +1,52 @@
# openSUSE Tumbleweed OCI Container Registry (Distribution): Suitable for running a local OCI registry
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
## Description
This container image allows to run a local OCI registry.
## Usage
Before you start the container,
you need to create a `config.yml` with the following content:
```yaml
---
version: 0.1
log:
level: info
storage:
filesystem:
rootdirectory: /var/lib/docker-registry
http:
addr: 0.0.0.0:5000
```
You can also create an empty directory for storing the images outside the container:
```bash
mkdir -p /var/lib/docker-registry
```
Then you can start the container with the following command:
```bash
podman run -d --restart=always -p 5000:5000 -v /path/to/config.yml:/etc/registry/config.yml \
-v /var/lib/docker-registry:/var/lib/docker-registry --name registry registry.opensuse.org/opensuse/registry:%%registry_version%%-%RELEASE%
```
The registry is available at `http://localhost:5000`. To keep the registry running after a reboot, create a systemd service as follows:
```bash
sudo podman generate systemd registry > /etc/systemd/system/registry.service
sudo systemctl enable --now registry
```
## Licensing
`SPDX-License-Identifier: Apache-2.0`
This documentation and the build recipe are licensed as Apache-2.0.
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/).

10
_service Normal file
View File

@ -0,0 +1,10 @@
<services>
<service mode="buildtime" name="kiwi_label_helper"/>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
<service mode="buildtime" name="replace_using_package_version">
<param name="file">distribution-image.kiwi</param>
<param name="regex">%%registry_version%%</param>
<param name="package">distribution-registry</param>
<param name="parse-version">minor</param>
</service>
</services>

30
config.sh Normal file
View File

@ -0,0 +1,30 @@
#!/bin/bash
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: (c) 2022-2025 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 {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
exit 0

169
distribution-image.changes Normal file
View File

@ -0,0 +1,169 @@
-------------------------------------------------------------------
Wed Jan 1 14:13:48 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
- update copyright year
-------------------------------------------------------------------
Tue Dec 3 13:26:37 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
- Change attribute order in _service
-------------------------------------------------------------------
Wed Oct 30 18:28:27 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
- be explicit in protocol for expose statement
-------------------------------------------------------------------
Wed Oct 30 15:34:45 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
- remove nonsensical org.opencontainers.image.authors - duplication of .vendor
-------------------------------------------------------------------
Fri Oct 11 15:12:52 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
- make the tag with -%RELEASE% the first tag listed
-------------------------------------------------------------------
Wed Sep 25 17:12:11 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- improved log cleaning
-------------------------------------------------------------------
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)
-------------------------------------------------------------------
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
-------------------------------------------------------------------
Fri May 31 10:03:08 UTC 2024 - Fredrik Lönnegren <fredrik.lonnegren@suse.com>
- Correct configuration path in the README
-------------------------------------------------------------------
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:09 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- add copyright and description header
-------------------------------------------------------------------
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
-------------------------------------------------------------------
Tue May 23 06:45:17 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- Use standard naming for registry image
-------------------------------------------------------------------
Wed Apr 5 16:55:15 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- Shorten descriptions
-------------------------------------------------------------------
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
-------------------------------------------------------------------
Wed Dec 21 14:05:32 UTC 2022 - Dirk Müller <dmueller@suse.com>
- BuildTag sorting and consistency fixes
-------------------------------------------------------------------
Wed Dec 21 14:04:07 UTC 2022 - Dirk Müller <dmueller@suse.com>
- Add :latest tag

79
distribution-image.kiwi Normal file
View File

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- SPDX-License-Identifier: Apache-2.0 -->
<!--
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
-->
<!-- OBS-AddTag: opensuse/registry:%%registry_version%%-%RELEASE% opensuse/registry:%%registry_version%% opensuse/registry:latest -->
<!-- OBS-Imagerepo: obsrepositories:/ -->
<image schemaversion="7.4" name="registry-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 OCI Container Registry (Distribution) Container Image</specification>
</description>
<preferences>
<type image="docker" derived_from="obsrepositories:/opensuse/bci/bci-micro#latest">
<containerconfig
name="opensuse/registry"
tag="%%registry_version%%-%RELEASE%"
additionaltags="%%registry_version%%,latest"
user="registry">
<labels>
<suse_label_helper:add_prefix prefix="org.opensuse.application.registry">
<label name="org.opencontainers.image.title" value="openSUSE Tumbleweed OCI Container Registry (Distribution)"/>
<label name="org.opencontainers.image.description" value="OCI Container Registry (Distribution) container based on the openSUSE Tumbleweed Base Container Image."/>
<label name="org.opencontainers.image.version" value="%%registry_version%%"/>
<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="%%registry_version%%-%RELEASE%"/>
<label name="org.opensuse.reference" value="registry.opensuse.org/opensuse/registry:%%registry_version%%-%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/distribution-image/README.md"/>
</labels>
<subcommand execute="serve">
<argument name="/etc/registry/config.yml"/>
</subcommand>
<entrypoint execute="/usr/bin/registry"/>
<volumes>
<volume name="/var/lib/docker-registry" />
</volumes>
<expose>
<port number="5000/tcp" />
</expose>
</containerconfig>
</type>
<version>2025</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="apache2-utils"/>
<package name="ca-certificates-mozilla"/>
<package name="distribution-registry"/>
<package name="perl"/>
<package name="util-linux"/>
</packages>
</image>