fix: exclude infrastructure probes from API throttling
All checks were successful
Mostovik Backend CI/CD / Tests and lint (push) Successful in 3m28s
Mostovik Backend CI/CD / Build linux/amd64 release images (push) Successful in 3m23s
Mostovik Backend CI/CD / Deploy and verify internal main (push) Has been skipped
Mostovik Backend CI/CD / Deploy dev (push) Successful in 1m49s
All checks were successful
Mostovik Backend CI/CD / Tests and lint (push) Successful in 3m28s
Mostovik Backend CI/CD / Build linux/amd64 release images (push) Successful in 3m23s
Mostovik Backend CI/CD / Deploy and verify internal main (push) Has been skipped
Mostovik Backend CI/CD / Deploy dev (push) Successful in 1m49s
This commit is contained in:
@@ -20,9 +20,6 @@ env:
|
||||
REGISTRY_NAMESPACE: ${{ github.repository_owner }}
|
||||
WEB_IMAGE: mostovik-backend-web
|
||||
CELERY_IMAGE: mostovik-backend-celery
|
||||
CUSTOMER_DEPLOY_HOST: 10.0.10.174
|
||||
CUSTOMER_DEPLOY_USER: ecos
|
||||
CUSTOMER_SSH_PROXY_HOST: ecos-proxy@10.10.0.121
|
||||
|
||||
jobs:
|
||||
quality:
|
||||
@@ -303,61 +300,3 @@ jobs:
|
||||
done
|
||||
echo "Internal-main backend readiness failed" >&2
|
||||
exit 1
|
||||
|
||||
deploy_customer_main:
|
||||
name: Deploy customer main
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
needs: [build, deploy_internal_main]
|
||||
if: ${{ github.ref == 'refs/heads/main' && needs.build.result == 'success' && needs.deploy_internal_main.result == 'success' }}
|
||||
|
||||
steps:
|
||||
- name: Invoke customer release wrapper with the verified digests
|
||||
env:
|
||||
CUSTOMER_DEPLOY_SSH_KEY_B64: ${{ secrets.CUSTOMER_DEPLOY_SSH_KEY_B64 }}
|
||||
CUSTOMER_KNOWN_HOSTS_B64: ${{ secrets.CUSTOMER_KNOWN_HOSTS_B64 }}
|
||||
WEB_REF: ${{ needs.build.outputs.web_ref }}
|
||||
CELERY_REF: ${{ needs.build.outputs.celery_ref }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
for name in CUSTOMER_DEPLOY_HOST CUSTOMER_DEPLOY_USER CUSTOMER_SSH_PROXY_HOST CUSTOMER_DEPLOY_SSH_KEY_B64 CUSTOMER_KNOWN_HOSTS_B64; do
|
||||
if [ -z "${!name:-}" ]; then
|
||||
echo "Missing required customer SSH secret: ${name}" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
case "${CUSTOMER_DEPLOY_USER}" in *[!A-Za-z0-9._-]*) echo "Customer SSH user has unsupported characters" >&2; exit 1;; esac
|
||||
case "${CUSTOMER_DEPLOY_HOST}" in *[!A-Za-z0-9.:-]*) echo "Customer SSH host has unsupported characters" >&2; exit 1;; esac
|
||||
case "${CUSTOMER_SSH_PROXY_HOST}" in *[!A-Za-z0-9._@:-]*) echo "Customer SSH proxy has unsupported characters" >&2; exit 1;; esac
|
||||
printf '%s\n' "${WEB_REF}" | grep -Eq '@sha256:[0-9a-f]{64}$'
|
||||
printf '%s\n' "${CELERY_REF}" | grep -Eq '@sha256:[0-9a-f]{64}$'
|
||||
|
||||
ssh_dir="$(mktemp -d)"
|
||||
trap 'rm -rf "${ssh_dir}"' EXIT
|
||||
key_path="${ssh_dir}/deploy_key"
|
||||
known_hosts_path="${ssh_dir}/known_hosts"
|
||||
printf '%s' "${CUSTOMER_DEPLOY_SSH_KEY_B64}" | base64 -d > "${key_path}"
|
||||
printf '%s' "${CUSTOMER_KNOWN_HOSTS_B64}" | base64 -d > "${known_hosts_path}"
|
||||
chmod 600 "${key_path}" "${known_hosts_path}"
|
||||
ssh-keygen -y -f "${key_path}" >/dev/null
|
||||
|
||||
ssh_common=(
|
||||
-i "${key_path}"
|
||||
-o BatchMode=yes
|
||||
-o IdentitiesOnly=yes
|
||||
-o StrictHostKeyChecking=yes
|
||||
-o "UserKnownHostsFile=${known_hosts_path}"
|
||||
-o GlobalKnownHostsFile=/dev/null
|
||||
-o ConnectTimeout=15
|
||||
)
|
||||
proxy_command="ssh -i ${key_path} -o BatchMode=yes -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes -o UserKnownHostsFile=${known_hosts_path} -o GlobalKnownHostsFile=/dev/null -o ConnectTimeout=15 -W %h:%p ${CUSTOMER_SSH_PROXY_HOST}"
|
||||
|
||||
ssh \
|
||||
"${ssh_common[@]}" \
|
||||
-o "ProxyCommand=${proxy_command}" \
|
||||
"${CUSTOMER_DEPLOY_USER}@${CUSTOMER_DEPLOY_HOST}" \
|
||||
/ecos/release-service \
|
||||
mostovik-backend \
|
||||
"${GITHUB_RUN_ID:-${GITHUB_SHA}}-${GITHUB_RUN_ATTEMPT:-1}" \
|
||||
"${WEB_REF}" \
|
||||
"${CELERY_REF}"
|
||||
|
||||
Reference in New Issue
Block a user