45 lines
1.4 KiB
Bash
Executable File
45 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Kubernetes deployment script for MerchantsOfHope application
|
|
|
|
set -e # Exit on any error
|
|
|
|
echo "Starting deployment of MerchantsOfHope application..."
|
|
|
|
# Create namespace
|
|
echo "Creating namespace..."
|
|
kubectl apply -f k8s/namespace.yaml
|
|
|
|
# Apply secrets (these should be properly base64 encoded in production)
|
|
echo "Applying secrets..."
|
|
# Note: In production, manage secrets more securely (HashiCorp Vault, AWS Secrets Manager, etc.)
|
|
kubectl apply -f k8s/secrets.yaml
|
|
|
|
# Apply configmap
|
|
echo "Applying configmap..."
|
|
kubectl apply -f k8s/configmap.yaml
|
|
|
|
# Apply database components (optional - in production, consider using a managed database)
|
|
echo "Applying database components..."
|
|
kubectl apply -f k8s/database.yaml
|
|
|
|
# Wait for database to be ready
|
|
echo "Waiting for database to be ready..."
|
|
kubectl wait --for=condition=ready pod -l app=postgres --timeout=120s
|
|
|
|
# Apply application deployment
|
|
echo "Applying application deployment..."
|
|
kubectl apply -f k8s/deployment.yaml
|
|
|
|
# Apply service
|
|
echo "Applying service..."
|
|
kubectl apply -f k8s/service.yaml
|
|
|
|
# Apply ingress
|
|
echo "Applying ingress..."
|
|
kubectl apply -f k8s/ingress.yaml
|
|
|
|
echo "Deployment completed successfully!"
|
|
echo "To check the status of your deployment, run:"
|
|
echo " kubectl get pods -n merchants-of-hope"
|
|
echo " kubectl get services -n merchants-of-hope"
|
|
echo " kubectl get ingress -n merchants-of-hope" |