laravel-secretsync maintained by umar-jimoh
Introduction
Laravel SecretSync allows you to seamlessly sync secrets from external secret managers directly into your Laravel application.
Supported providers:
- Infisical
- Doppler (new in v1.2.0)
Once installed, syncing secrets is as simple as:
php artisan secretsync
📦 Installation
Install via Composer:
composer require umar-jimoh/laravel-secretsync
Publish the configuration file:
php artisan vendor:publish --provider="UmarJimoh\SecretSync\SecretSyncServiceProvider" --tag=config
🧪 Usage
Before syncing, make sure your chosen secret manager is properly set up and your .env file contains the required credentials.
Infisical Configuration
SECRETSYNC_PROVIDER="infisical"
INFISICAL_API_ENDPOINT=
INFISICAL_TOKEN=
INFISICAL_ENV=
INFISICAL_WORK_ID="your-infisical-project-id"
Doppler Configuration (new in v1.2.0)
SECRETSYNC_PROVIDER="doppler"
DOPPLER_TOKEN=
DOPPLER_API_ENDPOINT=
DOPPLER_PROJECT=
DOPPLER_CONFIG=
Important: Your
APP_KEYmust come from your secret manager.
Do not defineAPP_KEYin your.envfile.
Syncing Secrets
php artisan secretsync
This command fetches and applies secrets from your configured provider.
🔒 Cache (Optional)
You can enable caching so secrets aren’t fetched on every sync:
SECRETSYNC_CACHE=true
SECRETSYNC_CACHE_TTL=300 # seconds
SECRETSYNC_CACHE_DRIVER= # optional, defaults to Laravel's cache driver
Secrets stored in the cache are securely encrypted.
These settings can also be configured in config/secretsync.php.
🐞 Debugging
For detailed error output:
php artisan secretsync --debug
Or enable debugging in .env:
SECRETSYNC_DEBUG=true
⚠️ Production Note
After running:
php artisan optimize
or clearing config:
php artisan config:clear
You must run:
php artisan secretsync
to ensure all secrets are properly loaded.
🤝 Contributing
Please see the CONTRIBUTING guide for details.
📧 Contact
If you have questions or suggestions, feel free to reach out:
- Email: umarjimoh@hotmail.com
- X\Twitter: @umarjimoh_dev
🔗 License
This package is open-source and licensed under the MIT License.