Rename for publication in pod registry

This commit is contained in:
James Carnegie
2023-03-15 15:06:52 +00:00
committed by James Carnegie
parent 67eab57f32
commit caa1580ee1
5 changed files with 25 additions and 27 deletions

View File

@@ -9,7 +9,7 @@ This is a [babashka pod](https://github.com/babashka/pods) that binds some golan
```clojure
(require '[babashka.pods :as pods])
(pods/load-pod 'docker/babashka-pod-docker "0.1.0")
(pods/load-pod 'docker/docker-tools "0.1.0")
; OR use a locally built pod binary
#_(pods/load-pod "./babashka-pod-docker")
@@ -31,7 +31,7 @@ This is a [babashka pod](https://github.com/babashka/pods) that binds some golan
(docker/parse-dockerfile "FROM \\\n gcr.io/whatever:tag\nCMD [\"run\"]")
```
Loading `'docker/babashka-pod-docker` from the pod registry will download the binary into `${user.home}/.babashka/pods/registry` (the `$BABASHKA_PODS_DIR` environment variable will be used if it exists).
Loading `'docker/docker-tools` from the pod registry will download the binary into `${user.home}/.babashka/pods/registry` (the `$BABASHKA_PODS_DIR` environment variable will be used if it exists).
## Building Locally
@@ -79,11 +79,11 @@ Here is an example of bindings that will resolve at compile-time and go through
;; statically define dispatch functions - this is synchronous
(defn parse [s]
(impl/invoke-public "babashka-pod-docker" "babashka-pod-docker/parse-dockerfile" [s] {}))
(impl/invoke-public "docker.docker-tools" "docker.babashka-pod-docker/parse-dockerfile" [s] {}))
;; async example
(defn generate-sbom [s]
(impl/invoke-public "babashka-pod-docker" "babashka-pod-docker/-generate-sbom"
(impl/invoke-public "docker.docker-tools" "docker.babashka-pod-docker/generate-sbom"
[s cb]
{:handlers {:done (fn [])
:success cb

View File

@@ -23,9 +23,9 @@
{:pod/id (:pod-id pod)})))
(comment
(pods/load-pod 'docker/babashka-pod-docker "0.1.0")
(pods/load-pod 'docker.docker-tools "0.1.0")
(require '[babashka-pod-docker :as docker])
(require '[docker.babashka-pod-docker :as docker])
;; parse image names using github.com/docker/distribution
@@ -55,8 +55,8 @@
(defn generate-sbom
[image]
(impl/invoke-public
"docker.babashka-pod-docker"
"babashka-pod-docker/generate-sbom"
"docker.docker-tools"
"docker.babashka-pod-docker/generate-sbom"
[image "" ""]
{:handlers {:done (fn [] (println "Done"))
:success (fn [msg] (println "msg: " msg))
@@ -65,8 +65,8 @@
(comment
(println (load-pod "./babashka-pod-docker"))
(impl/invoke-public
"docker.babashka-pod-docker"
"babashka-pod-docker/generate-sbom"
"docker.docker-tools"
"docker.babashka-pod-docker/generate-sbom"
["ubuntu:latest" "" ""]
{})
(generate-sbom "alpine")

View File

@@ -110,7 +110,8 @@ func ProcessMessage(message *babashka.Message) (any, error) {
Format: "json",
Namespaces: []babashka.Namespace{
{
Name: "docker.babashka-pod-docker",
// this is the pod-id
Name: "docker.docker-tools",
Vars: []babashka.Var{
{
Name: "parse-image-name",
@@ -126,8 +127,8 @@ func ProcessMessage(message *babashka.Message) (any, error) {
(sbom image cb {}))
([image cb opts]
(babashka.pods/invoke
"docker.babashka-pod-docker"
'babashka-pod-docker/generate-sbom
"docker.docker-tools"
'docker.babashka-pod-docker/generate-sbom
[image]
{:handlers {:success (fn [event]
(cb event))
@@ -144,8 +145,8 @@ func ProcessMessage(message *babashka.Message) (any, error) {
(hashes image cb {}))
([image cb opts]
(babashka.pods/invoke
"docker.babashka-pod-docker"
'babashka-pod-docker/generate-hashes
"docker.docker-tools"
'docker.babashka-pod-docker/generate-hashes
[image]
{:handlers {:success (fn [event]
(cb event))
@@ -160,21 +161,21 @@ func ProcessMessage(message *babashka.Message) (any, error) {
}, nil
case "invoke":
switch message.Var {
case "babashka-pod-docker/parse-image-name":
case "docker.babashka-pod-docker/parse-image-name":
args := []string{}
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
return nil, err
}
return parse_uri(args[0])
case "babashka-pod-docker/parse-dockerfile":
case "docker.babashka-pod-docker/parse-dockerfile":
args := []string{}
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
return nil, err
}
reader := strings.NewReader(args[0])
return parser.Parse(reader)
case "babashka-pod-docker/generate-sbom":
case "docker.babashka-pod-docker/generate-sbom":
args := []string{}
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
@@ -193,7 +194,7 @@ func ProcessMessage(message *babashka.Message) (any, error) {
}
return "done", nil
case "babashka-pod-docker/generate-hashes":
case "docker.babashka-pod-docker/generate-hashes":
args := []string{}
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
return nil, err

View File

@@ -1,3 +0,0 @@
#!/bin/sh
export ATOMIST_LOG_LEVEL=warn; $(dirname "$0")/babashka-pod-docker

View File

@@ -1,4 +1,4 @@
{:pod/name docker/babashka-pod-docker
{:pod/name docker/docker-tools
:pod/description "docker golang utils for clojure"
:pod/version "0.1.0"
:pod/license "Apache"
@@ -8,16 +8,16 @@
[{:os/name "Linux.*"
:os/arch "amd64"
:artifact/url "https://github.com/docker/babashka-pod-docker/releases/download/v0.1.0/babashka-pod-docker-0.1.0-linux-amd64.zip"
:artifact/executable "go.sh"}
:artifact/executable "babashka-pod-docker"}
{:os/name "Mac.*"
:os/arch "x86_64"
:artifact/url "https://github.com/docker/babashka-pod-docker/releases/download/v0.1.0/babashka-pod-docker-0.1.0-macos-x86_64.zip"
:artifact/executable "go.sh"}
:artifact/executable "babashka-pod-docker"}
{:os/name "Mac.*"
:os/arch "aarch64"
:artifact/url "https://github.com/docker/babashka-pod-docker/releases/download/v0.1.0/babashka-pod-docker-0.1.0-macos-arm64.zip"
:artifact/executable "go.sh"}
:artifact/executable "babashka-pod-docker"}
{:os/name "Linux.*"
:os/arch "aarch64"
:artifact/url "https://github.com/docker/babashka-pod-docker/releases/download/v0.1.0/babashka-pod-docker-0.1.0-linux-arm64.zip"
:artifact/executable "go.sh"}]}
:artifact/executable "babashka-pod-docker"}]}