Compare commits
44 Commits
0.1.0
...
0.2.0+scou
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb0a187c6f | ||
|
|
acee7d2996 | ||
|
|
64e8ebd9aa | ||
|
|
4c3e1a916d | ||
|
|
d8f02e88a8 | ||
|
|
ea6437da47 | ||
|
|
58a00c1c28 | ||
|
|
db72a473db | ||
|
|
788e58e2d9 | ||
|
|
f5ba5c5c5e | ||
|
|
57d845359d | ||
|
|
c6d52b5a12 | ||
|
|
1595c5de2c | ||
|
|
b047c9d317 | ||
|
|
797749d161 | ||
|
|
b158093722 | ||
|
|
ea27d25734 | ||
|
|
1871153199 | ||
|
|
69ad587e88 | ||
|
|
68f1952059 | ||
|
|
b70293a17f | ||
|
|
5e8e38fb72 | ||
|
|
711ff81119 | ||
|
|
fc9040027d | ||
|
|
d8c86b4c99 | ||
|
|
dd29e41dd1 | ||
|
|
b8d4b18bd6 | ||
|
|
ce5b1520f8 | ||
|
|
11a7d10ea7 | ||
|
|
68430613f1 | ||
|
|
3b689d3762 | ||
|
|
5ef7e9ef1c | ||
|
|
63d3cc2f0a | ||
|
|
4f77f40fb2 | ||
|
|
c8635d37fa | ||
|
|
caa1580ee1 | ||
|
|
67eab57f32 | ||
|
|
3096e87b04 | ||
|
|
51e92b403b | ||
|
|
9c982ecf3b | ||
|
|
6e69c80c9b | ||
|
|
a8e8f0df16 | ||
|
|
57cb1806f4 | ||
|
|
292f7ec3cc |
@@ -1 +1,32 @@
|
||||
pod-atomisthq-tools.docker
|
||||
# Include any files or directories that you don't want to be copied to your
|
||||
# container here (e.g., local build artifacts, temporary files, etc.).
|
||||
#
|
||||
# For more help, visit the .dockerignore file reference guide at
|
||||
# https://docs.docker.com/engine/reference/builder/#dockerignore-file
|
||||
|
||||
**/.DS_Store
|
||||
**/.classpath
|
||||
**/.dockerignore
|
||||
**/.env
|
||||
**/.git
|
||||
**/.gitignore
|
||||
**/.project
|
||||
**/.settings
|
||||
**/.toolstarget
|
||||
**/.vs
|
||||
**/.vscode
|
||||
**/*.*proj.user
|
||||
**/*.dbmdl
|
||||
**/*.jfm
|
||||
**/bin
|
||||
**/charts
|
||||
**/docker-compose*
|
||||
**/compose*
|
||||
**/Dockerfile*
|
||||
**/node_modules
|
||||
**/npm-debug.log
|
||||
**/obj
|
||||
**/secrets.dev.yaml
|
||||
**/values.dev.yaml
|
||||
LICENSE
|
||||
README.md
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
name: Build and push
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
env:
|
||||
IMAGE_NAME: docker/babashka-pod-docker
|
||||
@@ -28,8 +31,8 @@ jobs:
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
|
||||
with:
|
||||
username: dockerbuildbot
|
||||
password: ${{ secrets.DOCKERBUILDBOT_WRITE_PAT }}
|
||||
username: ${{ secrets.HUB_USER }}
|
||||
password: ${{ secrets.HUB_PAT }}
|
||||
|
||||
# Extract metadata (tags, labels) for Docker
|
||||
# https://github.com/docker/metadata-action
|
||||
@@ -42,7 +45,7 @@ jobs:
|
||||
org.opencontainers.image.revision=${{ env.SHA }}
|
||||
tags: |
|
||||
latest
|
||||
0.1.0
|
||||
${{github.ref_name}}
|
||||
|
||||
# Build and push Docker image with Buildx (don't push on PR)
|
||||
# https://github.com/docker/build-push-action
|
||||
@@ -55,3 +58,5 @@ jobs:
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
secrets: |
|
||||
"gitghatoken=${{ secrets.GHA_REPO_TOKEN }}"
|
||||
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@@ -3,7 +3,7 @@ name: Release
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
releases-matrix:
|
||||
@@ -21,11 +21,11 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: wangyoucao577/go-release-action@v1.35
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
github_token: ${{ secrets.GHA_REPO_TOKEN }}
|
||||
goos: ${{ matrix.goos }}
|
||||
goarch: ${{ matrix.goarch }}
|
||||
goversion: 1.19.1
|
||||
binary_name: "babashka-pod-docker"
|
||||
release_tag: "0.1.0"
|
||||
release_tag: "0.2.0"
|
||||
overwrite: TRUE
|
||||
compress_assets: OFF
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -5,3 +5,6 @@ babashka-pod-docker
|
||||
/.cpcache/
|
||||
/.lsp/
|
||||
/.nrepl-port
|
||||
/vendor/
|
||||
/result
|
||||
/.direnv/
|
||||
|
||||
16
Dockerfile
16
Dockerfile
@@ -1,20 +1,26 @@
|
||||
FROM golang:1.19-alpine AS build
|
||||
FROM golang:1.21-alpine AS build
|
||||
|
||||
RUN apk --no-cache add git openssh-client
|
||||
|
||||
ENV GOPRIVATE=github.com/docker
|
||||
RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts
|
||||
RUN --mount=type=secret,id=gitghatoken ( git config --global url."https://x-access-token:$(cat /run/secrets/gitghatoken)@github.com/docker".insteadOf "https://github.com/docker")
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY go.mod ./
|
||||
COPY go.sum ./
|
||||
|
||||
RUN go mod download
|
||||
RUN GOPRIVATE=github.com/docker go mod download
|
||||
|
||||
COPY main.go ./
|
||||
COPY docker/ ./docker/
|
||||
COPY babashka/ ./babashka/
|
||||
|
||||
RUN CGO_ENABLED=0 go build -o babashka-pod-docker
|
||||
RUN CGO_ENABLED=0 go build -ldflags "-s -w" -o babashka-pod-docker
|
||||
|
||||
FROM alpine:3.17
|
||||
ARG version
|
||||
COPY repository/ /root/.babashka/pods/repository
|
||||
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/docker/babashka-pod-docker/0.1.0/babashka-pod-docker
|
||||
COPY --from=build /app/babashka-pod-docker /root/.babashka/pods/repository/docker/docker-tools/0.1.0
|
||||
RUN chmod 755 /root/.babashka/pods/repository/docker/docker-tools/0.1.0/babashka-pod-docker
|
||||
|
||||
72
Dockerfile.init
Normal file
72
Dockerfile.init
Normal file
@@ -0,0 +1,72 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
# Comments are provided throughout this file to help you get started.
|
||||
# If you need more help, visit the Dockerfile reference guide at
|
||||
# https://docs.docker.com/engine/reference/builder/
|
||||
|
||||
################################################################################
|
||||
# Create a stage for building the application.
|
||||
ARG GO_VERSION=1.19
|
||||
FROM golang:${GO_VERSION} AS build
|
||||
WORKDIR /src
|
||||
|
||||
# Download dependencies as a separate step to take advantage of Docker's caching.
|
||||
# Leverage a cache mount to /go/pkg/mod/ to speed up subsequent builds.
|
||||
# Leverage bind mounts to go.sum and go.mod to avoid having to copy them into
|
||||
# the container.
|
||||
RUN --mount=type=cache,target=/go/pkg/mod/ \
|
||||
--mount=type=bind,source=go.sum,target=go.sum \
|
||||
--mount=type=bind,source=go.mod,target=go.mod \
|
||||
go mod download -x
|
||||
|
||||
# Build the application.
|
||||
# Leverage a cache mount to /go/pkg/mod/ to speed up subsequent builds.
|
||||
# Leverage a bind mount to the current directory to avoid having to copy the
|
||||
# source code into the container.
|
||||
RUN --mount=type=cache,target=/go/pkg/mod/ \
|
||||
--mount=type=bind,target=. \
|
||||
CGO_ENABLED=0 go build -o /bin/server .
|
||||
|
||||
################################################################################
|
||||
# Create a new stage for running the application that contains the minimal
|
||||
# runtime dependencies for the application. This often uses a different base
|
||||
# image from the build stage where the necessary files are copied from the build
|
||||
# stage.
|
||||
#
|
||||
# The example below uses the alpine image as the foundation for running the app.
|
||||
# By specifying the "latest" tag, it will also use whatever happens to be the
|
||||
# most recent version of that image when you build your Dockerfile. If
|
||||
# reproducability is important, consider using a versioned tag
|
||||
# (e.g., alpine:3.17.2) or SHA (e.g., alpine:sha256:c41ab5c992deb4fe7e5da09f67a8804a46bd0592bfdf0b1847dde0e0889d2bff).
|
||||
FROM alpine:latest AS final
|
||||
|
||||
# Install any runtime dependencies that are needed to run your application.
|
||||
# Leverage a cache mount to /var/cache/apk/ to speed up subsequent builds.
|
||||
RUN --mount=type=cache,target=/var/cache/apk \
|
||||
apk --update add \
|
||||
ca-certificates \
|
||||
tzdata \
|
||||
&& \
|
||||
update-ca-certificates
|
||||
|
||||
# Create a non-privileged user that the app will run under.
|
||||
# See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user
|
||||
ARG UID=10001
|
||||
RUN adduser \
|
||||
--disabled-password \
|
||||
--gecos "" \
|
||||
--home "/nonexistent" \
|
||||
--shell "/sbin/nologin" \
|
||||
--no-create-home \
|
||||
--uid "${UID}" \
|
||||
appuser
|
||||
USER appuser
|
||||
|
||||
# Copy the executable from the "build" stage.
|
||||
COPY --from=build /bin/server /bin/
|
||||
|
||||
# Expose the port that the application listens on.
|
||||
EXPOSE 3000
|
||||
|
||||
# What the container should run when it is started.
|
||||
ENTRYPOINT [ "/bin/server" ]
|
||||
28
Dockerfile.nix
Normal file
28
Dockerfile.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
# syntax = docker/dockerfile:1.4
|
||||
FROM nixos/nix:latest AS builder
|
||||
|
||||
WORKDIR /tmp/build
|
||||
RUN mkdir /tmp/nix-store-closure
|
||||
|
||||
RUN \
|
||||
--mount=type=cache,target=/nix,from=nixos/nix:latest,source=/nix \
|
||||
--mount=type=cache,target=/root/.cache \
|
||||
--mount=type=bind,target=/tmp/build \
|
||||
<<EOF
|
||||
nix \
|
||||
--extra-experimental-features "nix-command flakes" \
|
||||
--extra-substituters "http://host.docker.internal?priority=10" \
|
||||
--option filter-syscalls false \
|
||||
--show-trace \
|
||||
--log-format raw \
|
||||
build . --out-link /tmp/output/result
|
||||
cp -R $(nix-store -qR /tmp/output/result) /tmp/nix-store-closure
|
||||
EOF
|
||||
|
||||
FROM scratch
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=builder /tmp/nix-store-closure /nix/store
|
||||
COPY --from=builder /tmp/output/ /app/
|
||||
ENTRYPOINT ["/app/result/bin/entrypoint"]
|
||||
11
README.md
11
README.md
@@ -9,12 +9,12 @@ 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/tools "0.1.0")
|
||||
; OR use a locally built pod binary
|
||||
#_(pods/load-pod "./babashka-pod-docker")
|
||||
|
||||
;; load-pod will create this namespace with two vars
|
||||
(require '[docker.babashka-pod-docker :as docker])
|
||||
(require '[docker.tools :as docker])
|
||||
|
||||
;; parse image names using github.com/docker/distribution
|
||||
;; turns golang structs into clojure maps
|
||||
@@ -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.tools" "docker.tools/parse-dockerfile" [s] {}))
|
||||
|
||||
;; async example
|
||||
(defn generate-sbom [s]
|
||||
(impl/invoke-public "babashka-pod-docker" "babashka-pod-docker/-generate-sbom"
|
||||
(impl/invoke-public "docker.tools" "docker.tools/generate-sbom"
|
||||
[s cb]
|
||||
{:handlers {:done (fn [])
|
||||
:success cb
|
||||
@@ -99,3 +99,4 @@ This method of dispatch does not require any dynamic namespace generation.
|
||||
## Contributing
|
||||
|
||||
You can find information about contributing to this project in the CONTRIBUTING.md
|
||||
|
||||
|
||||
30
dev/user.clj
30
dev/user.clj
@@ -23,10 +23,12 @@
|
||||
{:pod/id (:pod-id pod)})))
|
||||
|
||||
(comment
|
||||
(pods/load-pod 'docker/babashka-pod-docker "0.1.0")
|
||||
(pods/load-pod 'docker.tools "0.1.0")
|
||||
(pods/load-pod "result/bin/babashka-pod-docker")
|
||||
|
||||
(require '[babashka-pod-docker :as docker])
|
||||
(require '[docker.tools :as docker])
|
||||
|
||||
(pods/unload-pod {:pod/id "docker.tools"})
|
||||
|
||||
;; parse image names using github.com/docker/distribution
|
||||
;; turns golang structs into clojure maps
|
||||
@@ -39,24 +41,23 @@
|
||||
;; invalid reference format
|
||||
(println (.getMessage e))))
|
||||
|
||||
|
||||
;; parse dockerfiles using github.com/moby/buildkit
|
||||
;; returns the Result struct transformed to a clojure map
|
||||
(docker/parse-dockerfile "FROM \\\n gcr.io/whatever:tag\nCMD [\"run\"]")
|
||||
|
||||
|
||||
;; run sbom generation on local image
|
||||
(docker/sbom "vonwig/clojure-base:jdk17" (fn [event] (println event)))
|
||||
(docker/sbom "mongo@sha256:9c8a0a019671ed7d402768d4df6dddcc898828e21e9f7b90a34b55fe8ca676ac"
|
||||
(fn [event]
|
||||
(println "event " 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"
|
||||
"docker.tools"
|
||||
"docker.tools/generate-sbom"
|
||||
[image "" ""]
|
||||
{:handlers {:done (fn [] (println "Done"))
|
||||
:success (fn [msg] (println "msg: " msg))
|
||||
@@ -65,9 +66,8 @@
|
||||
(comment
|
||||
(println (load-pod "./babashka-pod-docker"))
|
||||
(impl/invoke-public
|
||||
"docker.babashka-pod-docker"
|
||||
"babashka-pod-docker/parse-image-name"
|
||||
["ubuntu:latest"]
|
||||
"docker.tools"
|
||||
"docker.tools/generate-sbom"
|
||||
["ubuntu:latest" "" ""]
|
||||
{})
|
||||
(generate-sbom "alpine")
|
||||
)
|
||||
(generate-sbom "alpine"))
|
||||
|
||||
111
docker/ops.go
111
docker/ops.go
@@ -1,8 +1,11 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/docker/distribution/reference"
|
||||
"github.com/docker/index-cli-plugin/lsp"
|
||||
"github.com/docker/scout-cli-plugin/push"
|
||||
"github.com/kballard/go-shellquote"
|
||||
"github.com/moby/buildkit/frontend/dockerfile/parser"
|
||||
|
||||
//"reflect"
|
||||
@@ -13,7 +16,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"dockerfileparse/user/parser/babashka"
|
||||
"babashka-pod-docker/babashka"
|
||||
)
|
||||
|
||||
type Reference struct {
|
||||
@@ -53,54 +56,11 @@ func parse_uri(s string) (Reference, error) {
|
||||
return Reference{Path: path, Domain: domain, Tag: tag, Digest: digest}, err
|
||||
}
|
||||
|
||||
func generate_sbom(message *babashka.Message, image string, username string, password string) error {
|
||||
tx_channel := make(chan string)
|
||||
func scout_push(message *babashka.Message, image string, organization string, authToken string, username string, password string) error {
|
||||
os.Setenv("DOCKER_SCOUT_REGISTRY_USER", username)
|
||||
os.Setenv("DOCKER_SCOUT_REGISTRY_PASSWORD", password)
|
||||
|
||||
go func() error {
|
||||
for {
|
||||
tx := <-tx_channel
|
||||
if tx != "" {
|
||||
err := babashka.WriteNotDoneInvokeResponse(message, tx)
|
||||
if err != nil {
|
||||
babashka.WriteErrorResponse(message, err)
|
||||
}
|
||||
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}()
|
||||
|
||||
l := lsp.New()
|
||||
|
||||
if username != "" && password != "" {
|
||||
l.WithAuth(username, password)
|
||||
}
|
||||
|
||||
return l.Send(image, tx_channel)
|
||||
}
|
||||
|
||||
func generate_hashes(message *babashka.Message, s string) error {
|
||||
tx_channel := make(chan string)
|
||||
|
||||
go func() error {
|
||||
for {
|
||||
tx := <-tx_channel
|
||||
if tx != "" {
|
||||
err := babashka.WriteNotDoneInvokeResponse(message, tx)
|
||||
if err != nil {
|
||||
babashka.WriteErrorResponse(message, err)
|
||||
}
|
||||
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}()
|
||||
|
||||
return lsp.New().SendFileHashes(s, tx_channel)
|
||||
return push.Push(image, organization, authToken)
|
||||
}
|
||||
|
||||
func ProcessMessage(message *babashka.Message) (any, error) {
|
||||
@@ -110,7 +70,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.tools",
|
||||
Vars: []babashka.Var{
|
||||
{
|
||||
Name: "parse-image-name",
|
||||
@@ -119,33 +80,18 @@ func ProcessMessage(message *babashka.Message) (any, error) {
|
||||
Name: "parse-dockerfile",
|
||||
},
|
||||
{
|
||||
Name: "sbom",
|
||||
Code: `
|
||||
(defn sbom
|
||||
([image cb]
|
||||
(sbom image cb {}))
|
||||
([image cb opts]
|
||||
(babashka.pods/invoke
|
||||
"docker.babashka-pod-docker"
|
||||
'babashka-pod-docker/generate-sbom
|
||||
[image]
|
||||
{:handlers {:success (fn [event]
|
||||
(cb event))
|
||||
:error (fn [{:keys [:ex-message :ex-data]}]
|
||||
(binding [*out* *err*]
|
||||
(println "ERROR:" ex-message)))
|
||||
:done (fn [] (println "Done callback"))}})))`,
|
||||
Name: "parse-shellwords",
|
||||
},
|
||||
{
|
||||
Name: "hashes",
|
||||
Name: "scout-push",
|
||||
Code: `
|
||||
(defn hashes
|
||||
(defn scout-push
|
||||
([image cb]
|
||||
(hashes image cb {}))
|
||||
([image cb opts]
|
||||
(babashka.pods/invoke
|
||||
"docker.babashka-pod-docker"
|
||||
'babashka-pod-docker/generate-hashes
|
||||
"docker.tools"
|
||||
'docker.tools/scout-push
|
||||
[image]
|
||||
{:handlers {:success (fn [event]
|
||||
(cb event))
|
||||
@@ -160,46 +106,33 @@ func ProcessMessage(message *babashka.Message) (any, error) {
|
||||
}, nil
|
||||
case "invoke":
|
||||
switch message.Var {
|
||||
case "babashka-pod-docker/parse-image-name":
|
||||
case "docker.tools/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.tools/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.tools/parse-shellwords":
|
||||
args := []string{}
|
||||
|
||||
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(args) == 3 {
|
||||
err := generate_sbom(message, args[0], args[1], args[2])
|
||||
if err != nil {
|
||||
babashka.WriteErrorResponse(message, err)
|
||||
}
|
||||
} else {
|
||||
err := generate_sbom(message, args[0], "", "")
|
||||
if err != nil {
|
||||
babashka.WriteErrorResponse(message, err)
|
||||
}
|
||||
}
|
||||
return "done", nil
|
||||
|
||||
case "babashka-pod-docker/generate-hashes":
|
||||
return shellquote.Split(args[0])
|
||||
case "docker.tools/scout-push":
|
||||
args := []string{}
|
||||
if err := json.Unmarshal([]byte(message.Args), &args); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err := generate_hashes(message, args[0])
|
||||
err := scout_push(message, args[0], args[1], args[2], args[3], args[4])
|
||||
if err != nil {
|
||||
babashka.WriteErrorResponse(message, err)
|
||||
}
|
||||
|
||||
223
flake.lock
generated
Normal file
223
flake.lock
generated
Normal file
@@ -0,0 +1,223 @@
|
||||
{
|
||||
"nodes": {
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"platform-engineering",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687173957,
|
||||
"narHash": "sha256-GOds2bAQcZ94fb9/Nl/aM+r+0wGSi4EKYuZYR8Dw4R8=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "2cf83bb31720fcc29a999aee28d6da101173e66a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687171271,
|
||||
"narHash": "sha256-BJlq+ozK2B1sJDQXS3tzJM5a+oVZmi1q0FlBK/Xqv7M=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"platform-engineering",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660459072,
|
||||
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gomod2nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1677459247,
|
||||
"narHash": "sha256-JbakfAiPYmCCV224yAMq/XO0udN5coWv/oazblMKdoY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "gomod2nix",
|
||||
"rev": "3cbf3a51fe32e2f57af4c52744e7228bab22983d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "gomod2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-filter": {
|
||||
"locked": {
|
||||
"lastModified": 1687178632,
|
||||
"narHash": "sha256-HS7YR5erss0JCaUijPeyg2XrisEb959FIct3n2TMGbE=",
|
||||
"owner": "numtide",
|
||||
"repo": "nix-filter",
|
||||
"rev": "d90c75e8319d0dd9be67d933d8eb9d0894ec9174",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "nix-filter",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1688392541,
|
||||
"narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-22.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1658285632,
|
||||
"narHash": "sha256-zRS5S/hoeDGUbO+L95wXG9vJNwsSYcl93XiD0HQBXLk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5342fc6fb59d0595d26883c3cadff16ce58e44f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "master",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1686960236,
|
||||
"narHash": "sha256-AYCC9rXNLpUWzD9hm+askOfpliLEC9kwAo7ITJc4HIw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "04af42f3b31dba0ef742d254456dc4c14eedac86",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"platform-engineering": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-utils": "flake-utils",
|
||||
"gitignore": "gitignore",
|
||||
"gomod2nix": "gomod2nix",
|
||||
"nix-filter": "nix-filter",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1691541352,
|
||||
"narHash": "sha256-huAnvD9/udU6uZh3iEDLENA8duB0qaF1GQhPUcHHssA=",
|
||||
"owner": "slimslenderslacks",
|
||||
"repo": "nix-modules",
|
||||
"rev": "e7964c84c7e07c0c93143d70a9fca1de1d132992",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "slimslenderslacks",
|
||||
"repo": "nix-modules",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"platform-engineering": "platform-engineering"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"locked": {
|
||||
"lastModified": 1653893745,
|
||||
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
23
flake.nix
Normal file
23
flake.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
description = "Docker Pod v0.2.0-1";
|
||||
|
||||
inputs = {
|
||||
platform-engineering.url = "github:slimslenderslacks/nix-modules";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/release-22.11";
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, ... }@inputs:
|
||||
inputs.platform-engineering.golang-project
|
||||
{
|
||||
inherit nixpkgs;
|
||||
dir = ./.;
|
||||
name = "babashka-pod-docker";
|
||||
version = "0.2.0";
|
||||
package-overlay = pkgs: packages:
|
||||
packages // {
|
||||
default = pkgs.writeShellScriptBin "entrypoint" ''
|
||||
${packages.app}/bin/babashka-pod-docker
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
266
go.mod
266
go.mod
@@ -1,18 +1,24 @@
|
||||
module dockerfileparse/user/parser
|
||||
module babashka-pod-docker
|
||||
|
||||
go 1.19
|
||||
go 1.21
|
||||
|
||||
require (
|
||||
github.com/docker/distribution v2.8.1+incompatible
|
||||
github.com/docker/index-cli-plugin v0.0.33-0.20230203131411-00c585229011
|
||||
github.com/atomist-skills/go-skill v0.0.6-0.20221221214636-a7de163fd901
|
||||
github.com/docker/distribution v2.8.2+incompatible
|
||||
github.com/docker/scout-cli-plugin v0.22.4-0.20230821104039-f53ee5b6c67c
|
||||
github.com/jackpal/bencode-go v1.0.0
|
||||
github.com/moby/buildkit v0.10.6
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
|
||||
github.com/moby/buildkit v0.11.4
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
)
|
||||
|
||||
require (
|
||||
cloud.google.com/go/compute v1.10.0 // indirect
|
||||
cloud.google.com/go/compute v1.20.1 // indirect
|
||||
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
||||
dario.cat/mergo v1.0.0 // indirect
|
||||
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1 // indirect
|
||||
github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20221215162035-5330a85ea652 // indirect
|
||||
github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect
|
||||
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
|
||||
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
||||
github.com/Azure/go-autorest/autorest v0.11.28 // indirect
|
||||
github.com/Azure/go-autorest/autorest/adal v0.9.21 // indirect
|
||||
@@ -21,199 +27,199 @@ require (
|
||||
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
|
||||
github.com/Azure/go-autorest/logger v0.2.1 // indirect
|
||||
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
|
||||
github.com/CycloneDX/cyclonedx-go v0.6.0 // indirect
|
||||
github.com/CycloneDX/cyclonedx-go v0.7.1 // indirect
|
||||
github.com/DataDog/zstd v1.4.5 // indirect
|
||||
github.com/GoogleCloudPlatform/docker-credential-gcr v2.0.5+incompatible // indirect
|
||||
github.com/Masterminds/goutils v1.1.1 // indirect
|
||||
github.com/Masterminds/semver/v3 v3.1.1 // indirect
|
||||
github.com/Masterminds/sprig/v3 v3.2.2 // indirect
|
||||
github.com/Microsoft/go-winio v0.5.2 // indirect
|
||||
github.com/Microsoft/hcsshim v0.9.5 // indirect
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20220824120805-4b6e5c587895 // indirect
|
||||
github.com/Masterminds/semver v1.5.0 // indirect
|
||||
github.com/Masterminds/semver/v3 v3.2.0 // indirect
|
||||
github.com/Masterminds/sprig/v3 v3.2.3 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||
github.com/Microsoft/hcsshim v0.10.0-rc.7 // indirect
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect
|
||||
github.com/acobaugh/osrelease v0.1.0 // indirect
|
||||
github.com/acomagu/bufpipe v1.0.3 // indirect
|
||||
github.com/anchore/go-logger v0.0.0-20220728155337-03b66a5207d8 // indirect
|
||||
github.com/acomagu/bufpipe v1.0.4 // indirect
|
||||
github.com/alecthomas/chroma v0.10.0 // indirect
|
||||
github.com/anchore/go-logger v0.0.0-20230531193951-db5ae83e7dbe // indirect
|
||||
github.com/anchore/go-macholibre v0.0.0-20220308212642-53e6d0aaf6fb // indirect
|
||||
github.com/anchore/packageurl-go v0.1.1-0.20220428202044-a072fa3cb6d7 // indirect
|
||||
github.com/anchore/stereoscope v0.0.0-20221006201143-d24c9d626b33 // indirect
|
||||
github.com/anchore/syft v0.62.1 // indirect
|
||||
github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092 // indirect
|
||||
github.com/anchore/packageurl-go v0.1.1-0.20230104203445-02e0a6721501 // indirect
|
||||
github.com/anchore/stereoscope v0.0.0-20230727211946-d1f3d766295e // indirect
|
||||
github.com/anchore/syft v0.86.1 // indirect
|
||||
github.com/andybalholm/brotli v1.0.4 // indirect
|
||||
github.com/aquasecurity/go-dep-parser v0.0.0-20220626060741-179d0b167e5f // indirect
|
||||
github.com/aquasecurity/go-pep440-version v0.0.0-20210121094942-22b2f8951d46 // indirect
|
||||
github.com/aquasecurity/go-version v0.0.0-20210121072130-637058cfe492 // indirect
|
||||
github.com/aquasecurity/trivy v0.30.4 // indirect
|
||||
github.com/aquasecurity/trivy-db v0.0.0-20220627104749-930461748b63 // indirect
|
||||
github.com/atomist-skills/go-skill v0.0.6-0.20221221214636-a7de163fd901 // indirect
|
||||
github.com/aws/aws-sdk-go v1.44.46 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/bmatcuk/doublestar/v4 v4.0.2 // indirect
|
||||
github.com/briandowns/spinner v1.12.0 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
||||
github.com/cloudflare/circl v1.1.0 // indirect
|
||||
github.com/containerd/cgroups v1.0.4 // indirect
|
||||
github.com/containerd/containerd v1.6.12 // indirect
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||
github.com/aymerick/douceur v0.2.0 // indirect
|
||||
github.com/becheran/wildmatch-go v1.0.0 // indirect
|
||||
github.com/bmatcuk/doublestar/v4 v4.6.0 // indirect
|
||||
github.com/briandowns/spinner v1.23.0 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/charmbracelet/glamour v0.6.0 // indirect
|
||||
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
||||
github.com/cloudflare/circl v1.3.3 // indirect
|
||||
github.com/containerd/cgroups v1.1.0 // indirect
|
||||
github.com/containerd/containerd v1.7.0 // indirect
|
||||
github.com/containerd/continuity v0.3.0 // indirect
|
||||
github.com/containerd/fifo v1.0.0 // indirect
|
||||
github.com/containerd/stargz-snapshotter/estargz v0.12.0 // indirect
|
||||
github.com/containerd/ttrpc v1.1.1-0.20220420014843-944ef4a40df3 // indirect
|
||||
github.com/containerd/fifo v1.1.0 // indirect
|
||||
github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect
|
||||
github.com/containerd/ttrpc v1.2.1 // indirect
|
||||
github.com/containerd/typeurl v1.0.2 // indirect
|
||||
github.com/containerd/typeurl/v2 v2.1.0 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.2.3 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/dgryski/go-minhash v0.0.0-20170608043002-7fe510aff544 // indirect
|
||||
github.com/deitch/magic v0.0.0-20230404182410-1ff89d7342da // indirect
|
||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||
github.com/dimchansky/utfbom v1.1.1 // indirect
|
||||
github.com/docker/cli v20.10.21+incompatible // indirect
|
||||
github.com/docker/docker v20.10.17+incompatible // indirect
|
||||
github.com/docker/docker-credential-helpers v0.6.4 // indirect
|
||||
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c // indirect
|
||||
github.com/dlclark/regexp2 v1.4.0 // indirect
|
||||
github.com/docker/cli v24.0.5+incompatible // indirect
|
||||
github.com/docker/docker v24.0.5+incompatible // indirect
|
||||
github.com/docker/docker-credential-helpers v0.7.0 // indirect
|
||||
github.com/docker/go-connections v0.4.0 // indirect
|
||||
github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect
|
||||
github.com/docker/go-metrics v0.0.1 // indirect
|
||||
github.com/docker/go-units v0.5.0 // indirect
|
||||
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect
|
||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||
github.com/ekzhu/minhash-lsh v0.0.0-20171225071031-5c06ee8586a1 // indirect
|
||||
github.com/emirpasic/gods v1.12.0 // indirect
|
||||
github.com/facebookincubator/nvdtools v0.1.4 // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/edsrzf/mmap-go v1.1.0 // indirect
|
||||
github.com/emirpasic/gods v1.18.1 // indirect
|
||||
github.com/facebookincubator/nvdtools v0.1.5 // indirect
|
||||
github.com/fatih/color v1.13.0 // indirect
|
||||
github.com/fvbommel/sortorder v1.0.2 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.0 // indirect
|
||||
github.com/go-enry/go-license-detector/v4 v4.3.0 // indirect
|
||||
github.com/go-git/gcfg v1.5.0 // indirect
|
||||
github.com/go-git/go-billy/v5 v5.3.1 // indirect
|
||||
github.com/go-git/go-git/v5 v5.4.2 // indirect
|
||||
github.com/github/go-spdx/v2 v2.1.2 // indirect
|
||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||
github.com/go-git/go-billy/v5 v5.4.1 // indirect
|
||||
github.com/go-git/go-git/v5 v5.8.1 // indirect
|
||||
github.com/go-logr/logr v1.2.3 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-redis/redis/v8 v8.11.5 // indirect
|
||||
github.com/go-restruct/restruct v1.2.0-alpha // indirect
|
||||
github.com/gogo/googleapis v1.4.1 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang-jwt/jwt/v4 v4.4.2 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang/protobuf v1.5.2 // indirect
|
||||
github.com/golang/protobuf v1.5.3 // indirect
|
||||
github.com/golang/snappy v0.0.4 // indirect
|
||||
github.com/google/go-cmp v0.5.9 // indirect
|
||||
github.com/google/go-containerregistry v0.11.0 // indirect
|
||||
github.com/google/licenseclassifier/v2 v2.0.0-pre5 // indirect
|
||||
github.com/google/go-containerregistry v0.16.1 // indirect
|
||||
github.com/google/licensecheck v0.3.1 // indirect
|
||||
github.com/google/uuid v1.3.0 // indirect
|
||||
github.com/gookit/color v1.5.2 // indirect
|
||||
github.com/gorilla/mux v1.8.0 // indirect
|
||||
github.com/gorilla/css v1.0.0 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/hashicorp/go-retryablehttp v0.7.1 // indirect
|
||||
github.com/hasura/go-graphql-client v0.8.1 // indirect
|
||||
github.com/hhatto/gorst v0.0.0-20181029133204-ca9f730cac5b // indirect
|
||||
github.com/huandu/xstrings v1.3.2 // indirect
|
||||
github.com/imdario/mergo v0.3.13 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.0.1 // indirect
|
||||
github.com/hashicorp/go-version v1.6.0 // indirect
|
||||
github.com/hasura/go-graphql-client v0.9.3 // indirect
|
||||
github.com/huandu/xstrings v1.3.3 // indirect
|
||||
github.com/imdario/mergo v0.3.15 // indirect
|
||||
github.com/in-toto/in-toto-golang v0.9.0 // indirect
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||
github.com/jdkato/prose v1.1.0 // indirect
|
||||
github.com/jedib0t/go-pretty/v6 v6.4.0 // indirect
|
||||
github.com/jinzhu/copier v0.3.2 // indirect
|
||||
github.com/jinzhu/copier v0.3.5 // indirect
|
||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect
|
||||
github.com/klauspost/compress v1.15.12 // indirect
|
||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||
github.com/klauspost/compress v1.16.5 // indirect
|
||||
github.com/klauspost/pgzip v1.2.5 // indirect
|
||||
github.com/knqyf263/go-rpmdb v0.0.0-20221030135625-4082a22221ce // indirect
|
||||
github.com/knqyf263/go-rpmdb v0.0.0-20230301153543-ba94b245509b // indirect
|
||||
github.com/knqyf263/nested v0.0.1 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.16 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.13 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
||||
github.com/mattn/go-isatty v0.0.18 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.14 // indirect
|
||||
github.com/mholt/archiver/v3 v3.5.1 // indirect
|
||||
github.com/microcosm-cc/bluemonday v1.0.21 // indirect
|
||||
github.com/microsoft/go-rustaudit v0.0.0-20220730194248-4b17361d90a5 // indirect
|
||||
github.com/miekg/pkcs11 v1.1.1 // indirect
|
||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect
|
||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||
github.com/moby/locker v1.0.1 // indirect
|
||||
github.com/moby/sys/mount v0.3.3 // indirect
|
||||
github.com/moby/sys/mountinfo v0.6.2 // indirect
|
||||
github.com/moby/sys/sequential v0.5.0 // indirect
|
||||
github.com/moby/sys/signal v0.7.0 // indirect
|
||||
github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae // indirect
|
||||
github.com/montanaflynn/stats v0.0.0-20151014174947-eeaced052adb // indirect
|
||||
github.com/morikuni/aec v1.0.0 // indirect
|
||||
github.com/muesli/reflow v0.3.0 // indirect
|
||||
github.com/muesli/termenv v0.15.2 // indirect
|
||||
github.com/nwaples/rardecode v1.1.0 // indirect
|
||||
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.0.3-0.20220303224323-02efb9a75ee1 // indirect
|
||||
github.com/opencontainers/runc v1.1.3 // indirect
|
||||
github.com/opencontainers/runtime-spec v1.0.3-0.20220311020903-6969a0a09ab1 // indirect
|
||||
github.com/opencontainers/selinux v1.10.1 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.0-rc4 // indirect
|
||||
github.com/opencontainers/runc v1.1.5 // indirect
|
||||
github.com/opencontainers/runtime-spec v1.1.0-rc.1 // indirect
|
||||
github.com/opencontainers/selinux v1.11.0 // indirect
|
||||
github.com/openvex/go-vex v0.2.1 // indirect
|
||||
github.com/pelletier/go-toml v1.9.5 // indirect
|
||||
github.com/pierrec/lz4/v4 v4.1.15 // indirect
|
||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/prometheus/client_golang v1.13.0 // indirect
|
||||
github.com/prometheus/client_model v0.2.0 // indirect
|
||||
github.com/prometheus/common v0.37.0 // indirect
|
||||
github.com/prometheus/procfs v0.8.0 // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||
github.com/rivo/uniseg v0.2.0 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/saferwall/pe v1.4.4 // indirect
|
||||
github.com/samber/lo v1.24.0 // indirect
|
||||
github.com/saracen/walker v0.0.0-20191201085201-324a081bae7e // indirect
|
||||
github.com/sassoftware/go-rpmutils v0.2.0 // indirect
|
||||
github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e // indirect
|
||||
github.com/sergi/go-diff v1.2.0 // indirect
|
||||
github.com/shogo82148/go-shuffle v0.0.0-20170808115208-59829097ff3b // indirect
|
||||
github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect
|
||||
github.com/sergi/go-diff v1.3.1 // indirect
|
||||
github.com/shibumi/go-pathspec v1.3.0 // indirect
|
||||
github.com/shopspring/decimal v1.2.0 // indirect
|
||||
github.com/sirupsen/logrus v1.9.0 // indirect
|
||||
github.com/spdx/tools-golang v0.3.1-0.20221108182156-8a01147e6342 // indirect
|
||||
github.com/spf13/afero v1.8.2 // indirect
|
||||
github.com/spf13/cast v1.5.0 // indirect
|
||||
github.com/spf13/cobra v1.6.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/stretchr/objx v0.4.0 // indirect
|
||||
github.com/stretchr/testify v1.8.0 // indirect
|
||||
github.com/sylabs/sif/v2 v2.8.1 // indirect
|
||||
github.com/skeema/knownhosts v1.2.0 // indirect
|
||||
github.com/spdx/tools-golang v0.5.3 // indirect
|
||||
github.com/spf13/afero v1.9.5 // indirect
|
||||
github.com/spf13/cast v1.5.1 // indirect
|
||||
github.com/stretchr/objx v0.5.0 // indirect
|
||||
github.com/stretchr/testify v1.8.4 // indirect
|
||||
github.com/sylabs/sif/v2 v2.11.5 // indirect
|
||||
github.com/sylabs/squashfs v0.6.1 // indirect
|
||||
github.com/therootcompany/xz v1.0.1 // indirect
|
||||
github.com/theupdateframework/notary v0.7.0 // indirect
|
||||
github.com/ulikunitz/xz v0.5.10 // indirect
|
||||
github.com/vbatts/go-mtree v0.5.0 // indirect
|
||||
github.com/vbatts/tar-split v0.11.2 // indirect
|
||||
github.com/vifraa/gopom v0.1.0 // indirect
|
||||
github.com/wagoodman/go-partybus v0.0.0-20210627031916-db1f5573bbc5 // indirect
|
||||
github.com/wagoodman/go-progress v0.0.0-20200731105512-1020f39e6240 // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.0 // indirect
|
||||
github.com/xeonx/timeago v1.0.0-rc5 // indirect
|
||||
github.com/vbatts/go-mtree v0.5.3 // indirect
|
||||
github.com/vbatts/tar-split v0.11.3 // indirect
|
||||
github.com/vifraa/gopom v0.2.2 // indirect
|
||||
github.com/wagoodman/go-partybus v0.0.0-20230516145632-8ccac152c651 // indirect
|
||||
github.com/wagoodman/go-progress v0.0.0-20230301185719-21920a456ad5 // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
|
||||
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
|
||||
go.etcd.io/bbolt v1.3.6 // indirect
|
||||
go.opencensus.io v0.23.0 // indirect
|
||||
github.com/yuin/goldmark v1.5.2 // indirect
|
||||
github.com/yuin/goldmark-emoji v1.0.1 // indirect
|
||||
go.etcd.io/bbolt v1.3.7 // indirect
|
||||
go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 // indirect
|
||||
go.opencensus.io v0.24.0 // indirect
|
||||
go.opentelemetry.io/otel v1.14.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.14.0 // indirect
|
||||
go.uber.org/atomic v1.10.0 // indirect
|
||||
go.uber.org/multierr v1.8.0 // indirect
|
||||
go.uber.org/zap v1.23.0 // indirect
|
||||
golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect
|
||||
golang.org/x/exp v0.0.0-20220823124025-807a23277127 // indirect
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
|
||||
golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458 // indirect
|
||||
golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1 // indirect
|
||||
golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0 // indirect
|
||||
golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect
|
||||
golang.org/x/term v0.0.0-20220919170432-7a66f970e087 // indirect
|
||||
golang.org/x/text v0.3.8-0.20211004125949-5bd84dd9b33b // indirect
|
||||
golang.org/x/tools v0.1.12 // indirect
|
||||
golang.org/x/crypto v0.12.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20230202163644-54bba9f4231b // indirect
|
||||
golang.org/x/mod v0.12.0 // indirect
|
||||
golang.org/x/net v0.14.0 // indirect
|
||||
golang.org/x/oauth2 v0.11.0 // indirect
|
||||
golang.org/x/sync v0.3.0 // indirect
|
||||
golang.org/x/sys v0.11.0 // indirect
|
||||
golang.org/x/term v0.11.0 // indirect
|
||||
golang.org/x/text v0.12.0 // indirect
|
||||
golang.org/x/tools v0.9.1 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
|
||||
gonum.org/v1/gonum v0.7.0 // indirect
|
||||
google.golang.org/appengine v1.6.7 // indirect
|
||||
google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e // indirect
|
||||
google.golang.org/grpc v1.50.1 // indirect
|
||||
google.golang.org/protobuf v1.28.1 // indirect
|
||||
gopkg.in/neurosnap/sentences.v1 v1.0.6 // indirect
|
||||
google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect
|
||||
google.golang.org/grpc v1.55.0 // indirect
|
||||
google.golang.org/protobuf v1.31.0 // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
lukechampine.com/uint128 v1.1.1 // indirect
|
||||
modernc.org/cc/v3 v3.36.0 // indirect
|
||||
modernc.org/ccgo/v3 v3.16.6 // indirect
|
||||
modernc.org/libc v1.16.7 // indirect
|
||||
modernc.org/mathutil v1.4.1 // indirect
|
||||
modernc.org/memory v1.1.1 // indirect
|
||||
modernc.org/opt v0.1.1 // indirect
|
||||
modernc.org/sqlite v1.17.3 // indirect
|
||||
modernc.org/strutil v1.1.1 // indirect
|
||||
modernc.org/token v1.0.0 // indirect
|
||||
k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 // indirect
|
||||
lukechampine.com/uint128 v1.2.0 // indirect
|
||||
modernc.org/cc/v3 v3.40.0 // indirect
|
||||
modernc.org/ccgo/v3 v3.16.13 // indirect
|
||||
modernc.org/libc v1.24.1 // indirect
|
||||
modernc.org/mathutil v1.5.0 // indirect
|
||||
modernc.org/memory v1.6.0 // indirect
|
||||
modernc.org/opt v0.1.3 // indirect
|
||||
modernc.org/sqlite v1.25.0 // indirect
|
||||
modernc.org/strutil v1.1.3 // indirect
|
||||
modernc.org/token v1.0.1 // indirect
|
||||
nhooyr.io/websocket v1.8.7 // indirect
|
||||
olympos.io/encoding/edn v0.0.0-20201019073823-d3554ca0b0a3 // indirect
|
||||
)
|
||||
|
||||
630
gomod2nix.toml
Normal file
630
gomod2nix.toml
Normal file
@@ -0,0 +1,630 @@
|
||||
schema = 3
|
||||
|
||||
[mod]
|
||||
[mod."cloud.google.com/go/compute"]
|
||||
version = "v1.10.0"
|
||||
hash = "sha256-+5gWg2bLW6MUHXRTdyq7BfyrMZ81kJqENBCxClYXGOM="
|
||||
[mod."github.com/Azure/azure-sdk-for-go"]
|
||||
version = "v66.0.0+incompatible"
|
||||
hash = "sha256-bfpXW5dQbgWunBrsIsMtgDQH/vZ2H9e7HoKea5K3pRM="
|
||||
[mod."github.com/Azure/go-ansiterm"]
|
||||
version = "v0.0.0-20210617225240-d185dfc1b5a1"
|
||||
hash = "sha256-rOhb0GMLPdnh1302vaxFjO20fM69hCT29hQD1F1YpPg="
|
||||
[mod."github.com/Azure/go-autorest"]
|
||||
version = "v14.2.0+incompatible"
|
||||
hash = "sha256-dvWOcudtx0NP6U2RDt40hwtELFRdYdLEklRWYterRN0="
|
||||
[mod."github.com/Azure/go-autorest/autorest"]
|
||||
version = "v0.11.28"
|
||||
hash = "sha256-spsPc59LX2Bt8/tX8VVfU8UxYT3SamI7jCX1+5BzJnk="
|
||||
[mod."github.com/Azure/go-autorest/autorest/adal"]
|
||||
version = "v0.9.21"
|
||||
hash = "sha256-YfjM1wW1EPhdR0pFptmUYgOuAa8rRC61Mxa7Nr9CSXo="
|
||||
[mod."github.com/Azure/go-autorest/autorest/azure/auth"]
|
||||
version = "v0.5.11"
|
||||
hash = "sha256-Si7YX/Jq8o0BXkahSf3adcy+kS2d4gvibaAWKHQsJgY="
|
||||
[mod."github.com/Azure/go-autorest/autorest/azure/cli"]
|
||||
version = "v0.4.6"
|
||||
hash = "sha256-izyU90Z31h5u1G1DQE48M3ARjTPpDow5MgyYmWh4Vi4="
|
||||
[mod."github.com/Azure/go-autorest/autorest/date"]
|
||||
version = "v0.3.0"
|
||||
hash = "sha256-PWFHUZ9jMJ6gkMCnRpR89s/aI3YdtzskIePj8Ulu4dc="
|
||||
[mod."github.com/Azure/go-autorest/logger"]
|
||||
version = "v0.2.1"
|
||||
hash = "sha256-xGqpcF7fL1MQCN4xXTHpAFDzEA5f4p6kdb9yV1+uB4k="
|
||||
[mod."github.com/Azure/go-autorest/tracing"]
|
||||
version = "v0.6.0"
|
||||
hash = "sha256-CcLYoOyRcMo4aRRYN+TBbaHtJqDra4e0qo3cmGZIB74="
|
||||
[mod."github.com/CycloneDX/cyclonedx-go"]
|
||||
version = "v0.6.0"
|
||||
hash = "sha256-QNWazo09HE8aIQZWdqECV37aM5iPzJGbkdubL5kEK/M="
|
||||
[mod."github.com/DataDog/zstd"]
|
||||
version = "v1.4.5"
|
||||
hash = "sha256-WFHcU2EFRIIc1wSc0jN2VPeJzBMcZTIN5LFNBFk+NAY="
|
||||
[mod."github.com/GoogleCloudPlatform/docker-credential-gcr"]
|
||||
version = "v2.0.5+incompatible"
|
||||
hash = "sha256-6vasBPrkwOirmg4Hw4Mbscfz/Cub+Xy7gObOSF79394="
|
||||
[mod."github.com/Masterminds/goutils"]
|
||||
version = "v1.1.1"
|
||||
hash = "sha256-MEvA5e099GUllILa5EXxa6toQexU1sz6eDZt2tiqpCY="
|
||||
[mod."github.com/Masterminds/semver/v3"]
|
||||
version = "v3.1.1"
|
||||
hash = "sha256-6AbVa1URv04zlxUZA/Wc484EzrzgAuPcuub3WFBRWDc="
|
||||
[mod."github.com/Masterminds/sprig/v3"]
|
||||
version = "v3.2.2"
|
||||
hash = "sha256-XXDG2ImEqg+TbrXBNYAXaqeV0H/nsNRfijqctCv8y3E="
|
||||
[mod."github.com/Microsoft/go-winio"]
|
||||
version = "v0.5.2"
|
||||
hash = "sha256-g+kEivzu+sIaO5fDGR4RCpm3LmJSzmsAO16wAzBnP6c="
|
||||
[mod."github.com/Microsoft/hcsshim"]
|
||||
version = "v0.9.6"
|
||||
hash = "sha256-M5zMyNcdVHCgHJ7eSJt+lXpiuqyQBH6vTmpsXLBCj1A="
|
||||
[mod."github.com/ProtonMail/go-crypto"]
|
||||
version = "v0.0.0-20220824120805-4b6e5c587895"
|
||||
hash = "sha256-PXxW4TafQsvYoW+BlkHNl33HA/va+b+ttqk9GvM0AcY="
|
||||
[mod."github.com/acobaugh/osrelease"]
|
||||
version = "v0.1.0"
|
||||
hash = "sha256-/I3X66x1DVK/QyDtPuNrG+eHG0923szNLu1chjntNqs="
|
||||
[mod."github.com/acomagu/bufpipe"]
|
||||
version = "v1.0.3"
|
||||
hash = "sha256-hIQf2lqZZv4dN8JwRyhNoBjStL9Mgih6f7Hy8RDU5Kg="
|
||||
[mod."github.com/anchore/go-logger"]
|
||||
version = "v0.0.0-20220728155337-03b66a5207d8"
|
||||
hash = "sha256-bAGNVXisHReENcKffZ6/nwNV2sccmcLv6XZk6OowXe0="
|
||||
[mod."github.com/anchore/go-macholibre"]
|
||||
version = "v0.0.0-20220308212642-53e6d0aaf6fb"
|
||||
hash = "sha256-QONStRZOXobCeUX2eOM+3uGpbfXZHs9gnsd92T9dcS0="
|
||||
[mod."github.com/anchore/packageurl-go"]
|
||||
version = "v0.1.1-0.20220428202044-a072fa3cb6d7"
|
||||
hash = "sha256-JpY7iPc/grOlmoeTQN0r3uGRipCzSH/taMwNYFrzWqI="
|
||||
[mod."github.com/anchore/stereoscope"]
|
||||
version = "v0.0.0-20221006201143-d24c9d626b33"
|
||||
hash = "sha256-Fzj+Jap8sIbvyBhvu+y1vUQ6WRAS5KCDVrR+TVUcLi4="
|
||||
[mod."github.com/anchore/syft"]
|
||||
version = "v0.62.1"
|
||||
hash = "sha256-gSZjTVO4nMILiBhgW4s3/PS3ZfbdJoLNUJCemkk3ni8="
|
||||
[mod."github.com/andybalholm/brotli"]
|
||||
version = "v1.0.4"
|
||||
hash = "sha256-gAnPRdGP4yna4hiRIEDyBtDOVJqd7RU27wlPu96Rdf8="
|
||||
[mod."github.com/aquasecurity/go-dep-parser"]
|
||||
version = "v0.0.0-20220626060741-179d0b167e5f"
|
||||
hash = "sha256-z6b/KXyctLPkMhlxDKyCKITw1/h1y0mOXTfUHxhnWD0="
|
||||
[mod."github.com/aquasecurity/trivy"]
|
||||
version = "v0.30.4"
|
||||
hash = "sha256-LDa1GgX/6BNchLlsIFXWgbdxstYh8YMo0s4ZM6Y643Q="
|
||||
[mod."github.com/aquasecurity/trivy-db"]
|
||||
version = "v0.0.0-20220627104749-930461748b63"
|
||||
hash = "sha256-l+xpGQ68CoMfz6Hybd7IyfRoT+mZ2TgKLvjzVvbJLtU="
|
||||
[mod."github.com/atomist-skills/go-skill"]
|
||||
version = "v0.0.6-0.20221221214636-a7de163fd901"
|
||||
hash = "sha256-orERhuTyKw5OciDLDehv9M52Vpy5exW7+wM8a4P5Mn0="
|
||||
[mod."github.com/aws/aws-sdk-go"]
|
||||
version = "v1.44.46"
|
||||
hash = "sha256-N6OW6qa23ACWuyBcNjatQiKk+5+1+xO1CLrO+6058Kk="
|
||||
[mod."github.com/beorn7/perks"]
|
||||
version = "v1.0.1"
|
||||
hash = "sha256-h75GUqfwJKngCJQVE5Ao5wnO3cfKD9lSIteoLp/3xJ4="
|
||||
[mod."github.com/bmatcuk/doublestar/v4"]
|
||||
version = "v4.0.2"
|
||||
hash = "sha256-lEVSQdqtjDtWRHjc+fpnu/trWSNqMrJwhEHQInd3NCs="
|
||||
[mod."github.com/briandowns/spinner"]
|
||||
version = "v1.12.0"
|
||||
hash = "sha256-MtWy6HccwE33KASrL66CrtzRG/dOPVp+Wc6O1zZ2Ixg="
|
||||
[mod."github.com/cespare/xxhash/v2"]
|
||||
version = "v2.1.2"
|
||||
hash = "sha256-YV9SmXDtmmgQylQUfrUgQLAPfqYexcHxegMBT+IX9qM="
|
||||
[mod."github.com/cloudflare/circl"]
|
||||
version = "v1.1.0"
|
||||
hash = "sha256-3FxALC6ZXwhv+MwZsh3iHusx0E4Mh/SoxyfXWIwD3MU="
|
||||
[mod."github.com/containerd/cgroups"]
|
||||
version = "v1.0.4"
|
||||
hash = "sha256-dfPas2IXzDeOCWsX0eFFikQyJH+ZPZfibbsFjB9/mKM="
|
||||
[mod."github.com/containerd/containerd"]
|
||||
version = "v1.6.18"
|
||||
hash = "sha256-UJiUVXFMZGOr29PJnVuZoH4ijqmAcv4zmFav3Hh8Oks="
|
||||
[mod."github.com/containerd/continuity"]
|
||||
version = "v0.3.0"
|
||||
hash = "sha256-AIyKhRGeaJA8iHX3cH6lcoEIEKUwMrLHdQqWMtAqo5o="
|
||||
[mod."github.com/containerd/fifo"]
|
||||
version = "v1.0.0"
|
||||
hash = "sha256-OMCD11bviVvsNsYWl4H5LUR7Y/3p2PDXPZLJSlby0tA="
|
||||
[mod."github.com/containerd/stargz-snapshotter/estargz"]
|
||||
version = "v0.13.0"
|
||||
hash = "sha256-dXTwWaeGsEWbiaB/+4T5Q8+4OioyL1OF8IsTZSOKDvo="
|
||||
[mod."github.com/containerd/ttrpc"]
|
||||
version = "v1.1.1-0.20220420014843-944ef4a40df3"
|
||||
hash = "sha256-74OgevkeycEcCQ7PaVbmPzh/4GPw4f6SVuq3H/AuJqQ="
|
||||
[mod."github.com/containerd/typeurl"]
|
||||
version = "v1.0.2"
|
||||
hash = "sha256-QJifsbwYVYT1onMAMa9dJRxWTPKqZ6NTC8HS+TrtbnM="
|
||||
[mod."github.com/davecgh/go-spew"]
|
||||
version = "v1.1.1"
|
||||
hash = "sha256-nhzSUrE1fCkN0+RL04N4h8jWmRFPPPWbCuDc7Ss0akI="
|
||||
[mod."github.com/dgryski/go-minhash"]
|
||||
version = "v0.0.0-20170608043002-7fe510aff544"
|
||||
hash = "sha256-YksNkRD4bhGh6MXNOZSHARrR+BvgfFOkgMAFHEVpZUA="
|
||||
[mod."github.com/dgryski/go-rendezvous"]
|
||||
version = "v0.0.0-20200823014737-9f7001d12a5f"
|
||||
hash = "sha256-n/7xo5CQqo4yLaWMSzSN1Muk/oqK6O5dgDOFWapeDUI="
|
||||
[mod."github.com/dimchansky/utfbom"]
|
||||
version = "v1.1.1"
|
||||
hash = "sha256-w8KEprK54zJkMat78T6zldjDwvhbc/O8s6pVFzfmg1I="
|
||||
[mod."github.com/docker/cli"]
|
||||
version = "v23.0.0-rc.1+incompatible"
|
||||
hash = "sha256-9lDbs5UQnbZV4aGH5jMT0shw22Pl9TgkiZVHzcOocT4="
|
||||
[mod."github.com/docker/distribution"]
|
||||
version = "v2.8.1+incompatible"
|
||||
hash = "sha256-xB+w8Uaz8T6jb2LOJU5XAoMHFg/YQd3MfDFOUNKlMxE="
|
||||
[mod."github.com/docker/docker"]
|
||||
version = "v23.0.0-rc.1+incompatible"
|
||||
hash = "sha256-QR8qxqyGxK35zzryznm6VCC+tNW+AJ+HdaRqGfQ0Jbo="
|
||||
[mod."github.com/docker/docker-credential-helpers"]
|
||||
version = "v0.7.0"
|
||||
hash = "sha256-Np+esoutU1psMWB0G1ayKwaWVn/XemIXxlVlooXphzg="
|
||||
[mod."github.com/docker/go"]
|
||||
version = "v1.5.1-1.0.20160303222718-d30aec9fd63c"
|
||||
hash = "sha256-7XCgpdmJVxh2AvWPzSiySC6HjqaGRgZs9OlQAIQLsLc="
|
||||
[mod."github.com/docker/go-connections"]
|
||||
version = "v0.4.0"
|
||||
hash = "sha256-GHNIjOuuNp5lFQ308+nDNwQPGESCVV7bCUxSW5ZxZlc="
|
||||
[mod."github.com/docker/go-events"]
|
||||
version = "v0.0.0-20190806004212-e31b211e4f1c"
|
||||
hash = "sha256-lJ3XZMNLYOn2iH7v1+REjq+DlrPaLkXn0nGIN8gn9SU="
|
||||
[mod."github.com/docker/go-metrics"]
|
||||
version = "v0.0.1"
|
||||
hash = "sha256-6pXkJyKTTrVbaE1D3IQ0gUUp9LTUd5yfprxClhAKzqw="
|
||||
[mod."github.com/docker/go-units"]
|
||||
version = "v0.5.0"
|
||||
hash = "sha256-iK/V/jJc+borzqMeqLY+38Qcts2KhywpsTk95++hImE="
|
||||
[mod."github.com/docker/index-cli-plugin"]
|
||||
version = "v0.0.34-0.20230213201827-11b2a8c1eaa7"
|
||||
hash = "sha256-vzvuAlQVvKH8MSrKGAVSCVZ3YTXaziBYKuCN+ezvoRI="
|
||||
[mod."github.com/dsnet/compress"]
|
||||
version = "v0.0.2-0.20210315054119-f66993602bf5"
|
||||
hash = "sha256-GnSByoeb8UVVJwcxQhWitLihPly12l+zz+E7Lbk4Xbc="
|
||||
[mod."github.com/dustin/go-humanize"]
|
||||
version = "v1.0.0"
|
||||
hash = "sha256-gy4G1PnHD9iw2MitHX6y1y93qr3C9IncmXL7ttUMDs8="
|
||||
[mod."github.com/ekzhu/minhash-lsh"]
|
||||
version = "v0.0.0-20171225071031-5c06ee8586a1"
|
||||
hash = "sha256-GvshC81mU9OADyeLMwIjL4mT7kGbVHrGEnnvD+nLtT0="
|
||||
[mod."github.com/emirpasic/gods"]
|
||||
version = "v1.12.0"
|
||||
hash = "sha256-IavlXdTPaXr/n0ZjfPm3SmpndU70l5RnrINvqQ7GuEQ="
|
||||
[mod."github.com/facebookincubator/nvdtools"]
|
||||
version = "v0.1.4"
|
||||
hash = "sha256-w0c9kPzjJ2hfWtTmaCb02DDflhYM8A6I5QGYxnm9/RQ="
|
||||
[mod."github.com/fatih/color"]
|
||||
version = "v1.13.0"
|
||||
hash = "sha256-Xo0zFKLm/9NuChdHDhHoUFo8Oa7Mkb3ezZCu23SfOAk="
|
||||
[mod."github.com/fvbommel/sortorder"]
|
||||
version = "v1.0.2"
|
||||
hash = "sha256-4GXrXQ7yqTE5lSuSLBLrUH8gka9BrkDM2uZSf9W8agw="
|
||||
[mod."github.com/gabriel-vasile/mimetype"]
|
||||
version = "v1.4.0"
|
||||
hash = "sha256-NOgNji0taZck13DCPPe1Enpn1bRJaFvYX0x8FbkzKoY="
|
||||
[mod."github.com/go-enry/go-license-detector/v4"]
|
||||
version = "v4.3.0"
|
||||
hash = "sha256-MubQpxpUCPDBVsEz4NmY8MFEoECXQtzAaZJ89vv5bDc="
|
||||
[mod."github.com/go-git/gcfg"]
|
||||
version = "v1.5.0"
|
||||
hash = "sha256-A62eSLI/0y4sfwCsZhe/uoSC9Z3TryyW+PyWIcknYdE="
|
||||
[mod."github.com/go-git/go-billy/v5"]
|
||||
version = "v5.3.1"
|
||||
hash = "sha256-UdShPsStI2OBJig8Zv4Htyv5NiwKnYI41pwe4hIxv3Q="
|
||||
[mod."github.com/go-git/go-git/v5"]
|
||||
version = "v5.4.2"
|
||||
hash = "sha256-+RvDli5tPRLEs1pA9W/ZqCCm896y97ObTqLp3hLydpo="
|
||||
[mod."github.com/go-redis/redis/v8"]
|
||||
version = "v8.11.5"
|
||||
hash = "sha256-KhVE/KR5oUCOQ42Hk7J7oa99A1Gu4+KJYknhgYI2G6w="
|
||||
[mod."github.com/go-restruct/restruct"]
|
||||
version = "v1.2.0-alpha"
|
||||
hash = "sha256-bbNVopwsv7xekstE9gmofkf34Xc3RNiuBZNQZvIv6+4="
|
||||
[mod."github.com/gogo/googleapis"]
|
||||
version = "v1.4.1"
|
||||
hash = "sha256-4KgwVRIA6GOV/Lkv11c/vj2RMlgu4ZMjwJGeyb2DZC4="
|
||||
[mod."github.com/gogo/protobuf"]
|
||||
version = "v1.3.2"
|
||||
hash = "sha256-pogILFrrk+cAtb0ulqn9+gRZJ7sGnnLLdtqITvxvG6c="
|
||||
[mod."github.com/golang-jwt/jwt/v4"]
|
||||
version = "v4.4.2"
|
||||
hash = "sha256-Tq9hcpUVjsMim90WZhZXBn5IYNtZb5Ig94eiRyWs0fo="
|
||||
[mod."github.com/golang/groupcache"]
|
||||
version = "v0.0.0-20210331224755-41bb18bfe9da"
|
||||
hash = "sha256-7Gs7CS9gEYZkbu5P4hqPGBpeGZWC64VDwraSKFF+VR0="
|
||||
[mod."github.com/golang/protobuf"]
|
||||
version = "v1.5.2"
|
||||
hash = "sha256-IVwooaIo46iq7euSSVWTBAdKd+2DUaJ67MtBao1DpBI="
|
||||
[mod."github.com/golang/snappy"]
|
||||
version = "v0.0.4"
|
||||
hash = "sha256-Umx+5xHAQCN/Gi4HbtMhnDCSPFAXSsjVbXd8n5LhjAA="
|
||||
[mod."github.com/google/go-cmp"]
|
||||
version = "v0.5.9"
|
||||
hash = "sha256-lQc4O00R3QSMGs9LP8Sy7A9kj0cqV5rrUdpnGeipIyg="
|
||||
[mod."github.com/google/go-containerregistry"]
|
||||
version = "v0.11.0"
|
||||
hash = "sha256-5RhJIXpdic6cN38FvnSBp9B9uR/V0jznMKA/wYhfQLo="
|
||||
[mod."github.com/google/licenseclassifier/v2"]
|
||||
version = "v2.0.0-pre5"
|
||||
hash = "sha256-JKjlT+vuOW8stMOyzLHzGlFesEQOd5181UE8IbuRf8U="
|
||||
[mod."github.com/google/uuid"]
|
||||
version = "v1.3.0"
|
||||
hash = "sha256-QoR55eBtA94T2tBszyxfDtO7/pjZZSGb5vm7U0Xhs0Y="
|
||||
[mod."github.com/gookit/color"]
|
||||
version = "v1.5.2"
|
||||
hash = "sha256-s9s4edzDX83VtGrDz89Jx9ZVTJwX9aHLNMhVOL67tNA="
|
||||
[mod."github.com/gorilla/mux"]
|
||||
version = "v1.8.0"
|
||||
hash = "sha256-s905hpzMH9bOLue09E2JmzPXfIS4HhAlgT7g13HCwKE="
|
||||
[mod."github.com/hashicorp/errwrap"]
|
||||
version = "v1.1.0"
|
||||
hash = "sha256-6lwuMQOfBq+McrViN3maJTIeh4f8jbEqvLy2c9FvvFw="
|
||||
[mod."github.com/hashicorp/go-cleanhttp"]
|
||||
version = "v0.5.2"
|
||||
hash = "sha256-N9GOKYo7tK6XQUFhvhImtL7PZW/mr4C4Manx/yPVvcQ="
|
||||
[mod."github.com/hashicorp/go-multierror"]
|
||||
version = "v1.1.1"
|
||||
hash = "sha256-ANzPEUJIZIlToxR89Mn7Db73d9LGI51ssy7eNnUgmlA="
|
||||
[mod."github.com/hashicorp/go-retryablehttp"]
|
||||
version = "v0.7.1"
|
||||
hash = "sha256-FeJNis/oQ/RzGis0zsfKffXLfu0DNV7pRvExNpthlhE="
|
||||
[mod."github.com/hasura/go-graphql-client"]
|
||||
version = "v0.8.1"
|
||||
hash = "sha256-wHzpjYSOIRQD+SASlXebSwTXRHhmwRA/WcElHdCxrkc="
|
||||
[mod."github.com/hhatto/gorst"]
|
||||
version = "v0.0.0-20181029133204-ca9f730cac5b"
|
||||
hash = "sha256-u1rB/Z20x3UYMKaLjlDP3bHnD7nMrVs5AHR48km/H1k="
|
||||
[mod."github.com/huandu/xstrings"]
|
||||
version = "v1.3.2"
|
||||
hash = "sha256-ueAZrYRXMdRpeTKct3Yxa5YXkCZEoUHpNQs7wLLJil8="
|
||||
[mod."github.com/imdario/mergo"]
|
||||
version = "v0.3.13"
|
||||
hash = "sha256-03LKAZXgR5YUMeK5IRh2ds2GyV6uSbdq5QCPbAzlTus="
|
||||
[mod."github.com/inconshreveable/mousetrap"]
|
||||
version = "v1.0.1"
|
||||
hash = "sha256-ZTP9pLgwAAvHYK5A4PqwWCHGt00x5zMSOpCPoomQ3Sg="
|
||||
[mod."github.com/jackpal/bencode-go"]
|
||||
version = "v1.0.0"
|
||||
hash = "sha256-VvHNhCbSn2qZfX49dVKGd4Ds+5qNzREw4CYmIGV36Zc="
|
||||
[mod."github.com/jbenet/go-context"]
|
||||
version = "v0.0.0-20150711004518-d14ea06fba99"
|
||||
hash = "sha256-VANNCWNNpARH/ILQV9sCQsBWgyL2iFT+4AHZREpxIWE="
|
||||
[mod."github.com/jdkato/prose"]
|
||||
version = "v1.1.0"
|
||||
hash = "sha256-vmrcn1c78DjjqqIDL/EZfWMinu3Qef6g3Xjxw25+WL4="
|
||||
[mod."github.com/jedib0t/go-pretty/v6"]
|
||||
version = "v6.4.0"
|
||||
hash = "sha256-8fw5Mp0+NyiIFjRxqbyJ0W4kGy3qTgQ+vsWtSSTBASI="
|
||||
[mod."github.com/jinzhu/copier"]
|
||||
version = "v0.3.2"
|
||||
hash = "sha256-onQuz0q6pkwtclXu06zFoGGU+I8SM0Ebzf/r4HSbfZ4="
|
||||
[mod."github.com/jmespath/go-jmespath"]
|
||||
version = "v0.4.0"
|
||||
hash = "sha256-xpT9g2qIXmPq7eeHUXHiDqJeQoHCudh44G/KCSFbcuo="
|
||||
[mod."github.com/kballard/go-shellquote"]
|
||||
version = "v0.0.0-20180428030007-95032a82bc51"
|
||||
hash = "sha256-AOEdKETBMUC39ln6jBJ9NYdJWp++jV5lSbjNqG3dV+c="
|
||||
[mod."github.com/kevinburke/ssh_config"]
|
||||
version = "v0.0.0-20201106050909-4977a11b4351"
|
||||
hash = "sha256-d4fsbnmSHYYxHZxRj/Q0tFsKo0JLzswuryVMJaU149Q="
|
||||
[mod."github.com/klauspost/compress"]
|
||||
version = "v1.15.12"
|
||||
hash = "sha256-kI9A7Li6EHMdxT9jmwB8klI1grBL2oiqMu6kS6WzxeQ="
|
||||
[mod."github.com/klauspost/pgzip"]
|
||||
version = "v1.2.5"
|
||||
hash = "sha256-o2cjgEGdaw2ktMGtaeBvOjS/6H/q4xI3Ngcc8TWTxlQ="
|
||||
[mod."github.com/knqyf263/go-rpmdb"]
|
||||
version = "v0.0.0-20221030135625-4082a22221ce"
|
||||
hash = "sha256-6Nex3KCuFyjK40RdWnVfGQWD+VbFsnFOB/3SV0gmsh0="
|
||||
[mod."github.com/knqyf263/nested"]
|
||||
version = "v0.0.1"
|
||||
hash = "sha256-4W1+kE0rJ4MhTg410k1+4t4Avaa0X9DhCp2O/LTKzEg="
|
||||
[mod."github.com/mattn/go-colorable"]
|
||||
version = "v0.1.13"
|
||||
hash = "sha256-qb3Qbo0CELGRIzvw7NVM1g/aayaz4Tguppk9MD2/OI8="
|
||||
[mod."github.com/mattn/go-isatty"]
|
||||
version = "v0.0.16"
|
||||
hash = "sha256-YMaPZvShDfA98vqw1+zWWl7M1IT4nHPGBrAt7kHo8Iw="
|
||||
[mod."github.com/mattn/go-runewidth"]
|
||||
version = "v0.0.13"
|
||||
hash = "sha256-93AwJFA8B2pwNJAPe64yN0c/CwkJNGFDWFe/HpzDVuk="
|
||||
[mod."github.com/matttproud/golang_protobuf_extensions"]
|
||||
version = "v1.0.4"
|
||||
hash = "sha256-uovu7OycdeZ2oYQ7FhVxLey5ZX3T0FzShaRldndyGvc="
|
||||
[mod."github.com/mholt/archiver/v3"]
|
||||
version = "v3.5.1"
|
||||
hash = "sha256-5SsQitpK1C/hZUJBgajJr1nkV15n8lSzmNOlMwcvQ1o="
|
||||
[mod."github.com/microsoft/go-rustaudit"]
|
||||
version = "v0.0.0-20220730194248-4b17361d90a5"
|
||||
hash = "sha256-aRBrOjgOtyASc6y3T+RzC6tQbWojPU6+8Hi1z5Vw+ys="
|
||||
[mod."github.com/miekg/pkcs11"]
|
||||
version = "v1.1.1"
|
||||
hash = "sha256-/6onJYrcyrZt2JxnWpLjQPJTsw0gkatUERy5juscgPA="
|
||||
[mod."github.com/mitchellh/copystructure"]
|
||||
version = "v1.2.0"
|
||||
hash = "sha256-VR9cPZvyW62IHXgmMw8ee+hBDThzd2vftgPksQYR/Mc="
|
||||
[mod."github.com/mitchellh/go-homedir"]
|
||||
version = "v1.1.0"
|
||||
hash = "sha256-oduBKXHAQG8X6aqLEpqZHs5DOKe84u6WkBwi4W6cv3k="
|
||||
[mod."github.com/mitchellh/hashstructure/v2"]
|
||||
version = "v2.0.2"
|
||||
hash = "sha256-O4Yw4pPQECWe8DoVDIH2nUMN8Zl8waS7/O1sv18M2Xs="
|
||||
[mod."github.com/mitchellh/mapstructure"]
|
||||
version = "v1.5.0"
|
||||
hash = "sha256-ztVhGQXs67MF8UadVvG72G3ly0ypQW0IRDdOOkjYwoE="
|
||||
[mod."github.com/mitchellh/reflectwalk"]
|
||||
version = "v1.0.2"
|
||||
hash = "sha256-VX9DPqChm7jPnyrA3RAYgxAFrAhj7TRKIWD/qR9Zr9s="
|
||||
[mod."github.com/moby/buildkit"]
|
||||
version = "v0.11.4"
|
||||
hash = "sha256-QjPPY/ENFW9hF8A51GPfVYTMfbgOrvNNwlE8K9ZiNs0="
|
||||
[mod."github.com/moby/locker"]
|
||||
version = "v1.0.1"
|
||||
hash = "sha256-OcpbO3fLe0WtLDZFF1ntxoEBlEDjyoA8q8mVAQ0TLB8="
|
||||
[mod."github.com/moby/sys/mountinfo"]
|
||||
version = "v0.6.2"
|
||||
hash = "sha256-Dz2dYMPP8dmijrrbG28HIdjXzgkPw4KVsMbdKqhd4Uk="
|
||||
[mod."github.com/moby/sys/sequential"]
|
||||
version = "v0.5.0"
|
||||
hash = "sha256-A29wOMXw/O8L5Kmu3UNb9s9go2Vya8qFEYtsYrg3Rzo="
|
||||
[mod."github.com/moby/sys/signal"]
|
||||
version = "v0.7.0"
|
||||
hash = "sha256-xhhkH9aVRWBmk2mbNZkSz/6jIu9z8kbZziedt3rKpk4="
|
||||
[mod."github.com/moby/term"]
|
||||
version = "v0.0.0-20220808134915-39b0c02b01ae"
|
||||
hash = "sha256-LgISWvq45E81WjXC8zqkelkIGe6ErnGG+j5y36qpcz4="
|
||||
[mod."github.com/montanaflynn/stats"]
|
||||
version = "v0.0.0-20151014174947-eeaced052adb"
|
||||
hash = "sha256-CV87e4L6+pFCBEzkk3RreGg+BGlAAh6QFcmMYRRlVU0="
|
||||
[mod."github.com/morikuni/aec"]
|
||||
version = "v1.0.0"
|
||||
hash = "sha256-5zYgLeGr3K+uhGKlN3xv0PO67V+2Zw+cezjzNCmAWOE="
|
||||
[mod."github.com/nwaples/rardecode"]
|
||||
version = "v1.1.0"
|
||||
hash = "sha256-TsyRep4cjQ8QItPEc6L+ft5ZIxbQ9orUtLrF6jZI1Qo="
|
||||
[mod."github.com/olekukonko/tablewriter"]
|
||||
version = "v0.0.5"
|
||||
hash = "sha256-/5i70IkH/qSW5KjGzv8aQNKh9tHoz98tqtL0K2DMFn4="
|
||||
[mod."github.com/opencontainers/go-digest"]
|
||||
version = "v1.0.0"
|
||||
hash = "sha256-cfVDjHyWItmUGZ2dzQhCHgmOmou8v7N+itDkLZVkqkQ="
|
||||
[mod."github.com/opencontainers/image-spec"]
|
||||
version = "v1.0.3-0.20220303224323-02efb9a75ee1"
|
||||
hash = "sha256-jjolYX0WA57EF/E7krG+9D6rUD4HL/HS4Hv+DcbIxJM="
|
||||
[mod."github.com/opencontainers/runc"]
|
||||
version = "v1.1.5"
|
||||
hash = "sha256-ZbB659QpIXPXdzT2hqwrBiTd14mlgGYeWhYx39nt9RY="
|
||||
[mod."github.com/opencontainers/runtime-spec"]
|
||||
version = "v1.0.3-0.20220311020903-6969a0a09ab1"
|
||||
hash = "sha256-LFm2gow1bVUyU3/gtBovsjS8g9VkAAMd2MOtKYnoac0="
|
||||
[mod."github.com/opencontainers/selinux"]
|
||||
version = "v1.10.2"
|
||||
hash = "sha256-/W0wPLFVQpDBz+VHVsn4C26VS9EhdJYn7pHm/phN0eE="
|
||||
[mod."github.com/pelletier/go-toml"]
|
||||
version = "v1.9.5"
|
||||
hash = "sha256-RJ9K1BTId0Mled7S66iGgxHkZ5JKEIsrrNaEfM8aImc="
|
||||
[mod."github.com/pierrec/lz4/v4"]
|
||||
version = "v4.1.15"
|
||||
hash = "sha256-OJCDsZuNUxCLrNRZmnpRpo5clcaasPiUdgWtoVxiA1Y="
|
||||
[mod."github.com/pkg/errors"]
|
||||
version = "v0.9.1"
|
||||
hash = "sha256-mNfQtcrQmu3sNg/7IwiieKWOgFQOVVe2yXgKBpe/wZw="
|
||||
[mod."github.com/pmezard/go-difflib"]
|
||||
version = "v1.0.0"
|
||||
hash = "sha256-/FtmHnaGjdvEIKAJtrUfEhV7EVo5A/eYrtdnUkuxLDA="
|
||||
[mod."github.com/prometheus/client_golang"]
|
||||
version = "v1.14.0"
|
||||
hash = "sha256-dpgGV8C30ZCn7b9mQ+Ye2AfPXTIuHLQbl2olMKzJKxA="
|
||||
[mod."github.com/prometheus/client_model"]
|
||||
version = "v0.3.0"
|
||||
hash = "sha256-vP+miJfsoK5UG9eug8z/bhAMj3bwg66T2vIh8WHoOKU="
|
||||
[mod."github.com/prometheus/common"]
|
||||
version = "v0.37.0"
|
||||
hash = "sha256-B2v0WsP8uKWYBpZcrog/sQXStIXwWZcVLmfPgnh1ZZA="
|
||||
[mod."github.com/prometheus/procfs"]
|
||||
version = "v0.8.0"
|
||||
hash = "sha256-hgrilokQsXCOCCvwgOSfuErxoFAQpXM/+zNJKcMVHyM="
|
||||
[mod."github.com/remyoudompheng/bigfft"]
|
||||
version = "v0.0.0-20200410134404-eec4a21b6bb0"
|
||||
hash = "sha256-16MkbAZXXUVbB9fObyHtQyBPqnhwNv/cjtJXrNiYAXQ="
|
||||
[mod."github.com/rivo/uniseg"]
|
||||
version = "v0.2.0"
|
||||
hash = "sha256-GLj0jiGrT03Ept4V6FXCN1yeZ/b6PpS3MEXK6rYQ8Eg="
|
||||
[mod."github.com/russross/blackfriday/v2"]
|
||||
version = "v2.1.0"
|
||||
hash = "sha256-R+84l1si8az5yDqd5CYcFrTyNZ1eSYlpXKq6nFt4OTQ="
|
||||
[mod."github.com/samber/lo"]
|
||||
version = "v1.24.0"
|
||||
hash = "sha256-RYq7biCC3NZpQJnh21hG3Owp41hs89MNbHQBtrdqubI="
|
||||
[mod."github.com/saracen/walker"]
|
||||
version = "v0.0.0-20191201085201-324a081bae7e"
|
||||
hash = "sha256-uzEcbDmLn7VPxE1NRaPXkJ+7zEn3aCYOkXckSrvpNow="
|
||||
[mod."github.com/sassoftware/go-rpmutils"]
|
||||
version = "v0.2.0"
|
||||
hash = "sha256-L1me27tMrC/lFfFIDgKQwdq2t8vkJVvUyuUv9SubJb8="
|
||||
[mod."github.com/scylladb/go-set"]
|
||||
version = "v1.0.3-0.20200225121959-cc7b2070d91e"
|
||||
hash = "sha256-WaPUuTWSWj0yIva0Bfos/3+JvdqIIKtt12DUTd3ehh8="
|
||||
[mod."github.com/sergi/go-diff"]
|
||||
version = "v1.2.0"
|
||||
hash = "sha256-d2higuBRee4ylRuCpPQV5+g0XK5yNQgDpudNor0qD2o="
|
||||
[mod."github.com/shogo82148/go-shuffle"]
|
||||
version = "v0.0.0-20170808115208-59829097ff3b"
|
||||
hash = "sha256-JPpIEwVJV6wWBJgBjlzspf9rHqAx7lxNTaaEAg6LN40="
|
||||
[mod."github.com/shopspring/decimal"]
|
||||
version = "v1.2.0"
|
||||
hash = "sha256-f4Sk7p3S4ClpJN9sfm5MOJhWftcXrGgpX2ArRLt8TBg="
|
||||
[mod."github.com/sirupsen/logrus"]
|
||||
version = "v1.9.0"
|
||||
hash = "sha256-xOwGFsYGIxNiurS8Zue8mhlFK/G7U1LVFFrv4vcr1GM="
|
||||
[mod."github.com/spdx/tools-golang"]
|
||||
version = "v0.3.1-0.20230104082527-d6f58551be3f"
|
||||
hash = "sha256-sTp1+636cNiEamzhMxmudCHev2biBWRcMUAcGfuzdYk="
|
||||
[mod."github.com/spf13/afero"]
|
||||
version = "v1.8.2"
|
||||
hash = "sha256-ERuG4GK1LOn72DRbT9URpo1QoVIm2A3mPtlf+xSPgx8="
|
||||
[mod."github.com/spf13/cast"]
|
||||
version = "v1.5.0"
|
||||
hash = "sha256-Pdp+wC5FWqyJKzyYHb7JCcV9BoJk/sxQw6nLyuLJvuQ="
|
||||
[mod."github.com/spf13/cobra"]
|
||||
version = "v1.6.0"
|
||||
hash = "sha256-BidkXU9dFuU3Ah8Hl0PbuDe/EHrTr0B1JLSsdFgCXyI="
|
||||
[mod."github.com/spf13/pflag"]
|
||||
version = "v1.0.5"
|
||||
hash = "sha256-w9LLYzxxP74WHT4ouBspH/iQZXjuAh2WQCHsuvyEjAw="
|
||||
[mod."github.com/stretchr/objx"]
|
||||
version = "v0.4.0"
|
||||
hash = "sha256-W6ycaeD/okr4udpCAGDsByr3OmiR0fuBzJUXHaHEFC0="
|
||||
[mod."github.com/stretchr/testify"]
|
||||
version = "v1.8.0"
|
||||
hash = "sha256-LDxBAebK+A06y4vbH7cd1sVBOameIY81Xm8/9OPZh7o="
|
||||
[mod."github.com/sylabs/sif/v2"]
|
||||
version = "v2.8.1"
|
||||
hash = "sha256-L5avwR/wY9wNx+jq8DL/SsHCicWcAJOJlQMHYTC9Zi0="
|
||||
[mod."github.com/sylabs/squashfs"]
|
||||
version = "v0.6.1"
|
||||
hash = "sha256-urifbH1HQkmUk0kbPvmJLZZJlcIqQCAWXPiCkrhYVfw="
|
||||
[mod."github.com/therootcompany/xz"]
|
||||
version = "v1.0.1"
|
||||
hash = "sha256-SujtLzRINpXKEyldKuRYrTfhsLLop12PpdlY0F18/88="
|
||||
[mod."github.com/theupdateframework/notary"]
|
||||
version = "v0.7.0"
|
||||
hash = "sha256-abHuHso12H8TZiYmbLfA9Gznumrn2hzpcbFLhineh+I="
|
||||
[mod."github.com/ulikunitz/xz"]
|
||||
version = "v0.5.10"
|
||||
hash = "sha256-bogOwQNmQVS7W+C7wci7XEUeYm9TB7PnxnyBIXKYbm0="
|
||||
[mod."github.com/vbatts/go-mtree"]
|
||||
version = "v0.5.0"
|
||||
hash = "sha256-11lpgYaSXQn/Ij5H6N+jpg9jsW1Jfq+tiCXHvOSfGrk="
|
||||
[mod."github.com/vbatts/tar-split"]
|
||||
version = "v0.11.2"
|
||||
hash = "sha256-0MhEqt6dl2pMudEcrixaT8w1R4Ovwaiz7MuHBN2zKOM="
|
||||
[mod."github.com/vifraa/gopom"]
|
||||
version = "v0.1.0"
|
||||
hash = "sha256-fkJ+bXHuaSGP2QEp2Y1IPQKP0S4r312dg2zJafeGGEU="
|
||||
[mod."github.com/wagoodman/go-partybus"]
|
||||
version = "v0.0.0-20210627031916-db1f5573bbc5"
|
||||
hash = "sha256-MqxPK6O0O2qduB620sbjpbR5CfDgkBP6LK8mDfm+VJ4="
|
||||
[mod."github.com/wagoodman/go-progress"]
|
||||
version = "v0.0.0-20200731105512-1020f39e6240"
|
||||
hash = "sha256-yn7DTMvkcv885sMnz78E3UMecgV6BEOyEVAlOsYOKXM="
|
||||
[mod."github.com/xanzy/ssh-agent"]
|
||||
version = "v0.3.0"
|
||||
hash = "sha256-vpgB8f9ryCcsUI3kVXEAqUNBwzu8oCLxu6QUyruQo14="
|
||||
[mod."github.com/xi2/xz"]
|
||||
version = "v0.0.0-20171230120015-48954b6210f8"
|
||||
hash = "sha256-2J4cb9KUnGHn1WZ2+g/S+yiHGLDt6KU0cP3fJpQDGZ0="
|
||||
[mod."github.com/xo/terminfo"]
|
||||
version = "v0.0.0-20210125001918-ca9a967f8778"
|
||||
hash = "sha256-D40lVdmaLlNSKLmeHEXVBoIbdro8w7hnqBCUpzyZ4k4="
|
||||
[mod."go.etcd.io/bbolt"]
|
||||
version = "v1.3.6"
|
||||
hash = "sha256-DenVAmyN22xUiivk6fdJp4C9ZnUJXCMDUf8E0goRRV4="
|
||||
[mod."go.opencensus.io"]
|
||||
version = "v0.23.0"
|
||||
hash = "sha256-R3O9GyNtv6j0ic7s+2xkLLaLzbJEop0Otj1nJDFBjsg="
|
||||
[mod."go.uber.org/atomic"]
|
||||
version = "v1.10.0"
|
||||
hash = "sha256-E6UEDc1eh/cLUFd+J86cDesQ0B8wEv/DdaAVKb+x2t8="
|
||||
[mod."go.uber.org/multierr"]
|
||||
version = "v1.8.0"
|
||||
hash = "sha256-WHWgw6hLI4tPKEqJt+WC38yt64OGCXfkUJDem6mM+Mw="
|
||||
[mod."go.uber.org/zap"]
|
||||
version = "v1.23.0"
|
||||
hash = "sha256-A/Wf2F9yc+OTyX86QjTtzemUOaFSd7ptoNFaqr2smig="
|
||||
[mod."golang.org/x/crypto"]
|
||||
version = "v0.2.0"
|
||||
hash = "sha256-7xbZm2rKYVl71Hcm4HIT8lN4ZxpcbaOt8a7vkq13VM0="
|
||||
[mod."golang.org/x/exp"]
|
||||
version = "v0.0.0-20220823124025-807a23277127"
|
||||
hash = "sha256-ntw9DroNbWuycxpAKE1kEnx0NcDnAMwSiasM9/ajDh0="
|
||||
[mod."golang.org/x/mod"]
|
||||
version = "v0.6.0-dev.0.20220419223038-86c51ed26bb4"
|
||||
hash = "sha256-HS5GtzK6mLkQ/FM+GWoX4wSW0XllHK/2O3Y7O2/sFBk="
|
||||
[mod."golang.org/x/net"]
|
||||
version = "v0.7.0"
|
||||
hash = "sha256-LgZYZRwtMqm+soNh+esxDSeRuIDxRGb9OEfYaFJHCDI="
|
||||
[mod."golang.org/x/oauth2"]
|
||||
version = "v0.0.0-20221006150949-b44042a4b9c1"
|
||||
hash = "sha256-s1keLeZM7MOcIhmATc0oY5UoWA8UU4zwzCLzzh2Kxzw="
|
||||
[mod."golang.org/x/sync"]
|
||||
version = "v0.1.0"
|
||||
hash = "sha256-Hygjq9euZ0qz6TvHYQwOZEjNiTbTh1nSLRAWZ6KFGR8="
|
||||
[mod."golang.org/x/sys"]
|
||||
version = "v0.5.0"
|
||||
hash = "sha256-0LTr3KeJ1OMQAwYUQo1513dXJtQAJn5Dq8sFkc8ps1U="
|
||||
[mod."golang.org/x/term"]
|
||||
version = "v0.5.0"
|
||||
hash = "sha256-f3DiX7NkDsEZpPS+PbmnOH9F5WHFZ1sQrfFg/T2UPno="
|
||||
[mod."golang.org/x/text"]
|
||||
version = "v0.7.0"
|
||||
hash = "sha256-ydgUqX+t5Qke16C6d3FP/06U/N1n+rUKpLRFj4KXjwk="
|
||||
[mod."golang.org/x/tools"]
|
||||
version = "v0.1.12"
|
||||
hash = "sha256-D0kGneGMt+LFbdUDo9Axd0yB0a5t3Z0YKVAnJDDaBo8="
|
||||
[mod."golang.org/x/xerrors"]
|
||||
version = "v0.0.0-20220907171357-04be3eba64a2"
|
||||
hash = "sha256-6+zueutgefIYmgXinOflz8qGDDDj0Zhv+2OkGhBTKno="
|
||||
[mod."gonum.org/v1/gonum"]
|
||||
version = "v0.7.0"
|
||||
hash = "sha256-X1xRXYJ8fIZZ0GRLQFa5qNUoxfAp1vVYU4JtFGtqSO4="
|
||||
[mod."google.golang.org/appengine"]
|
||||
version = "v1.6.7"
|
||||
hash = "sha256-zIxGRHiq4QBvRqkrhMGMGCaVL4iM4TtlYpAi/hrivS4="
|
||||
[mod."google.golang.org/genproto"]
|
||||
version = "v0.0.0-20221010155953-15ba04fc1c0e"
|
||||
hash = "sha256-/d5rITK/Z0eeLviBAghz8Z6C/+X6fV7SteY7uIQZZI4="
|
||||
[mod."google.golang.org/grpc"]
|
||||
version = "v1.50.1"
|
||||
hash = "sha256-38nk4qIme+fE57SsCqNxtCZnc8fyzzi4Sb60uDTT2KE="
|
||||
[mod."google.golang.org/protobuf"]
|
||||
version = "v1.28.1"
|
||||
hash = "sha256-sTJYgvlv5is7vHNxcuigF2lNASp0QonhUgnrguhfHSU="
|
||||
[mod."gopkg.in/neurosnap/sentences.v1"]
|
||||
version = "v1.0.6"
|
||||
hash = "sha256-5wLK8xLIVG3SIsDE//WCbT5+VX9eSVKGwXY5q8ruxKw="
|
||||
[mod."gopkg.in/warnings.v0"]
|
||||
version = "v0.1.2"
|
||||
hash = "sha256-ATVL9yEmgYbkJ1DkltDGRn/auGAjqGOfjQyBYyUo8s8="
|
||||
[mod."gopkg.in/yaml.v2"]
|
||||
version = "v2.4.0"
|
||||
hash = "sha256-uVEGglIedjOIGZzHW4YwN1VoRSTK8o0eGZqzd+TNdd0="
|
||||
[mod."gopkg.in/yaml.v3"]
|
||||
version = "v3.0.1"
|
||||
hash = "sha256-FqL9TKYJ0XkNwJFnq9j0VvJ5ZUU1RvH/52h/f5bkYAU="
|
||||
[mod."lukechampine.com/uint128"]
|
||||
version = "v1.1.1"
|
||||
hash = "sha256-Aepytz2QabkYDie8V81AfiD6Dv+IUe7RMFsQu9Vm+RA="
|
||||
[mod."modernc.org/cc/v3"]
|
||||
version = "v3.36.0"
|
||||
hash = "sha256-3ULdUnDNcWKIe0QUxedPw28VRq5qLUuhdIUP4PZ2naI="
|
||||
[mod."modernc.org/ccgo/v3"]
|
||||
version = "v3.16.6"
|
||||
hash = "sha256-vXKaPj6A8a0UPno0sbi0REoVWI+6Mj1N7ji6F9nvgoE="
|
||||
[mod."modernc.org/libc"]
|
||||
version = "v1.16.7"
|
||||
hash = "sha256-WNZGb4UUOPq1R0fZ3JIX0Vajm6kYKFZpTP5Ji9L6GRw="
|
||||
[mod."modernc.org/mathutil"]
|
||||
version = "v1.4.1"
|
||||
hash = "sha256-m7eq/ApKpGZ6vvWUYn4Im6ymwn50OdkqdpjKloQa+nc="
|
||||
[mod."modernc.org/memory"]
|
||||
version = "v1.1.1"
|
||||
hash = "sha256-Hnil6Q+pwH7e3GvaGWvfY+GtvDJfr3VSJtRu06tc6K4="
|
||||
[mod."modernc.org/opt"]
|
||||
version = "v0.1.1"
|
||||
hash = "sha256-ztGH4HrTl+txCox3Y3GiclEkpwttSYv0sUe4lIRlPfQ="
|
||||
[mod."modernc.org/sqlite"]
|
||||
version = "v1.17.3"
|
||||
hash = "sha256-COQcGgJtPuNQaJBkG0YHNbD2LK/G5RotinB9FVXaYJ8="
|
||||
[mod."modernc.org/strutil"]
|
||||
version = "v1.1.1"
|
||||
hash = "sha256-gDr01e9BnAnT/93qdafjbdVtvkVyRiOLQRuoizs4FLs="
|
||||
[mod."modernc.org/token"]
|
||||
version = "v1.0.0"
|
||||
hash = "sha256-p+X+qnYm1TUtgMcKzLte5MQ5d8QMd9+Urv1EA8MQQj8="
|
||||
[mod."nhooyr.io/websocket"]
|
||||
version = "v1.8.7"
|
||||
hash = "sha256-6pQ35gFvbyMhNo0gv4bPxYDUrwDF/ok1GMA+BHfsRRM="
|
||||
[mod."olympos.io/encoding/edn"]
|
||||
version = "v0.0.0-20201019073823-d3554ca0b0a3"
|
||||
hash = "sha256-3tNwXD9FaoYaUWeDdgBJAVLzPviCpE+a528hzj88Sx8="
|
||||
62
main.go
62
main.go
@@ -1,31 +1,53 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"dockerfileparse/user/parser/babashka"
|
||||
"dockerfileparse/user/parser/docker"
|
||||
"babashka-pod-docker/babashka"
|
||||
"babashka-pod-docker/docker"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/atomist-skills/go-skill"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
func main() {
|
||||
for {
|
||||
message, err := babashka.ReadMessage()
|
||||
if err != nil {
|
||||
babashka.WriteErrorResponse(message, err)
|
||||
continue
|
||||
}
|
||||
skill.Log.SetLevel(logrus.ErrorLevel)
|
||||
|
||||
res, err := docker.ProcessMessage(message)
|
||||
if err != nil {
|
||||
babashka.WriteErrorResponse(message, err)
|
||||
continue
|
||||
}
|
||||
args := os.Args
|
||||
|
||||
describeres, ok := res.(*babashka.DescribeResponse)
|
||||
if ok {
|
||||
babashka.WriteDescribeResponse(describeres)
|
||||
continue
|
||||
if len(args) < 2 {
|
||||
args = append(os.Args, "pod")
|
||||
}
|
||||
|
||||
switch args[1] {
|
||||
|
||||
case "docker-cli-plugin-metadata":
|
||||
metadata := `{"SchemaVersion": "0.1.0", "Vendor": "Docker Inc.", "Version": "v0.0.1", "ShortDescription": "Docker Pod"}`
|
||||
fmt.Println(metadata)
|
||||
|
||||
case "pod":
|
||||
for {
|
||||
message, err := babashka.ReadMessage()
|
||||
if err != nil {
|
||||
babashka.WriteErrorResponse(message, err)
|
||||
continue
|
||||
}
|
||||
|
||||
res, err := docker.ProcessMessage(message)
|
||||
if err != nil {
|
||||
babashka.WriteErrorResponse(message, err)
|
||||
continue
|
||||
}
|
||||
|
||||
describeres, ok := res.(*babashka.DescribeResponse)
|
||||
if ok {
|
||||
babashka.WriteDescribeResponse(describeres)
|
||||
continue
|
||||
}
|
||||
|
||||
if res != "running" {
|
||||
babashka.WriteInvokeResponse(message, res)
|
||||
}
|
||||
}
|
||||
// TODO don't write done responses when callback is running
|
||||
babashka.WriteInvokeResponse(message, res)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
export ATOMIST_LOG_LEVEL=warn; $(dirname "$0")/babashka-pod-docker
|
||||
@@ -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"}]}
|
||||
Reference in New Issue
Block a user