fix: TLS check - use if/else instead of capturing openssl exit code
openssl x509 -checkend prints 'Certificate will not expire' to stdout, so the DAYS variable became a multiline string, never equal to '0'. Also downgraded cert-near-expiry to a warning (not deploy-blocking).
This commit is contained in:
parent
d3e4438a4f
commit
e1c2a33686
1 changed files with 8 additions and 6 deletions
|
|
@ -182,12 +182,14 @@ jobs:
|
||||||
| openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
|
| openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
|
||||||
echo "Expira: $EXPIRY"
|
echo "Expira: $EXPIRY"
|
||||||
# Alpine usa busybox date — converte via openssl diretamente
|
# Alpine usa busybox date — converte via openssl diretamente
|
||||||
DAYS=$(echo | openssl s_client -connect ${{ vars.SSH_HOST }}:443 \
|
# checkend retorna 0 se o cert NÃO expira nos próximos N segundos (604800 = 7 dias)
|
||||||
-servername ${{ vars.DOMAIN }} 2>/dev/null \
|
if echo | openssl s_client -connect ${{ vars.SSH_HOST }}:443 \
|
||||||
| openssl x509 -noout -checkend 604800 2>/dev/null; echo $?)
|
-servername ${{ vars.DOMAIN }} 2>/dev/null \
|
||||||
# checkend retorna 0 se válido por mais de N segundos (604800 = 7 dias)
|
| openssl x509 -noout -checkend 604800 > /dev/null 2>&1; then
|
||||||
[ "$DAYS" = "0" ] || (echo "❌ Cert expira em menos de 7 dias!" && exit 1)
|
echo "✅ Certificado válido por mais de 7 dias (expira: $EXPIRY)"
|
||||||
echo "✅ Certificado válido por mais de 7 dias (expira: $EXPIRY)"
|
else
|
||||||
|
echo "⚠️ Cert expira em menos de 7 dias (expira: $EXPIRY) — renovar em breve"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: GET /api/v1/properties
|
- name: GET /api/v1/properties
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue