Skip to content

feat: dynamic agent persistence via MinIO + PostgreSQL#4

Merged
Kaiohz merged 1 commit intomainfrom
feature/agent-persistence
Apr 5, 2026
Merged

feat: dynamic agent persistence via MinIO + PostgreSQL#4
Kaiohz merged 1 commit intomainfrom
feature/agent-persistence

Conversation

@Kaiohz
Copy link
Copy Markdown
Contributor

@Kaiohz Kaiohz commented Apr 5, 2026

Summary

  • Store agent YAML configs in MinIO (object storage) with metadata indexed in PostgreSQL
  • CRUD API endpoints (POST/PUT/DELETE/GET) for runtime agent management via multipart file upload
  • Built-in agents from agents/ dir seeded on startup, protected from modification/deletion
  • New hexagonal ports: AgentConfigStore, AgentConfigRepository
  • New adapters: MinioAgentConfigStore, PostgresAgentConfigRepository, PersistentAgentRegistry
  • Input validation: agent name regex, file size limit (1MB), UTF-8 check, YAML schema validation, name mismatch detection
  • Persistence guard: CRUD endpoints return 503 if MinIO/PostgreSQL unavailable

Test plan

  • 222 unit tests passing (42 new)
  • Ruff: 0 issues
  • SonarQube: 0 issues, 89.5% coverage (84.4% new code)
  • Trivy: 0 vulnerabilities
  • E2E QA: 22/22 test cases passing (health, CRUD, seeding, protection, edge cases)
  • Docker Compose stack tested with MinIO + PostgreSQL connectivity

🤖 Generated with Claude Code

Store agent YAML configs in MinIO (object storage) with metadata indexed
in PostgreSQL. CRUD API endpoints (POST/PUT/DELETE/GET) allow creating,
updating, and deleting agents at runtime. Built-in agents from agents/
directory are seeded on startup and protected from modification.

New ports: AgentConfigStore, AgentConfigRepository
New adapters: MinioAgentConfigStore, PostgresAgentConfigRepository, PersistentAgentRegistry
New use cases: CreateAgentConfig, UpdateAgentConfig, DeleteAgentConfig, GetAgentConfig, ListAgentConfigs, SeedAgents
@Kaiohz Kaiohz merged commit 6036efc into main Apr 5, 2026
1 check passed
@Kaiohz Kaiohz deleted the feature/agent-persistence branch April 5, 2026 07:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant