Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 18 additions & 13 deletions entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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}")
Expand All @@ -95,32 +95,36 @@ 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}"

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}"
}

Expand All @@ -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
{
Expand Down
Loading