PHPackages                             pushon/module-livesearch-readonly - 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. pushon/module-livesearch-readonly

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

pushon/module-livesearch-readonly
=================================

Query any LiveSearch data space locally without risking data corruption

0.0.1(5mo ago)09MITPHPPHP ~8.1.0||~8.2.0||~8.3.0||~8.4.0

Since Dec 10Pushed 5mo agoCompare

[ Source](https://github.com/pushonltd/module-livesearch-readonly)[ Packagist](https://packagist.org/packages/pushon/module-livesearch-readonly)[ RSS](/packages/pushon-module-livesearch-readonly/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

LiveSearch Read-Only for Adobe Commerce
=======================================

[](#livesearch-read-only-for-adobe-commerce)

Query any SaaS data space (production, staging, dev) from your local environment without risking data corruption.

> **Important Disclaimer**
>
> This module is intended exclusively for local development. It must never be installed or enabled in production, staging, or any shared environment, because it overrides SaaS behaviour in a way that is only safe for isolated developer machines.
>
> For this reason, it must always be installed using `composer require --dev`, ensuring it cannot be deployed to higher environments through your CI/CD pipeline.

The Problem - Business &amp; Technical
--------------------------------------

[](#the-problem---business--technical)

### Business risk

[](#business-risk)

To use LiveSearch locally, developers need SaaS credentials. But once configured, Magento may try to sync your local test catalog into the real SaaS data space via cron or reindexing. This can break search for real customers, pollute production data, and cause trading issues.

### Technical limitation

[](#technical-limitation)

Adobe Commerce provides no built-in mechanism to query LiveSearch without also enabling the rest of the SaaS synchronisation ecosystem. If any credentials exist, Magento assumes the full SaaS stack should operate — even locally.

The Solution
------------

[](#the-solution)

This module introduces dedicated read-only credentials used only by LiveSearch. Your local environment can safely query any SaaS space, while all outbound sync paths remain impossible to trigger.

```
Local Environment
├── Main SaaS Credentials: EMPTY (no sync possible)
└── LiveSearch Credentials: Any data space (read-only queries)

```

The module overrides DI for `Magento\LiveSearch\Api\ServiceClient` only—other SaaS services remain disconnected.

### Firewall

[](#firewall)

As an extra safety layer, there is a small Guzzle middleware that effectively blocks any non-search traffic going through the LiveSearch HTTP client. It's not a real firewall, but it works the same way for our purposes - anything that isn't hitting `search/graphql`, `search/auth-graphql`, or `search-admin/graphql` simply won't reach the API.

Requirements
------------

[](#requirements)

- Adobe Commerce 2.4.4+
- PHP 8.1+
- `magento/module-live-search`
- `magento/module-services-connector`
- `magento/module-services-id`

Installation
------------

[](#installation)

```
composer require --dev pushon/module-livesearch-readonly
bin/magento module:enable PushON_LiveSearchReadOnly
bin/magento setup:upgrade
```

Setup
-----

[](#setup)

### 1. Remove existing SaaS credentials locally

[](#1-remove-existing-saas-credentials-locally)

Ensure your local environment cannot sync data to any SaaS data space:

```
DELETE FROM core_config_data WHERE path LIKE 'services_connector%';
```

Then flush cache: `bin/magento cache:flush`

### 2. Get credentials from target environment

[](#2-get-credentials-from-target-environment)

SSH into the environment you want to query (production, staging, or dev) and run:

```
bin/magento config:show services_connector/services_connector_integration/production_api_key
bin/magento config:show services_connector/services_connector_integration/production_private_key
bin/magento config:show services_connector/services_id/environment_id
```

### 3. Configure locally

[](#3-configure-locally)

Go to `Stores > Configuration > Services > LiveSearch Read-Only Credentials` and paste the credentials.

### 4. Verify

[](#4-verify)

```
bin/magento pushon:livesearch-readonly:health
```

Options
-------

[](#options)

OptionDescriptionDefault`enabled`Use custom credentials`0``fallback_enabled`Fall back to main SaaS if custom missing`0``api_key`API Key-`private_key`Private Key-`environment_id`Environment ID-Troubleshooting
---------------

[](#troubleshooting)

**No search results?**

- Run `bin/magento pushon:livesearch-readonly:health`
- Check credentials match the target environment
- Flush cache

**JWT signature failed?**

- Re-copy the private key from the target environment
- Paste into admin panel (newlines are handled automatically)

License
-------

[](#license)

MIT

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance73

Regular maintenance activity

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

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

Unknown

Total

1

Last Release

150d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/97b3af269392cfc717ab0fd5e4fc37e1669a46416a0c5c0e0c6c24e2e35c526f?d=identicon)[pushonjiri](/maintainers/pushonjiri)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/pushon-module-livesearch-readonly/health.svg)

```
[![Health](https://phpackages.com/badges/pushon-module-livesearch-readonly/health.svg)](https://phpackages.com/packages/pushon-module-livesearch-readonly)
```

###  Alternatives

[yireo/magento2-webp2

Magento 2 module to add WebP support to the Magento frontend

2091.2M7](/packages/yireo-magento2-webp2)[tig/postnl-magento2

TIG Magento 2 PostNL extension

58544.2k4](/packages/tig-postnl-magento2)[lillik/magento2-price-decimal

Magento 2 Price Decimal Precision

111147.5k](/packages/lillik-magento2-price-decimal)[nosto/module-nostotagging

Increase your conversion rate and average order value by delivering your customers personalized product recommendations throughout their shopping journey.

27659.1k4](/packages/nosto-module-nostotagging)[magepal/magento2-customeraccountlinksmanager

Customer Account Links Manager for Magento2 allows you to quickly and easily remove unwanted links from customer account dashboard

4084.9k](/packages/magepal-magento2-customeraccountlinksmanager)[doofinder/doofinder-magento2

Doofinder module for Magento 2

13204.0k1](/packages/doofinder-doofinder-magento2)

PHPackages © 2026

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