Provoz

Nasazení

Coolify (VM VM-CLAIMATE-Coolify), aplikace glass-shard:main, Dockerfile crates/glass-cloud/Dockerfile, kontext = kořen repozitáře. Push do main nasazuje produkci.

Migrace se aplikují při každém startu a jsou opakovatelné (IF NOT EXISTS, ochrany podle definice omezení). Nová migrace proto musí projít třikrát po sobě na čisté databázi, a také jako upgrade ze schématu předchozí verze.

Proměnné prostředí: DATABASE_URL, CLOUD_TOKEN, PORT=8080, CATALOG_PATH, OWNER_EMAILS, volitelně RUST_LOG, DOCS_DIR.

Testy proti skutečnému Postgresu

export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"
initdb -D "$DIR/pgdata" -U "$USER" --auth=trust
pg_ctl -D "$DIR/pgdata" -o "-p 55432 -k /tmp/gcpg -c listen_addresses=127.0.0.1" -l "$DIR/pg.log" start
createdb -h 127.0.0.1 -p 55432 glasscloud_test
export TEST_DATABASE_URL="postgres://$USER@127.0.0.1:55432/glasscloud_test"
cargo test -p glass-cloud -- --test-threads=1

Cesta k socketu

Cesta unixového socketu musí být kratší než ~100 znaků, proto -k /tmp/gcpg.

Tato dokumentace

Zdroj je crates/glass-cloud/docs/ (formát MkDocs, mkdocs.yml vedle). Při buildu Docker image se z ní vygeneruje statický web a server ho servíruje na /docs/.

cd crates/glass-cloud
uv run --with mkdocs mkdocs serve      # náhled na http://127.0.0.1:8000
uv run --with mkdocs mkdocs build      # → site/

Adresář se čte z DOCS_DIR (výchozí /app/docs-site). Pokud chybí, /docs/ vrací 404 a zbytek služby jede normálně.

Kontrola po nasazení

  • GET /health → {"status":"ok"}.
  • Přihlas se do /admin a zkontroluj sloupec Schema u testerů.
  • Audit log (/admin/audit) ukazuje čtení korpusu (corpus_read) a vydání tokenu (corpus_token_mint).