2026-03-24 22:49:48 +00:00
|
|
|
# Project Hints
|
|
|
|
|
|
|
|
|
|
## Architecture
|
2026-04-30 07:10:21 +00:00
|
|
|
|
2026-03-24 22:49:48 +00:00
|
|
|
- Deno-based backend with `deno.json` for imports and tasks
|
|
|
|
|
- Frontend bundled with `@git.zone/tsbundle` (esbuild, base64ts output mode)
|
|
|
|
|
- Config in `.smartconfig.json` (renamed from npmextra.json as of 2026-03-24)
|
2026-04-30 07:10:21 +00:00
|
|
|
- Runtime-managed credentials persist in `${storageDirectory}/.objectstorage/admin-config.json`
|
|
|
|
|
- Admin audit entries append to `${storageDirectory}/.objectstorage/audit.log`
|
|
|
|
|
- Management health endpoints: `/livez`, `/readyz`, `/healthz`, `/metrics`
|
|
|
|
|
- Persistent `/data` deployments reject default `admin/admin` credentials unless `OBJST_ALLOW_INSECURE_DEFAULTS=true`
|
2026-03-24 22:49:48 +00:00
|
|
|
- Tests run with `deno task test` (not tstest)
|
|
|
|
|
- Docker image built with `@git.zone/tsdocker`
|
|
|
|
|
|
|
|
|
|
## Build Tools Config
|
2026-04-30 07:10:21 +00:00
|
|
|
|
2026-03-24 22:49:48 +00:00
|
|
|
- `.smartconfig.json` contains config for `@git.zone/tsbundle`, `@git.zone/tswatch`, and `@git.zone/tsdocker`
|
|
|
|
|
- tsbundle uses base64ts output mode for Deno compile embedding
|
|
|
|
|
- tswatch runs backend watcher with `deno run --allow-all mod.ts server --ephemeral`
|
2026-04-30 07:10:21 +00:00
|
|
|
- Docker smoke coverage is opt-in via `pnpm run test:docker`
|
|
|
|
|
- Docker runtime has a `/readyz` healthcheck and runs as the `objectstorage` user
|
2026-03-24 22:49:48 +00:00
|
|
|
|
|
|
|
|
## Dependencies (as of 2026-03-24)
|
2026-04-30 07:10:21 +00:00
|
|
|
|
2026-03-24 22:49:48 +00:00
|
|
|
- devDependencies: tsbundle@2.10.0, tsdocker@2.2.4, tswatch@3.3.2
|
|
|
|
|
- No tsconfig.json — uses compilerOptions in deno.json
|