Zelphir Kaltstahl 3a38bf362e reformat document 5 lat temu
..
curl-commands.org 6e7987992b add a todo list for the Guile docker API client 5 lat temu
docker.scm 1aba0c8849 now able to pass filters specified in guile-json's JSON representation 5 lat temu
main.scm dc477130dc add unix socket example 5 lat temu
readme-docker.org 3a38bf362e reformat document 5 lat temu

readme-docker.org

To do [0/5] [0%]

  • [ ] data abstraction layer for things like the structure of a filters argument for GET
  • ~/containers/json~.

If guile-json changes its Scheme representation of JSON values, we should be able to translate this docker API client by only changing things in one place, instead of having to change everything. The idea goes as follows:

  • We need some in-between object, which we define ourselves.
  • The in-between object can store arbitrary data, which is translated back to url-encoded
  • (percent-encoded) JSON strings for use cases of the docker UNIX socket API.
  • This in-between object is used everywhere in the library, instead of building the expected
  • structure for ~guile-json~ everywhere.
  • We write code to get the current guile-json Scheme JSON representation from the in-between
  • object.
  • The in-between object should be very easy to create.
  • For now the in-between object can be just the representation the guile-json library makes use
  • of. It only needs to be passed through a constructor and a transforming procedure, which both do no transformation, as there is no change in ~guile-json~ yet.
  • [ ] Implement more routes to witness more (edge) cases to be able to choose good abstractions.
  • [ ] Document the idea of having multiple levels of docker API calls (all routes, combination of
  • routes, and higher level calls, which are arbitrary combinations of combinations of calls).
  • [ ] Implement checks for arguments according to a defined docker UNIX socket API version.
  • [ ] Define which docker UNIX socket API version the library is written to work with and pay
  • attention to making it work with that version.