changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/lib/pod/pkg.lisp

changeset 698: 96958d3eb5b0
parent: 7a7e6c273f52
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
142
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
1
 ;;; lib/pod/pkg.lisp --- Pod package defs
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
2
 
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
3
 ;; Pod is a Lisp system for interacting with container runtimes --
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
4
 ;; i.e. Podman/Libpod.
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
5
 
388
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
6
 ;;; Commentary:
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
7
 
142
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
8
 ;; Podman supports a RESTful API which is described here:
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
9
 ;; https://docs.podman.io/en/latest/_static/api.html
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
10
 
388
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
11
 ;; The API is the best way to interact with containers in almost all cases but
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
12
 ;; there are a few utilities for initializing the podman server or spawning
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
13
 ;; one in a user process when supported.
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
14
 
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
15
 ;; Once the podman API is up and running the functions in this library can be
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
16
 ;; used to make requests such as starting a container or building an image.
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
17
 
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
18
 ;; We also provide support for composing and parsing Containerfiles from Lisp
dec30b6fd500 prelude/user packages init
Richard Westhaver <ellis@rwest.io>
parents: 166
diff changeset
19
 ;; for easy integration into applications.
142
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
20
 
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
21
 ;;; Code:
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
22
 (defpackage :pod
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents: 142
diff changeset
23
   (:use :cl :std :cli :sb-bsd-sockets :net :dat/json)
142
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
24
   (:export
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
25
    :*podman-api-version* :*podman-exe* :*buildah-exe*
161
ellis <ellis@rwest.io>
parents: 157
diff changeset
26
    :*podman-local-user-socket*
ellis <ellis@rwest.io>
parents: 157
diff changeset
27
    :pod-error :podman-error :libpod-error
142
f85a2fac1ed7 switched to dexador, initialized pod api package
ellis <ellis@rwest.io>
parents:
diff changeset
28
    :decode-podman-response :encode-podman-request
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents: 142
diff changeset
29
    :podman-request :podman-response
161
ellis <ellis@rwest.io>
parents: 157
diff changeset
30
    :libpod-request :libpod-request-json
441
9fa3b9154bb2 add pod/containerfile, rm pod/buildah, some work on zstd
Richard Westhaver <ellis@rwest.io>
parents: 388
diff changeset
31
    :start-podman-service :libpod-client
9fa3b9154bb2 add pod/containerfile, rm pod/buildah, some work on zstd
Richard Westhaver <ellis@rwest.io>
parents: 388
diff changeset
32
    :containerfile :*containerfile-predefined-args*
469
7354623e5b54 define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents: 441
diff changeset
33
    :containerfile-args :containerfile-path :containerfile-steps :containerfile-base
490
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
34
    :with-libpod-client :*default-containerfile*))