diff --git a/README.md b/README.md index e79a9eb..0eda90b 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/dev/user.clj b/dev/user.clj index 6877c9d..a48353b 100644 --- a/dev/user.clj +++ b/dev/user.clj @@ -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") diff --git a/docker/ops.go b/docker/ops.go index 5363839..9ca00f6 100644 --- a/docker/ops.go +++ b/docker/ops.go @@ -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 diff --git a/repository/docker/babashka-pod-docker/0.1.0/go.sh b/repository/docker/babashka-pod-docker/0.1.0/go.sh deleted file mode 100755 index 53477bd..0000000 --- a/repository/docker/babashka-pod-docker/0.1.0/go.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -export ATOMIST_LOG_LEVEL=warn; $(dirname "$0")/babashka-pod-docker diff --git a/repository/docker/babashka-pod-docker/0.1.0/manifest.edn b/repository/docker/docker-tools/0.1.0/manifest.edn similarity index 80% rename from repository/docker/babashka-pod-docker/0.1.0/manifest.edn rename to repository/docker/docker-tools/0.1.0/manifest.edn index fc00e60..ab5ea61 100644 --- a/repository/docker/babashka-pod-docker/0.1.0/manifest.edn +++ b/repository/docker/docker-tools/0.1.0/manifest.edn @@ -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"}]}