database-integration
AdrienneCohea/database-integration/vault
Vault integration module for various databases
Vault Database Integration Vault integration module for various databases For example, MongoDB: `` module "database-integration" { source = "AdrienneCohea/database-integration/vault" version = "0.0.4" address = "http://127.0.0.1:8200" token = "myroot" path = "mongodb" database_name = "mongodb" description = "MongoDB" mongodb_connection_url = "mongodb://root:[email protected]:27017" roles = { "engagements" = [{ role = "readWrite", db = "engagements" }] } } ` For PostgreSQL: ` module "integration" { source = "AdrienneCohea/database-integration/vault" version = "0.0.4" address = "http://127.0.0.1:8200" token = "myroot" path = "postgresql" database_name = "postgresql" description = "PostgreSQL" postgresql_connection_url = "postgresql://vault-superuser:[email protected]:5432/?sslmode=disable"
| Name | Type | Description | Default |
|---|---|---|---|
| database_name | string | Logical name of the database | required |
| mongodb_roles | map(list(object({ db = string, | Database access roles as they should be defined in Vault, given as a map from st | required |
| postgresql_roles | map(object({ grants = lis | Database access roles as they should be defined in Vault, given as a map from st | required |
| address | string | Vault address | required |
| path | string | Path to create the database secrets engine for the integration | required |
| token | string | Vault token | required |
| description | string | Description of the database secrets engine in Vault | "" |
| max_lease_ttl_seconds | string | The maximum lease duration in seconds | 86400 |
| mongodb_connection_url | string | MongoDB connection URL | "" |
| postgresql_connection_url | string | PostgreSQL connection URL | "" |
| default_lease_ttl_seconds | string | The default lease duration in seconds | 21600 |