chore: migrate protoc setup from Docker to buf CLI (#9184)

Signed-off-by: knqyf263 <knqyf263@gmail.com>
This commit is contained in:
Teppei Fukuda
2025-07-11 13:27:56 +04:00
committed by GitHub
parent 94c751fffb
commit 85a156c995
17 changed files with 568 additions and 485 deletions

View File

@@ -1,5 +0,0 @@
---
Language: Proto
BasedOnStyle: Google
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true

View File

@@ -1,20 +0,0 @@
FROM --platform=linux/amd64 golang:1.24
# Set environment variable for protoc
ENV PROTOC_ZIP=protoc-3.19.4-linux-x86_64.zip
# Install unzip for protoc installation and clean up cache
RUN apt-get update && apt-get install -y unzip && rm -rf /var/lib/apt/lists/*
# Download and install protoc
RUN curl --retry 5 -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/$PROTOC_ZIP \
&& unzip -o $PROTOC_ZIP -d /usr/local bin/protoc \
&& unzip -o $PROTOC_ZIP -d /usr/local 'include/*' \
&& rm -f $PROTOC_ZIP
# Install Go tools
RUN go install github.com/twitchtv/twirp/protoc-gen-twirp@v8.1.0
RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.0
RUN go install github.com/magefile/mage@v1.15.0
ENV TRIVY_PROTOC_CONTAINER=true

13
buf.gen.yaml Normal file
View File

@@ -0,0 +1,13 @@
version: v2
plugins:
- remote: buf.build/protocolbuffers/go:v1.34.0
out: .
opt:
- paths=source_relative
# Using local protoc-gen-twirp since the remote twirp plugin is not available on buf.build
- local: protoc-gen-twirp
out: .
opt:
- paths=source_relative
inputs:
- directory: .

10
buf.yaml Normal file
View File

@@ -0,0 +1,10 @@
version: v2
modules:
- path: .
name: buf.build/aquasecurity/trivy
lint:
use:
- STANDARD
breaking:
use:
- FILE

View File

@@ -54,6 +54,21 @@ Your PR must pass all the integration tests. You can test it as below.
$ mage test:integration
```
### Protocol Buffers
If you update protobuf files (`.proto`), you need to regenerate the Go code:
```shell
$ mage protoc:generate
```
You can also format and lint protobuf files:
```shell
$ mage protoc:fmt # Format protobuf files
$ mage protoc:lint # Lint protobuf files
$ mage protoc:breaking # Check for breaking changes against main branch
```
### Documentation
If you update CLI flags, you need to generate the CLI references.
The test will fail if they are not up-to-date.

53
go.mod
View File

@@ -110,7 +110,7 @@ require (
github.com/testcontainers/testcontainers-go v0.37.1-0.20250602105123-1720acdcb24e
github.com/testcontainers/testcontainers-go/modules/localstack v0.37.0
github.com/tetratelabs/wazero v1.9.0
github.com/twitchtv/twirp v8.1.3+incompatible
github.com/twitchtv/twirp v8.1.0+incompatible
github.com/xeipuuv/gojsonschema v1.2.0
github.com/xlab/treeprint v1.2.0
github.com/zclconf/go-cty v1.16.3
@@ -133,7 +133,19 @@ require (
)
require (
cel.dev/expr v0.20.0 // indirect
buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go v1.36.6-20250121211742-6d880cc6cc8d.1 // indirect
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.6-20250613105001-9f2d3c737feb.1 // indirect
buf.build/gen/go/bufbuild/registry/connectrpc/go v1.18.1-20250606164443-9d1800bf4ccc.1 // indirect
buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.6-20250606164443-9d1800bf4ccc.1 // indirect
buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.6-20241007202033-cf42259fcbfc.1 // indirect
buf.build/go/app v0.1.0 // indirect
buf.build/go/bufplugin v0.9.0 // indirect
buf.build/go/interrupt v1.1.0 // indirect
buf.build/go/protovalidate v0.13.1 // indirect
buf.build/go/protoyaml v0.6.0 // indirect
buf.build/go/spdx v0.2.0 // indirect
buf.build/go/standard v0.1.0 // indirect
cel.dev/expr v0.24.0 // indirect
cloud.google.com/go v0.118.3 // indirect
cloud.google.com/go/auth v0.15.0 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
@@ -141,6 +153,8 @@ require (
cloud.google.com/go/iam v1.4.1 // indirect
cloud.google.com/go/monitoring v1.24.0 // indirect
cloud.google.com/go/storage v1.50.0 // indirect
connectrpc.com/connect v1.18.1 // indirect
connectrpc.com/otelconnect v0.7.2 // indirect
dario.cat/mergo v1.0.1 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1 // indirect
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
@@ -169,6 +183,7 @@ require (
github.com/agnivade/levenshtein v1.2.1 // indirect
github.com/alessio/shellescape v1.4.1 // indirect
github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092 // indirect
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
github.com/aquasecurity/jfather v0.0.8 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
@@ -188,6 +203,9 @@ require (
github.com/blang/semver v3.5.1+incompatible // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/briandowns/spinner v1.23.0 // indirect
github.com/bufbuild/buf v1.55.1 // indirect
github.com/bufbuild/protocompile v0.14.1 // indirect
github.com/bufbuild/protoplugin v0.0.0-20250218205857-750e09ce93e1 // indirect
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/chai2010/gettext-go v1.0.2 // indirect
@@ -231,6 +249,7 @@ require (
github.com/fvbommel/sortorder v1.1.0 // indirect
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/go-chi/chi v4.1.2+incompatible // indirect
github.com/go-chi/chi/v5 v5.2.1 // indirect
github.com/go-errors/errors v1.4.2 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.6.2 // indirect
@@ -250,20 +269,24 @@ require (
github.com/go-openapi/strfmt v0.23.0 // indirect
github.com/go-openapi/swag v0.23.1 // indirect
github.com/go-openapi/validate v0.24.0 // indirect
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/goccy/go-yaml v1.15.23 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/gofrs/uuid v4.3.1+incompatible // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/btree v1.1.3 // indirect
github.com/google/cel-go v0.25.0 // indirect
github.com/google/certificate-transparency-go v1.1.8 // indirect
github.com/google/gnostic-models v0.6.9 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/go-github/v31 v31.0.0 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2 // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
@@ -282,6 +305,7 @@ require (
github.com/huandu/xstrings v1.5.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
github.com/jdx/go-netrc v1.0.0 // indirect
github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267 // indirect
github.com/jmespath/go-jmespath v0.4.1-0.20220621161143-b0104c826a24 // indirect
github.com/jmoiron/sqlx v1.4.0 // indirect
@@ -289,6 +313,7 @@ require (
github.com/json-iterator/go v1.1.12 // indirect
github.com/kevinburke/ssh_config v1.2.0 // indirect
github.com/klauspost/compress v1.18.0 // indirect
github.com/klauspost/pgzip v1.2.6 // indirect
github.com/knqyf263/labeler v0.0.0-20200423181506-7a6e545148c3 // indirect
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect
@@ -327,6 +352,7 @@ require (
github.com/nozzle/throttler v0.0.0-20180817012639-2ea982251481 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/oklog/ulid/v2 v2.1.1 // indirect
github.com/onsi/ginkgo/v2 v2.23.4 // indirect
github.com/opencontainers/runtime-spec v1.2.1 // indirect
github.com/opencontainers/selinux v1.12.0 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
@@ -344,15 +370,20 @@ require (
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.62.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/quic-go/qpack v0.5.1 // indirect
github.com/quic-go/quic-go v0.52.0 // indirect
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rs/cors v1.11.1 // indirect
github.com/rubenv/sql-migrate v1.8.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/samber/oops v1.18.1 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
github.com/sassoftware/relic v7.2.1+incompatible // indirect
github.com/segmentio/asm v1.2.0 // indirect
github.com/segmentio/encoding v0.5.1 // indirect
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
github.com/shibumi/go-pathspec v1.3.0 // indirect
github.com/shirou/gopsutil/v4 v4.25.4 // indirect
@@ -365,6 +396,7 @@ require (
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
github.com/stoewer/go-strcase v1.3.0 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect
@@ -391,6 +423,10 @@ require (
github.com/yuin/gopher-lua v1.1.1 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
github.com/zeebo/errs v1.4.0 // indirect
go.lsp.dev/jsonrpc2 v0.10.0 // indirect
go.lsp.dev/pkg v0.0.0-20210717090340-384b27a52fb2 // indirect
go.lsp.dev/protocol v0.12.0 // indirect
go.lsp.dev/uri v0.3.0 // indirect
go.mongodb.org/mongo-driver v1.14.0 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
@@ -405,10 +441,12 @@ require (
go.opentelemetry.io/otel/sdk v1.36.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.36.0 // indirect
go.opentelemetry.io/otel/trace v1.36.0 // indirect
go.opentelemetry.io/proto/otlp v1.6.0 // indirect
go.opentelemetry.io/proto/otlp v1.7.0 // indirect
go.uber.org/automaxprocs v1.6.0 // indirect
go.uber.org/mock v0.5.2 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/telemetry v0.0.0-20240522233618-39ace7a40ae7 // indirect
@@ -416,8 +454,8 @@ require (
golang.org/x/tools v0.34.0 // indirect
google.golang.org/api v0.228.0 // indirect
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
google.golang.org/grpc v1.72.2 // indirect
gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
@@ -438,6 +476,7 @@ require (
modernc.org/memory v1.11.0 // indirect
mvdan.cc/sh/v3 v3.11.0 // indirect
oras.land/oras-go/v2 v2.6.0 // indirect
pluginrpc.com/pluginrpc v0.5.0 // indirect
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
sigs.k8s.io/kind v0.19.0 // indirect
sigs.k8s.io/kustomize/api v0.19.0 // indirect
@@ -448,9 +487,11 @@ require (
)
tool (
github.com/bufbuild/buf/cmd/buf
github.com/google/wire/cmd/wire
github.com/knqyf263/labeler
github.com/magefile/mage
github.com/twitchtv/twirp/protoc-gen-twirp
golang.org/x/tools/cmd/goyacc
sigs.k8s.io/kind
)

114
go.sum
View File

@@ -1,5 +1,29 @@
cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI=
cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go v1.36.6-20250121211742-6d880cc6cc8d.1 h1:f6miF8tK6H+Ktad24WpnNfpHO75GRGk0rhJ1mxPXqgA=
buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go v1.36.6-20250121211742-6d880cc6cc8d.1/go.mod h1:rvbyamNtvJ4o3ExeCmaG5/6iHnu0vy0E+UQ+Ph0om8s=
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.6-20250613105001-9f2d3c737feb.1 h1:AUL6VF5YWL01j/1H/DQbPUSDkEwYqwVCNw7yhbpOxSQ=
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.6-20250613105001-9f2d3c737feb.1/go.mod h1:avRlCjnFzl98VPaeCtJ24RrV/wwHFzB8sWXhj26+n/U=
buf.build/gen/go/bufbuild/registry/connectrpc/go v1.18.1-20250606164443-9d1800bf4ccc.1 h1:x7juyChlm/fXZyuJTdBeMzHwAMhPJkP0qE4/IpwpGX4=
buf.build/gen/go/bufbuild/registry/connectrpc/go v1.18.1-20250606164443-9d1800bf4ccc.1/go.mod h1:vi8xjh+6SQRvLQYnyVFZ7kOBrFevwFudusxWVc6E58A=
buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.6-20250606164443-9d1800bf4ccc.1 h1:iiP7EL8EWrWmxn9qPDQTFdVSu04qIrmglpyjC10K4IU=
buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.6-20250606164443-9d1800bf4ccc.1/go.mod h1:bUPpZtzAkcnTA7OLfKCvkvkxEAC6dG/ZIlbnbUJicL4=
buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.6-20241007202033-cf42259fcbfc.1 h1:trcsXBDm8exui7mvndZnvworCyBq1xuMnod2N0j79K8=
buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.6-20241007202033-cf42259fcbfc.1/go.mod h1:OUbhXurY+VHFGn9FBxcRy8UB7HXk9NvJ2qCgifOMypQ=
buf.build/go/app v0.1.0 h1:nlqD/h0rhIN73ZoiDElprrPiO2N6JV+RmNK34K29Ihg=
buf.build/go/app v0.1.0/go.mod h1:0XVOYemubVbxNXVY0DnsVgWeGkcbbAvjDa1fmhBC+Wo=
buf.build/go/bufplugin v0.9.0 h1:ktZJNP3If7ldcWVqh46XKeiYJVPxHQxCfjzVQDzZ/lo=
buf.build/go/bufplugin v0.9.0/go.mod h1:Z0CxA3sKQ6EPz/Os4kJJneeRO6CjPeidtP1ABh5jPPY=
buf.build/go/interrupt v1.1.0 h1:olBuhgv9Sav4/9pkSLoxgiOsZDgM5VhRhvRpn3DL0lE=
buf.build/go/interrupt v1.1.0/go.mod h1:ql56nXPG1oHlvZa6efNC7SKAQ/tUjS6z0mhJl0gyeRM=
buf.build/go/protovalidate v0.13.1 h1:6loHDTWdY/1qmqmt1MijBIKeN4T9Eajrqb9isT1W1s8=
buf.build/go/protovalidate v0.13.1/go.mod h1:C/QcOn/CjXRn5udUwYBiLs8y1TGy7RS+GOSKqjS77aU=
buf.build/go/protoyaml v0.6.0 h1:Nzz1lvcXF8YgNZXk+voPPwdU8FjDPTUV4ndNTXN0n2w=
buf.build/go/protoyaml v0.6.0/go.mod h1:RgUOsBu/GYKLDSIRgQXniXbNgFlGEZnQpRAUdLAFV2Q=
buf.build/go/spdx v0.2.0 h1:IItqM0/cMxvFJJumcBuP8NrsIzMs/UYjp/6WSpq8LTw=
buf.build/go/spdx v0.2.0/go.mod h1:bXdwQFem9Si3nsbNy8aJKGPoaPi5DKwdeEp5/ArZ6w8=
buf.build/go/standard v0.1.0 h1:g98T9IyvAl0vS3Pq8iVk6Cvj2ZiFvoUJRtfyGa0120U=
buf.build/go/standard v0.1.0/go.mod h1:PiqpHz/7ZFq+kqvYhc/SK3lxFIB9N/aiH2CFC2JHIQg=
cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY=
cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@@ -616,6 +640,10 @@ cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoIS
cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M=
cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA=
cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw=
connectrpc.com/connect v1.18.1 h1:PAg7CjSAGvscaf6YZKUefjoih5Z/qYkyaTrBW8xvYPw=
connectrpc.com/connect v1.18.1/go.mod h1:0292hj1rnx8oFrStN7cB4jjVBeqs+Yx5yDIC2prWDO8=
connectrpc.com/otelconnect v0.7.2 h1:WlnwFzaW64dN06JXU+hREPUGeEzpz3Acz2ACOmN8cMI=
connectrpc.com/otelconnect v0.7.2/go.mod h1:JS7XUKfuJs2adhCnXhNHPHLz6oAaZniCJdSF00OZSew=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240314152124-224736b49f2e h1:GwCVItFUPxwdsEYnlUcJ6PJxOjTeFFCKOh6QWg4oAzQ=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240314152124-224736b49f2e/go.mod h1:ApHceQLLwcOkCEXM1+DyCXTHEJhNGDpJ2kmV6axsx24=
cuelang.org/go v0.8.1 h1:VFYsxIFSPY5KgSaH1jQ2GxHOrbu6Ga3kEI70yCZwnOg=
@@ -768,6 +796,8 @@ github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHG
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ=
github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw=
github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0=
github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI=
github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU=
@@ -878,6 +908,12 @@ github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4
github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE=
github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70=
github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk=
github.com/bufbuild/buf v1.55.1 h1:yaRXO9YmtgyEhiqT/gwuJWhHN9xBBbqlQvXVnPauvCk=
github.com/bufbuild/buf v1.55.1/go.mod h1:bvDF6WkvObC+ca9gmP++/oCAWeVVX7MspMcTFznqF7k=
github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw=
github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c=
github.com/bufbuild/protoplugin v0.0.0-20250218205857-750e09ce93e1 h1:V1xulAoqLqVg44rY97xOR+mQpD2N+GzhMHVwJ030WEU=
github.com/bufbuild/protoplugin v0.0.0-20250218205857-750e09ce93e1/go.mod h1:c5D8gWRIZ2HLWO3gXYTtUfw/hbJyD8xikv2ooPxnklQ=
github.com/bugsnag/bugsnag-go v1.0.5-0.20150529004307-13fd6b8acda0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8=
github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50=
github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE=
@@ -1113,6 +1149,8 @@ github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=
github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU=
github.com/go-chi/chi v4.1.2+incompatible h1:fGFk2Gmi/YKXk0OmGfBh0WgmN3XB8lVnEyNz34tQRec=
github.com/go-chi/chi v4.1.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ=
github.com/go-chi/chi/v5 v5.2.1 h1:KOIHODQj58PmL80G2Eak4WdvUzjSJSm0vG72crDCqb8=
github.com/go-chi/chi/v5 v5.2.1/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops=
github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
@@ -1185,7 +1223,6 @@ github.com/go-sql-driver/mysql v1.3.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-sql-driver/mysql v1.9.1 h1:FrjNGn/BsJQjVRuSa8CBrM5BWA9BWoXXat3KrtSb/iI=
github.com/go-sql-driver/mysql v1.9.1/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
@@ -1203,6 +1240,8 @@ github.com/gocsaf/csaf/v3 v3.2.0 h1:LF9j1ou4Cm5MT4+oHbk16Ae0hSmCztwPJqciTapVNIU=
github.com/gocsaf/csaf/v3 v3.2.0/go.mod h1:EpUCrQg69i+Y66MphmQvVbcj333GFLjXOYHg1zoXVso=
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E=
github.com/gofrs/flock v0.12.1/go.mod h1:9zxTsyu5xtJ9DK+1tFZyibEV7y3uwDxPPfbxeeHCoD0=
github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gofrs/uuid v4.3.1+incompatible h1:0/KbAdpx3UXAx1kEOWHJeOkpbgRFGHVgv+CFIY7dBJI=
github.com/gofrs/uuid v4.3.1+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
@@ -1263,6 +1302,8 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
github.com/google/cel-go v0.25.0 h1:jsFw9Fhn+3y2kBbltZR4VEz5xKkcIFRPDnuEzAGv5GY=
github.com/google/cel-go v0.25.0/go.mod h1:hjEb6r5SuOSlhCHmFoLzu8HGCERvIsDAbxDAyNU/MmI=
github.com/google/certificate-transparency-go v1.0.10-0.20180222191210-5ab67e519c93/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg=
github.com/google/certificate-transparency-go v1.1.8 h1:LGYKkgZF7satzgTak9R4yzfJXEeYVAjV6/EAEJOf1to=
github.com/google/certificate-transparency-go v1.1.8/go.mod h1:bV/o8r0TBKRf1X//iiiSgWrvII4d7/8OiA+3vG26gI8=
@@ -1329,8 +1370,8 @@ github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLe
github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8=
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a h1://KbezygeMJZCSHH+HgUZiTeSoiuFspbMg1ge+eFj18=
github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a/go.mod h1:5hDyRhoBCxViHszMt12TnOpEI4VVi+U8Gm9iphldiMA=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=
github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM=
@@ -1451,11 +1492,16 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
github.com/jdx/go-netrc v1.0.0 h1:QbLMLyCZGj0NA8glAhxUpf1zDg6cxnWgMBbjq40W0gQ=
github.com/jdx/go-netrc v1.0.0/go.mod h1:Gh9eFQJnoTNIRHXl2j5bJXA1u84hQWJWgGh569zF3v8=
github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267 h1:TMtDYDHKYY15rFihtRfck/bfFqNfvcabqvXAFQfAUpY=
github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267/go.mod h1:h1nSAbGFqGVzn6Jyl1R/iCcBUHN4g+gW1u9CoBTrb9E=
github.com/jellydator/ttlcache/v3 v3.3.0 h1:BdoC9cE81qXfrxeb9eoJi9dWrdhSuwXMAnHTbnBm4Wc=
github.com/jellydator/ttlcache/v3 v3.3.0/go.mod h1:bj2/e0l4jRnQdrnSTaGTsh4GSXvMjQcy41i7th0GVGw=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls=
github.com/jhump/protoreflect/v2 v2.0.0-beta.2 h1:qZU+rEZUOYTz1Bnhi3xbwn+VxdXkLVeEpAeZzVXLY88=
github.com/jhump/protoreflect/v2 v2.0.0-beta.2/go.mod h1:4tnOYkB/mq7QTyS3YKtVtNrJv4Psqout8HA1U+hZtgM=
github.com/jinzhu/gorm v0.0.0-20170222002820-5409931a1bb8/go.mod h1:Vla75njaFJ8clLU1W44h34PjIkijhjHIYnZxMqCdxqo=
github.com/jinzhu/inflection v0.0.0-20170102125226-1c35d901db3d/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
@@ -1492,6 +1538,8 @@ github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zt
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU=
github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/knqyf263/go-apk-version v0.0.0-20200609155635-041fdbb8563f h1:GvCU5GXhHq+7LeOzx/haG7HSIZokl3/0GkoUFzsRJjg=
github.com/knqyf263/go-apk-version v0.0.0-20200609155635-041fdbb8563f/go.mod h1:q59u9px8b7UTj0nIjEjvmTWekazka6xIt6Uogz5Dm+8=
github.com/knqyf263/go-deb-version v0.0.0-20241115132648-6f4aee6ccd23 h1:dWzdsqjh1p2gNtRKqNwuBvKqMNwnLOPLzVZT1n6DK7s=
@@ -1667,15 +1715,15 @@ github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vv
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c=
github.com/onsi/ginkgo/v2 v2.21.0 h1:7rg/4f3rB88pb5obDgNZrNHrQ4e6WpjonchcpuBRnZM=
github.com/onsi/ginkgo/v2 v2.21.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus=
github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro=
github.com/onsi/gomega v1.35.1 h1:Cwbd75ZBPxFSuZ6T+rN/WCb/gOc6YgFBXLlZLhC7Ds4=
github.com/onsi/gomega v1.35.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
github.com/onsi/gomega v1.36.3 h1:hID7cr8t3Wp26+cYnfcjR6HpJ00fdogN6dqZ1t6IylU=
github.com/onsi/gomega v1.36.3/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0=
github.com/open-policy-agent/opa v1.6.0 h1:/S/cnNQJ2MUMNzizHPbisTWBHowmLkPrugY5jjkPlRQ=
github.com/open-policy-agent/opa v1.6.0/go.mod h1:zFmw4P+W62+CWGYRDDswfVYSCnPo6oYaktQnfIaRFC4=
github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
@@ -1737,6 +1785,8 @@ github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY=
github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg=
github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
github.com/prometheus/client_golang v0.9.0-pre1.0.20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0=
@@ -1756,6 +1806,10 @@ github.com/protocolbuffers/txtpbfmt v0.0.0-20231025115547-084445ff1adf h1:014O62
github.com/protocolbuffers/txtpbfmt v0.0.0-20231025115547-084445ff1adf/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE=
github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU=
github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI=
github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg=
github.com/quic-go/quic-go v0.52.0 h1:/SlHrCRElyaU6MaEPKqKr9z83sBg2v4FLLvWM+Z47pA=
github.com/quic-go/quic-go v0.52.0/go.mod h1:MFlGGpcpJqRAfmYi6NC2cptDPSxRWTOGNuP4wqrWmzQ=
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM=
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5 h1:EaDatTxkdHG+U3Bk4EUr+DZ7fOGwTfezUiUJMaIcaho=
@@ -1776,6 +1830,8 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA=
github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
github.com/rubenv/sql-migrate v1.8.0 h1:dXnYiJk9k3wetp7GfQbKJcPHjVJL6YK19tKj8t2Ns0o=
github.com/rubenv/sql-migrate v1.8.0/go.mod h1:F2bGFBwCU+pnmbtNYDeKvSuvL6lBVtXDXUUv5t+u1qw=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -1803,6 +1859,10 @@ github.com/sassoftware/relic/v7 v7.6.2 h1:rS44Lbv9G9eXsukknS4mSjIAuuX+lMq/FnStgm
github.com/sassoftware/relic/v7 v7.6.2/go.mod h1:kjmP0IBVkJZ6gXeAu35/KCEfca//+PKM6vTAsyDPY+k=
github.com/secure-systems-lab/go-securesystemslib v0.9.0 h1:rf1HIbL64nUpEIZnjLZ3mcNEL9NBPB0iuVjyxvq3LZc=
github.com/secure-systems-lab/go-securesystemslib v0.9.0/go.mod h1:DVHKMcZ+V4/woA/peqr+L0joiRXbPpQ042GgJckkFgw=
github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys=
github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
github.com/segmentio/encoding v0.5.1 h1:LhmgXA5/alniiqfc4cYYrxF6DbUQ3m8MVz4/LQIU1mg=
github.com/segmentio/encoding v0.5.1/go.mod h1:HS1ZKa3kSN32ZHVZ7ZLPLXWvOVIiZtyJnO1gPH1sKt0=
github.com/segmentio/ksuid v1.0.4 h1:sBo2BdShXjmcugAMwjugoGUdUV0pcxY5mW4xKRn3v4c=
github.com/segmentio/ksuid v1.0.4/go.mod h1:/XUiZBD3kVx5SmUOl55voK5yeAbBNNIed+2O73XgrPE=
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
@@ -1877,6 +1937,8 @@ github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE=
github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g=
github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs=
github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
@@ -1942,8 +2004,8 @@ github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0 h1:2f304B10
github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0/go.mod h1:278M4p8WsNh3n4a1eqiFcV2FGk7wE5fwUpUom9mK9lE=
github.com/transparency-dev/merkle v0.0.2 h1:Q9nBoQcZcgPamMkGn7ghV8XiTZ/kRxn1yCG81+twTK4=
github.com/transparency-dev/merkle v0.0.2/go.mod h1:pqSy+OXefQ1EDUVmAJ8MUhHB9TXGuzVAT58PqBoHz1A=
github.com/twitchtv/twirp v8.1.3+incompatible h1:+F4TdErPgSUbMZMwp13Q/KgDVuI7HJXP61mNV3/7iuU=
github.com/twitchtv/twirp v8.1.3+incompatible/go.mod h1:RRJoFSAmTEh2weEqWtpPE3vFK5YBhA6bqp2l1kfCC5A=
github.com/twitchtv/twirp v8.1.0+incompatible h1:KGXanpa9LXdVE/V5P/tA27rkKFmXRGCtSNT7zdeeVOY=
github.com/twitchtv/twirp v8.1.0+incompatible/go.mod h1:RRJoFSAmTEh2weEqWtpPE3vFK5YBhA6bqp2l1kfCC5A=
github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
@@ -2005,6 +2067,14 @@ github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaD
go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
go.etcd.io/bbolt v1.4.2 h1:IrUHp260R8c+zYx/Tm8QZr04CX+qWS5PGfPdevhdm1I=
go.etcd.io/bbolt v1.4.2/go.mod h1:Is8rSHO/b4f3XigBC0lL0+4FwAQv3HXEEIgFMuKHceM=
go.lsp.dev/jsonrpc2 v0.10.0 h1:Pr/YcXJoEOTMc/b6OTmcR1DPJ3mSWl/SWiU1Cct6VmI=
go.lsp.dev/jsonrpc2 v0.10.0/go.mod h1:fmEzIdXPi/rf6d4uFcayi8HpFP1nBF99ERP1htC72Ac=
go.lsp.dev/pkg v0.0.0-20210717090340-384b27a52fb2 h1:hCzQgh6UcwbKgNSRurYWSqh8MufqRRPODRBblutn4TE=
go.lsp.dev/pkg v0.0.0-20210717090340-384b27a52fb2/go.mod h1:gtSHRuYfbCT0qnbLnovpie/WEmqyJ7T4n6VXiFMBtcw=
go.lsp.dev/protocol v0.12.0 h1:tNprUI9klQW5FAFVM4Sa+AbPFuVQByWhP1ttNUAjIWg=
go.lsp.dev/protocol v0.12.0/go.mod h1:Qb11/HgZQ72qQbeyPfJbu3hZBH23s1sr4st8czGeDMQ=
go.lsp.dev/uri v0.3.0 h1:KcZJmh6nFIBeJzTugn5JTU6OOyG0lDOo3R9KwTxTYbo=
go.lsp.dev/uri v0.3.0/go.mod h1:P5sbO1IQR+qySTWOCnhnK7phBx+W3zbLqSMDJNTw88I=
go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80=
go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
@@ -2067,12 +2137,16 @@ go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI=
go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc=
go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os=
go.opentelemetry.io/proto/otlp v1.7.0/go.mod h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo=
go.step.sm/crypto v0.60.0 h1:UgSw8DFG5xUOGB3GUID17UA32G4j1iNQ4qoMhBmsVFw=
go.step.sm/crypto v0.60.0/go.mod h1:Ep83Lv818L4gV0vhFTdPWRKnL6/5fRMpi8SaoP5ArSw=
go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko=
go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
@@ -2115,8 +2189,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 h1:bsqhLWFR6G6xiQcb+JoGqdKdRU6WzPWmK8E0jxTjzo4=
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8=
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -2727,10 +2801,10 @@ google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOl
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb h1:ITgPrl429bc6+2ZraNSzMDk3I95nmQln2fuPstKwFDE=
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:sAo5UzpjUwgFBCzupwhcLcxHVDK7vG5IqI30YnwX2eE=
google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 h1:Kog3KlB4xevJlAcbbbzPfRG0+X9fdoGM+UBRKVz6Wr0=
google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237/go.mod h1:ezi0AVyMKDWy5xAncvjLWH7UcLBB5n7y2fQ8MzjJcto=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 h1:oWVWY3NzT7KJppx2UKhKmzPq4SRe0LdCijVRwvGeikY=
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822/go.mod h1:h3c4v36UTKzUiuaOKQ6gr3S+0hovBtUrXzTG/i3+XEc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.0.5/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -2931,6 +3005,8 @@ mvdan.cc/sh/v3 v3.11.0 h1:q5h+XMDRfUGUedCqFFsjoFjrhwf2Mvtt1rkMvVz0blw=
mvdan.cc/sh/v3 v3.11.0/go.mod h1:LRM+1NjoYCzuq/WZ6y44x14YNAI0NK7FLPeQSaFagGg=
oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc=
oras.land/oras-go/v2 v2.6.0/go.mod h1:magiQDfG6H1O9APp+rOsvCPcW1GD2MM7vgnKY0Y+u1o=
pluginrpc.com/pluginrpc v0.5.0 h1:tOQj2D35hOmvHyPu8e7ohW2/QvAnEtKscy2IJYWQ2yo=
pluginrpc.com/pluginrpc v0.5.0/go.mod h1:UNWZ941hcVAoOZUn8YZsMmOZBzbUjQa3XMns8RQLp9o=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=

View File

@@ -3,9 +3,7 @@ package main
import (
"context"
"encoding/json"
"errors"
"fmt"
"io/fs"
"log/slog"
"os"
"os/exec"
@@ -34,10 +32,6 @@ var (
}
)
var protoFiles = []string{
"pkg/iac/scanners/terraformplan/snapshot/planproto/planfile.proto",
}
func init() {
slog.SetDefault(log.New(log.NewHandler(os.Stderr, nil))) // stdout is suppressed in mage
}
@@ -123,44 +117,38 @@ func Wire() error {
return sh.RunV("go", "tool", "wire", "gen", "./pkg/commands/...", "./pkg/rpc/...", "./pkg/k8s/...")
}
// Protoc parses PROTO_FILES and generates the Go code for client/server mode
func Protoc() error {
// It is called in the protoc container
if _, ok := os.LookupEnv("TRIVY_PROTOC_CONTAINER"); ok {
rpcProtoFiles, err := findRPCProtoFiles()
if err != nil {
return err
}
for _, file := range rpcProtoFiles {
// Check if the generated Go file is up-to-date
dst := strings.TrimSuffix(file, ".proto") + ".pb.go"
if updated, err := target.Path(dst, file); err != nil {
return err
} else if !updated {
continue
}
type Protoc mg.Namespace
// Generate
if err = sh.RunV("protoc", "--twirp_out", ".", "--twirp_opt", "paths=source_relative",
"--go_out", ".", "--go_opt", "paths=source_relative", file); err != nil {
return err
}
}
// Generate parses PROTO_FILES and generates the Go code for client/server mode
func (Protoc) Generate() error {
mg.Deps(Tool{}.Install) // Install buf and protoc-gen-twirp
for _, file := range protoFiles {
if err := sh.RunV("protoc", ".", "paths=source_relative", "--go_out", ".", "--go_opt",
"paths=source_relative", file); err != nil {
return err
}
}
return nil
}
// Run buf generate
return sh.RunV("buf", "generate")
}
// It is called on the host
if err := sh.RunV("bash", "-c", "docker build -t trivy-protoc - < Dockerfile.protoc"); err != nil {
return err
}
return sh.Run("docker", "run", "--rm", "-it", "--platform", "linux/x86_64", "-v", "${PWD}:/app", "-w", "/app", "trivy-protoc", "mage", "protoc")
// Fmt formats protobuf files using buf
func (Protoc) Fmt() error {
mg.Deps(Tool{}.Install) // Install buf
// Run buf format
return sh.RunV("buf", "format", "-w")
}
// Lint runs linting on protobuf files using buf
func (Protoc) Lint() error {
mg.Deps(Tool{}.Install) // Install buf
// Run buf lint
return sh.RunV("buf", "lint")
}
// Breaking checks for breaking changes in protobuf files using buf
func (Protoc) Breaking() error {
mg.Deps(Tool{}.Install) // Install buf
// Run buf breaking against main branch
return sh.RunV("buf", "breaking", "--against", ".git#branch=main")
}
// Yacc generates parser
@@ -357,26 +345,8 @@ func (Lint) Fix() error {
return sh.RunV("golangci-lint", "run", "--fix", "--build-tags=integration")
}
// Fmt formats Go code and proto files
// Fmt formats Go code
func Fmt() error {
// Check if clang-format is installed
if !installed("clang-format") {
return errors.New("need to install clang-format")
}
// Format proto files
rpcProtoFiles, err := findRPCProtoFiles()
if err != nil {
return err
}
allProtoFiles := append(protoFiles, rpcProtoFiles...)
for _, file := range allProtoFiles {
if err = sh.Run("clang-format", "-i", file); err != nil {
return err
}
}
// Format Go code
return sh.Run("go", "fmt", "./...")
}
@@ -494,25 +464,6 @@ func (Docs) Generate() error {
return sh.RunWith(ENV, "go", "run", "-tags=mage_docs", "./magefiles")
}
func findRPCProtoFiles() ([]string, error) {
var files []string
err := filepath.WalkDir("rpc", func(path string, d fs.DirEntry, err error) error {
switch {
case err != nil:
return err
case d.IsDir():
return nil
case filepath.Ext(path) == ".proto":
files = append(files, path)
}
return nil
})
if err != nil {
return nil, err
}
return files, nil
}
func exists(filename string) bool {
_, err := os.Stat(filename)
return err == nil

View File

@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.32.0
// protoc v5.27.1
// protoc-gen-go v1.34.0
// protoc (unknown)
// source: pkg/iac/scanners/terraformplan/snapshot/planproto/planfile.proto
package planproto

View File

@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.34.0
// protoc v3.19.4
// protoc (unknown)
// source: rpc/cache/service.proto
package cache
@@ -604,12 +604,12 @@ var File_rpc_cache_service_proto protoreflect.FileDescriptor
var file_rpc_cache_service_proto_rawDesc = []byte{
0x0a, 0x17, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x73, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x74, 0x72, 0x69, 0x76, 0x79,
0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x72, 0x70, 0x63, 0x2f,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0xb6, 0x02, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65,

View File

@@ -1,11 +1,12 @@
syntax = "proto3";
package trivy.cache.v1;
option go_package = "github.com/aquasecurity/trivy/rpc/cache;cache";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "rpc/common/service.proto";
import "google/protobuf/empty.proto";
option go_package = "github.com/aquasecurity/trivy/rpc/cache;cache";
service Cache {
rpc PutArtifact(PutArtifactRequest) returns (google.protobuf.Empty);

View File

@@ -16,7 +16,7 @@ import proto "google.golang.org/protobuf/proto"
import twirp "github.com/twitchtv/twirp"
import ctxsetters "github.com/twitchtv/twirp/ctxsetters"
import google_protobuf2 "google.golang.org/protobuf/types/known/emptypb"
import google_protobuf "google.golang.org/protobuf/types/known/emptypb"
import bytes "bytes"
import errors "errors"
@@ -35,13 +35,13 @@ const _ = twirp.TwirpPackageMinVersion_8_1_0
// ===============
type Cache interface {
PutArtifact(context.Context, *PutArtifactRequest) (*google_protobuf2.Empty, error)
PutArtifact(context.Context, *PutArtifactRequest) (*google_protobuf.Empty, error)
PutBlob(context.Context, *PutBlobRequest) (*google_protobuf2.Empty, error)
PutBlob(context.Context, *PutBlobRequest) (*google_protobuf.Empty, error)
MissingBlobs(context.Context, *MissingBlobsRequest) (*MissingBlobsResponse, error)
DeleteBlobs(context.Context, *DeleteBlobsRequest) (*google_protobuf2.Empty, error)
DeleteBlobs(context.Context, *DeleteBlobsRequest) (*google_protobuf.Empty, error)
}
// =====================
@@ -93,13 +93,13 @@ func NewCacheProtobufClient(baseURL string, client HTTPClient, opts ...twirp.Cli
}
}
func (c *cacheProtobufClient) PutArtifact(ctx context.Context, in *PutArtifactRequest) (*google_protobuf2.Empty, error) {
func (c *cacheProtobufClient) PutArtifact(ctx context.Context, in *PutArtifactRequest) (*google_protobuf.Empty, error) {
ctx = ctxsetters.WithPackageName(ctx, "trivy.cache.v1")
ctx = ctxsetters.WithServiceName(ctx, "Cache")
ctx = ctxsetters.WithMethodName(ctx, "PutArtifact")
caller := c.callPutArtifact
if c.interceptor != nil {
caller = func(ctx context.Context, req *PutArtifactRequest) (*google_protobuf2.Empty, error) {
caller = func(ctx context.Context, req *PutArtifactRequest) (*google_protobuf.Empty, error) {
resp, err := c.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*PutArtifactRequest)
@@ -110,9 +110,9 @@ func (c *cacheProtobufClient) PutArtifact(ctx context.Context, in *PutArtifactRe
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -122,8 +122,8 @@ func (c *cacheProtobufClient) PutArtifact(ctx context.Context, in *PutArtifactRe
return caller(ctx, in)
}
func (c *cacheProtobufClient) callPutArtifact(ctx context.Context, in *PutArtifactRequest) (*google_protobuf2.Empty, error) {
out := new(google_protobuf2.Empty)
func (c *cacheProtobufClient) callPutArtifact(ctx context.Context, in *PutArtifactRequest) (*google_protobuf.Empty, error) {
out := new(google_protobuf.Empty)
ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[0], in, out)
if err != nil {
twerr, ok := err.(twirp.Error)
@@ -139,13 +139,13 @@ func (c *cacheProtobufClient) callPutArtifact(ctx context.Context, in *PutArtifa
return out, nil
}
func (c *cacheProtobufClient) PutBlob(ctx context.Context, in *PutBlobRequest) (*google_protobuf2.Empty, error) {
func (c *cacheProtobufClient) PutBlob(ctx context.Context, in *PutBlobRequest) (*google_protobuf.Empty, error) {
ctx = ctxsetters.WithPackageName(ctx, "trivy.cache.v1")
ctx = ctxsetters.WithServiceName(ctx, "Cache")
ctx = ctxsetters.WithMethodName(ctx, "PutBlob")
caller := c.callPutBlob
if c.interceptor != nil {
caller = func(ctx context.Context, req *PutBlobRequest) (*google_protobuf2.Empty, error) {
caller = func(ctx context.Context, req *PutBlobRequest) (*google_protobuf.Empty, error) {
resp, err := c.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*PutBlobRequest)
@@ -156,9 +156,9 @@ func (c *cacheProtobufClient) PutBlob(ctx context.Context, in *PutBlobRequest) (
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -168,8 +168,8 @@ func (c *cacheProtobufClient) PutBlob(ctx context.Context, in *PutBlobRequest) (
return caller(ctx, in)
}
func (c *cacheProtobufClient) callPutBlob(ctx context.Context, in *PutBlobRequest) (*google_protobuf2.Empty, error) {
out := new(google_protobuf2.Empty)
func (c *cacheProtobufClient) callPutBlob(ctx context.Context, in *PutBlobRequest) (*google_protobuf.Empty, error) {
out := new(google_protobuf.Empty)
ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[1], in, out)
if err != nil {
twerr, ok := err.(twirp.Error)
@@ -231,13 +231,13 @@ func (c *cacheProtobufClient) callMissingBlobs(ctx context.Context, in *MissingB
return out, nil
}
func (c *cacheProtobufClient) DeleteBlobs(ctx context.Context, in *DeleteBlobsRequest) (*google_protobuf2.Empty, error) {
func (c *cacheProtobufClient) DeleteBlobs(ctx context.Context, in *DeleteBlobsRequest) (*google_protobuf.Empty, error) {
ctx = ctxsetters.WithPackageName(ctx, "trivy.cache.v1")
ctx = ctxsetters.WithServiceName(ctx, "Cache")
ctx = ctxsetters.WithMethodName(ctx, "DeleteBlobs")
caller := c.callDeleteBlobs
if c.interceptor != nil {
caller = func(ctx context.Context, req *DeleteBlobsRequest) (*google_protobuf2.Empty, error) {
caller = func(ctx context.Context, req *DeleteBlobsRequest) (*google_protobuf.Empty, error) {
resp, err := c.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*DeleteBlobsRequest)
@@ -248,9 +248,9 @@ func (c *cacheProtobufClient) DeleteBlobs(ctx context.Context, in *DeleteBlobsRe
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -260,8 +260,8 @@ func (c *cacheProtobufClient) DeleteBlobs(ctx context.Context, in *DeleteBlobsRe
return caller(ctx, in)
}
func (c *cacheProtobufClient) callDeleteBlobs(ctx context.Context, in *DeleteBlobsRequest) (*google_protobuf2.Empty, error) {
out := new(google_protobuf2.Empty)
func (c *cacheProtobufClient) callDeleteBlobs(ctx context.Context, in *DeleteBlobsRequest) (*google_protobuf.Empty, error) {
out := new(google_protobuf.Empty)
ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[3], in, out)
if err != nil {
twerr, ok := err.(twirp.Error)
@@ -326,13 +326,13 @@ func NewCacheJSONClient(baseURL string, client HTTPClient, opts ...twirp.ClientO
}
}
func (c *cacheJSONClient) PutArtifact(ctx context.Context, in *PutArtifactRequest) (*google_protobuf2.Empty, error) {
func (c *cacheJSONClient) PutArtifact(ctx context.Context, in *PutArtifactRequest) (*google_protobuf.Empty, error) {
ctx = ctxsetters.WithPackageName(ctx, "trivy.cache.v1")
ctx = ctxsetters.WithServiceName(ctx, "Cache")
ctx = ctxsetters.WithMethodName(ctx, "PutArtifact")
caller := c.callPutArtifact
if c.interceptor != nil {
caller = func(ctx context.Context, req *PutArtifactRequest) (*google_protobuf2.Empty, error) {
caller = func(ctx context.Context, req *PutArtifactRequest) (*google_protobuf.Empty, error) {
resp, err := c.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*PutArtifactRequest)
@@ -343,9 +343,9 @@ func (c *cacheJSONClient) PutArtifact(ctx context.Context, in *PutArtifactReques
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -355,8 +355,8 @@ func (c *cacheJSONClient) PutArtifact(ctx context.Context, in *PutArtifactReques
return caller(ctx, in)
}
func (c *cacheJSONClient) callPutArtifact(ctx context.Context, in *PutArtifactRequest) (*google_protobuf2.Empty, error) {
out := new(google_protobuf2.Empty)
func (c *cacheJSONClient) callPutArtifact(ctx context.Context, in *PutArtifactRequest) (*google_protobuf.Empty, error) {
out := new(google_protobuf.Empty)
ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[0], in, out)
if err != nil {
twerr, ok := err.(twirp.Error)
@@ -372,13 +372,13 @@ func (c *cacheJSONClient) callPutArtifact(ctx context.Context, in *PutArtifactRe
return out, nil
}
func (c *cacheJSONClient) PutBlob(ctx context.Context, in *PutBlobRequest) (*google_protobuf2.Empty, error) {
func (c *cacheJSONClient) PutBlob(ctx context.Context, in *PutBlobRequest) (*google_protobuf.Empty, error) {
ctx = ctxsetters.WithPackageName(ctx, "trivy.cache.v1")
ctx = ctxsetters.WithServiceName(ctx, "Cache")
ctx = ctxsetters.WithMethodName(ctx, "PutBlob")
caller := c.callPutBlob
if c.interceptor != nil {
caller = func(ctx context.Context, req *PutBlobRequest) (*google_protobuf2.Empty, error) {
caller = func(ctx context.Context, req *PutBlobRequest) (*google_protobuf.Empty, error) {
resp, err := c.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*PutBlobRequest)
@@ -389,9 +389,9 @@ func (c *cacheJSONClient) PutBlob(ctx context.Context, in *PutBlobRequest) (*goo
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -401,8 +401,8 @@ func (c *cacheJSONClient) PutBlob(ctx context.Context, in *PutBlobRequest) (*goo
return caller(ctx, in)
}
func (c *cacheJSONClient) callPutBlob(ctx context.Context, in *PutBlobRequest) (*google_protobuf2.Empty, error) {
out := new(google_protobuf2.Empty)
func (c *cacheJSONClient) callPutBlob(ctx context.Context, in *PutBlobRequest) (*google_protobuf.Empty, error) {
out := new(google_protobuf.Empty)
ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[1], in, out)
if err != nil {
twerr, ok := err.(twirp.Error)
@@ -464,13 +464,13 @@ func (c *cacheJSONClient) callMissingBlobs(ctx context.Context, in *MissingBlobs
return out, nil
}
func (c *cacheJSONClient) DeleteBlobs(ctx context.Context, in *DeleteBlobsRequest) (*google_protobuf2.Empty, error) {
func (c *cacheJSONClient) DeleteBlobs(ctx context.Context, in *DeleteBlobsRequest) (*google_protobuf.Empty, error) {
ctx = ctxsetters.WithPackageName(ctx, "trivy.cache.v1")
ctx = ctxsetters.WithServiceName(ctx, "Cache")
ctx = ctxsetters.WithMethodName(ctx, "DeleteBlobs")
caller := c.callDeleteBlobs
if c.interceptor != nil {
caller = func(ctx context.Context, req *DeleteBlobsRequest) (*google_protobuf2.Empty, error) {
caller = func(ctx context.Context, req *DeleteBlobsRequest) (*google_protobuf.Empty, error) {
resp, err := c.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*DeleteBlobsRequest)
@@ -481,9 +481,9 @@ func (c *cacheJSONClient) DeleteBlobs(ctx context.Context, in *DeleteBlobsReques
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -493,8 +493,8 @@ func (c *cacheJSONClient) DeleteBlobs(ctx context.Context, in *DeleteBlobsReques
return caller(ctx, in)
}
func (c *cacheJSONClient) callDeleteBlobs(ctx context.Context, in *DeleteBlobsRequest) (*google_protobuf2.Empty, error) {
out := new(google_protobuf2.Empty)
func (c *cacheJSONClient) callDeleteBlobs(ctx context.Context, in *DeleteBlobsRequest) (*google_protobuf.Empty, error) {
out := new(google_protobuf.Empty)
ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[3], in, out)
if err != nil {
twerr, ok := err.(twirp.Error)
@@ -668,7 +668,7 @@ func (s *cacheServer) servePutArtifactJSON(ctx context.Context, resp http.Respon
handler := s.Cache.PutArtifact
if s.interceptor != nil {
handler = func(ctx context.Context, req *PutArtifactRequest) (*google_protobuf2.Empty, error) {
handler = func(ctx context.Context, req *PutArtifactRequest) (*google_protobuf.Empty, error) {
resp, err := s.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*PutArtifactRequest)
@@ -679,9 +679,9 @@ func (s *cacheServer) servePutArtifactJSON(ctx context.Context, resp http.Respon
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -690,7 +690,7 @@ func (s *cacheServer) servePutArtifactJSON(ctx context.Context, resp http.Respon
}
// Call service method
var respContent *google_protobuf2.Empty
var respContent *google_protobuf.Empty
func() {
defer ensurePanicResponses(ctx, resp, s.hooks)
respContent, err = handler(ctx, reqContent)
@@ -701,7 +701,7 @@ func (s *cacheServer) servePutArtifactJSON(ctx context.Context, resp http.Respon
return
}
if respContent == nil {
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf2.Empty and nil error while calling PutArtifact. nil responses are not supported"))
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf.Empty and nil error while calling PutArtifact. nil responses are not supported"))
return
}
@@ -749,7 +749,7 @@ func (s *cacheServer) servePutArtifactProtobuf(ctx context.Context, resp http.Re
handler := s.Cache.PutArtifact
if s.interceptor != nil {
handler = func(ctx context.Context, req *PutArtifactRequest) (*google_protobuf2.Empty, error) {
handler = func(ctx context.Context, req *PutArtifactRequest) (*google_protobuf.Empty, error) {
resp, err := s.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*PutArtifactRequest)
@@ -760,9 +760,9 @@ func (s *cacheServer) servePutArtifactProtobuf(ctx context.Context, resp http.Re
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -771,7 +771,7 @@ func (s *cacheServer) servePutArtifactProtobuf(ctx context.Context, resp http.Re
}
// Call service method
var respContent *google_protobuf2.Empty
var respContent *google_protobuf.Empty
func() {
defer ensurePanicResponses(ctx, resp, s.hooks)
respContent, err = handler(ctx, reqContent)
@@ -782,7 +782,7 @@ func (s *cacheServer) servePutArtifactProtobuf(ctx context.Context, resp http.Re
return
}
if respContent == nil {
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf2.Empty and nil error while calling PutArtifact. nil responses are not supported"))
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf.Empty and nil error while calling PutArtifact. nil responses are not supported"))
return
}
@@ -848,7 +848,7 @@ func (s *cacheServer) servePutBlobJSON(ctx context.Context, resp http.ResponseWr
handler := s.Cache.PutBlob
if s.interceptor != nil {
handler = func(ctx context.Context, req *PutBlobRequest) (*google_protobuf2.Empty, error) {
handler = func(ctx context.Context, req *PutBlobRequest) (*google_protobuf.Empty, error) {
resp, err := s.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*PutBlobRequest)
@@ -859,9 +859,9 @@ func (s *cacheServer) servePutBlobJSON(ctx context.Context, resp http.ResponseWr
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -870,7 +870,7 @@ func (s *cacheServer) servePutBlobJSON(ctx context.Context, resp http.ResponseWr
}
// Call service method
var respContent *google_protobuf2.Empty
var respContent *google_protobuf.Empty
func() {
defer ensurePanicResponses(ctx, resp, s.hooks)
respContent, err = handler(ctx, reqContent)
@@ -881,7 +881,7 @@ func (s *cacheServer) servePutBlobJSON(ctx context.Context, resp http.ResponseWr
return
}
if respContent == nil {
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf2.Empty and nil error while calling PutBlob. nil responses are not supported"))
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf.Empty and nil error while calling PutBlob. nil responses are not supported"))
return
}
@@ -929,7 +929,7 @@ func (s *cacheServer) servePutBlobProtobuf(ctx context.Context, resp http.Respon
handler := s.Cache.PutBlob
if s.interceptor != nil {
handler = func(ctx context.Context, req *PutBlobRequest) (*google_protobuf2.Empty, error) {
handler = func(ctx context.Context, req *PutBlobRequest) (*google_protobuf.Empty, error) {
resp, err := s.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*PutBlobRequest)
@@ -940,9 +940,9 @@ func (s *cacheServer) servePutBlobProtobuf(ctx context.Context, resp http.Respon
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -951,7 +951,7 @@ func (s *cacheServer) servePutBlobProtobuf(ctx context.Context, resp http.Respon
}
// Call service method
var respContent *google_protobuf2.Empty
var respContent *google_protobuf.Empty
func() {
defer ensurePanicResponses(ctx, resp, s.hooks)
respContent, err = handler(ctx, reqContent)
@@ -962,7 +962,7 @@ func (s *cacheServer) servePutBlobProtobuf(ctx context.Context, resp http.Respon
return
}
if respContent == nil {
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf2.Empty and nil error while calling PutBlob. nil responses are not supported"))
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf.Empty and nil error while calling PutBlob. nil responses are not supported"))
return
}
@@ -1208,7 +1208,7 @@ func (s *cacheServer) serveDeleteBlobsJSON(ctx context.Context, resp http.Respon
handler := s.Cache.DeleteBlobs
if s.interceptor != nil {
handler = func(ctx context.Context, req *DeleteBlobsRequest) (*google_protobuf2.Empty, error) {
handler = func(ctx context.Context, req *DeleteBlobsRequest) (*google_protobuf.Empty, error) {
resp, err := s.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*DeleteBlobsRequest)
@@ -1219,9 +1219,9 @@ func (s *cacheServer) serveDeleteBlobsJSON(ctx context.Context, resp http.Respon
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -1230,7 +1230,7 @@ func (s *cacheServer) serveDeleteBlobsJSON(ctx context.Context, resp http.Respon
}
// Call service method
var respContent *google_protobuf2.Empty
var respContent *google_protobuf.Empty
func() {
defer ensurePanicResponses(ctx, resp, s.hooks)
respContent, err = handler(ctx, reqContent)
@@ -1241,7 +1241,7 @@ func (s *cacheServer) serveDeleteBlobsJSON(ctx context.Context, resp http.Respon
return
}
if respContent == nil {
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf2.Empty and nil error while calling DeleteBlobs. nil responses are not supported"))
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf.Empty and nil error while calling DeleteBlobs. nil responses are not supported"))
return
}
@@ -1289,7 +1289,7 @@ func (s *cacheServer) serveDeleteBlobsProtobuf(ctx context.Context, resp http.Re
handler := s.Cache.DeleteBlobs
if s.interceptor != nil {
handler = func(ctx context.Context, req *DeleteBlobsRequest) (*google_protobuf2.Empty, error) {
handler = func(ctx context.Context, req *DeleteBlobsRequest) (*google_protobuf.Empty, error) {
resp, err := s.interceptor(
func(ctx context.Context, req interface{}) (interface{}, error) {
typedReq, ok := req.(*DeleteBlobsRequest)
@@ -1300,9 +1300,9 @@ func (s *cacheServer) serveDeleteBlobsProtobuf(ctx context.Context, resp http.Re
},
)(ctx, req)
if resp != nil {
typedResp, ok := resp.(*google_protobuf2.Empty)
typedResp, ok := resp.(*google_protobuf.Empty)
if !ok {
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf2.Empty) when calling interceptor")
return nil, twirp.InternalError("failed type assertion resp.(*google_protobuf.Empty) when calling interceptor")
}
return typedResp, err
}
@@ -1311,7 +1311,7 @@ func (s *cacheServer) serveDeleteBlobsProtobuf(ctx context.Context, resp http.Re
}
// Call service method
var respContent *google_protobuf2.Empty
var respContent *google_protobuf.Empty
func() {
defer ensurePanicResponses(ctx, resp, s.hooks)
respContent, err = handler(ctx, reqContent)
@@ -1322,7 +1322,7 @@ func (s *cacheServer) serveDeleteBlobsProtobuf(ctx context.Context, resp http.Re
return
}
if respContent == nil {
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf2.Empty and nil error while calling DeleteBlobs. nil responses are not supported"))
s.writeError(ctx, resp, twirp.InternalError("received a nil *google_protobuf.Empty and nil error while calling DeleteBlobs. nil responses are not supported"))
return
}
@@ -1933,60 +1933,60 @@ func callClientError(ctx context.Context, h *twirp.ClientHooks, err twirp.Error)
}
var twirpFileDescriptor0 = []byte{
// 872 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xef, 0x8f, 0x1b, 0x35,
0x10, 0x55, 0x92, 0xbb, 0x4b, 0x32, 0xf9, 0x71, 0x87, 0x29, 0xed, 0x36, 0x94, 0x36, 0x0a, 0x20,
0x05, 0x09, 0x76, 0xc5, 0x41, 0x25, 0x24, 0x04, 0xe2, 0xee, 0x0a, 0x28, 0x52, 0x2b, 0x0e, 0x17,
0x21, 0xc1, 0x97, 0xb0, 0xf1, 0x7a, 0x13, 0xeb, 0xb2, 0xeb, 0x3d, 0x8f, 0xf7, 0x20, 0xfc, 0x61,
0xfd, 0xc2, 0x3f, 0x87, 0xec, 0xf5, 0x26, 0xd9, 0x24, 0x3d, 0xc1, 0x97, 0x68, 0x3d, 0xf3, 0xfc,
0x3c, 0xf3, 0xfc, 0xc6, 0x81, 0x47, 0x2a, 0x63, 0x01, 0x0b, 0xd9, 0x82, 0x07, 0xc8, 0xd5, 0x9d,
// 871 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xef, 0x8f, 0xdb, 0x44,
0x10, 0x55, 0x92, 0xbb, 0x4b, 0x32, 0xf9, 0x71, 0xc7, 0x52, 0x5a, 0x37, 0x94, 0x36, 0x0a, 0x20,
0x05, 0x09, 0x6c, 0x71, 0x50, 0x09, 0x09, 0x81, 0xb8, 0xbb, 0x02, 0x8a, 0xd4, 0x8a, 0x63, 0x8b,
0x90, 0xe0, 0x4b, 0x70, 0xd6, 0xeb, 0x64, 0x75, 0xb1, 0xd7, 0xb7, 0xb3, 0x3e, 0x08, 0x7f, 0x58,
0xbf, 0xf0, 0xcf, 0xa1, 0x5d, 0xaf, 0x93, 0x38, 0x49, 0x4f, 0xf0, 0x25, 0xf2, 0xce, 0x3c, 0xcf,
0xbe, 0x79, 0xf3, 0xc6, 0x81, 0x47, 0x2a, 0x63, 0x01, 0x0b, 0xd9, 0x82, 0x07, 0xc8, 0xd5, 0x9d,
0x60, 0xdc, 0xcf, 0x94, 0xd4, 0x92, 0xf4, 0xb5, 0x12, 0x77, 0x2b, 0xdf, 0xa6, 0xfc, 0xbb, 0xcf,
0x07, 0xcf, 0xe6, 0x52, 0xce, 0x97, 0x3c, 0xb0, 0xd9, 0x59, 0x1e, 0x07, 0x5a, 0x24, 0x1c, 0x75,
0x98, 0x64, 0xc5, 0x86, 0x81, 0x67, 0x99, 0x64, 0x92, 0xc8, 0xb4, 0x4a, 0x35, 0x78, 0x7f, 0x77,
0x2b, 0x4f, 0x32, 0xbd, 0x2a, 0x92, 0xa3, 0x37, 0x75, 0xe8, 0x5e, 0x28, 0x2d, 0xe2, 0x90, 0xe9,
0x49, 0x1a, 0x4b, 0xf2, 0x31, 0xf4, 0x91, 0x2d, 0x78, 0x12, 0x4e, 0xef, 0xb8, 0x42, 0x21, 0x53,
0xaf, 0x36, 0xac, 0x8d, 0x8f, 0x69, 0xaf, 0x88, 0xfe, 0x5a, 0x04, 0xc9, 0x08, 0xba, 0xa1, 0x62,
0x0b, 0xa1, 0x39, 0xd3, 0xb9, 0xe2, 0x5e, 0x7d, 0x58, 0x1b, 0xb7, 0x69, 0x25, 0x46, 0xbe, 0x84,
0x26, 0x53, 0x3c, 0xd4, 0x3c, 0xf2, 0x1a, 0xc3, 0xda, 0xb8, 0x73, 0x3e, 0xf0, 0x8b, 0x52, 0xfc,
0xb2, 0x14, 0xff, 0x97, 0xb2, 0x0b, 0x5a, 0x42, 0x4d, 0x01, 0x91, 0x64, 0x37, 0x5c, 0xad, 0x0b,
0x38, 0xb2, 0xdc, 0xbd, 0x22, 0x5a, 0x16, 0xd0, 0x87, 0xba, 0x44, 0xef, 0xd8, 0xa6, 0xea, 0x12,
0xc9, 0x77, 0x70, 0xb6, 0x10, 0xa8, 0xa5, 0x5a, 0x4d, 0xb3, 0x90, 0xdd, 0x84, 0x73, 0x8e, 0xde,
0xc9, 0xb0, 0x31, 0xee, 0x9c, 0xbf, 0xe7, 0x3b, 0x2d, 0xad, 0x38, 0xfe, 0x75, 0x91, 0xa5, 0xa7,
0x0e, 0xee, 0xd6, 0x48, 0x3e, 0x85, 0x13, 0xe4, 0x4c, 0x71, 0xed, 0x35, 0x6d, 0xb5, 0x0f, 0xaa,
0xfb, 0x5e, 0xdb, 0x1c, 0x75, 0x98, 0xd1, 0x5f, 0x40, 0xae, 0x73, 0x5d, 0x4a, 0x47, 0xf9, 0x6d,
0xce, 0x51, 0x93, 0x67, 0xd0, 0x09, 0x5d, 0x68, 0x2a, 0x22, 0x2b, 0x5d, 0x9b, 0x42, 0x19, 0x9a,
0x44, 0xe4, 0x02, 0x7a, 0x1b, 0x40, 0x1a, 0x4b, 0x2b, 0x5c, 0xe7, 0xfc, 0x89, 0x5f, 0xbd, 0x6f,
0x7f, 0xfb, 0x4e, 0x8c, 0xac, 0x9b, 0xd5, 0xe8, 0xcd, 0x31, 0xb4, 0x2e, 0x97, 0x72, 0xf6, 0x7f,
0xae, 0x6b, 0x68, 0xd5, 0x2a, 0xce, 0x3a, 0xab, 0xf6, 0xf5, 0xd3, 0x6b, 0xab, 0xdf, 0x57, 0x00,
0x8a, 0x67, 0x12, 0x85, 0xd1, 0xc4, 0xeb, 0x58, 0xa4, 0x57, 0x45, 0xd2, 0x75, 0x9e, 0x6e, 0x61,
0xc9, 0xb7, 0xd0, 0x73, 0x8a, 0xdb, 0x8e, 0xd0, 0x6b, 0x58, 0xd9, 0x1f, 0x1f, 0x94, 0xbd, 0xe8,
0x27, 0xdb, 0x2c, 0x90, 0x7c, 0x03, 0xdd, 0x30, 0xcb, 0x96, 0x82, 0x85, 0x5a, 0xc8, 0x14, 0xbd,
0xa3, 0x43, 0xdb, 0x2f, 0x36, 0x08, 0x5a, 0x81, 0x93, 0x97, 0xf0, 0x4e, 0x22, 0x90, 0xc9, 0x34,
0x16, 0xf3, 0x5c, 0x39, 0x8e, 0xb6, 0xe5, 0x78, 0x5a, 0xe5, 0x78, 0xb5, 0x03, 0xa3, 0xfb, 0x1b,
0xcd, 0x05, 0xca, 0x2c, 0xbc, 0xcd, 0xf9, 0x34, 0x12, 0xca, 0xf8, 0xab, 0x61, 0x2e, 0xb0, 0x08,
0xbd, 0x10, 0x0a, 0x8d, 0xe0, 0x7f, 0x1a, 0x8b, 0xcb, 0x5c, 0x4f, 0x63, 0xb1, 0x74, 0x2e, 0x6b,
0xd3, 0x5e, 0x19, 0xfd, 0xc1, 0x04, 0xc9, 0x43, 0x38, 0x89, 0xc4, 0x9c, 0x63, 0x61, 0xa6, 0x36,
0x75, 0x2b, 0xf2, 0x08, 0x9a, 0x91, 0x88, 0x63, 0x63, 0x8e, 0x56, 0x99, 0x88, 0xe3, 0x49, 0x44,
0x7e, 0x84, 0x33, 0x96, 0xa3, 0x96, 0xc9, 0x54, 0x71, 0x94, 0xb9, 0x62, 0x1c, 0x3d, 0xb0, 0x5d,
0x3c, 0xa9, 0x76, 0x71, 0x65, 0x51, 0xd4, 0x81, 0xe8, 0x29, 0xab, 0xac, 0x91, 0xf8, 0xd0, 0x2c,
0x2c, 0x8a, 0x5e, 0xd7, 0xee, 0x3f, 0xec, 0xe3, 0x12, 0x44, 0x9e, 0x43, 0x6b, 0x29, 0x18, 0x4f,
0x91, 0xa3, 0xd7, 0x3b, 0x24, 0xfd, 0xcb, 0x22, 0x6b, 0xfa, 0xa2, 0x6b, 0x28, 0x21, 0x70, 0x84,
0xe2, 0x6f, 0xee, 0xf5, 0x87, 0xb5, 0x71, 0x83, 0xda, 0x6f, 0xf2, 0x01, 0x80, 0x9b, 0xe2, 0xe9,
0x6c, 0xe5, 0x9d, 0xda, 0xfe, 0xda, 0x2e, 0x72, 0xb9, 0x1a, 0xfd, 0x01, 0xfd, 0xeb, 0x5c, 0x1b,
0xeb, 0x96, 0xe3, 0xb2, 0xa5, 0x46, 0xad, 0xa2, 0xc6, 0x73, 0x68, 0xcf, 0x96, 0x72, 0x56, 0x8c,
0x48, 0xa3, 0x6a, 0xc6, 0x72, 0x44, 0xca, 0x19, 0xa0, 0xad, 0x99, 0xfb, 0x1a, 0x5d, 0x41, 0xe7,
0x3a, 0xd7, 0x94, 0x63, 0x26, 0x53, 0xe4, 0xce, 0xf5, 0xb5, 0x7b, 0x5c, 0x4f, 0xe0, 0x88, 0x4b,
0x5c, 0xda, 0xc9, 0x68, 0x51, 0xfb, 0x3d, 0xfa, 0x19, 0xde, 0x7d, 0x25, 0x10, 0x45, 0x3a, 0x37,
0x27, 0xe0, 0x7f, 0x1e, 0xed, 0xc7, 0xd0, 0x2a, 0x6a, 0x8e, 0xcc, 0xa4, 0x19, 0x4f, 0x34, 0x6d,
0x61, 0x11, 0x8e, 0x6e, 0xe0, 0x41, 0x95, 0xd2, 0x15, 0xf8, 0x09, 0x9c, 0x25, 0x45, 0x7c, 0x5a,
0x12, 0x59, 0xe2, 0x16, 0x3d, 0x75, 0xf1, 0xf2, 0x1d, 0x20, 0xe3, 0x0d, 0x74, 0xe7, 0x94, 0x7e,
0xb2, 0xa1, 0x36, 0x87, 0x05, 0x40, 0x5e, 0xf0, 0x25, 0xd7, 0xbc, 0x52, 0xfe, 0x76, 0x75, 0xb5,
0x4a, 0x75, 0xe7, 0xff, 0xd4, 0xe1, 0xf8, 0xca, 0xa8, 0x4a, 0x26, 0x56, 0xbf, 0xf5, 0x99, 0xa3,
0x5d, 0xc9, 0xf7, 0x5f, 0xbc, 0xc1, 0xc3, 0xbd, 0x37, 0xfd, 0x7b, 0xf3, 0xf7, 0x42, 0x2e, 0xa0,
0xe9, 0x2e, 0x9b, 0x3c, 0x3d, 0x40, 0xb3, 0xe5, 0x82, 0xb7, 0x52, 0xfc, 0x06, 0xdd, 0x6d, 0xd5,
0xc8, 0x87, 0xbb, 0x3c, 0x07, 0xae, 0x69, 0xf0, 0xd1, 0xfd, 0x20, 0x27, 0xfc, 0x04, 0x3a, 0x5b,
0x1a, 0xed, 0x37, 0xba, 0x2f, 0xe0, 0xdb, 0xaa, 0xbc, 0x0c, 0x7e, 0xff, 0x6c, 0x2e, 0xf4, 0x22,
0x9f, 0x19, 0x6b, 0x05, 0xe1, 0x6d, 0x1e, 0x22, 0x67, 0xb9, 0x12, 0x7a, 0x15, 0x58, 0xd2, 0x60,
0xfd, 0x17, 0xff, 0xb5, 0xfd, 0x9d, 0x9d, 0x58, 0x82, 0x2f, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff,
0xf7, 0x8e, 0x1a, 0x5d, 0xfc, 0x07, 0x00, 0x00,
0x07, 0xef, 0xcf, 0xa5, 0x9c, 0x2f, 0x79, 0x60, 0xb3, 0xb3, 0x3c, 0x0e, 0x78, 0x92, 0xe9, 0x55,
0x01, 0x1e, 0x3c, 0xdb, 0x4d, 0x6a, 0x91, 0x70, 0xd4, 0x61, 0x92, 0x39, 0x80, 0x67, 0xaf, 0x91,
0x49, 0x22, 0xd3, 0xea, 0x3d, 0xa3, 0x37, 0x75, 0xe8, 0x5e, 0x28, 0x2d, 0xe2, 0x90, 0xe9, 0x49,
0x1a, 0x4b, 0xf2, 0x31, 0xf4, 0x91, 0x2d, 0x78, 0x12, 0x4e, 0xef, 0xb8, 0x42, 0x21, 0x53, 0xaf,
0x36, 0xac, 0x8d, 0x8f, 0x69, 0xaf, 0x88, 0xfe, 0x5a, 0x04, 0xc9, 0x08, 0xba, 0xa1, 0x62, 0x0b,
0xa1, 0x39, 0xd3, 0xb9, 0xe2, 0x5e, 0x7d, 0x58, 0x1b, 0xb7, 0x69, 0x25, 0x46, 0xbe, 0x84, 0x26,
0x53, 0x3c, 0xd4, 0x3c, 0xf2, 0x1a, 0xc3, 0xda, 0xb8, 0x73, 0x3e, 0xf0, 0x0b, 0xa2, 0x7e, 0x49,
0xd4, 0xff, 0xa5, 0x24, 0x4a, 0x4b, 0xa8, 0x21, 0x10, 0x49, 0x76, 0xc3, 0xd5, 0x9a, 0xc0, 0x91,
0xad, 0xdd, 0x2b, 0xa2, 0x25, 0x81, 0x3e, 0xd4, 0x25, 0x7a, 0xc7, 0x36, 0x55, 0x97, 0x48, 0xbe,
0x83, 0xb3, 0x85, 0x40, 0x2d, 0xd5, 0x6a, 0x9a, 0x85, 0xec, 0x26, 0x9c, 0x73, 0xf4, 0x4e, 0x86,
0x8d, 0x71, 0xe7, 0xfc, 0x3d, 0xdf, 0x69, 0x69, 0xfb, 0xf7, 0xaf, 0x8b, 0x2c, 0x3d, 0x75, 0x70,
0x77, 0x46, 0xf2, 0x29, 0x9c, 0x20, 0x67, 0x8a, 0x6b, 0xaf, 0x69, 0xd9, 0x3e, 0xa8, 0xbe, 0xf7,
0xda, 0xe6, 0xa8, 0xc3, 0x8c, 0xfe, 0x02, 0x72, 0x9d, 0xeb, 0x52, 0x3a, 0xca, 0x6f, 0x73, 0x8e,
0x9a, 0x3c, 0x83, 0x4e, 0xe8, 0x42, 0x53, 0x11, 0x59, 0xe9, 0xda, 0x14, 0xca, 0xd0, 0x24, 0x22,
0x17, 0xd0, 0xdb, 0x00, 0xd2, 0x58, 0x5a, 0xe1, 0x3a, 0xe7, 0x4f, 0xfc, 0xea, 0xbc, 0xfd, 0xed,
0x99, 0x18, 0x59, 0x37, 0xa7, 0xd1, 0x9b, 0x63, 0x68, 0x5d, 0x2e, 0xe5, 0xec, 0xff, 0x8c, 0x6b,
0x68, 0xd5, 0x2a, 0xee, 0x3a, 0xab, 0xf6, 0xf5, 0xd3, 0x6b, 0xab, 0xdf, 0x57, 0x00, 0x8a, 0x67,
0x12, 0x85, 0xd1, 0xc4, 0xeb, 0x58, 0xa4, 0x57, 0x45, 0xd2, 0x75, 0x9e, 0x6e, 0x61, 0xc9, 0xb7,
0xd0, 0x73, 0x8a, 0xdb, 0x8e, 0xd0, 0x6b, 0x58, 0xd9, 0x1f, 0x1f, 0x94, 0xbd, 0xe8, 0x27, 0xdb,
0x1c, 0x90, 0x7c, 0x03, 0xdd, 0x30, 0xcb, 0x96, 0x82, 0x85, 0x5a, 0xc8, 0x14, 0xbd, 0xa3, 0x43,
0xaf, 0x5f, 0x6c, 0x10, 0xb4, 0x02, 0x27, 0x2f, 0xe1, 0x9d, 0x44, 0x20, 0x93, 0x69, 0x2c, 0xe6,
0xb9, 0x72, 0x35, 0xda, 0xb6, 0xc6, 0xd3, 0x6a, 0x8d, 0x57, 0x3b, 0x30, 0xba, 0xff, 0xa2, 0x19,
0xa0, 0xcc, 0xc2, 0xdb, 0x9c, 0x4f, 0x23, 0xa1, 0x8c, 0xbf, 0x1a, 0x66, 0x80, 0x45, 0xe8, 0x85,
0x50, 0x68, 0x04, 0xff, 0xd3, 0x58, 0x5c, 0xe6, 0x7a, 0x1a, 0x8b, 0xa5, 0x73, 0x59, 0x9b, 0xf6,
0xca, 0xe8, 0x0f, 0x26, 0x48, 0x1e, 0xc2, 0x49, 0x24, 0xe6, 0x1c, 0x0b, 0x33, 0xb5, 0xa9, 0x3b,
0x91, 0x47, 0xd0, 0x8c, 0x44, 0x1c, 0x1b, 0x73, 0xb4, 0xca, 0x44, 0x1c, 0x4f, 0x22, 0xf2, 0x23,
0x9c, 0xb1, 0x1c, 0xb5, 0x4c, 0xa6, 0x8a, 0xa3, 0xcc, 0x15, 0xe3, 0xe8, 0x81, 0xed, 0xe2, 0x49,
0xb5, 0x8b, 0x2b, 0x8b, 0xa2, 0x0e, 0x44, 0x4f, 0x59, 0xe5, 0x8c, 0xc4, 0x87, 0x66, 0x61, 0x51,
0xf4, 0xba, 0xf6, 0xfd, 0xc3, 0x3e, 0x2e, 0x41, 0xe4, 0x39, 0xb4, 0x96, 0x82, 0xf1, 0x14, 0x39,
0x7a, 0xbd, 0x43, 0xd2, 0xbf, 0x2c, 0xb2, 0xa6, 0x2f, 0xba, 0x86, 0x12, 0x02, 0x47, 0x28, 0xfe,
0xe6, 0x5e, 0x7f, 0x58, 0x1b, 0x37, 0xa8, 0x7d, 0x26, 0x1f, 0x00, 0xb8, 0x2d, 0x9e, 0xce, 0x56,
0xde, 0xa9, 0xed, 0xaf, 0xed, 0x22, 0x97, 0xab, 0xd1, 0x1f, 0xd0, 0xbf, 0xce, 0xb5, 0xb1, 0x6e,
0xb9, 0x2e, 0x5b, 0x6a, 0xd4, 0x2a, 0x6a, 0x3c, 0x87, 0xf6, 0x6c, 0x29, 0x67, 0xc5, 0x8a, 0x34,
0xaa, 0x66, 0x2c, 0x57, 0xa4, 0xdc, 0x01, 0xda, 0x9a, 0xb9, 0xa7, 0xd1, 0x15, 0x74, 0xae, 0x73,
0x4d, 0x39, 0x66, 0x32, 0x45, 0xee, 0x5c, 0x5f, 0xbb, 0xc7, 0xf5, 0x04, 0x8e, 0xb8, 0xc4, 0xa5,
0xdd, 0x8c, 0x16, 0xb5, 0xcf, 0xa3, 0x9f, 0xe1, 0xdd, 0x57, 0x02, 0x51, 0xa4, 0x73, 0x73, 0x03,
0xfe, 0xe7, 0xd5, 0x7e, 0x0c, 0xad, 0x82, 0x73, 0x64, 0x36, 0xcd, 0x78, 0xa2, 0x69, 0x89, 0x45,
0x38, 0xba, 0x81, 0x07, 0xd5, 0x92, 0x8e, 0xe0, 0x27, 0x70, 0x96, 0x14, 0xf1, 0x69, 0x59, 0xc8,
0x16, 0x6e, 0xd1, 0x53, 0x17, 0x2f, 0xbf, 0x03, 0x64, 0xbc, 0x81, 0xee, 0xdc, 0xd2, 0x4f, 0x36,
0xa5, 0xcd, 0x65, 0x01, 0x90, 0x17, 0x7c, 0xc9, 0x35, 0xaf, 0xd0, 0xdf, 0x66, 0x57, 0xab, 0xb0,
0x3b, 0xff, 0xa7, 0x0e, 0xc7, 0x57, 0x46, 0x55, 0x32, 0xb1, 0xfa, 0xad, 0xef, 0x1c, 0xed, 0x4a,
0xbe, 0xff, 0xc5, 0x1b, 0x3c, 0xdc, 0xfb, 0xa6, 0x7f, 0x6f, 0xfe, 0x99, 0xc8, 0x05, 0x34, 0xdd,
0xb0, 0xc9, 0xd3, 0x03, 0x65, 0xb6, 0x5c, 0xf0, 0xd6, 0x12, 0xbf, 0x41, 0x77, 0x5b, 0x35, 0xf2,
0xe1, 0x6e, 0x9d, 0x03, 0x63, 0x1a, 0x7c, 0x74, 0x3f, 0xc8, 0x09, 0x3f, 0x81, 0xce, 0x96, 0x46,
0xfb, 0x8d, 0xee, 0x0b, 0xf8, 0x36, 0x96, 0x97, 0xc1, 0xef, 0x9f, 0xcd, 0x85, 0x5e, 0xe4, 0x33,
0x63, 0xad, 0x20, 0xbc, 0xcd, 0x43, 0xe4, 0x2c, 0x57, 0x42, 0xaf, 0x02, 0x5b, 0x34, 0x58, 0xff,
0xc5, 0x7f, 0x6d, 0x7f, 0x67, 0x27, 0xb6, 0xc0, 0x17, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xe5,
0xb0, 0xd7, 0x0b, 0xfc, 0x07, 0x00, 0x00,
}

View File

@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.34.0
// protoc v3.19.4
// protoc (unknown)
// source: rpc/common/service.proto
package common
@@ -2504,11 +2504,11 @@ var File_rpc_common_service_proto protoreflect.FileDescriptor
var file_rpc_common_service_proto_rawDesc = []byte{
0x0a, 0x18, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x74, 0x72, 0x69, 0x76,
0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63,
0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x02, 0x4f, 0x53, 0x12, 0x16, 0x0a,
0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x02, 0x4f, 0x53, 0x12, 0x16, 0x0a,
0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66,
0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x6f, 0x73,

View File

@@ -1,11 +1,11 @@
syntax = "proto3";
import "google/protobuf/timestamp.proto";
package trivy.common;
option go_package = "github.com/aquasecurity/trivy/rpc/common;common";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/aquasecurity/trivy/rpc/common;common";
message OS {
string family = 1;

View File

@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.34.0
// protoc v3.19.4
// protoc (unknown)
// source: rpc/scanner/service.proto
package scanner

View File

@@ -1,10 +1,11 @@
syntax = "proto3";
package trivy.scanner.v1;
option go_package = "github.com/aquasecurity/trivy/rpc/scanner;scanner";
import "rpc/common/service.proto";
option go_package = "github.com/aquasecurity/trivy/rpc/scanner;scanner";
service Scanner {
rpc Scan(ScanRequest) returns (ScanResponse);
}