diff --git a/charts/mariadb-1.0.0.tgz b/charts/mariadb-1.0.0.tgz
new file mode 100644
index 0000000..e9fa930
Binary files /dev/null and b/charts/mariadb-1.0.0.tgz differ
diff --git a/index.yaml b/index.yaml
index e6b16a6..7c2e7e5 100644
--- a/index.yaml
+++ b/index.yaml
@@ -2,7 +2,7 @@ apiVersion: v1
entries:
deploy-image:
- apiVersion: v2
- created: "2023-04-11T12:21:03.46175-04:00"
+ created: "2023-07-14T13:09:28.798792-04:00"
description: Deploy a container image
digest: 5bb3fe54091fbe3bc4d5e62c74f38c4d65a6d7e088a5537cc9dd0d0b0a470cfe
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -15,7 +15,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.5.2.tgz
version: 0.5.2
- apiVersion: v2
- created: "2023-04-11T12:21:03.461467-04:00"
+ created: "2023-07-14T13:09:28.798486-04:00"
description: Deploy a container image
digest: a552bb97518985ac2c75475d2ffe23cdca777e66bf6591b8643d89aaf126a5fc
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -28,7 +28,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.5.1.tgz
version: 0.5.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.46116-04:00"
+ created: "2023-07-14T13:09:28.798191-04:00"
description: Deploy a container image
digest: fc88644f6f3630a2b16eda4e23248a8a0805c03704608ac8da080b317dfec014
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -41,7 +41,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.5.0.tgz
version: 0.5.0
- apiVersion: v2
- created: "2023-04-11T12:21:03.460854-04:00"
+ created: "2023-07-14T13:09:28.797894-04:00"
description: Deploy a container image
digest: ba02d0cde8b240aad83ac3d7938a81931d42f5a594f174c40e3ced805df9e8a2
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -54,7 +54,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.4.1.tgz
version: 0.4.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.46053-04:00"
+ created: "2023-07-14T13:09:28.797594-04:00"
description: Deploy a container image
digest: dfe8df9690c29eb1ede26bfbcfdd2fc2fee471d7632755c5b0cdb5b13b188b8b
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -67,7 +67,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.4.0.tgz
version: 0.4.0
- apiVersion: v2
- created: "2023-04-11T12:21:03.460245-04:00"
+ created: "2023-07-14T13:09:28.797299-04:00"
description: Deploy a container image
digest: c81879c1fc7f77426819a1b9c19de7c6f97fe4d2e2af0b9a3d7d0302b4116694
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -80,7 +80,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.3.2.tgz
version: 0.3.2
- apiVersion: v2
- created: "2023-04-11T12:21:03.459948-04:00"
+ created: "2023-07-14T13:09:28.797-04:00"
description: Deploy a container image
digest: 720528c098adc2348168614990bdca5aa4516aee4b17394beaf224eb92cb8b1b
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -93,7 +93,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.3.1.tgz
version: 0.3.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.459657-04:00"
+ created: "2023-07-14T13:09:28.796689-04:00"
description: Deploy a container image
digest: fac809a723d80c32b196d073644c12ff37c0db80e573720eea1c7dcfcbcba47a
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -106,7 +106,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.3.0.tgz
version: 0.3.0
- apiVersion: v2
- created: "2023-04-11T12:21:03.459329-04:00"
+ created: "2023-07-14T13:09:28.796349-04:00"
description: Deploy a container image
digest: ee272478b4434a476a9846b0268af2bf7ed25d199833d029011307840b843356
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -119,7 +119,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.2.0.tgz
version: 0.2.0
- apiVersion: v2
- created: "2023-04-11T12:21:03.458981-04:00"
+ created: "2023-07-14T13:09:28.796019-04:00"
description: Deploy a container image
digest: 9b71695737b65ea4f63dba8241b41227f38f6b763ccee5f5308ad7cd3a8e1c42
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -132,7 +132,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/deploy-image-0.1.1.tgz
version: 0.1.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.458691-04:00"
+ created: "2023-07-14T13:09:28.795706-04:00"
description: Deploy a container image
digest: ef90bc4d6bb6fc793101b949e6ef2584a822344604b92d53106a9f92aaf817f3
icon: https://raw.githubusercontent.com/tabler/tabler-icons/master/icons-png/new-section.png
@@ -146,7 +146,7 @@ entries:
version: 0.1.0
desktop-vnc:
- apiVersion: v2
- created: "2023-04-11T12:21:03.461966-04:00"
+ created: "2023-07-14T13:09:28.799005-04:00"
description: A desktop served over HTTPS with noVNC
digest: ba5edd345d7e7eb0879297d88f3463191380ecedb704e4843a87313d5d8707bf
icon: https://raw.githubusercontent.com/novnc/noVNC/master/app/images/icons/novnc-48x48.png
@@ -161,7 +161,7 @@ entries:
gitlab-runner:
- apiVersion: v2
appVersion: 14.2.0
- created: "2023-04-11T12:21:03.463637-04:00"
+ created: "2023-07-14T13:09:28.801042-04:00"
dependencies:
- name: library
repository: https://olcf.github.io/slate-helm-charts
@@ -179,7 +179,7 @@ entries:
version: 1.0.2
- apiVersion: v2
appVersion: 14.2.0
- created: "2023-04-11T12:21:03.462801-04:00"
+ created: "2023-07-14T13:09:28.799806-04:00"
dependencies:
- name: library
repository: https://olcf.github.io/slate-helm-charts
@@ -197,7 +197,7 @@ entries:
version: 1.0.1
library:
- apiVersion: v2
- created: "2023-04-11T12:21:03.463962-04:00"
+ created: "2023-07-14T13:09:28.801252-04:00"
description: A Helm chart for Kubernetes
digest: 4885c445699386f58d42b67e235171e4ed8877fc9674406b8b4f3e49f4ab756d
name: library
@@ -206,7 +206,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/library-0.1.1.tgz
version: 0.1.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.463746-04:00"
+ created: "2023-07-14T13:09:28.801154-04:00"
description: A Helm chart for Kubernetes
digest: 10bec7238825dac8ed61f454ad059fae2a2953a2e77c65e2b6fa9cc9080020e1
name: library
@@ -214,9 +214,23 @@ entries:
urls:
- https://olcf.github.io/slate-helm-charts/charts/library-0.1.0.tgz
version: 0.1.0
+ mariadb:
+ - apiVersion: v2
+ created: "2023-07-14T13:09:28.801634-04:00"
+ description: MariaDB deployyment with NetApp persistent storage
+ digest: 95c46ab97abe54503353604360225cb60ba5dc14712e2fe16e5d056a47cb351b
+ icon: https://mariadb.com/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2019/11/mariadb-logo_black-transparent-600x150.png.webp
+ maintainers:
+ - name: Platforms Group
+ url: https://www.olcf.ornl.gov/about-olcf/staff-sections/operations/platforms/
+ name: mariadb
+ type: application
+ urls:
+ - https://olcf.github.io/slate-helm-charts/charts/mariadb-1.0.0.tgz
+ version: 1.0.0
minio-nfs:
- apiVersion: v2
- created: "2023-04-11T12:21:03.465615-04:00"
+ created: "2023-07-14T13:09:28.802864-04:00"
description: MinIO Object Storage Server with NetApp persistent storage shared
via NFS
digest: 6980eec987bcc3f97689ff5a2524780e6dfa6c1d89bcf2c93c32ac0d6b315354
@@ -230,7 +244,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/minio-nfs-1.0.2.tgz
version: 1.0.2
- apiVersion: v2
- created: "2023-04-11T12:21:03.465189-04:00"
+ created: "2023-07-14T13:09:28.802448-04:00"
description: MinIO Object Storage Server with NetApp persistent storage shared
via NFS
digest: e520741cc01145a66cc6dd2fb8ac6b4179cb1a9eaa30dc4e00354b3e1c2f00ea
@@ -244,7 +258,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/minio-nfs-1.0.1.tgz
version: 1.0.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.464725-04:00"
+ created: "2023-07-14T13:09:28.802049-04:00"
description: MinIO Object Storage Server with NetApp persistent storage shared
via NFS
digest: 28bc8f526fdaca89265af839074aaa668ad9ade6e390d98ea49ef100a120f555
@@ -260,7 +274,7 @@ entries:
version: 1.0.0
mongodb:
- apiVersion: v2
- created: "2023-04-11T12:21:03.4663-04:00"
+ created: "2023-07-14T13:09:28.803479-04:00"
dependencies:
- name: library
repository: https://olcf.github.io/slate-helm-charts
@@ -277,7 +291,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/mongodb-1.1.0.tgz
version: 1.1.0
- apiVersion: v2
- created: "2023-04-11T12:21:03.465933-04:00"
+ created: "2023-07-14T13:09:28.803136-04:00"
description: MongoDB deployment with NetApp persistent storage
digest: b63ebb1a4dd64e970bf56ed2be2d0bd4b08f65adbe376e3bcf4809107bd30dd7
icon: https://media.mongodb.org/ico/icon-leaf.png
@@ -291,7 +305,7 @@ entries:
version: 1.0.0
mysql:
- apiVersion: v2
- created: "2023-04-11T12:21:03.467759-04:00"
+ created: "2023-07-14T13:09:28.804913-04:00"
description: MySQL deployyment with NetApp persistent storage
digest: c7cc35acee33f4642f23e508d9553c6299f1fc904ecd60910647e9d416bf03be
icon: https://www.mysql.com/common/logos/logo-mysql-170x115.png
@@ -304,7 +318,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/mysql-1.2.1.tgz
version: 1.2.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.467401-04:00"
+ created: "2023-07-14T13:09:28.804557-04:00"
description: MySQL deployyment with NetApp persistent storage
digest: e53377c91af01b56dbaae60f09a28ad4237703d02b1e7358bd95119a41dd4d8b
icon: https://www.mysql.com/common/logos/logo-mysql-170x115.png
@@ -317,7 +331,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/mysql-1.2.0.tgz
version: 1.2.0
- apiVersion: v2
- created: "2023-04-11T12:21:03.467054-04:00"
+ created: "2023-07-14T13:09:28.804209-04:00"
description: MySQL deployyment with NetApp persistent storage
digest: f337e5f30a4ea4a80a0ffdf4b2a55378d8a548b150782fddf540e79b0d5db7fc
icon: https://www.mysql.com/common/logos/logo-mysql-170x115.png
@@ -330,7 +344,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/mysql-1.1.0.tgz
version: 1.1.0
- apiVersion: v2
- created: "2023-04-11T12:21:03.466698-04:00"
+ created: "2023-07-14T13:09:28.80383-04:00"
description: MySQL deployyment with NetApp persistent storage
digest: 7bebb99a1192afe0304933a8a3874f0f1efab8a2486bc8463252e1830e771ac0
icon: https://www.mysql.com/common/logos/logo-mysql-170x115.png
@@ -344,7 +358,7 @@ entries:
version: 1.0.0
postgresql:
- apiVersion: v2
- created: "2023-04-11T12:21:03.468588-04:00"
+ created: "2023-07-14T13:09:28.805712-04:00"
dependencies:
- name: library
repository: https://olcf.github.io/slate-helm-charts
@@ -361,7 +375,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/postgresql-0.1.2.tgz
version: 0.1.2
- apiVersion: v2
- created: "2023-04-11T12:21:03.468322-04:00"
+ created: "2023-07-14T13:09:28.805455-04:00"
dependencies:
- name: library
repository: https://olcf.github.io/slate-helm-charts
@@ -378,7 +392,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/postgresql-0.1.1.tgz
version: 0.1.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.468037-04:00"
+ created: "2023-07-14T13:09:28.805184-04:00"
dependencies:
- name: library
repository: https://olcf.github.io/slate-helm-charts
@@ -396,7 +410,7 @@ entries:
version: 0.1.0
rabbitmq:
- apiVersion: v2
- created: "2023-04-11T12:21:03.470624-04:00"
+ created: "2023-07-14T13:09:28.80788-04:00"
dependencies:
- name: deploy-image
repository: https://olcf.github.io/slate-helm-charts
@@ -413,7 +427,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/rabbitmq-0.1.3.tgz
version: 0.1.3
- apiVersion: v2
- created: "2023-04-11T12:21:03.469889-04:00"
+ created: "2023-07-14T13:09:28.80732-04:00"
dependencies:
- name: deploy-image
repository: https://olcf.github.io/slate-helm-charts
@@ -430,7 +444,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/rabbitmq-0.1.2.tgz
version: 0.1.2
- apiVersion: v2
- created: "2023-04-11T12:21:03.469491-04:00"
+ created: "2023-07-14T13:09:28.806577-04:00"
dependencies:
- name: deploy-image
repository: https://olcf.github.io/slate-helm-charts
@@ -447,7 +461,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/rabbitmq-0.1.1.tgz
version: 0.1.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.46906-04:00"
+ created: "2023-07-14T13:09:28.806146-04:00"
dependencies:
- name: deploy-image
repository: https://olcf.github.io/slate-helm-charts
@@ -465,7 +479,7 @@ entries:
version: 0.1.0
redis:
- apiVersion: v2
- created: "2023-04-11T12:21:03.471513-04:00"
+ created: "2023-07-14T13:09:28.808672-04:00"
description: A Helm chart for Kubernetes
digest: 0f436068056e357083677423c582ed9f8644b8d4caacd32e5599c26137a22cf0
icon: https://redis.io/images/redis-small.png
@@ -478,7 +492,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/redis-0.3.1.tgz
version: 0.3.1
- apiVersion: v2
- created: "2023-04-11T12:21:03.471308-04:00"
+ created: "2023-07-14T13:09:28.80846-04:00"
description: A Helm chart for Kubernetes
digest: 9ff22e3f70458fc6f45f152d331b5b330699ee737f95ec7e19d7922b92c479e9
icon: https://redis.io/images/redis-small.png
@@ -491,7 +505,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/redis-0.3.0.tgz
version: 0.3.0
- apiVersion: v2
- created: "2023-04-11T12:21:03.471116-04:00"
+ created: "2023-07-14T13:09:28.808256-04:00"
description: A Helm chart for Kubernetes
digest: 91e1508bc7335acf009beabd57e45575df45315b9a95e0552cd18cc96216f0ef
icon: https://redis.io/images/redis-small.png
@@ -504,7 +518,7 @@ entries:
- https://olcf.github.io/slate-helm-charts/charts/redis-0.2.0.tgz
version: 0.2.0
- apiVersion: v2
- created: "2023-04-11T12:21:03.47094-04:00"
+ created: "2023-07-14T13:09:28.808083-04:00"
description: A Helm chart for Kubernetes
digest: 9822b5a6331830c33a097d21cdfcccf7a9b044bc66c70ce6cdd2fd3b60a7f985
icon: https://redis.io/images/redis-small.png
@@ -516,4 +530,4 @@ entries:
urls:
- https://olcf.github.io/slate-helm-charts/charts/redis-0.1.0.tgz
version: 0.1.0
-generated: "2023-04-11T12:21:03.45805-04:00"
+generated: "2023-07-14T13:09:28.795046-04:00"
diff --git a/stable/mariadb/.helmignore b/stable/mariadb/.helmignore
new file mode 100644
index 0000000..0e8a0eb
--- /dev/null
+++ b/stable/mariadb/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/stable/mariadb/Chart.yaml b/stable/mariadb/Chart.yaml
new file mode 100644
index 0000000..4f8a55e
--- /dev/null
+++ b/stable/mariadb/Chart.yaml
@@ -0,0 +1,9 @@
+apiVersion: v2
+name: mariadb
+description: MariaDB deployyment with NetApp persistent storage
+type: application
+version: 1.0.0
+icon: https://mariadb.com/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2019/11/mariadb-logo_black-transparent-600x150.png.webp
+maintainers:
+ - name: Platforms Group
+ url: https://www.olcf.ornl.gov/about-olcf/staff-sections/operations/platforms/
diff --git a/stable/mariadb/README.md b/stable/mariadb/README.md
new file mode 100644
index 0000000..5afd7c3
--- /dev/null
+++ b/stable/mariadb/README.md
@@ -0,0 +1,67 @@
+## Introduction
+
+This helm chart deploys an instance of MariaDB using the KubeDB and Stash operators by AppsCode. These operators simplify the deployment, maintenance and backup of databases on Kubernetes.
+
+## Details
+
+The following resources could be created:
+
+* MariaDB instance
+* NetworkPolicy allowing access to the MariaDB instance
+* Service allowing access to MariaDB from inside the Kubernetes cluster
+* Deployment of phpMyAdmin configured to login to the MariaDB instance
+* Route to access the phpMyAdmin instance behind OpenShift OAUTH
+* MariaDB backup process with Stash (if enabled)
+
+## Prerequisites
+
+This chart is currently supported on:
+
+* OpenShift 4.7
+* KubeDB v.2021.06.23
+* Stash v.2021.08.02
+
+## Chart Parameters
+
+| Parameter | Description |
+| --------- | ----------- |
+| `mariadb.spec.version` | The version of MariaDB to deploy. Defaults to `10.4.17`. May be one of `10.4.17`, `10.10.2`. |
+| `mariadb.spec.storage.size` | The amount of storage to allocate for the MariaDB database. Defaults to `1Gi`. |
+| `mariadb.spec.authSecret` | An already existing set of credentials to use for the MariaDB root account. If not provided, the operator will create credentials for use. |
+| `mariadb.spec.terminationPolicy` | Termination policy for the instance when MariaDB is removed. Defaults to `WipeOut`. May be one of: `Delete`, `DoNotTerminate`, `Halt`, or `WipeOut`. |
+| `mariadb.spec.configMapName` | Name of an existing configMap to run that initializes the MariaDB database. |
+| `mariadb.spec.resources.limits.cpu` | Maximum amount of CPU that a container may consume. Defaults to `1`. |
+| `mariadb.spec.resources.limits.memory` | Maximum amount of memory that a container may consume. Defaults to `1Gi`. |
+| `mariadb.spec.resources.requests.cpu` | Minimum amount of CPU that a container is allocated. Defaults to `500m`. |
+| `mariadb.spec.resources.requests.memory` | Minimum amount of memory that a container is allocated. Defailts to `512Mi`. |
+| `phpmyadmin.enabled` | Whether or not to deploy the phpMyAdmin web interface. Defaults to `true`. |
+| `phpmyadmin.spec.resources.limits.cpu` | Maximum amount of CPU that a container may consume. Defaults to `1`. |
+| `phpmyadmin.spec.resources.limits.memory` | Maximum amount of memory that a container may consume. Defaults to `1Gi`, |
+| `phpmyadmin.spec.resources.requests.cpu` | Minimum amount of CPU that a container is allocated. Defaults to `500m`. |
+| `phpmyadmin.spec.resources.requests.memory` | Minimum amount of memory that a container is allocated. Defailts to `512Mi`. |
+| `phpmyadmin.apache2.port` | Port that apache2 will listen to for connections. Defaults to `8080`. |
+| `phpmyadmin.auto_login` | Whether or not to configure automatic login into the interface. Defaults to `true`. |
+| `phpmyadmin.blowfish_secret` | Custom blowfish secret to use for phpMyAdmin. Defaults to unspeficied and will be automatically generated. |
+| `phpmyadmin.route.enabled` | Whether or not to enable the route to the phpMyAdmin instance. Defaults to `true`. |
+| `phpmyadmin.route.hostname` | Hostname to use for the route. Default is not specified. |
+| `phpmyadmin.tempdir_size` | Size for the phpMyAdmin tempdir. Defaults to `50Mi` |
+| `phpmyadmin.user_config` | String that provides for any special configuration settings for phpMyAdmin. |`
+| `stash.enabled` | Whether or not to enable backups of MariaDB using Stash. Defaults to `true`. |
+| `stash.restic_password` | Password used to encrypt the backups. If not specified, one will be automatically created. |
+| `stash.retention_policy.name` | Descriptive name of the retention policy for backups. Defaults to `keep-last-5`. |
+| `stash.retention_policy.keep` | Number of backups to retain. Defaults to `5`. |
+| `stash.retention_policy.prune` | Whether or not to cleanup unreferenced data. Defaults to `true`. |
+| `stash.schedule` | Cron schedule for performing the backups. Defaults to `11 5 * * * ` |
+| `stash.storage_size` | Storage to allocate for holding backups. Defaults to `1Gi`.
+
+## Advanced Configuration
+
+The KubeDB and Stash operators offer many other configuration capabilities
+not currently exposed in this chart. For details on what is possible, see:
+
+
+* [https://kubedb.com/docs/v2021.06.23/welcome/](https://kubedb.com/docs/v2021.06.23/welcome/}
+* [https://stash.run/docs/v2021.08.02/guides/latest/](https://stash.run/docs/v2021.08.02/guides/latest/)
+
+Please contact the Platforms Team to request the addition of a capability
+with this offering.
diff --git a/stable/mariadb/templates/NOTES.txt b/stable/mariadb/templates/NOTES.txt
new file mode 100644
index 0000000..69cf23b
--- /dev/null
+++ b/stable/mariadb/templates/NOTES.txt
@@ -0,0 +1,21 @@
+There are multiple ways of accessing the deployed MariaDB database.
+
+First, one can access the terminal of the MariaDB pod deployed via the
+OpenShift portal. The credentials may also be retrieved from the UI
+via the Administrator View -> Workloads -> Secrets.
+
+Second, if the MariaDB client is installed locally on your workstation, use
+port forwarding to connect to the database port using the username and
+password retrieved from the secrets. Commands used for this method would
+be similar to:
+
+ oc get secrets {{ include "mariadb.fullname" . }}-auth -o jsonpath='{.data.\username}' | base64 -D
+ oc get secrets {{ include "mariadb.fullname" . }}-auth -o jsonpath='{.data.\password}' | base64 -D
+ oc port-forward svc/{{ include "mariadb.fullname" . }}-phpmyadmin 3306:3306
+
+{{- if .Values.phpmyadmin.enabled -}}
+Finally, since the phpMyAdmin interface was deployed, one can access the web
+interface via the route presented in the OpenShift portal or via the
+the HOST/PORT entry retrieved from the `oc get route` command prepended
+with "https://".
+{{- end -}}
diff --git a/stable/mariadb/templates/_helpers.tpl b/stable/mariadb/templates/_helpers.tpl
new file mode 100644
index 0000000..675e22c
--- /dev/null
+++ b/stable/mariadb/templates/_helpers.tpl
@@ -0,0 +1,51 @@
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "mariadb.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "mariadb.fullname" -}}
+{{- $name := default .Release.Name .Values.nameOverride -}}
+{{- printf "%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "mariadb.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "mariadb.labels" -}}
+helm.sh/chart: {{ include "mariadb.chart" . }}
+{{ include "mariadb.selectorLabels" . }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "mariadb.selectorLabels" -}}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Restic Backup Password
+*/}}
+{{- define "restic.password" -}}
+{{- $mysecret := printf "%s-stash-secret" (include "mariadb.fullname" .) }}
+{{- $secret := (lookup "v1" "Secret" .Release.Namespace $mysecret) }}
+{{- if $secret -}}
+{{- index $secret.data "RESTIC_PASSWORD" -}}
+{{- else -}}
+{{ if .Values.stash.restic_password }}{{ .Values.stash.restic_password | toString | b64enc | quote }}{{ else }}{{ randAlphaNum 20 | b64enc | quote }}{{ end }}
+{{- end -}}
+{{- end -}}
diff --git a/stable/mariadb/templates/mariadb.yaml b/stable/mariadb/templates/mariadb.yaml
new file mode 100644
index 0000000..bfe2e70
--- /dev/null
+++ b/stable/mariadb/templates/mariadb.yaml
@@ -0,0 +1,52 @@
+apiVersion: kubedb.com/v1alpha2
+kind: MariaDB
+metadata:
+ name: {{ include "mariadb.fullname" . }}
+ labels:
+ {{- include "mariadb.labels" . | nindent 4 }}
+spec:
+ version: {{ .Values.mariadb.spec.version }}
+ replicas: {{ .Values.mariadb.spec.replicas }}
+{{- if .Values.mariadb.spec.authSecret }}
+ authSecret:
+ name: {{ .Values.mariadb.spec.authSecret }}
+{{- end }}
+ storageType: "Durable"
+ storage:
+ storageClassName: netapp-nfs
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: {{ .Values.mariadb.spec.storage.size | quote }}
+{{- if .Values.mariadb.spec.configMapName }}
+ # init:
+ # script:
+ # configMap:
+ # name: {{.Values.mariadb.spec.configMapName }}
+{{- end }}
+ requireSSL: false
+ podTemplate:
+ spec:
+ resources:
+ {{- toYaml .Values.mariadb.spec.resources | nindent 8 }}
+ terminationPolicy: {{ .Values.mariadb.spec.terminationPolicy | quote }}
+{{- if .Values.mariadb.primary.service.type }}
+ serviceTemplates:
+ - alias: primary
+ spec:
+ type: {{ .Values.mariadb.primary.service.type }}
+{{- end }}
+---
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
+metadata:
+ name: allow-{{ include "mariadb.fullname" . }}-access
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: {{ include "mariadb.fullname" . }}
+ ingress:
+ - {}
+ policyTypes:
+ - Ingress
diff --git a/stable/mariadb/templates/phpmyadmin.yaml b/stable/mariadb/templates/phpmyadmin.yaml
new file mode 100644
index 0000000..85b1e6d
--- /dev/null
+++ b/stable/mariadb/templates/phpmyadmin.yaml
@@ -0,0 +1,160 @@
+{{- if .Values.phpmyadmin.enabled -}}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ labels:
+ app: {{ include "mariadb.fullname" . }}-phpmyadmin
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: {{ include "mariadb.fullname" . }}-phpmyadmin
+ template:
+ metadata:
+ labels:
+ app: {{ include "mariadb.fullname" . }}-phpmyadmin
+ spec:
+ containers:
+ - image: docker.io/phpmyadmin/phpmyadmin
+ imagePullPolicy: Always
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin
+ resources:
+ {{- toYaml .Values.phpmyadmin.spec.resources | nindent 10 }}
+ ports:
+ - containerPort: {{ .Values.phpmyadmin.apache2.port }}
+ env:
+ {{ if .Values.phpmyadmin.auto_login -}}
+ - name: PMA_HOST
+ value: {{ include "mariadb.fullname" . }}
+ - name: PMA_USER
+ valueFrom:
+ secretKeyRef:
+ name: {{ include "mariadb.fullname" . }}-auth
+ key: username
+ - name: PMA_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ include "mariadb.fullname" . }}-auth
+ key: password
+ {{ else }}
+ - name: PMA_ARBITRARY
+ value: "1"
+ #- name: PMA_HOST
+ # value: {{ include "mariadb.fullname" . }}
+ {{ end }}
+ volumeMounts:
+ - name: "{{ include "mariadb.fullname" . }}-phpmyadmin-apache2-config"
+ mountPath: '/etc/apache2/sites-available/000-default.conf'
+ subPath: '000-default.conf'
+ - name: "{{ include "mariadb.fullname" . }}-phpmyadmin-apache2-config"
+ mountPath: '/etc/apache2/ports.conf'
+ subPath: 'ports.conf'
+ - name: "{{ include "mariadb.fullname" . }}-phpmyadmin-blowfish"
+ mountPath: '/etc/phpmyadmin/config.secret.inc.php'
+ subPath: 'config.secret.inc.php'
+ - name: "{{ include "mariadb.fullname" . }}-phpmyadmin-userconfig"
+ mountPath: '/etc/phpmyadmin/config.user.inc.php'
+ subPath: 'config.user.inc.php'
+ - name: "{{ include "mariadb.fullname" . }}-phpmyadmin-tempdir"
+ mountPath: '/var/www/html/tmp'
+ volumes:
+ - name: {{ include "mariadb.fullname" . }}-phpmyadmin-apache2-config
+ configMap:
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin-apache2-config
+ defaultMode: 0644
+ - name: {{ include "mariadb.fullname" . }}-phpmyadmin-blowfish
+ secret:
+ secretName: {{ include "mariadb.fullname" . }}-phpmyadmin-blowfish
+ - name: {{ include "mariadb.fullname" . }}-phpmyadmin-userconfig
+ configMap:
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin-userconfig
+ defaultMode: 0644
+ - name: {{ include "mariadb.fullname" . }}-phpmyadmin-tempdir
+ persistentVolumeClaim:
+ claimName: {{ include "mariadb.fullname" . }}-phpmyadmin-tempdir
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: {{ include "mariadb.fullname" . }}-phpmyadmin
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin
+spec:
+ ports:
+ - name: http
+ port: {{ .Values.phpmyadmin.apache2.port }}
+ protocol: TCP
+ targetPort: {{ .Values.phpmyadmin.apache2.port }}
+ selector:
+ app: {{ include "mariadb.fullname" . }}-phpmyadmin
+ type: ClusterIP
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin-apache2-config
+data:
+ 000-default.conf: |
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/html
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+ ports.conf: |
+ Listen {{ .Values.phpmyadmin.apache2.port }}
+
+ Listen 443
+
+
+ Listen 443
+
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin-blowfish
+data:
+ {{ if .Values.phpmyadmin.blowfish_secret -}}
+ config.secret.inc.php: {{ printf "" .Values.phpmyadmin.blowfish_secret | b64enc }}
+ {{ else }}
+ config.secret.inc.php: {{ printf "" (randAscii 24 | b64enc) | b64enc }}
+ {{ end }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin-userconfig
+data:
+ config.user.inc.php: |
+ {{ .Values.phpmyadmin.user_config }}
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin-tempdir
+spec:
+ accessModes:
+ - ReadWriteMany
+ resources:
+ requests:
+ storage: {{ .Values.phpmyadmin.tempdir_size }}
+---
+apiVersion: route.openshift.io/v1
+kind: Route
+metadata:
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin
+ annotations:
+ ccs.ornl.gov/requireAuth: "true"
+spec:
+{{- if .Values.phpmyadmin.route.hostname }}
+ host: {{ .Values.phpmyadmin.route.hostname }}
+{{- end }}
+ tls:
+ insecureEdgeTerminationPolicy: Redirect
+ termination: edge
+ to:
+ kind: Service
+ name: {{ include "mariadb.fullname" . }}-phpmyadmin
+{{- end }}
diff --git a/stable/mariadb/templates/stashbackup.yaml b/stable/mariadb/templates/stashbackup.yaml
new file mode 100644
index 0000000..4dd8415
--- /dev/null
+++ b/stable/mariadb/templates/stashbackup.yaml
@@ -0,0 +1,51 @@
+{{- if .Values.stash.enabled -}}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "mariadb.fullname" . }}-stash-secret
+data:
+ RESTIC_PASSWORD: {{ template "restic.password" . }}
+type: Opaque
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: {{ include "mariadb.fullname" . }}-stash-pvc
+spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: {{ .Values.stash.storage_size }}
+ storageClassName: netapp-nfs
+---
+apiVersion: stash.appscode.com/v1alpha1
+kind: Repository
+metadata:
+ name: {{ include "mariadb.fullname" . }}-stash-repo-with-pvc
+spec:
+ backend:
+ local:
+ mountPath: /backups
+ persistentVolumeClaim:
+ claimName: {{ include "mariadb.fullname" . }}-stash-pvc
+ storageSecretName: {{ include "mariadb.fullname" . }}-stash-secret
+---
+apiVersion: stash.appscode.com/v1beta1
+kind: BackupConfiguration
+metadata:
+ name: {{ include "mariadb.fullname" . }}-backup
+spec:
+ schedule: {{ .Values.stash.schedule | quote }}
+ repository:
+ name: {{ include "mariadb.fullname" . }}-stash-repo-with-pvc
+ target:
+ ref:
+ apiVersion: appcatalog.appscode.com/v1alpha1
+ kind: AppBinding
+ name: {{ include "mariadb.fullname" . }}
+ retentionPolicy:
+ name: {{ .Values.stash.retention_policy.name | quote }}
+ keepLast: {{ .Values.stash.retention_policy.keep }}
+ prune: {{ .Values.stash.retention_policy.prune }}
+{{- end }}
diff --git a/stable/mariadb/values.schema.json b/stable/mariadb/values.schema.json
new file mode 100644
index 0000000..63dd7a5
--- /dev/null
+++ b/stable/mariadb/values.schema.json
@@ -0,0 +1,138 @@
+{
+ "$schema": "http://json-schema.org/schema#",
+ "type": "object",
+ "properties": {
+ "mariadb": {
+ "type": "object",
+ "properties": {
+ "spec": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "MariaDB Version",
+ "description": "The version of MariaDB to launch.",
+ "type": "string",
+ "default": "10.4.17",
+ "enum": ["10.4.17", "10.10.22"]
+ },
+ "storage": {
+ "type": "object",
+ "properties": {
+ "size": {
+ "title": "MariaDB Size",
+ "description": "This is a required field. The amount of storage to allocate for the MariaDB Database",
+ "type": "string",
+ "default": "1Gi"
+ }
+ }
+ },
+ "terminationPolicy": {
+ "title": "Termination Policy",
+ "description": "Termination policy for the instance when MariaDB is removed.",
+ "type": "string",
+ "default": "WipeOut",
+ "enum": ["Delete", "DoNotTerminate", "Halt", "WipeOut"]
+ },
+ "resources": {
+ "type": "object",
+ "title": "Resources",
+ "description": "Define cpu and memory resources",
+ "properties": {
+ "requests": {
+ "description": "The minimum amount of resources required for the workload",
+ "properties": {
+ "cpu": {
+ "type": "string",
+ "title": "CPU",
+ "default": "500m"
+ },
+ "memory": {
+ "type": "string",
+ "title": "Memory",
+ "default": "512Mi"
+ }
+ }
+ },
+ "limits": {
+ "description": "The aboslute limit for the resource request, if the workload exceeds this it could get evicted",
+ "properties": {
+ "cpu": {
+ "type": "string",
+ "title": "CPU",
+ "default": "1"
+ },
+ "memory": {
+ "type": "string",
+ "title": "Memory",
+ "default": "1Gi"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "primary": {
+ "type": "object",
+ "properties": {
+ "service": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "default": "ClusterIP",
+ "enum": ["ClusterIP", "NodePort"]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "phpmyadmin": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "title": "Enable phpMyAdmin",
+ "description": "Whether or not to enable the phpMyAdmin deployment. Defaults to true",
+ "type": "boolean"
+ }
+ }
+ },
+ "stash": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "title": "Enable Backups",
+ "description": "Whether or not to enable automatic backups. Defaults to true",
+ "type": "boolean"
+ },
+ "retention_policy": {
+ "type": "object",
+ "properties": {
+ "keep": {
+ "title": "Number to Keep",
+ "description": "Number of backups to keep. Defaults to the last five.",
+ "type": "integer"
+ },
+ "name": {
+ "title": "name",
+ "description": "Name of regimen. Defaults to keep-last-5 with the default number of backups to keep is 5",
+ "type": "string"
+ }
+ }
+ },
+ "schedule": {
+ "title": "Backup Schedule",
+ "description": "cron schedule for when to run backups. Defaults to 4:41 am daily",
+ "type": "string"
+ },
+ "storage_size": {
+ "title": "Backup Storage Size",
+ "description": "Storage size to use for retained backups. Defaults to 1Gi",
+ "type": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/stable/mariadb/values.yaml b/stable/mariadb/values.yaml
new file mode 100644
index 0000000..0c53fa4
--- /dev/null
+++ b/stable/mariadb/values.yaml
@@ -0,0 +1,83 @@
+# Default values for MariaDB deployment
+
+## Used in place of the chart name. This setting is not recommended to be used.
+nameOverride: ""
+## Provides a name to substitute for the full names of resources
+fullnameOverride: ""
+
+## Settings presented to create KubeDB MariaDB deployment
+mariadb:
+ spec:
+ version: "10.4.17"
+ replicas: 3
+ storage:
+ size: 5Gi
+ ## Set to an already existing username and password combination to use for the root account.
+ ## If not speified, a new secret will be automatically generated.
+ authSecret: ""
+ ## Termination policy to use when the resources are deleted. The KubeDB default is Delete.
+ ## Default her eis set to WipeOut to allow for ease of deployment and removal.
+ ## Refer to the KubeDB documentaiton for other options.
+ terminationPolicy: WipeOut
+ ## Set to a name of an already existing configMap object that contains a mariadb script to run
+ ## that initilizes the newly created database.
+ configMapName: ""
+ ## Resource allocations for Mariadb containers
+ resources:
+ limits:
+ cpu: "1"
+ memory: 1Gi
+ requests:
+ cpu: 500m
+ memory: 512Mi
+ primary:
+ service:
+ type: ClusterIP
+
+## Settings used to drive the configuration of phpMyAdmin
+phpmyadmin:
+ ## Whether or not to enable the phpMyAdmin deployment
+ enabled: true
+ spec:
+ ## Resource allocations for phpMyAdmin containers
+ resources:
+ limits:
+ cpu: "1"
+ memory: 1Gi
+ requests:
+ cpu: 500m
+ memory: 512Mi
+ ## WHat port should apache be listening for connections for phpMyAdmin.
+ apache2:
+ port: 8080
+ ## Whether or not to configure phpMyAdmin for automatic login as the MariaDB root user
+ auto_login: true
+ ## What string should be used for the phpMyAdmin blowfish secret. If not provided, it
+ ## will be automatically be generated.
+ blowfish_secret: ""
+ route:
+ ## Whether or not to enable a route to the phpMyAdmin service.
+ enabled: true
+ ## Hostname to use for the route. If not provided, it will be automatically generated.
+ hostname: ""
+ ## Size for the phpMyAdmin tempdir
+ tempdir_size: 50Mi
+ ## String that provides any special configuration settings for phpMyAdmin.
+ user_config: '/* User phpMyAdmin config */'
+
+## Settings used to configure the automatic stash backups.
+stash:
+ ## Whether or not to enable automatic backups
+ enabled: true
+ ## Specifies the restic password to use for encrypting the backup. If not provided, it will
+ ## be automatically set.
+ restic_password: ""
+ ## Retention policy to use for the backups. The values below specifiy a backup taken daily at 4:41 AM
+ ## every day of the week, with a retention of the last 5 backups made.
+ retention_policy:
+ name: "keep-last-5"
+ keep: 5
+ prune: true
+ schedule: "41 4 * * *"
+ storage_size: 1Gi
+