Licensing
Published 29 June 2022
Each developer contributing database changes that will be processed by an automated database change delivery process needs to be licensed with Flyway Teams or Flyway Enterprise depending on whether the pipeline is a Redgate Pipeline (Flyway Enterprise) or a Flyway Teams Pipeline.
After purchasing Flyway Teams/Enterprise, you will see a record of it in your portal.
- Desktop tools - This license will be used to license the GUI tools: Flyway Desktop, SQL Clone, and the schema and data comparison tools.
- Flyway Engine - This will be used when executing the Flyway command line directly (e.g., running ad-hoc commands on your development machine or calling the command lines as part of a CI/CD process) or via the Flyway Docker image.
Activating Flyway Desktop
Providing you have been allocated a license to the "Desktop tools", you'll be able to activate Flyway Desktop.
When you first launch Flyway Desktop, you will be prompted to login with your Redgate ID:
You’ll be able to login interactively, and activation will happen automatically.
Offline Licensing
- In Flyway Desktop, access the Licensing menu under the user icon in the top right.
- Click Manage offline license.
- If you don't have an Offline Permit, generate one at https://permits.red-gate.com/offline?productCode=64.
- Enter your Offline Permit and click Save permit.
Alternatively, configure a REDGATE_LICENSING_PERMIT_PATH environment variable with your Offline Permit.
Activating Flyway Engine (cli)
Online interactive authentication
Online licensing means that your license is automatically kept up to date and once configured, you won't have to manually update your license key when it expires.
Auth verb
The Auth verb will use a browser pop-up on your computer to authenticate the product using your Redgate ID. Typically this would be done once and thereafter Flyway can refresh the credentials automatically.
Online non-interactive authentication
Access Token (PAT)
Where you need a non-interactive flow (for example, in a pipeline), you can create a token in the Redgate portal and use that with a registered email address to authenticate Flyway. If you are using PAT as part of a CI/CD pipeline, then you might want to setup a service account associated with the flyway commands being called from CI/CD so that it's not tied to a particular end user.
Using a personal access token will store a license permit in the Redgate app data folder, the same location as when running the Auth command.
Offline non-interactive authentication
These work without contacting Redgate (e.g. air-gapped pipelines) and so will expire at renewal time. This will require that you update your pipeline to refresh the key/permit to continue working.
License permits
Legacy license keys
Authorization Precedence
There are multiple ways to authorize Flyway. The following list shows the order of precedence for authorization if you attempt to use more than one:
- Permit Location set in Environment Variable - License permit
- Permit as an Environment Variable - License permit
- Online Authentication by running the Auth command.
- Access token defined with an
email
andtoken
specified. - Legacy Flyway License key
Token Refresh
When an online authentication process successfully retrieves a license permit, a refresh token is saved to disk in the Flyway CLI
directory of the Redgate app data folder.
This refresh token is used to automatically refresh a user's license permit when it expires. Each time a license permit is refreshed, a new refresh token is saved to disk, replacing the existing refresh token.
This only applies to expired license permits in the Flyway CLI
directory of the Redgate app data folder—Flyway cannot automatically refresh expired license permits specified using offline License Permits.