PHPackages                             doobert/aws-secrets-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. doobert/aws-secrets-manager

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

doobert/aws-secrets-manager
===========================

Laravel package for AWS Secrets Manager integration.

v1.0.6(1mo ago)024↑400%MITPHPPHP &gt;=8.0

Since Apr 22Pushed 1mo agoCompare

[ Source](https://github.com/Doobert-Team/aws-secrets-manager)[ Packagist](https://packagist.org/packages/doobert/aws-secrets-manager)[ RSS](/packages/doobert-aws-secrets-manager/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (3)Versions (8)Used By (0)

AWS Secrets Manager for Laravel
===============================

[](#aws-secrets-manager-for-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/4be6f649324c46f702b33913459b5ecf7309de8511d3c0566be68565b35b8a46/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f646f6f626572742f6177732d736563726574732d6d616e616765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/doobert/aws-secrets-manager)[![Total Downloads](https://camo.githubusercontent.com/e20c9b0ffa99bbc3c72dbcaf900dd9f39512807fc4a7743635391ea8a5fe7ae7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f646f6f626572742f6177732d736563726574732d6d616e616765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/doobert/aws-secrets-manager)[![MIT License](https://camo.githubusercontent.com/942e017bf0672002dd32a857c95d66f28c5900ab541838c6c664442516309c8a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e7376673f7374796c653d666c61742d737175617265)](LICENSE)

> Seamless integration with AWS Secrets Manager for Laravel. Caching, atomic locking, flexible config mapping, and easy setup.

---

🚀 Installation
--------------

[](#-installation)

Install via Composer:

```
composer require doobert/aws-secrets-manager
```

If not auto-discovered, add the service provider to `config/app.php`:

```
'providers' => [
    // ...
    Doobert\AWSSecretsManager\AWSSecretsManagerServiceProvider::class,
],
```

Publish the configuration file:

```
php artisan vendor:publish --provider="Doobert\\AWSSecretsManager\\AWSSecretsManagerServiceProvider" --tag=config
```

---

⚙️ Configuration
----------------

[](#️-configuration)

Edit `config/aws-secrets-manager.php` or set these in your `.env`:

KeyDescriptionDefaultenabledEnable/disable the packagetruecheck\_latencyLog cache/AWS latencyfalseregionAWS region for Secrets Managerus-west-2cache\_ttlCache lifetime (seconds)3600cache\_storeLaravel cache store to use (e.g., redis)redisnameAWS secret name(empty)log\_channelLog channel for package logsawssecretsload\_in\_consoleLoad secrets when running artisan/consolefalsekeys\_rawMap secret keys to config (see below)false**Example `.env`:**

```
AWS_SECRETS_ENABLED=true
AWS_SECRETS_REGION=us-west-2
AWS_SECRETS_CACHE_TTL=3600
AWS_SECRETS_CACHE_STORE=redis
AWS_SECRETS_NAME=your-secret-name
AWS_SECRETS_LOG_CHANNEL=awssecrets
AWS_SECRETS_LOAD_IN_CONSOLE=false
AWS_SECRETS_KEYS_RAW="DB_PASSWORD:database.connections.mysql.password,API_KEY:services.api.key"
```

---

🛠 Usage
-------

[](#-usage)

Inject or resolve the service:

```
use Doobert\AWSSecretsManager\AWSSecretsManagerService;

$service = app(AWSSecretsManagerService::class);
$secret = $service->getSecret('your-secret-name');
```

### Mapping Secrets to Config

[](#mapping-secrets-to-config)

**Mapping Secrets to Config**

Set `AWS_SECRETS_KEYS_RAW` or `aws-secrets-manager.keys_raw` to map secret keys to Laravel config values:

```
AWS_SECRETS_KEYS_RAW="DB_PASSWORD:database.connections.mysql.password,API_KEY:services.api.key"

```

Format: `SECRET_KEY:config.path`, comma-separated for multiple pairs. This will automatically set config values at runtime. **Load in Console**

Set `AWS_SECRETS_LOAD_IN_CONSOLE=true` to load secrets when running artisan/console commands (disabled by default for performance).

---

📋 Logging
---------

[](#-logging)

All logs are sent to the channel defined in `log_channel` (default: `awssecrets`). If not set, logs go to the default Laravel log channel.

---

Refreshing the secrets in Cache
-------------------------------

[](#refreshing-the-secrets-in-cache)

🛡 Artisan Command: Refresh Secrets
----------------------------------

[](#-artisan-command-refresh-secrets)

You can manually refresh and cache your AWS secret after rotation using the included artisan command:

```
php artisan doobertaws:secret-refresh
```

This will force a fresh fetch from AWS Secrets Manager and update the cache. Useful after rotating secrets in AWS.

**Options:**

- `--all` (future use): Refresh all configured secrets.

**Example output:**

```
Refreshing secret: your-secret-name
Secret refreshed and cached in Redis successfully.
    Keys available: DB_PASSWORD, API_KEY

```

If the secret cannot be fetched, you’ll see an error message with troubleshooting tips.

✅ Testing
---------

[](#-testing)

From the package directory:

```
composer install
./vendor/bin/phpunit --configuration phpunit.xml
```

---

📦 Requirements
--------------

[](#-requirements)

- Laravel 8.0+
- PHP 8.0+
- AWS SDK for PHP

---

📄 License
---------

[](#-license)

MIT

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance90

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

7

Last Release

48d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a2621d77e99a18d137519317ee8a2d529191937b1c5f18e6125496d45886c1ac?d=identicon)[naser@doobert.com](/maintainers/naser@doobert.com)

---

Top Contributors

[![mnasergulzade](https://avatars.githubusercontent.com/u/190401845?v=4)](https://github.com/mnasergulzade "mnasergulzade (10 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/doobert-aws-secrets-manager/health.svg)

```
[![Health](https://phpackages.com/badges/doobert-aws-secrets-manager/health.svg)](https://phpackages.com/packages/doobert-aws-secrets-manager)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[laravel/ai

The official AI SDK for Laravel.

9782.1M153](/packages/laravel-ai)[illuminate/pipeline

The Illuminate Pipeline package.

9348.3M264](/packages/illuminate-pipeline)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45344.0k1](/packages/pressbooks-pressbooks)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1348.1k1](/packages/jasara-php-amzn-selling-partner-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
