Oduflow namespace and control repository¶
Oduflow uses oduflow.sh for client hosting. Configure the delivery repository
and branch for the installation.
Core version 19.0.6.0.1 discovers the previous model namespace from installed
XML ownership, then uses the pinned official Odoo upgrade utilities to rename
models, tables, many-to-many relations, fields and indirect references. It
retains record IDs, foreign keys, ACLs, XML ownership and encrypted values.
The queue channel and serialized recordsets migrate with the models. All
installed provider and integration modules must be upgraded in the same run.
Before deployment, take a database/filestore backup, drain running queue jobs
and supply the unchanged encryption key under ODUFLOW_ENCRYPTION_KEY.
Rename other deployment environment keys to the ODUFLOW_ prefix while
preserving their values. Apply through Megaflow, including module upgrades.
Verify record IDs/counts, secret decryption, the effective queue configuration,
and a harmless real queued operation.
Immutable provisioning snapshots, provider IDs and dispatch receipts are audit
records, not branding configuration. Do not rewrite them with a text replace:
external address changes require reconciliation and fresh verification of the
same owned resources. New and unprepared client instances use oduflow.sh.
Existing domain cutovers require DNS access, certificates and coordinated VPN
endpoint configuration.
Control master's repository¶
The master runs a root-owned Git checkout at /srv/oduflow. Credentials,
local pillar and durable operation caches stay outside Git, under /etc/oduflow,
/etc/salt and /var/cache/salt. A private repository uses a read-only deploy
key owned by root; do not store a personal GitHub token in the checkout.
For the first installation, clone the repository into /srv/oduflow, check out
the delivery branch, and run scripts/bootstrap-control.sh. For an existing
master, preserve its identities, secrets and operation caches before moving
paths and applying the new control configuration.
Subsequent updates use:
sudo /srv/oduflow/scripts/update-control.sh --revision COMMIT_SHA
sudo /srv/oduflow/scripts/update-control.sh --revision COMMIT_SHA --apply control_config,control_master
The updater refuses dirty checkouts and non-fast-forward history. It fetches
only the selected branch and verifies the requested commit belongs to it.
Updating sources does not apply states until --apply is supplied. Salt remains
the configuration authority. Keep local configuration and pillar out of the
checkout so updates never overwrite deployment secrets.