mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-11-26 23:16:25 +00:00
7911485063
The postgresql helm chart requires the cluster to provide a PersistentVolume and places a PersisentVolumeClaim for this. Ensure that the cluster provides PersistentVolumes. Also set volumePermissions.enabled=true which helps to fix Permission denied when trying to create the data directory in the PV mount directory if the PV's permissions are not open enough: https://github.com/bitnami/charts/issues/1210#issuecomment-1145923630
85 lines
4.1 KiB
Bash
Executable File
85 lines
4.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
#
|
||
# Copyright (c) All respective contributors to the Peridot Project. All rights reserved.
|
||
# Copyright (c) 2021-2022 Rocky Enterprise Software Foundation, Inc. All rights reserved.
|
||
# Copyright (c) 2021-2022 Ctrl IQ, Inc. All rights reserved.
|
||
#
|
||
# Redistribution and use in source and binary forms, with or without
|
||
# modification, are permitted provided that the following conditions are met:
|
||
#
|
||
# 1. Redistributions of source code must retain the above copyright notice,
|
||
# this list of conditions and the following disclaimer.
|
||
#
|
||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||
# this list of conditions and the following disclaimer in the documentation
|
||
# and/or other materials provided with the distribution.
|
||
#
|
||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||
# may be used to endorse or promote products derived from this software without
|
||
# specific prior written permission.
|
||
#
|
||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||
# POSSIBILITY OF SUCH DAMAGE.
|
||
#
|
||
|
||
# TODO: Setup an bash error trap, to make errors from failing commands more
|
||
# visible and draw attention of the user to these errors.
|
||
|
||
# Install postgres
|
||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||
|
||
# Documentation and source of the used chart with all configuration parameters:
|
||
# https://artifacthub.io/packages/helm/bitnami/postgresql
|
||
# https://github.com/helm/charts/tree/master/stable/postgresql
|
||
|
||
# The postgresql helm chart requires the cluster to provide a PersistentVolume
|
||
# and places a PersisentVolumeClaim for this.
|
||
# Ensure that the cluster provides PersistentVolumes:
|
||
|
||
if kubectl get PersistentVolume -o json
|
||
| jq -e '.items | .[].status | select(.phase == "Bound")' ; then
|
||
echo "Ok found at least one PersistentVolume"
|
||
else
|
||
echo "The postgresql helm chart has a PersistentVolumeClaim (PVC)."
|
||
echo "The cluster needs to provide at one PersistentVolume (PV) for this."
|
||
echo "For information how to create a PersistentVolume, see:"
|
||
echo "https://github.com/felipecruz91/k8s-postgresql-persistent-volume#create-persistent-volume"
|
||
exit 5
|
||
fi
|
||
|
||
# Note: The chart mounts the PV at persistence.mountPath,
|
||
# which defaults to /bitnami/postgresql and creates a directory /data in it.
|
||
# If it has no permission to create it, this error happens:
|
||
# mkdir: cannot create directory ‘/bitnami/postgresql/data’: Permission denied
|
||
# https://github.com/bitnami/charts/issues/1210
|
||
#
|
||
# Adding --set volumePermissions.enabled=true helps:
|
||
# https://github.com/bitnami/charts/issues/1210#issuecomment-1145923630
|
||
|
||
helm upgrade --install postgres bitnami/postgresql \
|
||
--set volumePermissions.enabled=true \
|
||
--set global.postgresql.auth.postgresPassword=postgres \
|
||
--set auth.postgresPassword=postgres \
|
||
--set auth.enablePostgresUser=true \
|
||
|
||
kubectl patch svc postgres-postgresql --type='json' -p '[{"op":"replace","path":"/spec/type","value":"NodePort"}]'
|
||
|
||
# Install localstack
|
||
helm repo add localstack-repo https://helm.localstack.cloud
|
||
helm upgrade --install localstack localstack-repo/localstack
|
||
|
||
# Install minio
|
||
helm install --set auth.rootUser=AKIAIOSFODNN7EXAMPLE,auth.rootPassword=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY minio bitnami/minio
|
||
|
||
# Install Temporal
|
||
helm install temporal infrastructure/dev-helm/temporal --timeout 15m -f infrastructure/dev-helm/temporal.values.yaml
|