Rename MSSQL_BACKUP_DIR to MSSQL_DATA_DIR across configuration files and scripts for consistency. Update README and test scripts to reflect the new variable name. This change ensures clarity in the purpose of the directory used for MSSQL data and backups.

Signed-off-by: Shakar Bakr <5h4k4r.b4kr@gmail.com>
This commit is contained in:
Shakar Bakr 2025-10-27 12:29:01 +03:00
parent 845507c728
commit a9c7cc4be3
No known key found for this signature in database
GPG Key ID: DA55A26823AE3C28
10 changed files with 20 additions and 20 deletions

View File

@ -35,7 +35,7 @@ ENV PGDUMP_EXTRA_OPTS ''
ENV MARIADB_DUMP_EXTRA_OPTS ''
ENV MARIADB_EXTRA_OPTS ''
ENV MSSQL_EXTRA_OPTS ''
ENV MSSQL_BACKUP_DIR '/var/opt/mssql/data'
ENV MSSQL_DATA_DIR '/var/opt/mssql/data'
ENV S3_ACCESS_KEY_ID ''
ENV S3_SECRET_ACCESS_KEY ''
ENV S3_BUCKET ''

View File

@ -67,7 +67,7 @@ services:
DATABASE_USER: sa
DATABASE_PASSWORD: YourStrong@Passw0rd
DATABASE_SERVER: mssql
MSSQL_BACKUP_DIR: /var/opt/mssql/data # Path where backups are stored
MSSQL_DATA_DIR: /var/opt/mssql/data # MSSQL data directory (where backups are temporarily stored)
volumes:
mssql-data: # Shared volume for MSSQL data and backups
@ -185,7 +185,7 @@ spec:
secretKeyRef:
name: db-credentials
key: password
- name: MSSQL_BACKUP_DIR
- name: MSSQL_DATA_DIR
value: "/var/opt/mssql/data"
- name: S3_REGION
value: "us-east-1"
@ -264,7 +264,7 @@ spec:
value: "localhost" # Same pod
- name: DATABASE_PORT
value: "1433"
- name: MSSQL_BACKUP_DIR
- name: MSSQL_DATA_DIR
value: "/var/opt/mssql/data"
# ... (S3 and DB credentials from secrets)
volumeMounts:
@ -274,7 +274,7 @@ spec:
**Key Configuration:**
- `DATABASE_HOST: "localhost"` - Both containers are in the same pod
- `MSSQL_BACKUP_DIR: "/var/opt/mssql/data"` - Must match MSSQL's data directory
- `MSSQL_DATA_DIR: "/var/opt/mssql/data"` - MSSQL's data directory (where backup files are temporarily stored)
- Both containers mount the same volume at `/var/opt/mssql/data`
- Set `SCHEDULE` env var for automated backups (cron format)

View File

@ -108,7 +108,7 @@ services:
DATABASE_PORT: 1433
DATABASE_SERVER: mssql
DATABASE_PASSWORD: YourStrong@Passw0rd
MSSQL_BACKUP_DIR: /var/opt/mssql/data # Path where MSSQL backups are stored (must match volume mount)
MSSQL_DATA_DIR: /var/opt/mssql/data # Path where MSSQL backups are stored (must match volume mount)
volumes:
mssql-data: # MSSQL database storage
minio-data: # MinIO object storage

View File

@ -24,7 +24,7 @@ data:
# ============================================
# MSSQL Specific Configuration
# ============================================
MSSQL_BACKUP_DIR: "/var/opt/mssql/data"
MSSQL_DATA_DIR: "/var/opt/mssql/data"
# MSSQL_EXTRA_OPTS: "" # Additional sqlcmd options if needed
# ============================================
@ -87,7 +87,7 @@ data:
# --from-literal=DATABASE_HOST='mssql-service' \
# --from-literal=DATABASE_NAME='MyDatabase' \
# --from-literal=DATABASE_PORT='1433' \
# --from-literal=MSSQL_BACKUP_DIR='/var/opt/mssql/data' \
# --from-literal=MSSQL_DATA_DIR='/var/opt/mssql/data' \
# --from-literal=SCHEDULE='0 2 * * *' \
# --from-literal=BACKUP_KEEP_DAYS='7' \
# --from-literal=S3_BUCKET='my-backups' \

View File

@ -118,7 +118,7 @@ spec:
#
# ConfigMap (mssql-config) - See k8s-mssql-configmap-example.yaml
# - DATABASE_SERVER, DATABASE_HOST, DATABASE_NAME, DATABASE_PORT
# - MSSQL_BACKUP_DIR, MSSQL_EXTRA_OPTS
# - MSSQL_DATA_DIR, MSSQL_EXTRA_OPTS
# - SCHEDULE, BACKUP_KEEP_DAYS
# - S3_BUCKET, S3_PREFIX, S3_REGION, S3_ENDPOINT, S3_S3V4
# Note: DATABASE_HOST is overridden to "localhost" in the StatefulSet for sidecar pattern

View File

@ -13,7 +13,7 @@ timestamp=$(date +"%Y-%m-%dT%H:%M:%S")
# MSSQL uses .bak extension, other databases use .dump
if [ "$DATABASE_SERVER" = "mssql" ]; then
local_file="${MSSQL_BACKUP_DIR}/db.bak"
local_file="${MSSQL_DATA_DIR}/db.bak"
s3_uri_base="s3://${S3_BUCKET}/${S3_PREFIX}/${DATABASE_NAME}_${timestamp}.bak"
else
local_file="db.dump"

View File

