The groundwork for a Storage node: a StorageType SPI collected like the LLM providers, with two types - an S3-compatible object store (MinIO, AWS, Ceph) on the MinIO client, and PostgreSQL spoken to in SQL. Every type answers the same four things - a template to write to, a query to read with, a script to prepare, the shapes a read comes back in - and checks them itself, so the node stays generic. - S3: keys and globs (pippo*, reports/**.json) under an instance root and an optional per-execution prefix that a key cannot climb out of. - PostgreSQL: placeholders are bound, never spliced in, and refused inside literals or comments; reads run READ ONLY; one statement only, checked here because pgjdbc splits and runs 'INSERT ...; DROP ...'; the JDBC URL and driver properties are built from checked fields. - storages.json holds the operator's instances, checked at startup; /storage/types and /storage/instances expose them without settings. - A person's own connection goes through a storage endpoint guard (app.storage.endpoint.*), like an LLM endpoint. Tested against real MinIO and PostgreSQL with Testcontainers. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .mvn/wrapper | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| CITATION.cff | ||
| Dockerfile | ||
| LICENSE | ||
| LICENSE-ADDENDUM | ||
| NOTICE | ||
| README.md | ||
| mvnw | ||
| mvnw.cmd | ||
| ollama-preloaded-docker | ||
| pom.xml | ||
| run_service.sh | ||
README.md
RUN LOCAL SERVICE
./run_service.sh
BUILD DOCKER IMAGE
docker buildx build –platform linux/amd64,linux/arm64 -t luciolelii/humainflow:latest . –push
License
Copyright (C) 2025-2026 Lucio Lelii — ISTI-CNR.
HumAIn Flow is released under the GNU Affero General Public License v3.0 or later (LICENSE), with an additional attribution term under section 7(b) of that license (LICENSE-ADDENDUM).
In practice this means:
you may use, study, modify and redistribute it freely;
if you run a modified version as a network service, you must offer its source to the users of that service;
any work based on it must keep the attribution below, both in the source and where the interface shows its legal notices:
Based on HumAIn Flow, originally developed by Lucio Lelii (ISTI-CNR) — https://gitea-s2i2s.isti.cnr.it/lelii/humainflow-service
If you use HumAIn Flow in academic work, please cite it — see CITATION.cff.