chore: add current provisioning state before migration
This commit is contained in:
parent
a9703b4748
commit
50745b0f22
660 changed files with 88126 additions and 0 deletions
80
taskservs/kms/default/prepare
Executable file
80
taskservs/kms/default/prepare
Executable file
|
|
@ -0,0 +1,80 @@
|
|||
#!/bin/bash
|
||||
# Info: Cosmian KMS preparation script
|
||||
# Author: Provisioning System
|
||||
# Release: 1.0
|
||||
|
||||
echo "Preparing Cosmian KMS installation..."
|
||||
|
||||
# Load environment variables
|
||||
[ -r "env-kms" ] && . ./env-kms
|
||||
|
||||
# Check if required tools are available
|
||||
command -v curl >/dev/null 2>&1 || { echo "curl is required but not installed." >&2; exit 1; }
|
||||
command -v systemctl >/dev/null 2>&1 || { echo "systemctl is required but not installed." >&2; exit 1; }
|
||||
|
||||
# Check OpenSSL version (KMS requires OpenSSL v3.2.0+)
|
||||
if command -v openssl >/dev/null 2>&1; then
|
||||
OPENSSL_VERSION=$(openssl version | awk '{print $2}')
|
||||
echo "Found OpenSSL version: $OPENSSL_VERSION"
|
||||
|
||||
# Basic version check (simplified)
|
||||
MAJOR_VERSION=$(echo "$OPENSSL_VERSION" | cut -d. -f1)
|
||||
if [ "$MAJOR_VERSION" -lt "3" ]; then
|
||||
echo "Warning: OpenSSL version 3.2.0+ is recommended for KMS"
|
||||
fi
|
||||
else
|
||||
echo "Warning: OpenSSL not found. KMS requires OpenSSL v3.2.0+"
|
||||
fi
|
||||
|
||||
# Validate configuration
|
||||
if [ -z "$KMS_VERSION" ]; then
|
||||
echo "KMS_VERSION must be set" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$KMS_PORT" ]; then
|
||||
echo "KMS_PORT must be set" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check port availability
|
||||
if command -v netstat >/dev/null 2>&1; then
|
||||
if netstat -tuln | grep -q ":${KMS_PORT:-9998} "; then
|
||||
echo "Warning: Port ${KMS_PORT:-9998} appears to be in use"
|
||||
fi
|
||||
elif command -v ss >/dev/null 2>&1; then
|
||||
if ss -tuln | grep -q ":${KMS_PORT:-9998} "; then
|
||||
echo "Warning: Port ${KMS_PORT:-9998} appears to be in use"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Validate database configuration
|
||||
case "${KMS_DATABASE_TYPE:-sqlite}" in
|
||||
sqlite)
|
||||
echo "Using SQLite database"
|
||||
;;
|
||||
mysql)
|
||||
if [ -z "$KMS_DATABASE_HOST" ] || [ -z "$KMS_DATABASE_USERNAME" ] || [ -z "$KMS_DATABASE_PASSWORD" ]; then
|
||||
echo "MySQL requires host, username, and password configuration" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
postgresql)
|
||||
if [ -z "$KMS_DATABASE_HOST" ] || [ -z "$KMS_DATABASE_USERNAME" ] || [ -z "$KMS_DATABASE_PASSWORD" ]; then
|
||||
echo "PostgreSQL requires host, username, and password configuration" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
redis)
|
||||
if [ -z "$KMS_DATABASE_HOST" ]; then
|
||||
echo "Redis requires host configuration" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported database type: ${KMS_DATABASE_TYPE}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Preparation completed successfully."
|
||||
Loading…
Add table
Add a link
Reference in a new issue