@ -62,12 +62,12 @@ restore_mariadb() {
backup_mssql() {
# Use native BACKUP DATABASE command
# Note: Requires shared volume mounted at MSSQL_BACKUP_DIR
# Note: Requires shared volume mounted at MSSQL_DATA_DIR
sqlcmd -S ${DATABASE_HOST},${DATABASE_PORT} \
-U ${DATABASE_USER} \
-P "${DATABASE_PASSWORD}" \
-C \
-Q "BACKUP DATABASE [${DATABASE_NAME}] TO DISK = N'${MSSQL_BACKUP_DIR}/db.bak' WITH INIT;" \
-Q "BACKUP DATABASE [${DATABASE_NAME}] TO DISK = N'${MSSQL_DATA_DIR}/db.bak' WITH INIT;" \
$MSSQL_EXTRA_OPTS
}
@ -78,7 +78,7 @@ restore_mssql() {
-U ${DATABASE_USER} \
-P "${DATABASE_PASSWORD}" \
-C -W \
-Q "SET NOCOUNT ON; RESTORE FILELISTONLY FROM DISK = N'${MSSQL_BACKUP_DIR}/db.bak';" \
-Q "SET NOCOUNT ON; RESTORE FILELISTONLY FROM DISK = N'${MSSQL_DATA_DIR}/db.bak';" \
| grep -v '^$' | awk '{print $1}' | tail -n +3)
# Parse logical names (first two lines after headers)
@ -90,9 +90,9 @@ restore_mssql() {
-U ${DATABASE_USER} \
-P "${DATABASE_PASSWORD}" \
-C \
-Q "RESTORE DATABASE [${DATABASE_NAME}] FROM DISK = N'${MSSQL_BACKUP_DIR}/db.bak' WITH REPLACE, MOVE N'${data_file}' TO N'${MSSQL_BACKUP_DIR}/${DATABASE_NAME}.mdf', MOVE N'${log_file}' TO N'${MSSQL_BACKUP_DIR}/${DATABASE_NAME}_log.ldf';" \
-Q "RESTORE DATABASE [${DATABASE_NAME}] FROM DISK = N'${MSSQL_DATA_DIR}/db.bak' WITH REPLACE, MOVE N'${data_file}' TO N'${MSSQL_DATA_DIR}/${DATABASE_NAME}.mdf', MOVE N'${log_file}' TO N'${MSSQL_DATA_DIR}/${DATABASE_NAME}_log.ldf';" \
$MSSQL_EXTRA_OPTS
# Clean up backup file
rm "${MSSQL_BACKUP_DIR}/db.bak"
rm "${MSSQL_DATA_DIR}/db.bak"
}

View File

@ -10,7 +10,7 @@ s3_uri_base="s3://${S3_BUCKET}/${S3_PREFIX}"
# MSSQL uses .bak extension, other databases use .dump
if [ "$DATABASE_SERVER" = "mssql" ]; then
backup_file="${MSSQL_BACKUP_DIR}/db.bak"
backup_file="${MSSQL_DATA_DIR}/db.bak"
if [ -z "$PASSPHRASE" ]; then
file_type=".bak"
else
@ -52,7 +52,7 @@ echo "Restoring from backup..."
restore
# Clean up backup file
# Note: For MSSQL, the file is in MSSQL_BACKUP_DIR and cleanup happens in restore_mssql()
# Note: For MSSQL, the file is in MSSQL_DATA_DIR and cleanup happens in restore_mssql()
if [ "$DATABASE_SERVER" != "mssql" ]; then
rm "${backup_file}"
fi

View File

@ -119,7 +119,7 @@ spec:
#
# ConfigMap (mssql-config) - See k8s-mssql-configmap-example.yaml
# - DATABASE_SERVER, DATABASE_HOST, DATABASE_NAME, DATABASE_PORT
# - MSSQL_BACKUP_DIR, MSSQL_EXTRA_OPTS
# - MSSQL_DATA_DIR, MSSQL_EXTRA_OPTS
# - SCHEDULE, BACKUP_KEEP_DAYS
# - S3_BUCKET, S3_PREFIX, S3_REGION, S3_ENDPOINT, S3_S3V4
# Note: DATABASE_HOST is overridden to "localhost" in the StatefulSet for sidecar pattern

View File

@ -16,7 +16,7 @@ STATEFULSET_NAME="mssql"
POD_NAME="mssql-0"
MSSQL_PASSWORD="YourStrong@Passw0rd"
DATABASE_NAME="TestDB"
MSSQL_BACKUP_DIR="${MSSQL_BACKUP_DIR:-/var/opt/mssql/data}"
MSSQL_DATA_DIR="${MSSQL_DATA_DIR:-/var/opt/mssql/data}"
S3_BUCKET="${S3_BUCKET:-test-backups}"
S3_ENDPOINT="${S3_ENDPOINT:-}" # Set this if using MinIO or other S3-compatible storage
STATEFULSET_FILE="${STATEFULSET_FILE:-$(dirname "$0")/../k8s-statefulset-with-sidecar.yaml}"
@ -66,7 +66,7 @@ kubectl create configmap mssql-config -n $NAMESPACE \
--from-literal=DATABASE_HOST='mssql-service' \
--from-literal=DATABASE_NAME="$DATABASE_NAME" \
--from-literal=DATABASE_PORT='1433' \
--from-literal=MSSQL_BACKUP_DIR='/var/opt/mssql/data' \
--from-literal=MSSQL_DATA_DIR='/var/opt/mssql/data' \
--from-literal=SCHEDULE='*/5 * * * *' \
--from-literal=BACKUP_KEEP_DAYS='7' \
--from-literal=S3_BUCKET="$S3_BUCKET" \