Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a container executable agent #134

Open
AbhijithGanesh opened this issue Nov 2, 2024 · 6 comments
Open

Add a container executable agent #134

AbhijithGanesh opened this issue Nov 2, 2024 · 6 comments
Labels
question Further information is requested

Comments

@AbhijithGanesh
Copy link

Is your feature request related to a problem? Please describe.

I'm currently using the Bee-Agent to manage my automation workflows, and I've found that having better integration with Docker containers would greatly improve the efficiency and reliability of my automations.

Currently, when I want to use a container as part of an automation workflow, I have to:

Create a new container manually
Configure the container's environment and settings
Run the automation workflow

This process is time-consuming and prone to errors. Having better integration with Docker containers would allow me to manage my containers more easily and ensure that they're running correctly.

Describe the solution you'd like

I propose adding support for managing Docker containers directly through the Bee-Agent. This could include:

The ability to create, start, stop, and delete containers as part of an automation workflow
Integration with Docker Compose to allow for easy management of multi-container applications
Support for container volumes, networks, and other advanced features

Describe alternatives you've considered

I have considered using existing tools like Docker CLI or Docker Compose to manage my containers, but these solutions require more setup and configuration than I'm comfortable with. I also looked into using other automation platforms that provide container management capabilities, but they either don't integrate well with the Bee-Agent or are not customizable enough for my needs.

Describe how this feature would work

Here's an example of what the integration could look like:

The user creates a new container as part of their automation workflow
The Bee-Agent creates and starts the container using Docker CLI
The user configures the container's environment and settings through a graphical interface within the Bee-Agent
The Bee-Agent manages the container's lifecycle (start, stop, delete) based on the automation workflow

This is in continuation with #133 and I intend to extend this to a kubernetes level agent. I intend to contribute to this and make this agent a reality

@JanPokorny
Copy link
Contributor

It sounds like you want to create a tool (or a set of tools) for controlling a Docker daemon. This could be implemented by wrapping an existing library, like https://github.com/apocas/dockerode, in a Tool-derived class.

Regarding contribution, this tool would be better suited for our community tools repo, so if you wish to create it, please contribute it there: https://github.com/i-am-bee/bee-community-tools

@ismaelfaro
Copy link
Member

HI @AbhijithGanesh , and thanks for your comment.

We were thinking in how handle multiple-agents and part of the idea that you write down about how manage "containers" is similar to some of the initial ideas discussed. Also how we can coordinate them and how also some agents can take controls on how orchestrated the collective of agents can be interesting to discuss.

Like @JanPokorny , is possible that this kind of tools fit better in the bee-community-tools, said that we can explore here some of the ideas and user experience about how aboard it.

@AbhijithGanesh
Copy link
Author

Is there a community meeting where this is actively discussed?

@JanPokorny
Copy link
Contributor

@AbhijithGanesh Could you clarify whether your goal is to create a tool for managing Docker containers? So for example, you could create a "Docker Bee" to which you could say for example "What containers are currently running?" and it would use the tool and respond to you?

What @ismaelfaro is talking about is a quite advanced thing and if your use case is simply managing Docker through an agent, you are good with a single agent.

@AbhijithGanesh
Copy link
Author

@JanPokorny @ismaelfaro why would one run multi agent docker containers if they can control it via K8s ? I am kinda lost at that part (where multi agents are mentioned)

@JanPokorny
Copy link
Contributor

@AbhijithGanesh We are probably misunderstanding your intentions a bit. Could you be more clear?

Specifically, would your use-case be covered by an agent that can control a local Docker daemon (e.g. start containers, list container state, etc.)?

@mmurad2 mmurad2 added the question Further information is requested label Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants