Skip to content

[Feature]: Full docker deployment #850

@Material-Scientist

Description

@Material-Scientist

Problem or Use Case

AFAIK, hermes-agent currently launches the main task from the host's CLI and supports docker as sandbox for the AI agent that performs the work.

Proposed Solution

However, I would prefer a fully dockerized setup. I.e. where the main task is in a container, and communicates with the dockerized agent sandbox over http/ws.

I'm using Nomad/Consul, so my setup looks something like this:

Image

Service-to-service communication is secured by mTLS via Envoy proxy:

+-----------------------------------------------------------------------+
|                         NOMAD CLUSTER                                 |
|  (Orchestrates the containers)                                        |
|                                                                       |
|   +---------------------------+       +---------------------------+   |
|   |  hermes-agent             |       |  hermes-agent-backend     |   |
|   |  [ Docker Container ]     |       |  [ Docker Container ]     |   |
|   |                           |       |                           |   |
|   |   +---------------------+ |       |  +---------------------+  |   |
|   |   |   APP LOGIC         | |       |  |   APP LOGIC         |  |   |
|   |   |   (The Agent)       | |       |  |   (The Backend)     |  |   |
|   |   +---------------------+ |       |  +---------------------+  |   |
|   |            |              |       |         |                 |   |
|   |   +---------------------+ |       |  +---------------------+  |   |
|   |   |   Envoy Sidecar     | |       |  |   Envoy Sidecar     |  |   |
|   |   |   (Secure Proxy)    | |       |  |   (Secure Proxy)    |  |   |
|   |   +---------------------+ |       |  +---------------------+  |   |
|   +---------------------------+       +---------------------------+   |
|               |                               |                       |
|               |<----- HTTP Communication ---->|                       |
|               | (Over Virtual Addressing)     |                       |
+---------------|-------------------------------|-----------------------+
                |                               |
                +-----------+   +---------------+
                            |   |
                      CONSUL SERVICE MESH
                      (Connects the Sidecars)

Please also add a docker deployment guide to the README.

Alternatives Considered

No response

Feature Type

Other

Scope

None

Contribution

  • I'd like to implement this myself and submit a PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions