#!/usr/bin/env bash # Generate MinIO TLS certificates using existing CA # This script generates certificates for MinIO server set -e TLS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" CA_DIR="$TLS_DIR/ca" MINIO_DIR="$TLS_DIR/minio" mkdir -p "$MINIO_DIR" echo "Generating MinIO TLS certificates using existing CA..." echo "CA Directory: $CA_DIR" echo "MinIO Directory: $MINIO_DIR" echo "" # Check if CA exists if [ ! -f "$CA_DIR/ca-cert.pem" ] || [ ! -f "$CA_DIR/ca-key.pem" ]; then echo "ERROR: CA certificates not found. Please run generate-certificates.sh first." exit 1 fi # Generate MinIO server private key echo "Step 1: Generating MinIO server private key..." openssl genrsa -out "$MINIO_DIR/minio-key.pem" 4096 # Convert to traditional RSA format (required by MinIO) echo "Step 1b: Converting private key to traditional RSA format..." openssl rsa -in "$MINIO_DIR/minio-key.pem" -traditional -out "$MINIO_DIR/minio-key.pem" # Create certificate signing request (CSR) echo "Step 2: Creating MinIO certificate signing request..." openssl req -new -key "$MINIO_DIR/minio-key.pem" -out "$MINIO_DIR/minio.csr" \ -subj "/C=US/ST=California/L=SanFrancisco/O=BakeryIA/OU=Storage/CN=minio.bakery-ia.svc.cluster.local" # Create SAN (Subject Alternative Names) configuration for MinIO cat > "$MINIO_DIR/san.cnf" <