You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 18, 2025. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
## Background
2
2
3
-
This is a [babashka pod](https://github.com/babashka/pods) that binds some golang functions into a clojure namespace. Using this pod, clojure programs can parse dockerfiles and docker images names using the "official" docker golang libraries.
3
+
This is a [babashka pod](https://github.com/babashka/pods) that binds some golang functions into a clojure namespace. Using this pod, clojure programs can parse dockerfiles and docker images names using the "official" docker golang libraries.
4
4
5
5
*[`github.com/docker/distribution/reference`](https://github.com/distribution/distribution/blob/main/reference/reference.go) (for image name parsing)
6
6
*[`github.com/moby/buildkit/frontend/dockerfile/parser`](https://github.com/moby/buildkit/blob/master/frontend/dockerfile/parser/parser.go) (for generating a Dockerfile AST).
@@ -16,13 +16,13 @@ This is a [babashka pod](https://github.com/babashka/pods) that binds some golan
16
16
;; load-pod will create this namespace with two vars
17
17
(require '[pod.atomisthq.docker :as docker])
18
18
19
-
;; parse image names using github.com/docker/distribution
19
+
;; parse image names using github.com/docker/distribution
20
20
;; turns golang structs into clojure maps
21
-
(docker/parse-image-name"gcr.io/whatever:tag")
21
+
(docker/parse-image-name"gcr.io/whatever:tag")
22
22
;; automatically turns golang errors into Exceptions
23
23
(try
24
24
(docker/parse-image-name"gcr.io/whatever/:tag")
25
-
(catch Exception e
25
+
(catch Exception e
26
26
;; invalid reference format
27
27
(println (.getMessage e))))
28
28
@@ -47,6 +47,10 @@ Create `vonwig/pod-atomisthq-tools.docker` which is a manifest list with pod bin
47
47
bb build-pod-image
48
48
```
49
49
50
+
## Releasing
51
+
52
+
Pushing a tag (like v0.1.1) will cause a GitHub release to be created
53
+
50
54
## Namespace generation
51
55
52
56
The `pods/load-pod` call is convenient for a repl-session, or a script, but what if you are `aot` compiling, or building a native binary. In the example above, the namespaces emitted by `pods/load-pod` are not available until runtime.
@@ -83,8 +87,8 @@ Here is an example of bindings that will resolve at compile-time and go through
0 commit comments