Search…
⌃K
Links

Updating Tonic

Tonic allows Admin users of self-hosted Kubernetes and Docker deployments to update to the newest version of Tonic.

Kubernetes setup

Before you update Tonic, we suggest that you do the following:
  • Have a system to regularly back up your Tonic PostgreSQL application database.
  • Verify that the Kubernetes environment has access to quay.io and that the Host Integration section of values.yaml contains the correct information. If you run Tonic in an air-gapped environment, or if you re-hosted the images from quay.io, make sure that values.yaml reflects this change, and that you have updated your local repository with the latest version from quay.io. To view the current latest release version, see Release notes.
  • Update your helm charts to use the latest tag. If you manage your helm charts in a repository that has a pinned version tag, then when you redeploy from your helm charts, Tonic reverts to the pinned version tag.
  • Ensure that your values.yaml file contains the following values. The examples below are also in the sample yaml file: tonicai.web_server.features.host_integration_enabled: "true"
    tonicai.web_server.features.kubernetes_role: "default"
    tonicai.web_server.administrators: [admin_email]@company.com

Docker setup

Before you update Tonic, we suggest that you do the following:
  • Have a system to regularly back up your Tonic PostgreSQL application database.
  • Verify that the Docker environment has access to quay.io and that the Host Integration section of docker-compose.yaml contains the correct information. If you run Tonic in an air-gapped environment, or if you re-hosted the images from quay.io, make sure that docker-compose.yaml reflects this change, and that you have updated your local repository with the latest version from quay.io. To view the current latest release version, see Release notes.
  • Update your docker-compose.yaml file to use the latest tag.
  • Uncomment the tonic_docker_acl section of docker-compose.yaml. You can see the section in the sample docker-compose.yaml.
  • Uncomment the one-click update section of your environment file. In that section, fill in DOCKER_REPO_USERNAME and DOCKER_REPO_PASSWORD.
  • In the worker section of the environment file, add the following variables:
    • Set TONIC_HOST_INTEGRATION=DockerCompose
    • Set TONIC_HOST_INTEGRATION_ACL=https://tonic_docker_acl

Allowing Tonic to retrieve information about the latest version

Before it can enable the update option, Tonic must be able to retrieve information about the latest Tonic version.
To support this, you must allowlist the following URLs:
  • https://temp-tonic-release.s3.amazonaws.com/version.txt
  • https://temp-tonic-release.s3.amazonaws.com/?prefix=version.txt

Completing the update

Before you launch an update:
  • Verify that there is enough system space for a second instance of the Tonic application. While the new instance starts, the original instance is still live. Once the new instance is running, the original is removed and the resources are freed up.
  • Check the release notes for any updates that might impact your configuration.
The option to update Tonic is on the System Status tab of the Admin Panel. Admin Panel is only available to admin users.
To display the Admin Panel, click the Tonic actions menu at the top right of the Tonic application, then select Admin Panel.
On the System Status tab, if you can update Tonic, a blue Update to Tonic <version> button displays. The button is only available if Tonic is not on the most recent version.
You cannot start the update until no Tonic jobs are running or are queued to run.
After you start the update, do not start other jobs until the update is complete.
You are given an estimated down time when you start the update, but the update typically takes less than ten minutes.
Any jobs that start during update process are silently terminated. This could leave your destination database in an unexpected state. If this happens, rerun the jobs.