mirror of
https://github.com/djdevin/recflare.git
synced 2026-09-08 14:41:28 -07:00
move to env var
This commit is contained in:
@@ -113,13 +113,21 @@ cp env.example.json env.json
|
|||||||
# edit env.json and set "domain" to your domain
|
# edit env.json and set "domain" to your domain
|
||||||
```
|
```
|
||||||
|
|
||||||
`just deploy` reads `env.json` at deploy time and passes the base domain to
|
`just deploy` resolves the base domain at deploy time and passes it to wrangler —
|
||||||
wrangler — each worker is attached to its custom domain via `--domain
|
each worker is attached to its custom domain via `--domain <subdomain>.<domain>`,
|
||||||
<subdomain>.<domain>`, and the base domain is injected as the `DOMAIN` var so
|
and the base domain is injected as the `DOMAIN` var so the `ns` service-discovery
|
||||||
the `ns` service-discovery document and the api share-link base URL are built at
|
document and the api share-link base URL are built at runtime. Nothing in version
|
||||||
runtime. Nothing in version control is rewritten; committed `wrangler.jsonc`
|
control is rewritten; committed `wrangler.jsonc` files have no routes.
|
||||||
files have no routes, and per-app subdomain overrides live under `subdomains` in
|
|
||||||
`env.json`.
|
The domain is read from the `RECFLARE_DOMAIN` environment variable if set,
|
||||||
|
otherwise from `env.json`. Per-app subdomain overrides come from
|
||||||
|
`RECFLARE_SUBDOMAINS` (a JSON object, e.g. `{"playersettings":"settings"}`) or
|
||||||
|
the `subdomains` key in `env.json`. For CI, set `RECFLARE_DOMAIN` as a secret and
|
||||||
|
skip `env.json` entirely:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
RECFLARE_DOMAIN=rec.example.com just deploy
|
||||||
|
```
|
||||||
|
|
||||||
**Run the development server:**
|
**Run the development server:**
|
||||||
|
|
||||||
|
|||||||
@@ -5,21 +5,31 @@ set -eu
|
|||||||
NAME=$(jq -r '.name' package.json)
|
NAME=$(jq -r '.name' package.json)
|
||||||
VERSION=$(get-version)
|
VERSION=$(get-version)
|
||||||
|
|
||||||
# Resolve the base domain (and this worker's subdomain) from the gitignored
|
# Resolve the base domain (and this worker's subdomain), then deploy onto the
|
||||||
# env.json at the repo root, then deploy onto the custom domain via `--domain`.
|
# custom domain via `--domain`. This keeps the real domain out of versioned files
|
||||||
# This keeps the real domain out of versioned files — committed wrangler.jsonc
|
# — committed wrangler.jsonc has no routes, and the base domain is passed as the
|
||||||
# has no routes, and the base domain is passed as the DOMAIN var at runtime.
|
# DOMAIN var at runtime.
|
||||||
ROOT=$(git rev-parse --show-toplevel)
|
#
|
||||||
ENV_JSON="$ROOT/env.json"
|
# Source order: the RECFLARE_DOMAIN env var wins (handy for CI secrets), else the
|
||||||
if [ ! -f "$ENV_JSON" ]; then
|
# gitignored env.json at the repo root. Per-app subdomain overrides come from
|
||||||
echo "error: $ENV_JSON not found — copy env.example.json and set your domain" >&2
|
# RECFLARE_SUBDOMAINS (a JSON object) or env.json's "subdomains".
|
||||||
exit 1
|
if [ -n "${RECFLARE_DOMAIN:-}" ]; then
|
||||||
|
DOMAIN="$RECFLARE_DOMAIN"
|
||||||
|
SUBDOMAINS_JSON=${RECFLARE_SUBDOMAINS:-}
|
||||||
|
[ -n "$SUBDOMAINS_JSON" ] || SUBDOMAINS_JSON='{}'
|
||||||
|
else
|
||||||
|
ENV_JSON="$(git rev-parse --show-toplevel)/env.json"
|
||||||
|
if [ ! -f "$ENV_JSON" ]; then
|
||||||
|
echo "error: set RECFLARE_DOMAIN or create $ENV_JSON (copy env.example.json)" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
DOMAIN=$(jq -r '.domain' "$ENV_JSON")
|
||||||
|
SUBDOMAINS_JSON=$(jq -c '.subdomains // {}' "$ENV_JSON")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DIR=$(basename "$PWD")
|
DIR=$(basename "$PWD")
|
||||||
DOMAIN=$(jq -r '.domain' "$ENV_JSON")
|
|
||||||
# Per-app subdomain override, falling back to the worker's directory name.
|
# Per-app subdomain override, falling back to the worker's directory name.
|
||||||
SUBDOMAIN=$(jq -r --arg d "$DIR" '.subdomains[$d] // $d' "$ENV_JSON")
|
SUBDOMAIN=$(printf '%s' "$SUBDOMAINS_JSON" | jq -r --arg d "$DIR" '.[$d] // $d')
|
||||||
HOST="$SUBDOMAIN.$DOMAIN"
|
HOST="$SUBDOMAIN.$DOMAIN"
|
||||||
|
|
||||||
# Deploy with wrangler using the extracted values as binding variables
|
# Deploy with wrangler using the extracted values as binding variables
|
||||||
|
|||||||
Reference in New Issue
Block a user