Reorg
This commit is contained in:
8
.github/workflows/build.yml
vendored
8
.github/workflows/build.yml
vendored
@@ -1,16 +1,12 @@
|
|||||||
name: Build and push
|
name: Build and push
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
env:
|
env:
|
||||||
IMAGE_NAME: docker/pod-atomisthq-docker
|
IMAGE_NAME: docker/babashka-pod-docker
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@@ -46,7 +42,7 @@ jobs:
|
|||||||
org.opencontainers.image.revision=${{ env.SHA }}
|
org.opencontainers.image.revision=${{ env.SHA }}
|
||||||
tags: |
|
tags: |
|
||||||
latest
|
latest
|
||||||
v0.${{ github.run_number }}.${{ github.run_attempt }}
|
0.1.0
|
||||||
|
|
||||||
# Build and push Docker image with Buildx (don't push on PR)
|
# Build and push Docker image with Buildx (don't push on PR)
|
||||||
# https://github.com/docker/build-push-action
|
# https://github.com/docker/build-push-action
|
||||||
|
|||||||
9
.github/workflows/release.yml
vendored
9
.github/workflows/release.yml
vendored
@@ -1,8 +1,9 @@
|
|||||||
name: Release
|
name: Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
push:
|
||||||
types: [created]
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
releases-matrix:
|
releases-matrix:
|
||||||
@@ -24,7 +25,7 @@ jobs:
|
|||||||
goos: ${{ matrix.goos }}
|
goos: ${{ matrix.goos }}
|
||||||
goarch: ${{ matrix.goarch }}
|
goarch: ${{ matrix.goarch }}
|
||||||
goversion: 1.19.1
|
goversion: 1.19.1
|
||||||
binary_name: "pod-atomisthq-tools.docker"
|
binary_name: "babashka-pod-docker"
|
||||||
release_tag: ${{github.ref_name}}
|
release_tag: "0.1.0"
|
||||||
overwrite: TRUE
|
overwrite: TRUE
|
||||||
compress_assets: OFF
|
compress_assets: OFF
|
||||||
|
|||||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -1,12 +1,7 @@
|
|||||||
|
babashka-pod-docker
|
||||||
|
.calva/
|
||||||
/parser
|
/parser
|
||||||
/.clj-kondo/
|
/.clj-kondo/
|
||||||
/.cpcache/
|
/.cpcache/
|
||||||
/.lsp/
|
/.lsp/
|
||||||
/pod-babashka-docker
|
|
||||||
/pod-babashka-docker-0.1.0-macos-aarch64.zip
|
|
||||||
/pod-atomisthq-docker
|
|
||||||
/pod-atomisthq-docker-0.1.0-macos-aarch64.zip
|
|
||||||
/.nrepl-port
|
/.nrepl-port
|
||||||
/pod-atomisthq-tools.docker
|
|
||||||
/pod-atomisthq-tools.docker-0.1.0-macos-aarch64.zip
|
|
||||||
/pod-atomisthq-tools.docker-0.1.0-macos-arm64.zip
|
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ COPY main.go ./
|
|||||||
COPY docker/ ./docker/
|
COPY docker/ ./docker/
|
||||||
COPY babashka/ ./babashka/
|
COPY babashka/ ./babashka/
|
||||||
|
|
||||||
RUN CGO_ENABLED=0 go build -o pod-atomisthq-tools.docker
|
RUN CGO_ENABLED=0 go build -o babashka-pod-docker
|
||||||
|
|
||||||
FROM alpine:3.17
|
FROM alpine:3.17
|
||||||
|
ARG version
|
||||||
COPY repository/ /root/.babashka/pods/repository
|
COPY repository/ /root/.babashka/pods/repository
|
||||||
COPY --from=build /app/pod-atomisthq-tools.docker /root/.babashka/pods/repository/atomisthq/tools.docker/0.1.0
|
COPY --from=build /app/babashka-pod-docker /root/.babashka/pods/repository/docker/babashka-pod-docker/0.1.0
|
||||||
RUN chmod 755 /root/.babashka/pods/repository/atomisthq/tools.docker/0.1.0/pod-atomisthq-tools.docker
|
RUN chmod 755 /root/.babashka/pods/repository/docker/babashka-pod-docker/0.1.0/babashka-pod-docker
|
||||||
|
|||||||
29
README.md
29
README.md
@@ -9,12 +9,12 @@ This is a [babashka pod](https://github.com/babashka/pods) that binds some golan
|
|||||||
|
|
||||||
```clojure
|
```clojure
|
||||||
(require '[babashka.pods :as pods])
|
(require '[babashka.pods :as pods])
|
||||||
(pods/load-pod 'atomisthq/tools.docker "0.1.0")
|
(pods/load-pod 'docker/babashka-pod-docker "0.1.0")
|
||||||
; OR use a locally built pod binary
|
; OR use a locally built pod binary
|
||||||
#_(pods/load-pod "./pod-atomisthq-tools.docker")
|
#_(pods/load-pod "./babashka-pod-docker")
|
||||||
|
|
||||||
;; load-pod will create this namespace with two vars
|
;; load-pod will create this namespace with two vars
|
||||||
(require '[pod.atomisthq.docker :as docker])
|
(require '[docker.babashka-pod-docker :as docker])
|
||||||
|
|
||||||
;; parse image names using github.com/docker/distribution
|
;; parse image names using github.com/docker/distribution
|
||||||
;; turns golang structs into clojure maps
|
;; turns golang structs into clojure maps
|
||||||
@@ -31,25 +31,21 @@ 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\"]")
|
(docker/parse-dockerfile "FROM \\\n gcr.io/whatever:tag\nCMD [\"run\"]")
|
||||||
```
|
```
|
||||||
|
|
||||||
Loading `'atomisthq/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/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).
|
||||||
|
|
||||||
## Building
|
## Building Locally
|
||||||
|
|
||||||
To build the golang `parser` binary locally, run `go build`.
|
To build the golang `parser` binary locally, run `go build`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
go build -o pod-babashka-docker
|
go build -o babashka-pod-docker
|
||||||
```
|
|
||||||
|
|
||||||
Create `vonwig/pod-atomisthq-tools.docker` which is a manifest list with pod binaries for both `amd64` and `arm64`. This image is a good way to pull the pod binaries into skill containers.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
bb build-pod-image
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Releasing
|
## Releasing
|
||||||
|
|
||||||
Creating a release from a tag will trigger a build and release
|
All pushes to main will update the 0.1.0 release. This is becaus maintaining the pod version in the repository directory and in the pod registry is tricky.
|
||||||
|
|
||||||
|
We hope to automate all of that in the future.
|
||||||
|
|
||||||
## Namespace generation
|
## Namespace generation
|
||||||
|
|
||||||
@@ -83,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
|
;; statically define dispatch functions - this is synchronous
|
||||||
(defn parse [s]
|
(defn parse [s]
|
||||||
(impl/invoke-public "pod.atomisthq.docker" "pod.atomisthq.docker/parse-dockerfile" [s] {}))
|
(impl/invoke-public "babashka-pod-docker" "babashka-pod-docker/parse-dockerfile" [s] {}))
|
||||||
|
|
||||||
;; async example
|
;; async example
|
||||||
(defn generate-sbom [s]
|
(defn generate-sbom [s]
|
||||||
(impl/invoke-public "pod.atomisthq.docker" "pod.atomisthq.docker/-generate-sbom"
|
(impl/invoke-public "babashka-pod-docker" "babashka-pod-docker/-generate-sbom"
|
||||||
[s cb]
|
[s cb]
|
||||||
{:handlers {:done (fn [])
|
{:handlers {:done (fn [])
|
||||||
:success cb
|
:success cb
|
||||||
@@ -95,8 +91,7 @@ Here is an example of bindings that will resolve at compile-time and go through
|
|||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
(pods/load-pod 'atomisthq/tools.docker "7.3.0")
|
(pods/load-pod "/bin/babashka-pod-docker")
|
||||||
(pods/load-pod "my-executable")
|
|
||||||
```
|
```
|
||||||
|
|
||||||
This method of dispatch does not require any dynamic namespace generation.
|
This method of dispatch does not require any dynamic namespace generation.
|
||||||
|
|||||||
26
bb.edn
26
bb.edn
@@ -1,26 +0,0 @@
|
|||||||
{:tasks
|
|
||||||
{:requires ([babashka.fs :as fs])
|
|
||||||
:init (do
|
|
||||||
(def n "pod-atomisthq-tools.docker")
|
|
||||||
(def os "macos")
|
|
||||||
(def version "0.1.0"))
|
|
||||||
check-for-builder {:task (-> (shell "docker buildx inspect buildx-multi-arch"))}
|
|
||||||
setup-builder {:task (if (= 1 (:exit check-for-builder))
|
|
||||||
(shell {:continue true} "docker buildx create --name=buildx-multi-arch --driver=docker-container --driver-opt=network=host")
|
|
||||||
(println "buildx-multi-arch is already running"))
|
|
||||||
:depends [check-for-builder]}
|
|
||||||
build-pod-image {:task (shell "docker buildx build --builder=buildx-multi-arch --push --platform=linux/amd64,linux/arm64 --tag=vonwig/pod-atomisthq-tools.docker .")
|
|
||||||
:depends [setup-builder]}
|
|
||||||
|
|
||||||
build (do (shell (format "go build -o %s" n))
|
|
||||||
(fs/copy "pod-atomisthq-tools.docker" "/Users/slim/.babashka/pods/repository/atomisthq/tools.docker/0.1.0/" {:replace-existing true})
|
|
||||||
(fs/copy "pod-atomisthq-tools.docker" "/Users/slim/.vscode/extensions/docker.slim-docker-lsp-client-0.0.1/" {:replace-existing true})
|
|
||||||
(fs/copy "pod-atomisthq-tools.docker" "/Users/slim/kipz/docker-vscode-project-extension/" {:replace-existing true}))
|
|
||||||
aarch64 (do
|
|
||||||
(shell (format "zip %s-%s-%s-%s.zip %s" n version os "aarch64" n) {}))
|
|
||||||
x86 (do
|
|
||||||
(shell (format "zip %s-%s-%s-%s.zip %s" n version os "x86_64" n) {}))
|
|
||||||
linux-x86
|
|
||||||
(do
|
|
||||||
(shell (format "zip %s-%s-%s-%s.zip %s" n version "linux" "amd64" n) {}))}}
|
|
||||||
|
|
||||||
2
deps.edn
2
deps.edn
@@ -3,4 +3,4 @@
|
|||||||
babashka/process {:mvn/version "0.4.13"}
|
babashka/process {:mvn/version "0.4.13"}
|
||||||
com.cognitect/transit-clj {:mvn/version "1.0.324"}}
|
com.cognitect/transit-clj {:mvn/version "1.0.324"}}
|
||||||
:aliases {:main {:extra-paths ["main"]
|
:aliases {:main {:extra-paths ["main"]
|
||||||
:exec-fn user1/transact-hashes}}}
|
:exec-fn user/transact-hashes}}}
|
||||||
|
|||||||
69
dev/user.clj
69
dev/user.clj
@@ -1,26 +1,73 @@
|
|||||||
(ns user
|
(ns user
|
||||||
(:require [babashka.pods :as pods]
|
(:require [babashka.pods :as pods]
|
||||||
[clojure.edn :as edn]))
|
[clojure.edn :as edn]
|
||||||
|
[babashka.pods.impl :as impl]))
|
||||||
|
|
||||||
|
(defn load-pod
|
||||||
|
([pod-spec] (load-pod pod-spec nil))
|
||||||
|
([pod-spec version opts] (load-pod pod-spec (assoc opts :version version)))
|
||||||
|
([pod-spec opts]
|
||||||
|
(let [opts (if (string? opts)
|
||||||
|
{:version opts}
|
||||||
|
opts)
|
||||||
|
pod (impl/load-pod
|
||||||
|
pod-spec
|
||||||
|
(merge {:remove-ns remove-ns
|
||||||
|
:resolve (fn [sym]
|
||||||
|
(or (resolve sym)
|
||||||
|
(intern
|
||||||
|
(create-ns (symbol (namespace sym)))
|
||||||
|
(symbol (name sym)))))}
|
||||||
|
opts))]
|
||||||
|
(future (impl/processor pod))
|
||||||
|
{:pod/id (:pod-id pod)})))
|
||||||
|
|
||||||
|
(comment
|
||||||
|
(pods/load-pod 'docker/babashka-pod-docker "0.1.0")
|
||||||
|
|
||||||
|
(require '[babashka-pod-docker :as docker])
|
||||||
|
|
||||||
(pods/load-pod 'atomisthq/tools.docker "0.1.0")
|
|
||||||
(require '[pod.atomisthq.docker :as docker])
|
|
||||||
|
|
||||||
;; parse image names using github.com/docker/distribution
|
;; parse image names using github.com/docker/distribution
|
||||||
;; turns golang structs into clojure maps
|
;; turns golang structs into clojure maps
|
||||||
(docker/parse-image-name "gcr.io/whatever:tag")
|
(docker/parse-image-name "gcr.io/whatever:tag")
|
||||||
|
|
||||||
;; automatically turns golang errors into Exceptions
|
;; automatically turns golang errors into Exceptions
|
||||||
(try
|
(try
|
||||||
(docker/parse-image-name "gcr.io/whatever/:tag")
|
(docker/parse-image-name "gcr.io/whatever/:tag")
|
||||||
(catch Exception e
|
(catch Exception e
|
||||||
;; invalid reference format
|
;; invalid reference format
|
||||||
(println (.getMessage e))))
|
(println (.getMessage e))))
|
||||||
|
|
||||||
|
|
||||||
;; parse dockerfiles using github.com/moby/buildkit
|
;; parse dockerfiles using github.com/moby/buildkit
|
||||||
;; returns the Result struct transformed to a clojure map
|
;; returns the Result struct transformed to a clojure map
|
||||||
(docker/parse-dockerfile "FROM \\\n gcr.io/whatever:tag\nCMD [\"run\"]")
|
(docker/parse-dockerfile "FROM \\\n gcr.io/whatever:tag\nCMD [\"run\"]")
|
||||||
|
|
||||||
|
|
||||||
;; run sbom generation on local image
|
;; run sbom generation on local image
|
||||||
(docker/sbom "vonwig/clojure-base:jdk17" (fn [event] (println event)))
|
(docker/sbom "vonwig/clojure-base:jdk17" (fn [event] (println event)))
|
||||||
|
|
||||||
(docker/hashes "vonwig/malware1:latest" (fn [event] (println event)))
|
|
||||||
|
|
||||||
|
(docker/hashes "vonwig/malware1:latest" (fn [event] (println event)))
|
||||||
|
)
|
||||||
|
|
||||||
|
(defn generate-sbom
|
||||||
|
[image]
|
||||||
|
(impl/invoke-public
|
||||||
|
"docker.babashka-pod-docker"
|
||||||
|
"babashka-pod-docker/generate-sbom"
|
||||||
|
[image "" ""]
|
||||||
|
{:handlers {:done (fn [] (println "Done"))
|
||||||
|
:success (fn [msg] (println "msg: " msg))
|
||||||
|
:error (fn [_err] #_"TODO: handle this error")}}))
|
||||||
|
|
||||||
|
(comment
|
||||||
|
(println (load-pod "./babashka-pod-docker"))
|
||||||
|
(impl/invoke-public
|
||||||
|
"docker.babashka-pod-docker"
|
||||||
|
"babashka-pod-docker/parse-image-name"
|
||||||
|
["ubuntu:latest"]
|
||||||
|
{})
|
||||||
|
(generate-sbom "alpine")
|
||||||
|
)
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ func ProcessMessage(message *babashka.Message) (any, error) {
|
|||||||
Format: "json",
|
Format: "json",
|
||||||
Namespaces: []babashka.Namespace{
|
Namespaces: []babashka.Namespace{
|
||||||
{
|
{
|
||||||
Name: "pod.atomisthq.docker",
|
Name: "docker.babashka-pod-docker",
|
||||||
Vars: []babashka.Var{
|
Vars: []babashka.Var{
|
||||||
{
|
{
|
||||||
Name: "parse-image-name",
|
Name: "parse-image-name",
|
||||||
@@ -126,8 +126,8 @@ func ProcessMessage(message *babashka.Message) (any, error) {
|
|||||||
(sbom image cb {}))
|
(sbom image cb {}))
|
||||||
([image cb opts]
|
([image cb opts]
|
||||||
(babashka.pods/invoke
|
(babashka.pods/invoke
|
||||||
"pod.atomisthq.docker"
|
"docker.babashka-pod-docker"
|
||||||
'pod.atomisthq.docker/-generate-sbom
|
'babashka-pod-docker/generate-sbom
|
||||||
[image]
|
[image]
|
||||||
{:handlers {:success (fn [event]
|
{:handlers {:success (fn [event]
|
||||||
(cb event))
|
(cb event))
|
||||||
@@ -144,8 +144,8 @@ func ProcessMessage(message *babashka.Message) (any, error) {
|
|||||||
(hashes image cb {}))
|
(hashes image cb {}))
|
||||||
([image cb opts]
|
([image cb opts]
|
||||||
(babashka.pods/invoke
|
(babashka.pods/invoke
|
||||||
"pod.atomisthq.docker"
|
"docker.babashka-pod-docker"
|
||||||
'pod.atomisthq.docker/-generate-hashes
|
'babashka-pod-docker/generate-hashes
|
||||||
[image]
|
[image]
|
||||||
{:handlers {:success (fn [event]
|
{:handlers {:success (fn [event]
|
||||||
(cb event))
|
(cb event))
|
||||||
@@ -160,21 +160,21 @@ func ProcessMessage(message *babashka.Message) (any, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
case "invoke":
|
case "invoke":
|
||||||
switch message.Var {
|
switch message.Var {
|
||||||
case "pod.atomisthq.docker/parse-image-name":
|
case "babashka-pod-docker/parse-image-name":
|
||||||
args := []string{}
|
args := []string{}
|
||||||
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return parse_uri(args[0])
|
return parse_uri(args[0])
|
||||||
case "pod.atomisthq.docker/parse-dockerfile":
|
case "babashka-pod-docker/parse-dockerfile":
|
||||||
args := []string{}
|
args := []string{}
|
||||||
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
reader := strings.NewReader(args[0])
|
reader := strings.NewReader(args[0])
|
||||||
return parser.Parse(reader)
|
return parser.Parse(reader)
|
||||||
case "pod.atomisthq.docker/-generate-sbom":
|
case "babashka-pod-docker/generate-sbom":
|
||||||
args := []string{}
|
args := []string{}
|
||||||
|
|
||||||
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
||||||
@@ -193,7 +193,7 @@ func ProcessMessage(message *babashka.Message) (any, error) {
|
|||||||
}
|
}
|
||||||
return "done", nil
|
return "done", nil
|
||||||
|
|
||||||
case "pod.atomisthq.docker/-generate-hashes":
|
case "babashka-pod-docker/generate-hashes":
|
||||||
args := []string{}
|
args := []string{}
|
||||||
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
57
main.clj
57
main.clj
@@ -1,57 +0,0 @@
|
|||||||
(ns main
|
|
||||||
(:require [babashka.pods :as pods]
|
|
||||||
[clojure.edn :as edn]
|
|
||||||
[babashka.curl :as curl]
|
|
||||||
[clojure.string :as string]))
|
|
||||||
|
|
||||||
(def x (pods/load-pod 'atomisthq/tools.docker "0.1.0"))
|
|
||||||
(require '[pod.atomisthq.docker :as docker])
|
|
||||||
|
|
||||||
(defn do-transaction [all-hashes transactions m token digest]
|
|
||||||
(let [tx-data (->> @all-hashes
|
|
||||||
(filter (fn [{:keys [path]}] (if path (string/includes? path ".exe"))))
|
|
||||||
(mapcat (fn [{:keys [hash diff-id]}]
|
|
||||||
(let [blob-digest (get m diff-id)]
|
|
||||||
(if blob-digest
|
|
||||||
[{:schema/entity blob-digest
|
|
||||||
:schema/entity-type :docker.image/blob
|
|
||||||
:docker.image.blob/digest blob-digest}
|
|
||||||
{:schema/entity-type :docker.image.blob/file
|
|
||||||
:docker.image.blob.file/sha256 hash
|
|
||||||
:docker.image.blob.file/blob blob-digest}]
|
|
||||||
(do
|
|
||||||
(println diff-id "not in " m)
|
|
||||||
[])))))
|
|
||||||
(into []))]
|
|
||||||
(try
|
|
||||||
(println "tx-data" tx-data)
|
|
||||||
(println
|
|
||||||
(curl/post transactions
|
|
||||||
{:body (pr-str {:transactions [{:data tx-data}]})
|
|
||||||
:headers {"Authorization" (format "Bearer %s" token)
|
|
||||||
"Content-Type" "application/edn"}}))
|
|
||||||
(println
|
|
||||||
(curl/post transactions
|
|
||||||
{:body (pr-str {:transactions [{:data [{:docker.image/digest digest
|
|
||||||
:schema/entity-type :docker/image
|
|
||||||
:malware.status/indexed :malware.status.indexed/complete}]}]})
|
|
||||||
:headers {"Authorization" (format "Bearer %s" token)
|
|
||||||
"Content-Type" "application/edn"}}))
|
|
||||||
(System/exit 0)
|
|
||||||
(catch Throwable t
|
|
||||||
(println "error " t)
|
|
||||||
(System/exit 1)))))
|
|
||||||
|
|
||||||
(defn transact-hashes [{:keys [image digest m transactions token]}]
|
|
||||||
(println image digest transactions)
|
|
||||||
(let [all-hashes (atom [])]
|
|
||||||
(docker/hashes image (fn [event]
|
|
||||||
(if (= "done" (:status event))
|
|
||||||
(do-transaction all-hashes transactions m token digest)
|
|
||||||
(swap! all-hashes conj (edn/read-string event)))))))
|
|
||||||
|
|
||||||
#_(let [[image digest m transaction-url token] *command-line-args*]
|
|
||||||
(transact-hashes {:image image :digest digest :diff-id->digest (edn/read-string m) :transaction-url transaction-url :token token}))
|
|
||||||
|
|
||||||
(transact-hashes (edn/read-string (slurp "/Users/slim/atmhq/malware/test1.edn")))
|
|
||||||
(while true (Thread/sleep 5000))
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
export ATOMIST_LOG_LEVEL=warn; $(dirname "$0")/pod-atomisthq-tools.docker
|
|
||||||
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{:pod/name atomisthq/tools.docker
|
|
||||||
:pod/description "docker golang utils for clojure"
|
|
||||||
:pod/version "0.1.0"
|
|
||||||
:pod/license "Apache"
|
|
||||||
:pod/example "https://raw.githubusercontent.com/atomisthq/pod-atomisthq-tools.docker/main/dev/user.clj"
|
|
||||||
:pod/language "go"
|
|
||||||
:pod/artifacts
|
|
||||||
[{:os/name "Linux.*"
|
|
||||||
:os/arch "amd64"
|
|
||||||
:artifact/url "https://github.com/atomisthq/pod-atomisthq-tools.docker/releases/download/v0.1.0/pod-atomisthq-tools.docker-0.1.0-linux-amd64.zip"
|
|
||||||
:artifact/executable "go.sh"}
|
|
||||||
{:os/name "Mac.*"
|
|
||||||
:os/arch "x86_64"
|
|
||||||
:artifact/url "https://github.com/atomisthq/pod-atomisthq-tools.docker/releases/download/v0.1.0/pod-atomisthq-tools.docker-0.1.0-macos-x86_64.zip"
|
|
||||||
:artifact/executable "go.sh"}
|
|
||||||
{:os/name "Mac.*"
|
|
||||||
:os/arch "aarch64"
|
|
||||||
:artifact/url "https://github.com/atomisthq/pod-atomisthq-tools.docker/releases/download/v0.1.0/pod-atomisthq-tools.docker-0.1.0-macos-arm64.zip"
|
|
||||||
:artifact/executable "go.sh"}
|
|
||||||
{:os/name "Linux.*"
|
|
||||||
:os/arch "aarch64"
|
|
||||||
:artifact/url "https://github.com/atomisthq/pod-atomisthq-tools.docker/releases/download/v0.1.0/pod-atomisthq-tools.docker-0.1.0-linux-arm64.zip"
|
|
||||||
:artifact/executable "go.sh"}]}
|
|
||||||
|
|
||||||
3
repository/docker/babashka-pod-docker/0.1.0/go.sh
Executable file
3
repository/docker/babashka-pod-docker/0.1.0/go.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export ATOMIST_LOG_LEVEL=warn; $(dirname "$0")/babashka-pod-docker
|
||||||
23
repository/docker/babashka-pod-docker/0.1.0/manifest.edn
Normal file
23
repository/docker/babashka-pod-docker/0.1.0/manifest.edn
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{:pod/name docker/babashka-pod-docker
|
||||||
|
:pod/description "docker golang utils for clojure"
|
||||||
|
:pod/version "0.1.0"
|
||||||
|
:pod/license "Apache"
|
||||||
|
:pod/example "https://raw.githubusercontent.com/docker/babashka-pod-docker/main/dev/user.clj"
|
||||||
|
:pod/language "go"
|
||||||
|
:pod/artifacts
|
||||||
|
[{: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"}
|
||||||
|
{: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"}
|
||||||
|
{: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"}
|
||||||
|
{: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"}]}
|
||||||
Reference in New Issue
Block a user