Skip to content
Documentation
v0.1.0
Tally docsOperate

Upgrade to Gödel Gate

Gödel Gate adds enforcement and embeds Tally's discovery components. Gate, including embedded Tally, requires Docker. Gödel Tally's native and Apple-container options do not change that requirement.

Prepare the host and data#

The guided upgrade runs on the same host as Tally and stages a separate Gate Docker Compose deployment. You need Docker with Compose, curl, OpenSSL, Python 3, a fresh Gate directory, disk space for a PostgreSQL dump and second database, and a valid Gate portal registration key.

For native or existing PostgreSQL, provide local psql and pg_dump tools matching the source server; set TALLY_PG_BIN if they are outside PATH. Managed containers use their own database client tools.

Back up configuration and both databases first. Verify saved connector credentials can be decrypted. Every account needs a password before cutover. Use a final HTTPS hostname and certificate that match, with absolute host paths readable by Tally's user.

Review and stage Gate#

  1. As a Tally administrator, open Upgrade.
  2. Enter the registration key, Console URL, and empty Gate installation directory.
  3. Select Review upgrade to inspect the selected version and review URL.
  4. Start the reviewed upgrade. Tally drains writers, saves a checksummed PostgreSQL backup, stages Gate, re-encrypts credentials, and verifies copied records and accounts.

Tally remains available for sign-in and read-only review while staged. Gate starts on a separate review port with its schedulers paused. Open its highlighted URL and sign in with your Tally account to inspect the copied data. Tally administrators become Gate super administrators; members retain member access.

Migration-version differences can produce compatibility warnings. Successful preparation still requires health, account, record-count, and registry verification. Inspect the warning and actual transferred data before switching.

Approve the switch#

After reviewing Gate, confirm the final Console URL and supply its certificate/key paths. Select Approve switch to Gate. The workflow releases Tally's public port if needed, activates Gate, verifies its endpoint and worker, and retires the original Tally application.

Users sign in to Gate again; Tally sessions and pending invitations do not become Gate sessions or invitations. The source databases and backup remain on the host.

Before cutover, Cancel and resume Tally stops the staged deployment and resumes Tally writers. After Gate has accepted writes, do not remove Tally's retired marker or resume its old writers: the databases may have diverged. Review the upgrade receipt and redacted log for recovery steps.

Upgrade a full-Docker Tally installation#

The application container does not receive a Docker socket. Run the host wrapper from the same checkout/user used for the Docker deployment, with a matching host-platform Tally binary:

Terminal
export TALLY_BINARY=/absolute/path/to/tallyd
bash scripts/docker-upgrade.sh prepare \
  --console-url https://gate.example.com:9443 \
  --registration-key-file /absolute/private/registration-key \
  --gate-dir /absolute/path/to/new-gate
bash scripts/docker-upgrade.sh status
# Review Gate, its copied records, and account access before proceeding.
bash scripts/docker-upgrade.sh cutover \
  --final-url https://gate.example.com \
  --tls-cert /absolute/path/to/fullchain.pem \
  --tls-key /absolute/path/to/privkey.pem

Preparation consumes the temporary registration-key file; create a private mode-0600 copy for this purpose. The wrapper also supports status, cancellation, and recovery operations. See the host wrapper and upgrade command help for the exact current interface.