Coverage report: /home/ellis/comp/core/lib/pod/api.lisp
Kind | Covered | All | % |
expression | 0 | 38 | 0.0 |
branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; lib/pod/api.lisp --- Libpod API model
7
curl --unix-socket /run/podman/podman.sock http://d/v4.0.0/libpod/info
9
'podman pull quay.io/containers/podman'
11
curl -XPOST --unix-socket /run/podman/podman.sock -v 'http://d/v4.0.0/images/create?fromImage=quay.io%2Fcontainers%2Fpodman'
15
curl --unix-socket /run/podman/podman.sock -v 'http://d/v4.0.0/libpod/images/json' | jq
21
(defvar *libpod-params* (make-hash-table :test #'equal))
22
(defvar *libpod-paths* (make-hash-table :test #'equal))
23
(defun register-libpod-param (name prototype)
24
(setf (gethash name *libpod-params*) prototype))
25
(defun register-libpod-path (name prototype)
26
(setf (gethash name *libpod-paths*) prototype)))
28
(defmacro register-libpod-params (&rest forms)
30
(register-libpod-param (car f) (cdr f))))
32
(defmacro register-libpod-paths (&rest forms)
34
(register-libpod-path (car f) (cdr f))))
36
;; we should really group these better
37
(register-libpod-params ("caCertFile" string)
51
("ignoreRootFS" boolean)
52
("ignoreVolumes" boolean)
54
("leaveRunning" boolean)
55
("preCheckpoint" boolean)
56
("printStats" boolean)
57
("tcpEstablished" boolean)
58
("withPrevious" boolean)
60
("changes" (vector string))
78
("names" (vector string))
80
("podmanOnly" boolean)
84
("additionalEnvVariables" (vector string)))
87
;; (when-let ((params (url:url-encode-params '(("foo" . "bar738?")))))
88
;; (concatenate 'string "?" params))
89
;; (uri:parse-uri "https://test.foo"))
91
(register-libpod-paths
93
("libpod/info" (:get))
94
("libpod/_ping" (:get))
95
("libpod/system/df" (:get))
97
("libpod/containers/json" (:get (all filters limit namespace pod size sync)))
99
("libpod/images/json" (:get (all filters)))
101
("libpod/pods/json" (:get (filters)))
103
("libpod/volumes/json" (:get (filters)))
105
("libpod/secrets/json" (:get (filters)))
107
("libpod networks/json" (:get (filters))))
109
(defstruct (libpod-request (:conc-name "REQUEST-"))
110
(path "" :type string)
111
(method :get :type keyword)
112
(params (make-array 0 :fill-pointer 0 :adjustable t) :type vector)
115
(defstruct libpod-response
118
(body nil :type (or null vector)))
120
;; (defmacro define-libpod-request (path))
121
;; (defmacro define-libpod-response (name))