Story: Infrastructure cleanup

Table of Contents

This page documents a story in Sprint 12. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Two unrelated infra cleanups: merge admin + template databases away in favour of RLS-based isolation; fix OSX CI with portable getopt.

Status

Field Value
State DONE
Parent sprint Sprint 12
Now Completed 2026-02-12.
Waiting on None.
Next None.
Last touched 2026-02-12

Acceptance

  • ores_admin + ores_template databases gone.
  • Two-phase create with least-privilege ddl user.
  • OSX CI green.

Tasks

Task State Start End Description
Merge all databases into one DONE 2026-05-19 2026-02-11 Remove ores_admin + ores_template dedicated databases; two-phase create (superuser then ores_ddl_user); centralised utility functions under ores_utility_ prefix.
Fix OSX build DONE 2026-05-19 2026-02-12 Replace GNU getopt with portable while/case parsing in recreate_database.sh + recreate_env.sh; BSD getopt incompatibility resolved.

Decisions

RLS replaces template cloning
now that RLS works, template cloning is dead weight.
Portable bash, not GNU bash
OSX CI matters; the script needs to work under BSD getopt too.

Out of scope

  • Containerising the dev DB.

See also

None.

Emacs 29.1 (Org mode 9.6.6)