feat: add memfs-py service (#9315)

* feat: add memfs-py service

* add tf for bucket access and secrets v2 access

* feat(memfs): add helm charts, deploy workflow, and bug fixes

- Add dev helm chart (helm/dev/memfs-py/) with CSI secrets pattern
- Update prod helm chart with CSI secrets and correct service account
- Add GitHub Actions deploy workflow
- Change port from 8284 to 8285 to avoid conflict with core's dulwich sidecar
- Fix chunked transfer encoding issue (strip HTTP_TRANSFER_ENCODING header)
- Fix timestamp parsing to handle both ISO and HTTP date formats
- Fix get_head_sha to raise FileNotFoundError on 404

🐾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta <noreply@letta.com>

---------

Co-authored-by: Kian Jones <kian@letta.com>
Co-authored-by: Letta <noreply@letta.com>
This commit is contained in:
cthomas
2026-02-05 18:33:17 -08:00
committed by Caren Thomas
parent 21e880907f
commit 0bdd555f33
7 changed files with 691 additions and 52 deletions

View File

@@ -324,6 +324,15 @@ class Settings(BaseSettings):
validation_alias=AliasChoices("LETTA_OBJECT_STORE_PROJECT"),
description="Optional project override for object store clients (e.g., GCS project).",
)
# memfs service URL - when set, git memory operations are proxied to the memfs service
# instead of running locally. This enables separating git/GCS operations into a dedicated service.
memfs_service_url: str | None = Field(
default=None,
validation_alias=AliasChoices("LETTA_MEMFS_SERVICE_URL"),
description="URL of the memfs service (e.g., http://memfs:8284). When set, git memory operations use this service.",
)
# multi agent settings
multi_agent_send_message_max_retries: int = 3
multi_agent_send_message_timeout: int = 20 * 60