From 6896bb12f89f17affc788fb386b553d2aeda6b5d759b3c513bf1baa6448e3674 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= Date: Thu, 16 May 2024 13:52:51 +0000 Subject: [PATCH] [info=4370301cf7db1540647f6ccf8ad76386] OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/rmt-server-image?expand=0&rev=129 --- README.md | 86 +++++++++++++++++++++++++++++++++++++++- rmt-server-image.changes | 5 +++ 2 files changed, 89 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d56edb2..29d04f5 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,90 @@ -# The openSUSE Tumbleweed SUSE RMT Server Container Image +# The {self.title} Container Image ![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green) -SUSE RMT Server container based on the openSUSE Tumbleweed Base Container Image. +# Purpose + +This chart deploys a SUSE Repository Mirroring Tool (RMT) server on Kubernetes. +It is tested on K3s but should work on any Kubernetes distribution. + +## Overview + +Every component of the stack is deployed in a dedicated container via a +Helm Chart to ease deployment on top of Kubernetes. + +### Repository Mirroring Tool (SUSE RMT) server + +A containerized version of the SUSE RMT application, with the ability to pass its configuration via Helm values. Persistent storage is on a Persistent Volume, thus you need to adapt its size depending on the number of repositories you need to mirror. + +### MariaDB + +The database backend for RMT. +RMT does create the database/tables at startup if needed so no specific +post-installation task is required for it to be usable. Passwords are +self-generated unless explicitly specified in the values file. + +### NGINX + +The web server with proper configuration for RMT routes. Having a properly +configured web server out of the box allows you to target your ingress traffic +(for RMT) to it directly. You don't have to configure ingress for RMT specific +paths handling, as NGINX is configured to do so. + +## Prerequisites + +- a running kubernetes cluster +- helm (v3) command configured to interact with this cluster + +## Custom mandatory values + +Some values of this chart do not have any sensible defaults: +- SCC mirroring credentials, please have a look here for [more information](https://documentation.suse.com/sles/15-SP4/html/SLES-all/cha-rmt-mirroring.html#sec-rmt-mirroring-credentials) +- list of products to mirror +- list of products to not mirror +- DNS name the RMT server should be reachable at +- Configured [storage](https://kubernetes.io/docs/concepts/storage/) + +You should fill a custom values file before deploying the chart. + +Below example also enables ingress with TLS. +The create-certs.sh can be used to create self-signed certificates and +add them to Kubernetes as a usable TLS secret. + +``` +cat << EOF > myvalues.yaml +--- +app: + storage: + class: my-storage-class + scc: + username: UXXXXXXX + password: PASSXXXX + products_enable: + - SLES/15.3/x86_64 + - sle-module-python2/15.3/x86_64 + products_disable: + - sle-module-legacy/15.3/x86_64 + - sle-module-cap-tools/15.3/x86_64 +ingress: + enabled: true + hosts: + - host: chart-example.local + paths: + - path: "/" + pathType: Prefix + tls: + - secretName: rmt-cert + hosts: + - chart-example.local +db: + storage: + class: my-storage-class +EOF +``` + +## Deploying + +`helm install rmt ./helm -f myvalues.yaml` ## Licensing `SPDX-License-Identifier: MIT` diff --git a/rmt-server-image.changes b/rmt-server-image.changes index 6b740d7..6823258 100644 --- a/rmt-server-image.changes +++ b/rmt-server-image.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu May 16 13:40:35 UTC 2024 - Dirk Mueller + +- Update README from upstream + ------------------------------------------------------------------- Tue May 7 19:07:24 UTC 2024 - Dirk Mueller