Necesario para que el subscriber revalidate-storefront.ts (repo apps-registry, rama fix/medusa-price-instant-revalidate) pueda llamar a POST /api/revalidate en el storefront con autenticación. create-commerce-secrets.sh genera el valor y lo imprime (única excepción a "no imprimir credenciales") porque hay que pegarlo tal cual en create-storefront-secret.sh: ambos secrets necesitan el mismo valor.
63 lines
2.2 KiB
Bash
63 lines
2.2 KiB
Bash
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
|
|
NAMESPACE="${NAMESPACE:-ecommerce}"
|
|
|
|
random_secret() {
|
|
openssl rand -hex 32
|
|
}
|
|
|
|
read -rp "Usuario PostgreSQL [medusa]: " POSTGRES_USER
|
|
POSTGRES_USER="${POSTGRES_USER:-medusa}"
|
|
|
|
read -rp "Base de datos PostgreSQL [medusa]: " POSTGRES_DB
|
|
POSTGRES_DB="${POSTGRES_DB:-medusa}"
|
|
|
|
read -rsp "Contraseña PostgreSQL (vacío = generar): " POSTGRES_PASSWORD
|
|
echo
|
|
POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-$(random_secret)}"
|
|
|
|
read -rsp "Contraseña Redis (vacío = generar): " REDIS_PASSWORD
|
|
echo
|
|
REDIS_PASSWORD="${REDIS_PASSWORD:-$(random_secret)}"
|
|
|
|
read -rp "Usuario MinIO [ari-minio]: " MINIO_ROOT_USER
|
|
MINIO_ROOT_USER="${MINIO_ROOT_USER:-ari-minio}"
|
|
|
|
read -rsp "Contraseña MinIO (vacío = generar): " MINIO_ROOT_PASSWORD
|
|
echo
|
|
MINIO_ROOT_PASSWORD="${MINIO_ROOT_PASSWORD:-$(random_secret)}"
|
|
|
|
JWT_SECRET="$(random_secret)"
|
|
COOKIE_SECRET="$(random_secret)"
|
|
REVALIDATE_SECRET="$(random_secret)"
|
|
|
|
DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres-svc:5432/${POSTGRES_DB}?sslmode=disable"
|
|
REDIS_URL="redis://:${REDIS_PASSWORD}@redis-svc:6379"
|
|
|
|
kubectl -n "${NAMESPACE}" create secret generic commerce-secrets \
|
|
--from-literal=POSTGRES_USER="${POSTGRES_USER}" \
|
|
--from-literal=POSTGRES_PASSWORD="${POSTGRES_PASSWORD}" \
|
|
--from-literal=POSTGRES_DB="${POSTGRES_DB}" \
|
|
--from-literal=DATABASE_URL="${DATABASE_URL}" \
|
|
--from-literal=REDIS_PASSWORD="${REDIS_PASSWORD}" \
|
|
--from-literal=REDIS_URL="${REDIS_URL}" \
|
|
--from-literal=MINIO_ROOT_USER="${MINIO_ROOT_USER}" \
|
|
--from-literal=MINIO_ROOT_PASSWORD="${MINIO_ROOT_PASSWORD}" \
|
|
--from-literal=S3_ACCESS_KEY_ID="${MINIO_ROOT_USER}" \
|
|
--from-literal=S3_SECRET_ACCESS_KEY="${MINIO_ROOT_PASSWORD}" \
|
|
--from-literal=JWT_SECRET="${JWT_SECRET}" \
|
|
--from-literal=COOKIE_SECRET="${COOKIE_SECRET}" \
|
|
--from-literal=REVALIDATE_SECRET="${REVALIDATE_SECRET}" \
|
|
--dry-run=client \
|
|
-o yaml |
|
|
kubectl apply -f -
|
|
|
|
echo
|
|
echo "Secret commerce-secrets configurado en namespace ${NAMESPACE}."
|
|
echo "No se imprimieron el resto de las credenciales."
|
|
echo
|
|
echo "REVALIDATE_SECRET generado: ${REVALIDATE_SECRET}"
|
|
echo "Se imprime porque hay que pegarlo tal cual en create-storefront-secret.sh:"
|
|
echo "ambos secrets necesitan el mismo valor."
|