_pmiconfig documentation portal
This is the canonical portal for documentation in this repository. It provides two ways to navigate: by the task you need to perform and by the component you need to understand.
Documentation locations
- The root
README.mdis the concise repository entry point. docs/INDEX.mdis the canonical repository-wide documentation portal.- The developer guide explains code ownership, control flow, shared interfaces, failure behavior, and validation across all components.
docs/scripts/contains detailed command and runbook documentation where a dedicated page exists.- Component-local
README.mdfiles explain the purpose and boundaries of their directories. - Implementation-adjacent documentation stays with a component when it is meaningful only there, such as the migration runner.
When behavior is described in more than one place, the detailed page linked in
the tables below is canonical for this repository. Other READMEs should remain
short summaries and point to it. Canonical PMIVerse governance and testing
policy remains outside this repository in _pmiguidelines.
Documentation types used here:
- Overview introduces scope, boundaries, and navigation.
- Runbook describes an operational procedure and its safety constraints.
- Reference documents an interface, terms, or reusable infrastructure.
- Implementation detail explains a specific checked-in component and may change with that component.
By task
Odoo services
- Odoo 18 runtime/update services and maintenance:
../templates/systemd/odoo18/README.md - Template overview:
../templates/README.md
Service templates separate normal Odoo startup from database module upgrades. Installing units and running maintenance affect the host and its databases; editing templates does not change installed services.
Backup
- Runbook:
scripts/backup_odoo18_dbs.md - Laptop backup service overview:
../scripts/laptop-backup/README.md - Retained Odoo 12 legacy implementation assets:
_pmiregistry/docs/deployment.md
Backup jobs read live database and filestore state, publish archives, and prune
older archives according to their checked-in behavior. Odoo 18 is the current
primary workflow. The Odoo 12 script and unit files live in _pmiregistry for
the remaining legacy server; their retained backup behavior is documented there.
Restore
- Architecture and maintenance contract:
restore-architecture.md - Canonical generic restore runbook:
scripts/restore_database.md - Legacy per-target command reference:
_pmiregistry/docs/scripts/restore_per_target.md - Component summary:
../scripts/restore/README.md - Synchronized laptop restore:
../scripts/laptop-backup/README.md
Restore and neutralization mutate databases and can replace filestore content. Use the documented dry-run first and require a verified recovery plan.
Create a database
- Command and UI handoff:
../scripts/create/README.md - Shared implementation guide:
database-provisioning.md
Creates a fresh Odoo 18 database, configures its administrator, and installs selected modules. Existing targets are refused and incomplete results retained.
Recover administrator access
- Password reset command:
../scripts/admin/README.md - Shared implementation guide:
database-provisioning.md
Resets user ID 2 in an existing Odoo 18 database, with optional account activation and private generated password files. Does not bypass MFA or grant permissions.
Migration
- Runbook and implementation detail:
../scripts/migrate/README.md - Overlay orientation:
../openupgrade_overlays/README.md
The checked-in runner performs a version-sequential 14 to 18 database migration. It creates derived databases and can drop them when forced.
Testing and linting
- Python compatibility:
scripts/python_compatibility.md - Testing infrastructure overview:
../testkit/README.md - Single-addon test runner:
scripts/run_pytest_addon.md - Focused multi-addon/repository runner:
scripts/run_pytest_repo.md - Lint/format runner:
scripts/run_lint_addon.md - Ruff policy synchronization:
scripts/sync_ruff_policy.md - Scaffold generator:
scripts/ensure_testing_scaffold.md - Repository initialization:
scripts/init_testing_repo.md - Badge publishing:
scripts/publish_repo_badges.md - Tests of
_pmiconfig:../tests/README.md
The PMIVerse runners create and remove disposable databases and write test artifacts outside this repository. Follow the canonical PMIVerse testing policy and prefer focused addon selections.
Translation
- Implementation detail:
../scripts/translate/README.md
The checked-in Odoo 18 translation tools can create temporary databases and write POT files in addon repositories. The component guide explains database cleanup and POT publication; script help owns the complete option list.
Repository update
- Update only the Odoo addons path:
../scripts/update/README.md#update-only-the-odoo-addons-path - Runtime requirement collection:
../scripts/fetch/README.md - Runbook:
../scripts/update/README.md
Update tools fetch, clone, check out, and pull repositories. They perform network and external-repository writes.
Host policy and layout validation
- Reference:
scripts/pmiverse_policy_check.md - CLI integration:
scripts/cli_integration.md
The reserved policy-checker path is currently a non-functional placeholder; its reference page documents that limitation. The CLI installer modifies user or system shell integration and may require privileges.
By component
| Component | Contents and documentation |
|---|---|
config/ |
Active shared shell and INI-style configuration used by scripts and tools. |
scripts/ |
Task-grouped operational automation; detailed pages are under docs/scripts/. |
scripts/integration/ |
Host-facing integration, installation, policy-checking, shell, desktop, editor, and environment helpers. |
scripts/test/ |
Test runner and scaffold commands. |
scripts/laptop-backup/ |
Canonical laptop backup deployment, synchronization, latest-link, and restore commands. |
tools/ |
CLI bridge to shared Odoo-derived Python compatibility checks. |
templates/ |
Source templates for Odoo configuration and systemd units. |
testkit/ |
Authoritative reusable pytest, lint, formatting, pre-commit, workflow, fixture, and scaffold assets. |
tests/ |
Shell and Python tests that verify this repository. |
openupgrade_overlays/ |
Version-specific migration overlays consumed by the migration runner. |
Additional repository areas:
data/stores versioned repository catalogs and requirements.
Runtime and synchronization logs belong outside this repository and are not source-controlled here.
Terminology
terms/terms.mddefines repository and PMIVerse path terms.terms/smoke_test.mdexplains the term “smoke test.”
Use config/ for this repository's tracked configuration directory. A
versioned PMIVerse instance may also use its own config/ directory; do not
substitute the unrelated term conf/ unless a specific checked-in interface
uses that path.