Rewrite kuryr-cni in golang to make it a binary
Currently kuryr-cni executable that serves as CNI plugin is a bash script with several dependencies:
- docker or runc binary
- python
- curl
This poses issues when those binaries are not available, which is the case for e.g. Magnum, where kubelet runs inside a minimal container.
To work this around we could just make kuryr-cni a golang binary. This wasn't considered before, because running without kuryr-daemon was supported, so binary would be quite complicated. At this moment such a binary would just process CNI information and pass them to kuryr-daemon. This is quite trivial and lets us to use CNI libraries that are available in golang, so we'll make sure we're compliant to any standard.
The code the golang binary should replace is here: https:/
Blueprint information
- Status:
- Complete
- Approver:
- Antoni Segura Puimedon
- Priority:
- Undefined
- Drafter:
- Michal Dulko
- Direction:
- Approved
- Assignee:
- Michal Dulko
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Michal Dulko
- Completed by
- Michal Dulko
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Implement kuryr-cni in golang
Addressed by: https:/
test
Addressed by: https:/
Add release note and docs about golang kuryr-cni