Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Config Laravel Package

laravel-admin-ext/config

A laravel-admin extension that adds a web-based configuration manager, letting you edit and organize application settings from the admin panel without touching config files. Ideal for managing dynamic options in Laravel projects.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • laravel-admin-ext/config is a thin presentation layer: a laravel-admin CRUD screen over a config table plus a service provider that loads persisted key/value pairs into Laravel's config repository at boot. That is the correct architectural pattern for ops-editable runtime settings, but the package itself contributes very little beyond the form UI and the hydration hook.
  • Fit is conditional and narrow: it is only viable inside an existing Encore laravel-admin 1.x deployment. Any team on Filament, Nova, or a bespoke back office gets zero leverage from it — the admin panel is the entire integration surface.
  • Coupling is shallow (a table, a model, a provider, one admin controller). That is good for replaceability and bad for dependency justification: the build-vs-adopt delta is roughly one CRUD screen and a cached repository.
  • "Dependents: 0" is a meaningful signal here — no downstream packages exercise its API, so there is no ecosystem pressure to keep it compatible and no third-party validation beyond the star count.

Integration feasibility

  • Practical precondition: the target app must already resolve encore/laravel-admin at a version compatible with this extension. Given a last release of 2019-12-11, expect Composer constraints pinned around PHP 7.1+ and Laravel 5.5–6.x, with laravel-admin ~1.6/~1.7. On Laravel 9/10/11 this will almost certainly fail dependency resolution or fail at runtime on removed framework APIs.
  • Install path is conventional (Laravel package discovery, vendor:publish, migrate, then an admin menu/route registration or admin:import). Low ceremony provided the version matrix clears.
  • The real integration work is not installation; it is deciding precedence. Values loaded from the DB must not be silently shadowed by config/*.php or by a stale bootstrap/cache/config.php. This must be validated in a PoC before any commitment.
  • Secret handling is the second gate: if the field types allow free-text storage of API keys and credentials, they land in the database in plaintext and are viewable by anyone with the menu permission.

Technical risk

Risk Severity Notes
Unmaintained upstream (no release since Dec 2019) High Security and framework-compat patches become internal work
Legacy host dependency (laravel-admin 1.x) High Forces the whole feature onto an EOL-adjacent stack
Config-cache precedence / stale values High config:cache can mask DB values or vice versa; multi-node desync
Secrets stored plaintext in DB High Compliance and blast-radius issue
No audit trail / no rollback Medium Who changed what, when, and to what prior value is unknown
Boot-time failure loop Medium A malformed value can break the request cycle that hosts the fix UI
Type coercion / validation gaps Medium Free-text values against typed consumers cause runtime errors
Low community signal (97 stars, 0 dependents) Medium Bus-factor and issue-response risk

Key questions for the owning team

  1. What Laravel, PHP, and laravel-admin versions are actually in production today, and is composer why-not clean?
  2. Is laravel-admin a strategic platform or a legacy surface we intend to exit? If the latter, adopting a laravel-admin-only extension adds to the exit cost.
  3. Are any managed values secrets? If yes, this package is disqualified without a vault/encryption layer.
  4. Do we need environment-scoped or tenant-scoped values, or is one global set sufficient?
  5. Is there an audit/compliance requirement on configuration changes (SOC2, PCI, internal change management)?
  6. Who owns the fork if we adopt — is there a named maintainer with budget, or is this orphaned on arrival?

Integration Approach

Stack fit

  • Green light only where the stack is: Laravel 5.5–6.x, PHP 7.1–7.4, Encore laravel-admin 1.6/1.7. Anything newer should be treated as a hard no and routed to an alternative.
  • Viable alternatives on modern stacks, in rough order of fit:
    • Filament + a settings plugin if the org is moving to Filament anyway.
    • Laravel Nova + a settings card if Nova is already licensed.
    • spatie/laravel-settings (typed settings classes, migrations, no UI) plus a small custom admin screen — the strongest option when the panel is not the constraint.
    • Fork/vendor this package when laravel-admin is non-negotiable and only the UI is missing.

Migration path

  • No data migration is required to adopt: it is a greenfield table. The migration burden is on the exit — values captured in the package's table must be exportable (a key,value,group,type dump) so they can be re-seeded into whatever replaces it. Make that export a day-one deliverable, not an afterthought.
  • Where the package is used to override values currently in config/*.php or .env, sequence the change so file-based config remains the source of truth for anything bootstrap-critical (mail, queue, database, cache, broadcasting). Runtime-editable config should be restricted to non-bootstrap keys.

Compatibility

  • Pin the extension to an exact version and add a Composer conflict entry against future laravel-admin majors.
  • If the host app runs on more than one PHP minor, test on each; 2019-era packages frequently break on 7.4+ deprecations and on 8.x syntax/typing.
  • Verify behavior with config:cache enabled and disabled in CI — that single test catches the most common class of defect with this package.

Sequencing

  1. Discover (0.5 day): inventory Laravel/PHP/laravel-admin versions; composer why-not; confirm whether laravel-admin is strategic.
  2. PoC (1–2 days): install in a sandbox branch; validate precedence under config:cache, RBAC enforcement via laravel-admin roles/permissions, and field-type coverage.
  3. Decide (0.5 day): adopt / fork / build. Given the shallow surface area, a fork or an in-house reimplementation of the same pattern is usually the better call; the package is small enough that "buy" mostly means "inherit someone else's maintenance."
  4. Harden (2–3 days if adopting or forking): add audit logging on write, encrypt secret-typed fields, add value validation per type, add an explicit cache-invalidation hook.
  5. Roll out: gate the menu behind a dedicated permission, restrict to non-bootstrap keys, document the change process.
  6. Exit plan: schedule the export/re-seed runbook alongside the next admin panel decision rather than deferring it indefinitely.

Operational Impact

Maintenance

  • Ownership transfers to us at adoption. There is no upstream release cadence to ride; the 2019 cut-off means every future framework bump is an internal patch. Budget a fork in the repo (or a vendored copy) rather than a floating dependency, and account for ~1–3 engineer-days per year of unscheduled attention.
  • The code volume is small enough that a fork is genuinely tractable — this is the package's main operational virtue.

Support

  • No vendor. Support is internal plus GitHub issues on a repo with weak recent activity. Any bug is ours to fix; triage cannot assume a fix lands upstream.
  • Documentation for laravel-admin-era packages is thin and often stale; expect the source to be the documentation.

Scaling

  • The admin UI itself is trivially scalable — low-traffic, permission-gated, one row per key.
  • The scaling concern is read-path and consistency, not throughput. If values are hydrated per request from the database, add a cache layer with invalidation on save. On horizontally scaled deployments, that invalidation must propagate — use a shared cache store (Redis) and a tag/version bump, not an in-process cache.
  • Config cache is a deployment artifact. Any workflow that runs config:cache during deploy must be reconciled with DB-sourced values, or the two mechanisms will fight every release.

Failure modes

  • Shadowing: a DB value silently ignored because file config or a cached config artifact wins. Symptom: "I changed it and nothing happened." Mitigation: explicit precedence assertion in a health check.
  • Stale across nodes: one web node serves the old value. Symptom: intermittent, environment-dependent behavior — the most expensive class of bug to diagnose.
  • Self-inflicted outage: a bad value breaks boot, and the admin UI that would fix it is served by the same broken app. Mitigation: never let runtime config control bootstrap services; keep a break-glass path (DB console or artisan) documented.
  • Secret exposure: plaintext credentials visible to anyone holding the menu permission, or leaking through logs/exports.
  • Silent drift: no audit trail means the current state is knowable but the history is not, which is exactly the situation change management exists to prevent.

Ramp-up

  • For a developer already fluent in Laravel and laravel-admin form widgets: ~2–4 hours to be productive, ~1 day to be confident in the precedence and cache behavior.
  • For a team without laravel-admin experience: add ~1–2 days, mostly spent on the panel's RBAC and form abstractions rather than on this package.
  • The higher ramp-up cost is organizational, not technical: establishing who is allowed to change production configuration, and what review a change requires. That process has to exist regardless of which package is chosen, and it is the part most likely to be skipped.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource