How should I deploy a self-hosted multi-agent system?

Thank you for the reply. I have some questions regarding the self-hosted infrastructure where the agents would be deployed to.

Based on your reply, if agents B and C share the same Redis and Postgres database then I guess the remote agents would need to run on the same server; is that correct? My diagram only shows two remote agents but I imagine that more agents would be developed and deployed. So would all the remote agents be running on the same server or would they need their own individual server? And what kind of hardware requirements such as memory (RAM) and CPU cores would you suggest? Is there a set of minimum requirements for an agent?

The purpose of agent A is to orchestrate tasks to other remote subagents. But where should this agent live? Should I just host it on the same server along with the other agents and the user would access it remotely? Or should it run on the user’s local machine and the agent itself would access the subagents remotely?

Lastly, what kind of Git repository structure would you recommend for such a project? I was thinking each agent would have its own repository so tests, documentation, and code development can be done independently of the other agents. But if we develop a lot of agents then that would create a lot of separate repos. So maybe the code for all the agents should go in one repository?