426e9eeabd
Voice Workbench / headless workbench (mocked backends) (push) Has been cancelled
Voice Workbench / real acoustic lane (nightly, provisioned only) (push) Has been cancelled
ci / test (push) Has been cancelled
ci / lint-and-format (push) Has been cancelled
ci / build (push) Has been cancelled
ci / dev-startup (push) Has been cancelled
gitleaks / gitleaks (push) Has been cancelled
Markdown Links / Relative Markdown Links (push) Has been cancelled
Quality (Extended) / Homepage Build (PR smoke) (push) Has been cancelled
Quality (Extended) / Comment-only diff guard (push) Has been cancelled
Quality (Extended) / Format + Type Safety Ratchet (push) Has been cancelled
Quality (Extended) / Develop Gate (secret scan + UI determinism) (push) Has been cancelled
Quality (Extended) / Develop Gate (lint) (push) Has been cancelled
Chat shell gestures / Chat shell gesture + parity e2e (push) Has been cancelled
Cloud Gateway Discord / Test (push) Has been cancelled
Benchmark Bridge Tests / benchmark (bunx @biomejs/biome check packages/lifeops-bench/src, benchmark-lint) (push) Has been cancelled
Benchmark Bridge Tests / benchmark (bunx vitest run --config packages/lifeops-bench/vitest.config.ts --root packages/lifeops-bench --passWithNoTests, benchmark-tests) (push) Has been cancelled
Build Agent Image / build-and-push (push) Has been cancelled
Dev Smoke / bun run dev onboarding chat (push) Has been cancelled
Dev Smoke / Vite HMR dependency-level smoke (push) Has been cancelled
Electrobun Submodule Guard / electrobun gitlink is fetchable (push) Has been cancelled
Publish @elizaos/example-code / check_npm (push) Has been cancelled
Publish @elizaos/example-code / publish_npm (push) Has been cancelled
Publish @elizaos/plugin-elizacloud / verify_version (push) Has been cancelled
Publish @elizaos/plugin-elizacloud / publish_npm (push) Has been cancelled
Sandbox Live Smoke / Sandbox live smoke (push) Has been cancelled
Snap Build & Test / Build Snap (amd64) (push) Has been cancelled
Snap Build & Test / Build Snap (arm64) (push) Has been cancelled
Test Packaging / elizaos CLI global-install smoke (node + bun) (push) Has been cancelled
Cloud Gateway Webhook / Test (push) Has been cancelled
Cloud Tests / lint-and-types (push) Has been cancelled
Cloud Tests / unit-tests (push) Has been cancelled
Cloud Tests / integration-tests (push) Has been cancelled
Cloud Tests / e2e-tests (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
Deploy Apps Worker (Product 2) / Determine environment (push) Has been cancelled
Deploy Apps Worker (Product 2) / Deploy apps worker to apps-control host (${{ needs.determine-env.outputs.environment }}) (push) Has been cancelled
Deploy Eliza Provisioning Worker / Determine environment (push) Has been cancelled
Deploy Eliza Provisioning Worker / Deploy worker to Hetzner host (${{ needs.determine-env.outputs.environment }} @ ${{ needs.determine-env.outputs.deployment_sha }}) (push) Has been cancelled
Dev Smoke / Classify changed paths (push) Has been cancelled
supply-chain / sbom (push) Has been cancelled
supply-chain / vulnerability-scan (push) Has been cancelled
Build, Push & Deploy to Phala Cloud / build-and-push (push) Has been cancelled
Test Packaging / Validate Packaging Configs (push) Has been cancelled
Test Packaging / Build & Test PyPI Package (push) Has been cancelled
Test Packaging / PyPI on Python ${{ matrix.python }} (push) Has been cancelled
Test Packaging / Pack & Test JS Tarballs (push) Has been cancelled
UI Fixture E2E / ui-fixture-e2e (push) Has been cancelled
UI Fixture E2E / fixture-e2e (push) Has been cancelled
UI Story Gate / story-gate (push) Has been cancelled
vault-ci / test (macos-latest) (push) Has been cancelled
vault-ci / test (ubuntu-latest) (push) Has been cancelled
vault-ci / test (windows-latest) (push) Has been cancelled
vault-ci / app-core wiring tests (push) Has been cancelled
verify-patches / verify patches/CHECKSUMS.sha256 (push) Has been cancelled
Voice Benchmark Smoke / voice-emotion fixture smoke (push) Has been cancelled
Voice Benchmark Smoke / voiceagentbench fixture smoke (push) Has been cancelled
Voice Benchmark Smoke / voicebench-quality unit smoke (push) Has been cancelled
Voice Benchmark Smoke / voicebench TypeScript unit (no audio) (push) Has been cancelled
Voice Benchmark Smoke / voice bench smoke summary (push) Has been cancelled
Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Has been cancelled
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Has been cancelled
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Has been cancelled
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Has been cancelled
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Has been cancelled
101 lines
4.3 KiB
Bash
Executable File
101 lines
4.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# =============================================================================
|
|
# cf-bootstrap.sh — One-time Cloudflare resource bootstrap for eliza-cloud
|
|
# =============================================================================
|
|
# Creates the R2 bucket, KV namespaces, and (optionally) Vectorize index that
|
|
# the Workers API and Pages frontend need.
|
|
#
|
|
# Idempotent: every create is wrapped in `|| true`, so re-running on an
|
|
# already-bootstrapped account is safe.
|
|
#
|
|
# Prerequisites:
|
|
# - `wrangler` CLI installed (npm i -g wrangler OR bunx wrangler)
|
|
# - `wrangler login` already run, OR CLOUDFLARE_API_TOKEN exported
|
|
#
|
|
# Usage:
|
|
# bash packages/scripts/cf-bootstrap.sh
|
|
#
|
|
# After running, paste the printed namespace IDs into packages/cloud/api/wrangler.toml
|
|
# at the `id = "REPLACE_ME"` lines.
|
|
# =============================================================================
|
|
|
|
set -u # NOT -e: we want to continue past idempotent failures
|
|
|
|
WRANGLER="${WRANGLER:-wrangler}"
|
|
R2_BUCKET="${R2_BUCKET:-eliza-cloud-blob}"
|
|
VECTORIZE_INDEX="${VECTORIZE_INDEX:-eliza-cloud-embeddings}"
|
|
SKIP_VECTORIZE="${SKIP_VECTORIZE:-0}"
|
|
|
|
echo "============================================================"
|
|
echo " eliza-cloud Cloudflare bootstrap"
|
|
echo " wrangler: $($WRANGLER --version 2>/dev/null || echo 'NOT FOUND')"
|
|
echo "============================================================"
|
|
echo
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 1. R2 bucket — replaces legacy blob storage
|
|
# -----------------------------------------------------------------------------
|
|
echo "[1/4] Creating R2 bucket: $R2_BUCKET"
|
|
$WRANGLER r2 bucket create "$R2_BUCKET" || true
|
|
echo
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 2. KV namespaces — session cache, rate limit, general cache
|
|
# -----------------------------------------------------------------------------
|
|
echo "[2/4] Creating KV namespaces"
|
|
echo " Capture the printed \`id\` values and paste them into"
|
|
echo " packages/cloud/api/wrangler.toml (kv_namespaces blocks)."
|
|
echo
|
|
|
|
for NS in SESSION_CACHE RATE_LIMIT CACHE; do
|
|
echo " -> $NS (production)"
|
|
$WRANGLER kv namespace create "$NS" || true
|
|
echo " -> $NS (preview)"
|
|
$WRANGLER kv namespace create "$NS" --preview || true
|
|
echo
|
|
done
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 3. Vectorize index — embeddings (optional)
|
|
# -----------------------------------------------------------------------------
|
|
if [ "$SKIP_VECTORIZE" = "1" ]; then
|
|
echo "[3/4] Skipping Vectorize index (SKIP_VECTORIZE=1)"
|
|
else
|
|
echo "[3/4] Creating Vectorize index: $VECTORIZE_INDEX"
|
|
echo " (set SKIP_VECTORIZE=1 to skip; requires Workers Paid plan)"
|
|
$WRANGLER vectorize create "$VECTORIZE_INDEX" \
|
|
--dimensions=1536 \
|
|
--metric=cosine \
|
|
|| true
|
|
fi
|
|
echo
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 4. Redis queue — Stripe webhook fan-out
|
|
# -----------------------------------------------------------------------------
|
|
# The Stripe webhook handler enqueues JSON envelopes to Redis; the scheduled
|
|
# cron route drains bounded batches and demotes exhausted retries to
|
|
# stripe-events:dlq.
|
|
# -----------------------------------------------------------------------------
|
|
echo "[4/4] Stripe webhook queue uses Redis"
|
|
echo " Configure UPSTASH_REDIS_REST_URL/UPSTASH_REDIS_REST_TOKEN"
|
|
echo " (or KV_REST_API_URL/KV_REST_API_TOKEN) as Worker secrets."
|
|
echo
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Done
|
|
# -----------------------------------------------------------------------------
|
|
echo "============================================================"
|
|
echo " Bootstrap complete."
|
|
echo
|
|
echo " Next steps:"
|
|
echo " 1. Open packages/cloud/api/wrangler.toml"
|
|
echo " 2. Replace each REPLACE_ME 'id' with the matching namespace ID"
|
|
echo " printed above (SESSION_CACHE, RATE_LIMIT, CACHE)."
|
|
echo " 3. Set 'account_id' in packages/cloud/api/wrangler.toml to your Cloudflare"
|
|
echo " account ID (wrangler whoami)."
|
|
echo " 4. Push secrets: bun run cf:secrets:put:staging"
|
|
echo " bun run cf:secrets:put:prod"
|
|
echo " 5. First deploy: bun run deploy"
|
|
echo "============================================================"
|