@piiano/testcontainers-vault
Testcontainers-vault helps you run a Piiano Vault container for testing purposes directly from your TypeScript tests.
Requirements
- Docker - This module uses testcontainers under the hood, which requires Docker to be installed and running.
- A valid Vault license - follow the Vault getting started to obtain a free 30 days license (no credit card required)
Installation
Install with yarn
yarn add -D @piiano/testcontainers-vault
Install with npm
npm install --save-dev @piiano/testcontainers-vault
Usage
import { Vault } from '@piiano/testcontainers-vault';
const vault = new Vault();
const port = await vault.start();
// Do something with the container
// ...
await vault.stop();
Calling to new Vault()
can also accept a VaultOptions
object to configure the container.
The VaultOptions
can be used to specify the version of the Vault image to use, the port to expose on the host, the Vault license to use, and the environment variables to pass to the Vault container.
/**
* Options for configuring a local Vault instance.
*/
export type VaultOptions = Partial<{
/**
* The version of the Vault image to use.
*/
version: string;
/**
* The port to expose on the host.
* If not specified, a random port will be used.
*/
port: number;
/**
* The Vault license to use.
* If not specified, try to use the license from the PVAULT_SERVICE_LICENSE environment variable.
*/
license: string;
/**
* The environment variables to pass to the Vault container.
*/
env: Record<string, string | number | boolean>;
}>