fase 1
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
#!/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)"
|
||||
|
||||
DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres-svc:5432/${POSTGRES_DB}"
|
||||
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}" \
|
||||
--dry-run=client \
|
||||
-o yaml |
|
||||
kubectl apply -f -
|
||||
|
||||
echo
|
||||
echo "Secret commerce-secrets configurado en namespace ${NAMESPACE}."
|
||||
echo "No se imprimieron las credenciales."
|
||||
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
NAMESPACE="${NAMESPACE:-ecommerce}"
|
||||
|
||||
read -rsp "Pega la Publishable API Key de Medusa: " MEDUSA_PUBLISHABLE_KEY
|
||||
echo
|
||||
|
||||
if [[ -z "${MEDUSA_PUBLISHABLE_KEY}" ]]; then
|
||||
echo "ERROR: la clave no puede estar vacía."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
kubectl -n "${NAMESPACE}" create secret generic commerce-storefront \
|
||||
--from-literal=MEDUSA_PUBLISHABLE_KEY="${MEDUSA_PUBLISHABLE_KEY}" \
|
||||
--dry-run=client \
|
||||
-o yaml |
|
||||
kubectl apply -f -
|
||||
|
||||
unset MEDUSA_PUBLISHABLE_KEY
|
||||
|
||||
echo "Secret commerce-storefront configurado."
|
||||
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
PACKAGE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
REPO_ROOT="${1:-$PWD}"
|
||||
|
||||
if [[ ! -d "${REPO_ROOT}/.git" ]]; then
|
||||
echo "ERROR: ${REPO_ROOT} no parece ser la raíz de apps-registry."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test -f "${REPO_ROOT}/workloads/ecommerce/kustomization.yaml"
|
||||
|
||||
BACKUP="${REPO_ROOT}/.phase1-backup-$(date +%Y%m%d-%H%M%S)"
|
||||
mkdir -p "${BACKUP}"
|
||||
|
||||
cp -a \
|
||||
"${REPO_ROOT}/workloads/ecommerce/kustomization.yaml" \
|
||||
"${BACKUP}/kustomization.yaml"
|
||||
|
||||
for file in \
|
||||
"workloads/ecommerce/lib/headless/providers/medusa.ts" \
|
||||
"workloads/ecommerce/next.config.ts"; do
|
||||
if [[ -f "${REPO_ROOT}/${file}" ]]; then
|
||||
mkdir -p "${BACKUP}/$(dirname "${file}")"
|
||||
cp -a "${REPO_ROOT}/${file}" "${BACKUP}/${file}"
|
||||
fi
|
||||
done
|
||||
|
||||
cp -a \
|
||||
"${PACKAGE_ROOT}/apps-registry/." \
|
||||
"${REPO_ROOT}/"
|
||||
|
||||
KUSTOMIZATION="${REPO_ROOT}/workloads/ecommerce/kustomization.yaml"
|
||||
|
||||
python3 - "${KUSTOMIZATION}" <<'PY'
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
path = Path(sys.argv[1])
|
||||
text = path.read_text(encoding="utf-8")
|
||||
|
||||
if " - commerce/" not in text:
|
||||
marker = "resources:\n"
|
||||
if marker not in text:
|
||||
raise SystemExit("No se encontró el bloque resources en kustomization.yaml")
|
||||
|
||||
lines = text.splitlines()
|
||||
out = []
|
||||
inserted = False
|
||||
|
||||
for line in lines:
|
||||
if not inserted and line.startswith("patches:"):
|
||||
out.append(" - commerce/")
|
||||
out.append("")
|
||||
inserted = True
|
||||
out.append(line)
|
||||
|
||||
if not inserted:
|
||||
out.append(" - commerce/")
|
||||
|
||||
path.write_text("\n".join(out).rstrip() + "\n", encoding="utf-8")
|
||||
PY
|
||||
|
||||
echo
|
||||
echo "Fase 1 copiada en: ${REPO_ROOT}"
|
||||
echo "Respaldo: ${BACKUP}"
|
||||
echo
|
||||
echo "El frontend NO fue cambiado a Medusa todavía."
|
||||
echo "Revisa los cambios con: git status && git diff"
|
||||
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
NAMESPACE="${NAMESPACE:-ecommerce}"
|
||||
|
||||
echo "== Aplicaciones =="
|
||||
kubectl -n argocd get application ecommerce-app ecommerce-governance \
|
||||
-o custom-columns='NAME:.metadata.name,SYNC:.status.sync.status,HEALTH:.status.health.status'
|
||||
|
||||
echo
|
||||
echo "== Pods =="
|
||||
kubectl -n "${NAMESPACE}" get pods -o wide
|
||||
|
||||
echo
|
||||
echo "== PVC =="
|
||||
kubectl -n "${NAMESPACE}" get pvc
|
||||
|
||||
echo
|
||||
echo "== Servicios =="
|
||||
kubectl -n "${NAMESPACE}" get svc \
|
||||
postgres-svc redis-svc minio-svc medusa-svc
|
||||
|
||||
echo
|
||||
echo "== Health interno =="
|
||||
kubectl -n "${NAMESPACE}" run commerce-healthcheck \
|
||||
--image=curlimages/curl:8.12.1 \
|
||||
--restart=Never \
|
||||
--rm -i \
|
||||
--command -- \
|
||||
curl -fsS --max-time 10 http://medusa-svc:9000/health
|
||||
|
||||
echo
|
||||
echo
|
||||
echo "== Health público =="
|
||||
curl -fsS --max-time 15 https://commerce.cruzcloud.net/health
|
||||
echo
|
||||
Reference in New Issue
Block a user