PHPackages                             provisionsgroup/config-sync-php - 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. provisionsgroup/config-sync-php

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

provisionsgroup/config-sync-php
===============================

Add remote configuration synchronization to Laravel

v0.0.8(5y ago)1295[2 PRs](https://github.com/provisions-group/config-sync-php/pulls)MITPHP

Since Feb 26Pushed 3y ago1 watchersCompare

[ Source](https://github.com/provisions-group/config-sync-php)[ Packagist](https://packagist.org/packages/provisionsgroup/config-sync-php)[ RSS](/packages/provisionsgroup-config-sync-php/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependencies (2)Versions (11)Used By (0)

config-sync
===========

[](#config-sync)

Config Sync is a generic PHP Composer package that can be extended to support multiple backends - where today it only supports HashiCorp Vault - whose purpose is to synchronize a set of backend secrets data to a locally encrypted file. Compared to a typical PHP Laravel apps, the design goals of the Config Sync are to,

1. Replace the .env file; especially for secrets
2. Replace the ENVIRONMENT variables; especially for secrets
3. Decrease coupling for an app when accessing secrets or configuration data from a backend
4. Support Kubernetes Pod secrets/configuration bootstrapping while still supporting local development

Prerequisites
-------------

[](#prerequisites)

- [composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos)
- [PHP](https://www.php.net/manual/en/install.php)
- access to somewhere that HashiCorp vault is hosted
- Configuration stored in developer mount in Vault
- `developer` environment (see below) will require additional setup in your `.env` file

Command
-------

[](#command)

```
php artisan config:sync --backend=vault --environment=developer

```

Options
-------

[](#options)

There are four options that can be specified:

```
--backend=vault : The backend to use for config values
--environment=developer : The backend environment to use
--watch : Flag that keeps the process running rather than running once
--refresh=10 : Only used if the --watch flag is set; frequency of checking with backend and refreshing file

```

Currently, the only option for `--backend` is `vault` and the default is `vault` so it is not required to specify this option when running the command. The code was written in such a way, that should another backend be chosen in the future, as long as it aligns with the interface, it could easily be swapped out in lieu of Vault.

The `--environment` option has three choices:

- `local`
- `developer`
- `kubernetes`

### local environment

[](#local-environment)

The `local` environment will create a Config Safe from your local Vault server using the Vault auth token to authenticate and retrieve the secret to create the Config Safe for your local running application.

### developer environment

[](#developer-environment)

The `developer` environment will create a Config Safe from your developer mount in Vault. The first time, you will need to add the following to your local `.env` file:

> VAULT\_MOUNT=location of Vault mount

> VAULT\_SECRET=vault secret name

When authenticating with Vault, Config Sync assumes that you will use your LDAP username and password, but this can be changed in the config.

### kubernetes environment

[](#kubernetes-environment)

The `kubernetes` environment will create a Config Safe from the Vault in the environment where the applicaiton is running. This will use the JWT (Kubernetes ServiceAccount token) and the role (i.e. auditor-portal) to authenticate with Vault and fetch the secret for that role to create the Config Safe.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.8% 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 ~18 days

Recently: every ~32 days

Total

8

Last Release

2145d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/789009c7ad0184410c634ab0d9cb57ea99cce85ddb67a11bf00b78bcf184c6d9?d=identicon)[Provisions Group](/maintainers/Provisions%20Group)

---

Top Contributors

[![enhendrickson](https://avatars.githubusercontent.com/u/2226780?v=4)](https://github.com/enhendrickson "enhendrickson (30 commits)")[![brandon-provisions](https://avatars.githubusercontent.com/u/74695097?v=4)](https://github.com/brandon-provisions "brandon-provisions (1 commits)")

### Embed Badge

![Health badge](/badges/provisionsgroup-config-sync-php/health.svg)

```
[![Health](https://phpackages.com/badges/provisionsgroup-config-sync-php/health.svg)](https://phpackages.com/packages/provisionsgroup-config-sync-php)
```

###  Alternatives

[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[dhlparcel/magento2-plugin

DHL Parcel plugin for Magento 2

11180.5k2](/packages/dhlparcel-magento2-plugin)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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