diff --git a/entrypoint.sh b/entrypoint.sh index 22b0a74..f643f42 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -57,35 +57,35 @@ download_cli() { checksums_url="https://github.com/krakenkey/cli/releases/download/${version}/checksums.txt" echo "::group::Downloading krakenkey-cli ${version} (${os}/${arch})" - curl -fsSL "${download_url}" -o /tmp/cli.tar.gz + curl -fsSL "${download_url}" -o "/tmp/${binary_name}" curl -fsSL "${checksums_url}" -o /tmp/checksums.txt # Verify checksum (cd /tmp && grep "${binary_name}" checksums.txt | sha256sum -c -) - tar -xzf /tmp/cli.tar.gz -C /tmp krakenkey + tar -xzf "/tmp/${binary_name}" -C /tmp krakenkey chmod +x /tmp/krakenkey echo "::endgroup::" - echo "/tmp" >> "${GITHUB_PATH}" + export PATH="/tmp:${PATH}" } # ── 4. Execute command ─────────────────────────────────────────── execute_issue() { local args=( - cert issue --api-url "${INPUT_API_URL}" --output json --no-color + cert issue --domain "${INPUT_DOMAIN}" --key-type "${INPUT_KEY_TYPE}" - --auto-renew="${INPUT_AUTO_RENEW}" - --wait="${INPUT_WAIT}" --poll-interval "${INPUT_POLL_INTERVAL}" --poll-timeout "${INPUT_POLL_TIMEOUT}" --key-out "${INPUT_KEY_PATH}" --csr-out "${INPUT_CSR_PATH}" --out "${INPUT_CERT_PATH}" ) + [[ "${INPUT_AUTO_RENEW}" == "true" ]] && args+=(--auto-renew) + [[ "${INPUT_WAIT}" == "true" ]] && args+=(--wait) [[ -n "${INPUT_SAN}" ]] && args+=(--san "${INPUT_SAN}") [[ -n "${INPUT_SUBJECT_ORG}" ]] && args+=(--org "${INPUT_SUBJECT_ORG}") [[ -n "${INPUT_SUBJECT_OU}" ]] && args+=(--ou "${INPUT_SUBJECT_OU}") @@ -95,12 +95,14 @@ execute_issue() { } execute_renew() { - local result - result=$(KK_API_KEY="${INPUT_API_KEY}" krakenkey cert renew "${INPUT_CERT_ID}" \ + local result wait_args=() + [[ "${INPUT_WAIT}" == "true" ]] && wait_args+=(--wait) + result=$(KK_API_KEY="${INPUT_API_KEY}" krakenkey \ --api-url "${INPUT_API_URL}" \ --output json \ --no-color \ - --wait="${INPUT_WAIT}" \ + cert renew "${INPUT_CERT_ID}" \ + "${wait_args[@]}" \ --poll-interval "${INPUT_POLL_INTERVAL}" \ --poll-timeout "${INPUT_POLL_TIMEOUT}") echo "${result}" @@ -108,19 +110,21 @@ execute_renew() { local status status=$(echo "${result}" | jq -r '.status') if [[ "${status}" == "issued" ]]; then - KK_API_KEY="${INPUT_API_KEY}" krakenkey cert download "${INPUT_CERT_ID}" \ + KK_API_KEY="${INPUT_API_KEY}" krakenkey \ --api-url "${INPUT_API_URL}" \ --output json \ --no-color \ + cert download "${INPUT_CERT_ID}" \ --out "${INPUT_CERT_PATH}" > /dev/null fi } execute_download() { - KK_API_KEY="${INPUT_API_KEY}" krakenkey cert download "${INPUT_CERT_ID}" \ + KK_API_KEY="${INPUT_API_KEY}" krakenkey \ --api-url "${INPUT_API_URL}" \ --output json \ --no-color \ + cert download "${INPUT_CERT_ID}" \ --out "${INPUT_CERT_PATH}" } @@ -139,10 +143,11 @@ set_outputs() { if [[ "${status}" == "issued" ]]; then local details - details=$(KK_API_KEY="${INPUT_API_KEY}" krakenkey cert show "${cert_id}" \ + details=$(KK_API_KEY="${INPUT_API_KEY}" krakenkey \ --api-url "${INPUT_API_URL}" \ --output json \ - --no-color 2>/dev/null || true) + --no-color \ + cert show "${cert_id}" 2>/dev/null || true) if [[ -n "${details}" ]]; then {