Add remote backups failover support
This PS adds a support for a failover location to upload and retrieve remote backups. Change-Id: I9f79649ebb6efe112bf57d7fbac8d62e8c22a3db
This commit is contained in:
@@ -13,4 +13,4 @@
|
||||
apiVersion: v1
|
||||
description: etcdctl Client
|
||||
name: etcdctl-utility
|
||||
version: 0.1.6
|
||||
version: 0.1.7
|
||||
|
||||
@@ -146,43 +146,24 @@ EOF
|
||||
|
||||
if $ETCD_REMOTE_BACKUP_ENABLED; then
|
||||
export ETCD_RGW_SECRET={{ $envAll.Values.conf.etcd_backup_restore.secrets.kube_system.rgw_secret }}
|
||||
cat >> $TMP_FILE << EOF
|
||||
- name: OS_AUTH_URL
|
||||
|
||||
# Get the list of keys and their values from the secret
|
||||
SECRET_DATA=$(kubectl get secret $ETCD_RGW_SECRET -n $ETCD_POD_NAMESPACE -o jsonpath="{.data}")
|
||||
|
||||
# Iterate over each key
|
||||
for KEY_NAME in $(echo $SECRET_DATA | jq -r 'keys[]'); do
|
||||
KEY_VALUE=$(echo $SECRET_DATA | jq -r --arg key "$KEY_NAME" '.[$key]')
|
||||
if [ -n "$KEY_VALUE" ]; then
|
||||
cat >> $TMP_FILE << EOF
|
||||
- name: ${KEY_NAME}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${ETCD_RGW_SECRET}
|
||||
key: OS_AUTH_URL
|
||||
- name: OS_REGION_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${ETCD_RGW_SECRET}
|
||||
key: OS_REGION_NAME
|
||||
- name: OS_USERNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${ETCD_RGW_SECRET}
|
||||
key: OS_USERNAME
|
||||
- name: OS_PROJECT_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${ETCD_RGW_SECRET}
|
||||
key: OS_PROJECT_NAME
|
||||
- name: OS_USER_DOMAIN_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${ETCD_RGW_SECRET}
|
||||
key: OS_USER_DOMAIN_NAME
|
||||
- name: OS_PROJECT_DOMAIN_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${ETCD_RGW_SECRET}
|
||||
key: OS_PROJECT_DOMAIN_NAME
|
||||
- name: OS_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${ETCD_RGW_SECRET}
|
||||
key: OS_PASSWORD
|
||||
key: ${KEY_NAME}
|
||||
EOF
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
cat >> $TMP_FILE << EOF
|
||||
|
||||
@@ -13,4 +13,4 @@
|
||||
apiVersion: v1
|
||||
description: Porthole MySql Client
|
||||
name: mysqlclient-utility
|
||||
version: 0.1.9
|
||||
version: 0.1.10
|
||||
|
||||
@@ -14,7 +14,6 @@ export MARIADB_BACKUP_BASE_PATH=$(kubectl get secret -n ${MARIADB_POD_NAMESPACE}
|
||||
MARIADB_REMOTE_BACKUP_ENABLED=$(kubectl get secret -n ${MARIADB_POD_NAMESPACE} ${MARIADB_CONF_SECRET} -o json | jq -r .data.REMOTE_BACKUP_ENABLED | base64 -d)
|
||||
export MARIADB_REMOTE_BACKUP_ENABLED=$(echo $MARIADB_REMOTE_BACKUP_ENABLED | sed 's/"//g')
|
||||
|
||||
|
||||
export TMP_FILE=$(mktemp -p /tmp)
|
||||
|
||||
if ! kubectl -n ${MARIADB_POD_NAMESPACE} --no-headers=true get secret {{ $envAll.Values.conf.mariadb_backup_restore.secrets.tls_secret }} > /dev/null 2>&1 ; then
|
||||
@@ -171,43 +170,24 @@ EOF
|
||||
|
||||
if $MARIADB_REMOTE_BACKUP_ENABLED; then
|
||||
export MARIADB_RGW_SECRET={{ $envAll.Values.conf.mariadb_backup_restore.secrets.rgw_secret }}
|
||||
cat >> $TMP_FILE << EOF
|
||||
- name: OS_AUTH_URL
|
||||
|
||||
# Get the list of keys and their values from the secret
|
||||
SECRET_DATA=$(kubectl get secret $MARIADB_RGW_SECRET -n $MARIADB_POD_NAMESPACE -o jsonpath="{.data}")
|
||||
|
||||
# Iterate over each key
|
||||
for KEY_NAME in $(echo $SECRET_DATA | jq -r 'keys[]'); do
|
||||
KEY_VALUE=$(echo $SECRET_DATA | jq -r --arg key "$KEY_NAME" '.[$key]')
|
||||
if [ -n "$KEY_VALUE" ]; then
|
||||
cat >> $TMP_FILE << EOF
|
||||
- name: ${KEY_NAME}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${MARIADB_RGW_SECRET}
|
||||
key: OS_AUTH_URL
|
||||
- name: OS_REGION_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${MARIADB_RGW_SECRET}
|
||||
key: OS_REGION_NAME
|
||||
- name: OS_USERNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${MARIADB_RGW_SECRET}
|
||||
key: OS_USERNAME
|
||||
- name: OS_PROJECT_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${MARIADB_RGW_SECRET}
|
||||
key: OS_PROJECT_NAME
|
||||
- name: OS_USER_DOMAIN_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${MARIADB_RGW_SECRET}
|
||||
key: OS_USER_DOMAIN_NAME
|
||||
- name: OS_PROJECT_DOMAIN_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${MARIADB_RGW_SECRET}
|
||||
key: OS_PROJECT_DOMAIN_NAME
|
||||
- name: OS_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${MARIADB_RGW_SECRET}
|
||||
key: OS_PASSWORD
|
||||
key: ${KEY_NAME}
|
||||
EOF
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
if $TLS_ENABLED; then
|
||||
|
||||
@@ -14,4 +14,4 @@
|
||||
apiVersion: v1
|
||||
description: PostgreSQL Client
|
||||
name: postgresql-utility
|
||||
version: 0.1.5
|
||||
version: 0.1.6
|
||||
|
||||
@@ -159,43 +159,24 @@ EOF
|
||||
|
||||
if $POSTGRESQL_REMOTE_BACKUP_ENABLED; then
|
||||
export POSTGRESQL_RGW_SECRET={{ $envAll.Values.conf.postgresql_backup_restore.secrets.rgw_secret }}
|
||||
cat >> $TMP_FILE << EOF
|
||||
- name: OS_AUTH_URL
|
||||
|
||||
# Get the list of keys and their values from the secret
|
||||
SECRET_DATA=$(kubectl get secret $POSTGRESQL_RGW_SECRET -n $POSTGRESQL_POD_NAMESPACE -o jsonpath="{.data}")
|
||||
|
||||
# Iterate over each key
|
||||
for KEY_NAME in $(echo $SECRET_DATA | jq -r 'keys[]'); do
|
||||
KEY_VALUE=$(echo $SECRET_DATA | jq -r --arg key "$KEY_NAME" '.[$key]')
|
||||
if [ -n "$KEY_VALUE" ]; then
|
||||
cat >> $TMP_FILE << EOF
|
||||
- name: ${KEY_NAME}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${POSTGRESQL_RGW_SECRET}
|
||||
key: OS_AUTH_URL
|
||||
- name: OS_REGION_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${POSTGRESQL_RGW_SECRET}
|
||||
key: OS_REGION_NAME
|
||||
- name: OS_USERNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${POSTGRESQL_RGW_SECRET}
|
||||
key: OS_USERNAME
|
||||
- name: OS_PROJECT_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${POSTGRESQL_RGW_SECRET}
|
||||
key: OS_PROJECT_NAME
|
||||
- name: OS_USER_DOMAIN_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${POSTGRESQL_RGW_SECRET}
|
||||
key: OS_USER_DOMAIN_NAME
|
||||
- name: OS_PROJECT_DOMAIN_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${POSTGRESQL_RGW_SECRET}
|
||||
key: OS_PROJECT_DOMAIN_NAME
|
||||
- name: OS_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ${POSTGRESQL_RGW_SECRET}
|
||||
key: OS_PASSWORD
|
||||
key: ${KEY_NAME}
|
||||
EOF
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
cat >> $TMP_FILE << EOF
|
||||
@@ -248,4 +229,4 @@ cat >> $TMP_FILE << EOF
|
||||
EOF
|
||||
|
||||
kubectl create -n $POSTGRESQL_POD_NAMESPACE -f $TMP_FILE
|
||||
rm -rf $TMP_FILE
|
||||
# rm -rf $TMP_FILE
|
||||
|
||||
Reference in New Issue
Block a user