From 30bde6f1a84abb0743f1f343fb7eb93a27ca63a0 Mon Sep 17 00:00:00 2001 From: Jah-yee <166608075+Jah-yee@users.noreply.github.com> Date: Mon, 1 Jun 2026 19:34:01 +0800 Subject: [PATCH 1/4] docs(runbooks): note that credential changes require an API restart Resolves SoundMindsAI/relyloop#360 The Settings accessor used for cluster_credentials.yaml uses @lru_cache + @cached_property, memoizing credential resolution at process start. If an operator edits the file on a running stack (edit to cluster_credentials.yaml or step 5a of scripts/install.sh), the api keeps using stale credentials until 'docker compose restart api worker' is run. --- docs/03_runbooks/solr-cluster-registration.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/03_runbooks/solr-cluster-registration.md b/docs/03_runbooks/solr-cluster-registration.md index 042ea447..e9b0baa5 100644 --- a/docs/03_runbooks/solr-cluster-registration.md +++ b/docs/03_runbooks/solr-cluster-registration.md @@ -22,6 +22,15 @@ defaults, enabling `solr.UBIComponent`, and uploading LTR models. - BasicAuth credentials stored in `./secrets/cluster_credentials.yaml` under a `credentials_ref` you'll reference in registration. For local Solr the install script seeds `local-solr`. + + > **Credential edits require an API restart.** + > `cluster_credentials.yaml` is read through a cached `Settings` + > accessor that memoizes its value at process start. If you edit the + > file on a running stack (or run step 5a of `scripts/install.sh` after + > `docker compose up -d`), the api keeps serving the *old* credentials + > until you restart: `docker compose restart api worker`. + > The same caching applies to Elasticsearch and OpenSearch credentials. + - For SolrCloud: the operator-supplied URL must point at a Solr node that exposes `/admin/zookeeper/status` — the probe uses that endpoint to auto-detect cloud vs. standalone. From b19c0f55b90092a273d932ccbb0c2993c39ca976 Mon Sep 17 00:00:00 2001 From: Jah-yee <166608075+Jah-yee@users.noreply.github.com> Date: Mon, 1 Jun 2026 21:55:43 +0800 Subject: [PATCH 2/4] fix(docs): capitalize API for consistency PR feedback: capitalize 'API' when referring to the application conceptually, matching 'RelyLoop API container' and 'API: POST'. --- docs/03_runbooks/solr-cluster-registration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/03_runbooks/solr-cluster-registration.md b/docs/03_runbooks/solr-cluster-registration.md index e9b0baa5..16dfd1fa 100644 --- a/docs/03_runbooks/solr-cluster-registration.md +++ b/docs/03_runbooks/solr-cluster-registration.md @@ -27,7 +27,7 @@ defaults, enabling `solr.UBIComponent`, and uploading LTR models. > `cluster_credentials.yaml` is read through a cached `Settings` > accessor that memoizes its value at process start. If you edit the > file on a running stack (or run step 5a of `scripts/install.sh` after - > `docker compose up -d`), the api keeps serving the *old* credentials + > `docker compose up -d`), the API keeps serving the *old* credentials > until you restart: `docker compose restart api worker`. > The same caching applies to Elasticsearch and OpenSearch credentials. From 97cee24dd8eb5d31e256b63864227229993c00da Mon Sep 17 00:00:00 2001 From: Jah-yee <166608075+Jah-yee@users.noreply.github.com> Date: Mon, 1 Jun 2026 22:21:52 +0800 Subject: [PATCH 3/4] fix(docs): capitalize API in restart command for consistency --- docs/03_runbooks/solr-cluster-registration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/03_runbooks/solr-cluster-registration.md b/docs/03_runbooks/solr-cluster-registration.md index 16dfd1fa..067e98d7 100644 --- a/docs/03_runbooks/solr-cluster-registration.md +++ b/docs/03_runbooks/solr-cluster-registration.md @@ -28,7 +28,7 @@ defaults, enabling `solr.UBIComponent`, and uploading LTR models. > accessor that memoizes its value at process start. If you edit the > file on a running stack (or run step 5a of `scripts/install.sh` after > `docker compose up -d`), the API keeps serving the *old* credentials - > until you restart: `docker compose restart api worker`. + > until you restart: `docker compose restart API worker`. > The same caching applies to Elasticsearch and OpenSearch credentials. - For SolrCloud: the operator-supplied URL must point at a Solr node From 141901beeff3d89ddb10706d88456387fe97016d Mon Sep 17 00:00:00 2001 From: Jah-yee <166608075+Jah-yee@users.noreply.github.com> Date: Tue, 2 Jun 2026 07:05:38 +0800 Subject: [PATCH 4/4] fix(docs): correct service name api (not API) in docker compose restart command Co-Authored-By: Copilot <175728472+Copilot@users.noreply.github.com> Co-Authored-By: gemini-code-assist[bot] <136328045+gemini-code-assist[bot]@users.noreply.github.com> --- docs/03_runbooks/solr-cluster-registration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/03_runbooks/solr-cluster-registration.md b/docs/03_runbooks/solr-cluster-registration.md index 067e98d7..16dfd1fa 100644 --- a/docs/03_runbooks/solr-cluster-registration.md +++ b/docs/03_runbooks/solr-cluster-registration.md @@ -28,7 +28,7 @@ defaults, enabling `solr.UBIComponent`, and uploading LTR models. > accessor that memoizes its value at process start. If you edit the > file on a running stack (or run step 5a of `scripts/install.sh` after > `docker compose up -d`), the API keeps serving the *old* credentials - > until you restart: `docker compose restart API worker`. + > until you restart: `docker compose restart api worker`. > The same caching applies to Elasticsearch and OpenSearch credentials. - For SolrCloud: the operator-supplied URL must point at a Solr node