Redgate Summit – The Database DevOps Transformation Watch now
PASS Data Community Summit logo

PASS Data Community Summit

A hybrid conference in Seattle and online

15-18 November

Flyway Documentation

Poll

Vault Secrets

Flyway Teams

Description

A comma-separated list of paths to key-value secrets in Vault that contain Flyway configurations. This must start with the name of the engine and end with the name of the secret.

The resulting form is {engine_name}/data/{path}/{to}/{secret_name} for the key-value V2 engine, and {engine_name}/{path}/{to}/{secret_name} for the key-value V1 engine. If multiple secrets specify the same configuration parameter, then the last secret takes precedence.

Example: kv/data/flyway/flywayConfig

Usage

Commandline

./flyway -plugins.vault.secrets="kv/data/flyway/flywayConfig1,kv/flyway/flywayConfig2" info

Configuration File

flyway.plugins.vault.secrets=kv/data/flyway/flywayConfig1,kv/flyway/flywayConfig2

Environment Variable

FLYWAY_PLUGINS_VAULT_SECRETS=kv/data/flyway/flywayConfig1,kv/flyway/flywayConfig2

API

VaultConfigurationExtension vaultConfigurationExtension = configuration.getPluginRegister().getPlugin(VaultConfigurationExtension.class)
vaultConfigurationExtension.setVaultSecrets("kv/data/flyway/flywayConfig1", "kv/flyway/flywayConfig2");

Gradle

flyway {
    pluginConfiguration [
      vaultSecrets: ['kv/data/flyway/flywayConfig1', 'kv/flyway/flywayConfig2']
    ]
}

Maven

<configuration>
    <pluginConfiguration>
      <vaultSecrets>kv/data/flyway/flywayConfig1,kv/flyway/flywayConfig2</vaultSecrets>
    </pluginConfiguration>
</configuration>