Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

As a Bitcoin ATM operator, you want to maximize your fleet’s uptime, even when performing necessary upgrades and maintenance. This article will help you to adopt the best practices in the area of upgrading your server and terminal network with minimum downtime and the other risks that might be involved.

...

Our product comes with major releases and minor releases. Minor releases are also called patch releases.

Info

Naming convention: yyyymmdd.pp example 20231012.20.

Where 20231012 is a major version and .20 is a patch level.

Major releases contain predominantly new functionality, database, architectural, and security improvements and may contain changes that introduce bugs.

Minor releases contain just bug fixes and are designed to be safe and easy for the operators to install. Patch releases are numbered in incremental order.

...

  1. Production environment. The good news, you don’t have to create this environment as it probably already exists. This is where your business operation is happening. This is where your revenue is generated and where all sensitive information resides.

  2. Development/Sandbox environment. Optional. Install this server with a different license key than the one your production is using and connect one of the machines to it.

    1. You may skip the creation of this environment if you don’t plan on creating extensions for your server.

    2. This environment is typically used by developers testing their extensions.

  3. Testing environment. Install this server with a different license key than the one your production is using, and connect one of the machines to it.

    1. This is the environment where you install the new release first.

    2. Here you get familiar with new features and make sure that the product operates correctly in your scenario with your configuration.

    3. Make sure the API keys for wallets are different than production.

  4. Pre-production environment. Created this environment by cloning your production one. This server shares the licensing key with your production server. Connect one of the machines to it.

    1. Be sure that you clone the database not share it with your production environment. Otherwise, you risk destroying your production database.

    2. Make sure that you DISABLE publishing to HQ on the pre-production server. Otherwise, it will report to coinatmradar.com that all of your terminals are offline. This can be achieved by running the following statement in the pre-production database:

      Code Block
      languagesql
      UPDATE terminalpublishsettings SET publishtohq = 0;
    3. Don’t give access to this server to anyone who doesn’t already have access to your production server as it contains valuable data.

Maxim II:

...

Upgrade

...

Laws

...

Note

Follow these laws or suffer headaches

...

  1. Test new release on testing environment

    1. Evaluate new features.

    2. Make sure essential features work.

    3. Perform test transactions on your machine.

    4. Test that your extensions are compatible with this release and are working as expected.

    5. When something seems to be broken contact GB tech support to fix the issue with patch release.

    6. When everything works go to step 2.

  2. Test upgrade on your pre-production environment.

    1. Perform test transactions on your machine.

    2. Perform upgrade and take notes of the steps you had to make and values you filled in.

    3. Make sure essential features work and perform quickly - spot possible performance issues when listing terminals or identities.

    4. When something seems to be broken contact GB tech support to fix the issue with patch release.

    5. When everything works go to step 3.

  3. Upgrade production environment

    1. Choose a good date for your upgrade.

      1. When your downtime will have minimum impact on your customers.

      2. Not far from your previous pre-production upgrade so you remember well what steps you took and workarounds has been taken.

    2. Use the notes from your dry-run on pre-production environment.

    3. Follow upgrade laws

How new release gets manufactured

...