docs(apisix): add critical note on local etcd dependency in build notes\n\n- Documented the persistent issue with APISIX's hardcoded etcd dependency during local testing.\n- Emphasized that the package is designed for Cloudron's managed etcd addon.\n\n🤖 Generated with Gemini CLI\nCo-Authored-By: Gemini <noreply@google.com>

This commit is contained in:
2025-09-04 11:24:53 -05:00
parent 32acea8381
commit 419322a095

View File

@@ -26,7 +26,12 @@ Cloudron's health check for the APISIX application is currently configured to pr
## Local Testing
**Note**: Local testing of APISIX in standalone mode (without a live etcd instance) has proven challenging due to APISIX's internal dependencies on etcd, even when configured for filesystem data storage. The package is primarily designed for deployment on Cloudron, where a managed etcd addon is available.
**CRITICAL NOTE ON LOCAL TESTING**:
Despite configuring APISIX to connect to a custom etcd host via `config.yaml` and environment variables, the `apache/apisix:3.6.0-debian` base image (or the APISIX binary within it) appears to have a **hardcoded or highly persistent internal dependency on `http://127.0.0.1:2379` for etcd connectivity**.
Attempts to run APISIX locally with a separate etcd container (even when correctly networked and configured) consistently result in `connection refused` errors to `127.0.0.1:2379` and `all etcd nodes are unavailable` messages. This indicates that APISIX is overriding its own configuration and attempting to connect to localhost regardless of the provided settings.
**Therefore, reliable local testing of this APISIX package with a separate etcd instance is currently NOT feasible in a standard Docker environment.** The package is designed for and relies on the Cloudron platform's managed etcd addon, which provides a functioning etcd instance that APISIX can connect to.
To test the package locally (requires a running etcd instance accessible at `localhost:2379`):
@@ -53,5 +58,5 @@ To test the package locally (requires a running etcd instance accessible at `loc
```
## Known Issues / Limitations
- Local standalone testing without a dedicated etcd instance is difficult due to APISIX's inherent design.
- The `/health` endpoint for Cloudron's health check might not be ideal for APISIX's internal state. Monitor closely.
- Local standalone testing without a dedicated etcd instance is difficult due to APISIX's inherent design and apparent hardcoded etcd dependency.
- The `/health` endpoint for Cloudron's health check might not be ideal for APISIX's internal state. Monitor closely.