Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Testing MariaDB 10.11 in CentOS Stream 10 #252

Merged
merged 3 commits into from
Aug 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/build-and-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@ jobs:
tag: "c9s"
image_name: "mariadb-1011-c9s"

- dockerfile: "10.11/Dockerfile.c10s"
docker_context: "10.11"
registry_namespace: "sclorg"
quayio_username: "QUAY_IMAGE_SCLORG_BUILDER_USERNAME"
quayio_token: "QUAY_IMAGE_SCLORG_BUILDER_TOKEN"
tag: "c10s"
image_name: "mariadb-1011-c10s"

- dockerfile: "10.5/Dockerfile.c9s"
docker_context: "10.5"
registry_namespace: "sclorg"
Expand Down
74 changes: 74 additions & 0 deletions 10.11/Dockerfile.c10s
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
FROM quay.io/sclorg/s2i-core-c10s:c10s

# MariaDB image for OpenShift.
#
# Volumes:
# * /var/lib/mysql/data - Datastore for MariaDB
# Environment:
# * $MYSQL_USER - Database user name
# * $MYSQL_PASSWORD - User's password
# * $MYSQL_DATABASE - Name of the database to create
# * $MYSQL_ROOT_PASSWORD (Optional) - Password for the 'root' MySQL account

ENV MYSQL_VERSION=10.11 \
APP_DATA=/opt/app-root/src \
HOME=/var/lib/mysql \
NAME=mariadb \
VERSION=10.11 \
ARCH=x86_64 \
SUMMARY="MariaDB 10.11 SQL database server" \
DESCRIPTION="MariaDB is a multi-user, multi-threaded SQL database server. The container \
image provides a containerized packaging of the MariaDB mysqld daemon and client application. \
The mysqld server daemon accepts connections from clients and provides access to content from \
MariaDB databases on behalf of the clients."

LABEL summary="$SUMMARY" \
description="$DESCRIPTION" \
io.k8s.description="$DESCRIPTION" \
io.k8s.display-name="MariaDB $VERSION" \
io.openshift.expose-services="3306:mysql" \
io.openshift.tags="database,mysql,mariadb,mariadb1011,mariadb-1011" \
com.redhat.component="$NAME-1011-container" \
name="sclorg/$NAME-1011-c10s" \
version="1" \
usage="podman run -d -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e MYSQL_DATABASE=db -p 3306:3306 quay.io/sclorg/$NAME-1011-c10s" \
maintainer="SoftwareCollections.org <[email protected]>"

EXPOSE 3306

# This image must forever use UID 27 for mysql user so our volumes are
# safe in the future. This should *never* change, the last test is there
# to make sure of that.
RUN INSTALL_PKGS="policycoreutils rsync tar gettext hostname bind-utils groff-base mariadb-server" && \
dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \
rpm -V $INSTALL_PKGS && \
/usr/libexec/mysqld -V | grep -qe "$MYSQL_VERSION\." && echo "Found VERSION $MYSQL_VERSION" && \
dnf -y clean all --enablerepo='*' && \
mkdir -p /var/lib/mysql/data && chown -R mysql.0 /var/lib/mysql && \
test "$(id mysql)" = "uid=27(mysql) gid=27(mysql) groups=27(mysql)"

# Get prefix path and path to scripts rather than hard-code them in scripts
ENV CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/mysql \
MYSQL_PREFIX=/usr

COPY 10.11/root-common /
COPY 10.11/s2i-common/bin/ $STI_SCRIPTS_PATH
COPY 10.11/root /

# Hard links are not supported in Testing Farm approach during sync to guest
# operation system. Therefore tests are failing on error
# /usr/libexec/s2i/run no such file or directory
RUN ln -s /usr/bin/run-mysqld $STI_SCRIPTS_PATH/run

# this is needed due to issues with squash
# when this directory gets rm'd by the container-setup
# script.
# Also reset permissions of filesystem to default values
RUN rm -rf /etc/my.cnf.d/* && \
/usr/libexec/container-setup && \
rpm-file-permissions

USER 27

ENTRYPOINT ["container-entrypoint"]
CMD ["run-mysqld"]
1 change: 1 addition & 0 deletions 10.11/root/usr/share/container-scripts/mysql/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -363,4 +363,5 @@ https://github.com/sclorg/mariadb-container.
In that repository, the Dockerfile for RHEL8 is called Dockerfile.rhel8,
the Dockerfile for RHEL9 is called Dockerfile.rhel9,
the Dockerfile for CentOS Stream 9 is called Dockerfile.c9s,
the Dockerfile for CentOS Stream 10 is called Dockerfile.c10s,
and the Dockerfile for Fedora is called Dockerfile.fedora.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ MariaDB SQL Database Server Docker Image
Images available on Quay are:
* CentOS Stream 9 [mariadb-105](https://quay.io/repository/sclorg/mariadb-105-c9s)
* CentOS Stream 9 [mariadb-1011](https://quay.io/repository/sclorg/mariadb-1011-c9s)
* CentOS Stream 10 [mariadb-1011](https://quay.io/repository/sclorg/mariadb-1011-c10s)
* Fedora [mariadb-103](https://quay.io/repository/fedora/mariadb-103)
* Fedora [mariadb-105](https://quay.io/repository/fedora/mariadb-105)
* Fedora [mariadb-1011](https://quay.io/repository/fedora/mariadb-1011)
Expand Down Expand Up @@ -38,6 +39,7 @@ RHEL versions currently supported are:

CentOS versions currently supported are:
* CentOS Stream 9
* CentOS Stream 10


Installation
Expand Down