lablup / lablup/backend.ai

Composition root: backend selection replaces aiodocker.Docker() hardcode; retire agent __ainit__/aobject

Open
#12,615 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
15h 13m
Merged PRs (30d)
368

Description

Replace the aiodocker.Docker() hardcode (dependencies/infrastructure/docker.py:38) with backend selection at composition time; the composer builds the whole graph and injects the chosen ComputeBackend. Retire the agent's __ainit__/aobject construction in favor of explicit composition.

Success Criteria:
- [ ] Backend (docker/k8s/dummy) selected via config at composition; no hardcoded Docker in the graph.
- [ ] Agent constructed without __ainit__/aobject.
- [ ] Existing startup path parity (via the #1 CLI).
- [ ] pants test passes for affected packages

JIRA Issue: BA-6761

Contributor guide

Open the contributing guide

Research direction

Start in dependencies/infrastructure/docker.py:38 and trace how the composition root builds the graph and selects a ComputeBackend. Check the #1 CLI startup path for parity, then run pants test for the affected packages. Done means config selects docker, k8s, or dummy without a hardcoded Docker, and the agent no longer uses __ainit__/aobject.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, kubernetes, python
Domain
backend, cli
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.