|
1 | 1 | #!/usr/bin/env bash |
2 | 2 |
|
3 | 3 | set -e -o pipefail |
| 4 | +cd "$(dirname "$0")/.." || exit # this script assumes it's runnnig inside the ct_worker dir |
4 | 5 |
|
5 | 6 | # Helper script to create resources for a log shard. |
6 | 7 |
|
7 | | -if [ -z $ENV ] || [ -z $LOG_NAME ] || [ -z $LOCATION ] || [ -z $CLOUDFLARE_ACCOUNT_ID ]; then |
8 | | - echo "ENV, LOG_NAME, LOCATION, and CLOUDFLARE_ACCOUNT_ID must all be set" |
| 8 | +if [ -z "${ENV}" ] || [ -z "${LOG_NAME}" ] || [ -z "${CLOUDFLARE_ACCOUNT_ID}" ]; then |
| 9 | + echo "ENV, LOG_NAME, and CLOUDFLARE_ACCOUNT_ID must all be set" |
9 | 10 | exit 1 |
10 | 11 | fi |
11 | 12 |
|
12 | 13 | WRANGLER_CONF=${WRANGLER_CONF:-wrangler.jsonc} |
13 | 14 |
|
14 | 15 | while true; do |
15 | | - read -p "Do you want to proceed with ENV=${ENV}, LOG_NAME=${LOG_NAME}, LOCATION=${LOCATION}, CLOUDFLARE_ACCOUNT_ID=${CLOUDFLARE_ACCOUNT_ID}? (y/N) " yn |
| 16 | + if [ "${LOCATION}" ]; then |
| 17 | + L=", LOCATION=${LOCATION}" |
| 18 | + fi |
| 19 | + read -rp "Do you want to proceed with ENV=${ENV}, LOG_NAME=${LOG_NAME}${L}, CLOUDFLARE_ACCOUNT_ID=${CLOUDFLARE_ACCOUNT_ID}? (y/N) " yn |
16 | 20 | case $yn in |
17 | 21 | [yY] ) echo "Proceeding..."; break;; |
18 | 22 | [nN] ) echo "Exiting..."; exit;; |
19 | 23 | * ) echo "Invalid input. Please enter 'y' or 'N'.";; |
20 | 24 | esac |
21 | 25 | done |
22 | 26 |
|
| 27 | + |
| 28 | +# https://github.com/cloudflare/azul/pull/169#discussion_r2582145507 |
| 29 | +location=() |
| 30 | +if [ "${LOCATION}" ]; then |
| 31 | + location=(--location "${LOCATION}") |
| 32 | +fi |
| 33 | + |
23 | 34 | # Create R2 bucket if it does not already exist |
24 | | -npx wrangler -e="${ENV}" -c "${WRANGLER_CONF}" r2 bucket create static-ct-public-${LOG_NAME} --location ${LOCATION} |
| 35 | +npx wrangler \ |
| 36 | + -e="${ENV}" \ |
| 37 | + -c "${WRANGLER_CONF}" \ |
| 38 | + r2 bucket create \ |
| 39 | + "static-ct-public-${LOG_NAME}" \ |
| 40 | + --update-config \ |
| 41 | + --binding "public_${LOG_NAME}" "${location[@]}" |
25 | 42 |
|
26 | 43 | # Create KV namespace if it does not already exist |
27 | | -npx wrangler -e="${ENV}" -c "${WRANGLER_CONF}" kv namespace create static-ct-cache-${LOG_NAME} |
| 44 | +npx wrangler \ |
| 45 | + -e="${ENV}" \ |
| 46 | + -c "${WRANGLER_CONF}" \ |
| 47 | + kv namespace create \ |
| 48 | + "static-ct-cache-${LOG_NAME}" \ |
| 49 | + --update-config \ |
| 50 | + --binding "cache_${LOG_NAME}" |
28 | 51 |
|
29 | 52 | # Create witness and log signing keys if they do not already exist |
30 | | -if npx wrangler -e=${ENV} secret list | grep -q WITNESS_KEY_${LOG_NAME}; then |
| 53 | +if npx wrangler -e="${ENV}" -c "${WRANGLER_CONF}" secret list | grep -q "WITNESS_KEY_${LOG_NAME}"; then |
31 | 54 | echo "WITNESS_KEY_${LOG_NAME} already exists" |
32 | 55 | else |
33 | | - openssl genpkey -algorithm ed25519 | npx wrangler -c "$WRANGLER_CONF" -e=${ENV} secret put WITNESS_KEY_${LOG_NAME} |
| 56 | + openssl genpkey -algorithm ed25519 | |
| 57 | + npx wrangler -e="${ENV}" -c "${WRANGLER_CONF}" secret put "WITNESS_KEY_${LOG_NAME}" |
34 | 58 | fi |
35 | | -if npx wrangler -e=${ENV} secret list | grep -q SIGNING_KEY_${LOG_NAME}; then |
| 59 | +if npx wrangler -e="${ENV}" -c "${WRANGLER_CONF}" secret list | grep -q "SIGNING_KEY_${LOG_NAME}"; then |
36 | 60 | echo "SIGNING_KEY_${LOG_NAME} already exists" |
37 | 61 | else |
38 | | - openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 | npx wrangler -c "$WRANGLER_CONF" -e=${ENV} secret put SIGNING_KEY_${LOG_NAME} |
| 62 | + openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 | |
| 63 | + npx wrangler -e="${ENV}" -c "${WRANGLER_CONF}" secret put "SIGNING_KEY_${LOG_NAME}" |
39 | 64 | fi |
40 | 65 |
|
41 | 66 | echo "DONE" |
42 | 67 | echo "NOTE: If you intend to run wrangler dev with this log, you must add the appropriate signing keys to .dev.vars" |
43 | 68 | echo "~~~~~~" |
44 | | -echo "echo -n \"SIGNING_KEY_${LOG_NAME}=\\\\\"\" >> .dev.vars" |
45 | | -echo "openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 | sed 's/$/\\\\\\\\\\\\\\\\n/g' | tr -d \\\\n >> .dev.vars" |
46 | | -echo "echo '\"' >> .dev.vars" |
47 | | -echo "echo -n \"WITNESS_KEY_${LOG_NAME}=\\\\\"\" >> .dev.vars" |
48 | | -echo "openssl genpkey -algorithm ed25519 | sed 's/$/\\\\\\\\\\\\\\\\n/g' | tr -d \\\\n >> .dev.vars" |
49 | | -echo "echo '\"' >> .dev.vars" |
| 69 | +printf 'echo -n "SIGNING_KEY_%s=\\"" >> .dev.vars\n' "${LOG_NAME}" |
| 70 | +printf 'openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 | sed '\''s/$/\\\\n/g'\'' | tr -d '\''\\n'\'' >> .dev.vars\n' |
| 71 | +printf 'echo \\" >> .dev.vars\n' |
| 72 | +printf 'echo -n "WITNESS_KEY_%s=\\"" >> .dev.vars\n' "${LOG_NAME}" |
| 73 | +printf 'openssl genpkey -algorithm ed25519 | sed '\''s/$/\\\\n/g'\'' | tr -d '\''\\n'\'' >> .dev.vars\n' |
| 74 | +printf 'echo \\" >> .dev.vars\n' |
0 commit comments