umar-jimoh/laravel-secretsync

Sync secrets from secret managers into your Laravel app with ease.

Installs: 149

Dependents: 0

Suggesters: 0

Security: 0

Stars: 8

Watchers: 1

Forks: 2

Open Issues: 2

pkg:composer/umar-jimoh/laravel-secretsync

v1.2.0 2025-12-01 04:08 UTC

This package is auto-updated.

Last update: 2025-12-01 04:16:46 UTC


README

SecretSync Logo

Total Downloads Latest Version Contribution License

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_KEY must come from your secret manager.
Do not define APP_KEY in your .env file.

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:

πŸ”— License

This package is open-source and licensed under the MIT License.