mbox series

[00/13] Native Docker Support

Message ID 20231120155459.45188-1-stefano.babic@swupdate.org
Headers show
Series Native Docker Support | expand

Message

Stefano Babic Nov. 20, 2023, 3:54 p.m. UTC
This extends channel_curl functionalities to implement the REST API for
Docker (Podman to be tested). Currently, SWUpdate relies on gleu logic / scripts
to load containers, and one main disadvantage is that streaming mode is not used.

Not only, the update of the container can be done with rules inside sw-description
without external logic.

Stefano Babic (13):
  curl: add support for Unix Domain Socket
  Cleanup and factorize channel_curl POST/PUT/PATCH
  channel_curl: rename put_read_callback to read_callback
  swuforwarder: fix error branch in curl read callback
  channel_curl: add fifo to read callback
  channel_curl: add DELETE method
  Improve comments in the channel_curl
  channel API: add a put_file entry point
  channel_curl: implement put_file entry point
  channel_curl: allow different content-type for send and receive
  channel_curl: implement DELETE as part of put
  channel_curl: BUG: endloop if no answer is returned
  Add support for docker

 Kconfig                       |   3 +
 Makefile                      |   2 +-
 containers/docker.c           | 237 ++++++++++++++++++++++++++
 containers/docker.h           |  32 ++++
 corelib/channel_curl.c        | 209 ++++++++++++++++-------
 doc/source/handlers.rst       | 132 +++++++++++++++
 handlers/Makefile             |   1 +
 handlers/docker_handler.c     | 307 ++++++++++++++++++++++++++++++++++
 handlers/swuforward_handler.c |  13 +-
 include/channel.h             |   1 +
 include/channel_curl.h        |  33 +++-
 11 files changed, 895 insertions(+), 75 deletions(-)
 create mode 100644 containers/docker.c
 create mode 100644 containers/docker.h
 create mode 100644 handlers/docker_handler.c