dyrectorio icon indicating copy to clipboard operation
dyrectorio copied to clipboard

Implement dagent resource management

Open polaroi8d opened this issue 1 year ago • 8 comments

We ignored this since it may not have a significant impact, but it would be nice to have and not too complicated to implement.

Compared to Kubernetes, resource requests don't really make sense for us because we don't need to instruct the scheduler since it doesn't exist. However, Docker does have CPU and memory limits.

Affected scope:

  • golang: Add CPU and memory limits to the builder, dagent, and proto.
  • crux: Display the options on the UI.

Please provide a test case in golang as well.

Additional information: Our platform backend is built with Node.js called crux, and the UI built with React is called crux-ui.

polaroi8d avatar May 08 '23 14:05 polaroi8d

Hi, pls assign this issue to me ;)

AmorfEvo avatar May 10 '23 15:05 AmorfEvo

Assigned to you, @AmorfEvo. If you have any questions don't hesitate to ask the team 🖖🏻

polaroi8d avatar May 10 '23 15:05 polaroi8d

Thx. I want to figure it out from zero to 1, but if I have any questions I'll ask them ^^ @polaroi8d

AmorfEvo avatar May 10 '23 16:05 AmorfEvo

Dear #Hacktoberfest, this task is still open 😄

polaroi8d avatar Oct 02 '23 06:10 polaroi8d

Hi @polaroi8d , I have a few questions related to this. Kubernetes also has a scheduler for resource limits and resource requests, why only for the docker? Is there any specific reason for that? I don't have enough hands-on experience in Kubernetes as well. It would be great if you explain about this such that I could start over from zero

chandhuDev avatar Oct 23 '23 11:10 chandhuDev

Hello @chandhuDev are you still working on this issue ? I figured out the golang changes for the builder , dagent and proto? Would you like to pair on it ? @polaroi8d what do you think, should i continue. If yes i have some questions .

PapePathe avatar Dec 04 '23 15:12 PapePathe

As response to @chandhuDev questions, a summary: we already have Kubernetes integration of resource management in-place, but for docker, this is less used, may be less practical and a bit hidden. The docker part is missing from our builder, that is what we seek to implement here. UI: the resource requests are currently crane (thus k8s) only, that should be moved into the common section. dagent: docker SDK exposes the necessary features to implement such functionality into our builder.

These information should be enough to start effectively working on it.

nandor-magyar avatar Dec 05 '23 07:12 nandor-magyar

I implemented the docker part here.

PapePathe avatar Dec 05 '23 21:12 PapePathe