Skip to content

reference configuration

Douwe de Vries edited this page Jul 1, 2026 · 2 revisions

Configuration

This page records contributor-facing configuration values. For release flow details, see deployment and /Users/vriesd/projects/csv-align/docs/releasing.md.

Ports and local runtime

Setting Value Source
Local web server bind address 127.0.0.1:3001 /Users/vriesd/projects/csv-align/src/main.rs
Local web URL http://127.0.0.1:3001 /Users/vriesd/projects/csv-align/src/main.rs
Tauri dev frontend URL http://localhost:5173 /Users/vriesd/projects/csv-align/src-tauri/tauri.conf.json
Tauri frontend dist /Users/vriesd/projects/csv-align/frontend/dist /Users/vriesd/projects/csv-align/src-tauri/tauri.conf.json

Build /Users/vriesd/projects/csv-align/frontend/dist before running the local web app with cargo run.

File and body limits

Limit Value Source
CSV file bytes 25 MiB /Users/vriesd/projects/csv-align/src/backend/workflow.rs
Frontend CSV size guard 25 MiB /Users/vriesd/projects/csv-align/frontend/src/services/tauri.ts
HTTP CSV upload body limit 50 MiB /Users/vriesd/projects/csv-align/src/api/app.rs
HTTP snapshot load body limit 100 MiB /Users/vriesd/projects/csv-align/src/api/app.rs

Session storage defaults in /Users/vriesd/projects/csv-align/src/backend/store.rs are 128 sessions, 1 hour idle timeout, and 512 MiB estimated total session data.

Tauri CSP

Production CSP from /Users/vriesd/projects/csv-align/src-tauri/tauri.conf.json:

default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' asset: http://asset.localhost blob: data:; font-src 'self' data:; connect-src 'self' ipc: http://ipc.localhost; object-src 'none'; base-uri 'self'; frame-ancestors 'none'

Development CSP also allows http://localhost:5173 and ws://localhost:5173 for Vite.

Tauri capabilities

/Users/vriesd/projects/csv-align/src-tauri/capabilities/default.json applies to windows main and app-*.

Permission Purpose
core:default Baseline Tauri desktop behavior.
core:webview:allow-create-webview-window Allows app-created webview windows.
dialog:allow-open Allows native open dialogs for pair-order and snapshot loading.
dialog:allow-save Allows native save dialogs for exports, pair-order files, and snapshots.

Version metadata

Real releases must keep these files synchronized:

  • /Users/vriesd/projects/csv-align/Cargo.toml
  • /Users/vriesd/projects/csv-align/Cargo.lock
  • /Users/vriesd/projects/csv-align/src-tauri/Cargo.toml
  • /Users/vriesd/projects/csv-align/src-tauri/Cargo.lock
  • /Users/vriesd/projects/csv-align/src-tauri/tauri.conf.json
  • /Users/vriesd/projects/csv-align/src-tauri/appstream/com.csvalign.desktop.metainfo.xml
  • /Users/vriesd/projects/csv-align/frontend/package.json
  • /Users/vriesd/projects/csv-align/frontend/package-lock.json
  • /Users/vriesd/projects/csv-align/CHANGELOG.md

Validate with:

python3 /Users/vriesd/projects/csv-align/scripts/check_release_metadata.py --expected-tag vX.Y.Z

Release secrets and variables

macOS notarized DMG publishing requires these GitHub Actions secrets:

  • APPLE_CERTIFICATE
  • APPLE_CERTIFICATE_PASSWORD
  • KEYCHAIN_PASSWORD
  • APPLE_API_ISSUER
  • APPLE_API_KEY
  • APPLE_API_PRIVATE_KEY

Debian package signing requires these GitHub Actions secrets:

  • DEB_SIGNING_PRIVATE_KEY
  • DEB_SIGNING_KEY_FINGERPRINT
  • DEB_SIGNING_KEY_PASSPHRASE

Debian package verification during release requires this repository variable:

  • DEB_SIGNING_PUBLIC_KEY

APT repository signing prefers these GitHub Actions secrets:

  • APT_REPO_SIGNING_PRIVATE_KEY
  • APT_REPO_SIGNING_KEY_FINGERPRINT
  • APT_REPO_SIGNING_KEY_PASSPHRASE

If the APT repository signing secrets are absent, the release workflow falls back to the Debian package signing key.

Key source files

File Configuration role
/Users/vriesd/projects/csv-align/src/main.rs Web app bind address and startup logging.
/Users/vriesd/projects/csv-align/src/api/app.rs API route constants, body limits, and frontend dist lookup.
/Users/vriesd/projects/csv-align/src/backend/workflow.rs CSV file byte limit.
/Users/vriesd/projects/csv-align/src/backend/store.rs Session storage limits.
/Users/vriesd/projects/csv-align/frontend/src/services/tauri.ts Frontend CSV size guard.
/Users/vriesd/projects/csv-align/src-tauri/tauri.conf.json Tauri dev URL, frontend dist, CSP, bundle, and version metadata.
/Users/vriesd/projects/csv-align/src-tauri/capabilities/default.json Tauri desktop permissions.
/Users/vriesd/projects/csv-align/scripts/check_release_metadata.py Release metadata validator.

Clone this wiki locally