Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
59 lines (50 loc) · 3.08 KB
/
Copy path.env.example
File metadata and controls
59 lines (50 loc) · 3.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# SPDX-FileCopyrightText: 2026 Quality Runtime contributors
# SPDX-License-Identifier: Apache-2.0
# The server's own connection. This role owns nothing: it holds the privileges
# to read and write rows and no more, so the guarantees the policies make hold
# against it too. Neither a superuser nor BYPASSRLS — the server refuses to
# start as either. `docs/development.md` creates both roles.
DATABASE_URL=postgres://qualityruntime:qualityruntime@localhost:5432/qualityruntime
# Applying migrations needs a role that owns the schema, which the server's must
# not. Required by `db:migrate`, which never falls back to DATABASE_URL.
MIGRATION_DATABASE_URL=postgres://qualityruntime_migrator:qualityruntime@localhost:5432/qualityruntime
# A scratch database for the concurrency tests, which need two connections at
# once and so cannot run on PGlite like the rest of the suite. Unset, those
# tests are skipped and `bun run test` still needs nothing running. The database
# is wiped on every run, so its name must end in `_test`.
# TEST_DATABASE_URL=postgres://postgres:postgres@localhost:5432/qualityruntime_test
# Where file bytes are kept: an S3-compatible bucket, which is now part of the
# deployment contract rather than a mounted directory (ADR 0021). Clients upload
# to it and download from it directly, with short-lived URLs this server signs,
# so the bucket stays private and needs CORS for the application's own origin.
# `docs/deployment.md` has the policy, the CORS rules and the lifecycle rule;
# `docs/development.md` starts a MinIO matching the values below.
STORAGE_BUCKET=qualityruntime
STORAGE_REGION=us-east-1
STORAGE_ACCESS_KEY_ID=qualityruntime
STORAGE_SECRET_ACCESS_KEY=qualityruntime
# Where that bucket is. Unset, AWS S3 itself is addressed by virtual host; set,
# it is the base URL of anything speaking the same protocol — MinIO here,
# Cloudflare R2 or Backblaze B2 in a deployment.
STORAGE_ENDPOINT=http://localhost:9000
# An S3-compatible store for the optional storage integration suite, which asks
# the same contract of a real store that the rest of the suite asks of one
# answering in memory. Unset, those tests are skipped and `bun run test` still
# needs nothing running. It creates and removes only its own keys, so it does
# not need a bucket of its own — though a bucket of its own is still wiser.
# TEST_STORAGE_ENDPOINT=http://localhost:9000
# TEST_STORAGE_BUCKET=qualityruntime
# TEST_STORAGE_REGION=us-east-1
# TEST_STORAGE_ACCESS_KEY_ID=qualityruntime
# TEST_STORAGE_SECRET_ACCESS_KEY=qualityruntime
# Public origin the server is reached at.
BETTER_AUTH_URL=http://localhost:3000
# The rendered API reference at /api/v1/reference loads its JavaScript from a
# public CDN. A deployment that cannot reach one points this at its own copy of
# @scalar/api-reference. Unset, the CDN is used; /api/v1/openapi.json is
# unaffected either way.
# API_REFERENCE_BUNDLE_URL=
# Used for encryption, signing, and hashing. At least 32 high-entropy
# characters; generate one with `openssl rand -base64 32`. Left empty on
# purpose, so a copied example cannot become a known production secret.
BETTER_AUTH_SECRET=