tacticmedia / rds-auth-bundle
Symfony bundle for tacticmedia/rds-auth-middleware: Amazon RDS IAM token authentication and master-password refresh for Doctrine DBAL.
Package info
github.com/tacticmedia/rds-auth-bundle
Type:symfony-bundle
pkg:composer/tacticmedia/rds-auth-bundle
Requires
- php: >=8.4
- doctrine/doctrine-bundle: ^2.13 || ^3.0
- symfony/config: ^7.4 || ^8.0
- symfony/dependency-injection: ^7.4 || ^8.0
- symfony/http-kernel: ^7.4 || ^8.0
- tacticmedia/rds-auth-middleware: dev-main
Requires (Dev)
- ext-pdo_sqlite: *
- ergebnis/composer-normalize: ^2.52
- friendsofphp/php-cs-fixer: ^3.95.11
- phpstan/phpstan: ^2.1.0
- phpstan/phpstan-doctrine: ^2.0.27
- phpstan/phpstan-symfony: ^2.0.20
- phpunit/phpunit: ^13.3
- rector/rector: ^2.5.2
- roave/security-advisories: dev-latest
- symfony/framework-bundle: ^7.4 || ^8.0
This package is auto-updated.
Last update: 2026-08-14 23:55:00 UTC
README
A Symfony bundle that registers and configures tacticmedia/rds-auth-middleware, a Doctrine DBAL driver middleware that selects the database credential for an Amazon RDS instance at connect time:
- If
iam_usernameis set: connect as that user with an RDS IAM authentication token as the password. - If
secret_arnis set: connect with the configured password; when the database rejects it, re-read the current password from Secrets Manager and retry once. - Neither set: the connection parameters stay unchanged.
Every option defaults to an environment variable, so one application image runs unchanged in every environment, with either authentication mode or none.
Installation
The packages are on GitHub and not yet on Packagist, so the consuming project must declare both repositories:
composer config repositories.rds-auth-bundle vcs https://github.com/tacticmedia/rds-auth-bundle composer config repositories.rds-auth-middleware vcs https://github.com/tacticmedia/rds-auth-middleware composer require tacticmedia/rds-auth-bundle:dev-main tacticmedia/rds-auth-middleware:dev-main
See Installation for the reasoning and for bundle registration without Flex.
Documentation
- Installation - requirements, Composer setup, bundle registration
- Configuration - option reference, environment-variable defaults, examples for each mode
- The credential cache - cache pool behavior, APCu setup, token lifetime
- The Doctrine DBAL configuration - what the middleware changes at connect time
- Bundle internals - services, middleware registration, package boundary
- Development and testing - commands, kernel test pattern, CI
License
MIT. See LICENSE.