Fix verify jobs to support HTTPS with fallback to HTTP
Health checks now try HTTPS first (with -k for self-signed certs), then fall back to HTTP. Handles both TLS-enabled and plain HTTP deployments without failing the pipeline.
This commit is contained in:
@@ -264,11 +264,17 @@ verify-staging:
|
||||
- sleep 3
|
||||
- |
|
||||
for i in 1 2 3 4 5; do
|
||||
STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://${STAGING_HOST}:3100/api/health 2>/dev/null || echo "000")
|
||||
STATUS=$(curl -sk -o /dev/null -w "%{http_code}" https://${STAGING_HOST}:3100/api/health 2>/dev/null || echo "000")
|
||||
if [ "$STATUS" = "200" ]; then
|
||||
echo "Staging health check passed (attempt $i)"
|
||||
break
|
||||
fi
|
||||
# Fall back to HTTP in case TLS is not enabled
|
||||
STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://${STAGING_HOST}:3100/api/health 2>/dev/null || echo "000")
|
||||
if [ "$STATUS" = "200" ]; then
|
||||
echo "Staging health check passed via HTTP (attempt $i)"
|
||||
break
|
||||
fi
|
||||
echo "Staging not ready (status: $STATUS), retrying... (attempt $i/5)"
|
||||
sleep 3
|
||||
done
|
||||
@@ -277,10 +283,10 @@ verify-staging:
|
||||
exit 1
|
||||
fi
|
||||
- |
|
||||
COMP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "http://${STAGING_HOST}:3100/api/compliance/items?page=1&limit=1" || echo "000")
|
||||
COMP_STATUS=$(curl -sk -o /dev/null -w "%{http_code}" "https://${STAGING_HOST}:3100/api/compliance/items?page=1&limit=1" || echo "000")
|
||||
[ "$COMP_STATUS" != "200" ] && echo "WARN: Compliance items returned $COMP_STATUS" || true
|
||||
- |
|
||||
VCL_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "http://${STAGING_HOST}:3100/api/compliance/vcl/stats" || echo "000")
|
||||
VCL_STATUS=$(curl -sk -o /dev/null -w "%{http_code}" "https://${STAGING_HOST}:3100/api/compliance/vcl/stats" || echo "000")
|
||||
[ "$VCL_STATUS" != "200" ] && echo "WARN: VCL stats returned $VCL_STATUS" || true
|
||||
- echo "Staging verification passed."
|
||||
needs:
|
||||
@@ -302,11 +308,17 @@ verify-production:
|
||||
- sleep 3
|
||||
- |
|
||||
for i in 1 2 3 4 5 6 7 8 9 10; do
|
||||
STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://${PROD_HOST}:3001/api/health 2>/dev/null || echo "000")
|
||||
STATUS=$(curl -sk -o /dev/null -w "%{http_code}" https://${PROD_HOST}:3001/api/health 2>/dev/null || echo "000")
|
||||
if [ "$STATUS" = "200" ]; then
|
||||
echo "Production health check passed (attempt $i)"
|
||||
break
|
||||
fi
|
||||
# Fall back to HTTP in case TLS is not enabled
|
||||
STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://${PROD_HOST}:3001/api/health 2>/dev/null || echo "000")
|
||||
if [ "$STATUS" = "200" ]; then
|
||||
echo "Production health check passed via HTTP (attempt $i)"
|
||||
break
|
||||
fi
|
||||
echo "Production not ready (status: $STATUS), retrying... (attempt $i/10)"
|
||||
sleep 3
|
||||
done
|
||||
@@ -325,10 +337,10 @@ verify-production:
|
||||
exit 1
|
||||
fi
|
||||
- |
|
||||
COMP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "http://${PROD_HOST}:3001/api/compliance/items?page=1&limit=1" || echo "000")
|
||||
COMP_STATUS=$(curl -sk -o /dev/null -w "%{http_code}" "https://${PROD_HOST}:3001/api/compliance/items?page=1&limit=1" || echo "000")
|
||||
[ "$COMP_STATUS" != "200" ] && echo "WARN: Compliance items returned $COMP_STATUS" || true
|
||||
- |
|
||||
VCL_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "http://${PROD_HOST}:3001/api/compliance/vcl/stats" || echo "000")
|
||||
VCL_STATUS=$(curl -sk -o /dev/null -w "%{http_code}" "https://${PROD_HOST}:3001/api/compliance/vcl/stats" || echo "000")
|
||||
[ "$VCL_STATUS" != "200" ] && echo "WARN: VCL stats returned $VCL_STATUS" || true
|
||||
- echo "Production verification passed."
|
||||
needs:
|
||||
|
||||
Reference in New Issue
Block a user