Skip to content

Commit

Permalink
Merge pull request #2015 from SUSE/for-deploy-Tumbleweed
Browse files Browse the repository at this point in the history
🤖: Update build recipes for Tumbleweed
  • Loading branch information
dirkmueller authored Nov 15, 2024
2 parents 7fe0df6 + 2de9f53 commit 279c40f
Show file tree
Hide file tree
Showing 5 changed files with 117 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .obs/workflows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,10 @@ staging_build:
source_project: home:defolos:BCI:CR:Tumbleweed
source_package: trivy-image
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
- branch_package:
source_project: home:defolos:BCI:CR:Tumbleweed
source_package: valkey-image
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
filters:
event: pull_request

Expand Down Expand Up @@ -417,6 +421,9 @@ refresh_devel_BCI:
- trigger_services:
project: devel:BCI:Tumbleweed
package: trivy-image
- trigger_services:
project: devel:BCI:Tumbleweed
package: valkey-image
filters:
event: push
branches:
Expand Down
54 changes: 54 additions & 0 deletions valkey-image/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# SPDX-License-Identifier: BSD-3-Clause

# 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

#!UseOBSRepositories

#!BuildTag: opensuse/valkey:%%valkey_version%%-%RELEASE%
#!BuildTag: opensuse/valkey:%%valkey_version%%
#!BuildTag: opensuse/valkey:latest

FROM opensuse/bci/bci-micro:latest AS target
FROM opensuse/tumbleweed:latest AS builder
COPY --from=target / /target

RUN set -euo pipefail; \
zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends valkey valkey-compat-redis; \
zypper -n clean; \
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
FROM opensuse/bci/bci-micro:latest
COPY --from=builder /target /
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=org.opensuse.application.valkey
LABEL org.opencontainers.image.title="openSUSE Tumbleweed Persistent key-value database"
LABEL org.opencontainers.image.description="Valkey is an open-source high-performance key/value data store designed for a variety of workloads such as caching, message queuing and primary database use"
LABEL org.opencontainers.image.version="%%valkey_version%%"
LABEL org.opencontainers.image.url="https://www.opensuse.org"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="openSUSE Project"
LABEL org.opencontainers.image.source="%SOURCEURL%"
LABEL org.opencontainers.image.ref.name="%%valkey_version%%-%RELEASE%"
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/valkey:%%valkey_version%%-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
LABEL org.opensuse.release-stage="released"
# endlabelprefix
LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/valkey-image/README.md"
ENTRYPOINT ["/usr/bin/valkey-server"]
EXPOSE 6379/tcp

RUN set -euo pipefail; install -o valkey -g valkey -m 750 -d /data
WORKDIR /data
USER valkey
VOLUME /data
43 changes: 43 additions & 0 deletions valkey-image/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# The Valkey %%valkey_version%% container image

![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)

## Description

Valkey is a high-performance data structure server that primarily serves
key/value workloads. It supports a wide range of native structures and
an extensible plugin system for adding new data structures and access
patterns.

## How to use the image

The image ships with the valkey server and a persistent storage configured
to `/data`.

To start an instance, follow these instructions:


```ShellSession
podman run --rm registry.opensuse.org/opensuse/valkey:%%valkey_version%%
```

In case you want start with persistent storage, run this:

```ShellSession
podman run --rm registry.opensuse.org/opensuse/valkey:%%valkey_version%% valkey-server --save 60 1
```

This one will save a snapshot of the DB every 60 seconds if at least 1
write operation was performed. If persistence is enabled, data is stored
in the VOLUME /data, which can be used with `-v /host/dir:/data`.


## Licensing

`SPDX-License-Identifier: BSD-3-Clause`

This documentation and the build recipe are licensed as BSD-3-Clause.
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/).
9 changes: 9 additions & 0 deletions valkey-image/_service
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<services>
<service mode="buildtime" name="docker_label_helper"/>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
<service name="replace_using_package_version" mode="buildtime">
<param name="file">Dockerfile</param>
<param name="regex">%%valkey_version%%</param>
<param name="package">valkey</param>
</service>
</services>
4 changes: 4 additions & 0 deletions valkey-image/valkey-image.changes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-------------------------------------------------------------------
Fri Nov 15 11:29:13 UTC 2024 - SUSE Update Bot <[email protected]>

- First version of the Persistent key-value database BCI

0 comments on commit 279c40f

Please sign in to comment.