License Permits

License Permits

Description

Environment variables used to specify a license permit, either by location on disk or the raw permit itself.

Usage

These can be obtained from your Redgate account: link to obtain a license permit.

This can be saved directly into an environment variable or to a file.

Environment Variables

REDGATE_LICENSING_PERMIT_PATH=path/to/licensePermit.txt
or
REDGATE_LICENSING_PERMIT=[license permit text here]

Depending on where you are running Flyway from, you may run into issues with the length of the permit as some configurations (for example, cmd in Windows) may be unable to store and/or access the full permit directly in the REDGATE_LICENSING_PERMIT environment variable (it's too big).

For this reason we support reading the permit from a file referenced by REDGATE_LICENSING_PERMIT_PATH.


CI/CD Usage

To use in CI/CD, some examples are provided.


Based on GitHub documentation as of 16/10/2025


Create secret:

base64 -w 0 permit.dat > permit.base64
gh secret set FLYWAY_OFFLINE_PERMIT < permit.base64


Use secret in runner:

name: Retrieve Base64 secret
on:
  push:
    branches: [ octo-branch ]
jobs:
  decode-secret:
    runs-on: ubuntu-latest
    environment:
      REDGATE_LICENSING_PERMIT_PATH: permit.dat
    steps:
      - uses: actions/checkout@v5
      - name: Retrieve the secret and decode it to a file
        env:
          FLYWAY_OFFLINE_PERMIT: ${{ secrets.FLYWAY_OFFLINE_PERMIT}}
        run: |
          echo "$FLYWAY_OFFLINE_PERMIT" | base64 --decode > $REDGATE_LICENSING_PERMIT_PATH
      - name: Show permit file metadata
        run: |
          ls -al $REDGATE_LICENSING_PERMIT_PATH
      - name: Run Flyway
        run: |
          flyway info


Based on Azure DevOps Services documentation as of 16/10/2025

Create secret:

$Bytes = [System.Text.Encoding]::Unicode.GetBytes((Get-Content -Path "permit.dat" -Raw))
$EncodedText =[Convert]::ToBase64String($Bytes)
Write-Host $EncodedText


Upload the outputted Base64 string to an ADO secret


Use secret in runner:

steps:
- bash: |
      echo "$FLYWAY_OFFLINE_PERMIT" | base64 --decode > $REDGATE_LICENSING_PERMIT_PATH
      ls -al $REDGATE_LICENSING_PERMIT_PATH
  env:
    FLYWAY_OFFLINE_PERMIT: $(FLYWAY_OFFLINE_PERMIT)
    REDGATE_LICENSING_PERMIT_PATH: permit.dat
- bash: |
    flyway info
  env:
    REDGATE_LICENSING_PERMIT_PATH: permit.dat



Didn't find what you were looking for?