diff --git a/.github/actions/publish-npm-packages/action.yaml b/.github/actions/publish-npm-packages/action.yaml new file mode 100644 index 0000000000..cee2d57e8d --- /dev/null +++ b/.github/actions/publish-npm-packages/action.yaml @@ -0,0 +1,25 @@ +name: Publish npm packages + +description: Publish npm packages (assuming binaries have already been copied into the correct locations) + +inputs: + token: + description: npm authentication token + required: true + +runs: + using: composite + + steps: + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version-file: .node-version + registry-url: https://registry.npmjs.com + + - name: Publish npm packages + shell: bash + working-directory: npm + run: corepack npm publish --workspaces --access=public --provenance + env: + NODE_AUTH_TOKEN: ${{ inputs.token }} diff --git a/.github/renovate.json b/.github/renovate.json index 392a2244a4..3b98f5a47b 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,11 +1,12 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "configMigration": true, "extends": [ - "config:base", "group:allNonMajor", "schedule:weekly", ":automergeDisabled", ":combinePatchMinorReleases", + ":dependencyDashboard", ":gitSignOff", ":renovatePrefix", ":semanticCommitTypeAll(chore)", @@ -44,6 +45,25 @@ }, "groupName": "Docker deps", "groupSlug": "docker-deps" + }, + { + "matchManagers": ["nodenv", "npm"], + "groupName": "Node.js deps", + "groupSlug": "node-deps", + "rangeStrategy": "pin" + }, + { + "description": "Don't update dependencies for npm test cases (they should be kept set to 'latest' because they're pulled from the private registry)", + "matchFileNames": ["npm/test/cases/*/package.json"], + "matchDepTypes": ["dependencies"], + "enabled": false + }, + { + "description": "Don't do major version updates for package managers in npm test cases (each test case targets a specific major version)", + "matchFileNames": ["npm/test/cases/*/package.json"], + "matchDepTypes": ["packageManager"], + "matchUpdateTypes": ["major"], + "enabled": false } ], "labels": [ diff --git a/.github/workflows/cache.yaml b/.github/workflows/cache.yaml index 256de5ff80..16f74395cb 100644 --- a/.github/workflows/cache.yaml +++ b/.github/workflows/cache.yaml @@ -19,7 +19,7 @@ jobs: - name: Check for changes id: filter - uses: dorny/paths-filter@v2 + uses: dorny/paths-filter@v3 with: filters: | deps: diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 0db633ca6a..37b83d17a3 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -10,6 +10,17 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false # this might remove tools that are actually needed, if set to "true" but frees about 6 GB + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true + - name: Checkout code uses: actions/checkout@v4 with: diff --git a/.github/workflows/manual-npm-publish.yaml b/.github/workflows/manual-npm-publish.yaml new file mode 100644 index 0000000000..c73c058692 --- /dev/null +++ b/.github/workflows/manual-npm-publish.yaml @@ -0,0 +1,21 @@ +name: Publish npm packages from an existing GitHub release +on: workflow_dispatch +jobs: + publish-npm-packages: + name: Publish npm packages + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read + id-token: write + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Download binaries + run: hack/scripts/download-released-binaries-to-npm-packages.sh + + - name: Publish npm packages + uses: ./.github/actions/publish-npm-packages + with: + token: ${{ secrets.NPM_PUBLISH_TOKEN }} diff --git a/.github/workflows/pr-test.yaml b/.github/workflows/pr-test.yaml index be88998a5d..fd3c9773b7 100644 --- a/.github/workflows/pr-test.yaml +++ b/.github/workflows/pr-test.yaml @@ -12,17 +12,22 @@ jobs: outputs: code: ${{ steps.filter.outputs.code }} docs: ${{ steps.filter.outputs.docs }} + npm: ${{ steps.filter.outputs.npm }} protos: ${{ steps.filter.outputs.protos }} steps: - - uses: dorny/paths-filter@v2 + - uses: dorny/paths-filter@v3 id: filter with: filters: | code: - - '!(docs/**)' + - '!(.node-version|{docs,npm}/**)' docs: - .github/workflows/pr-test.yaml - 'docs/**' + npm: + - .github/workflows/pr-test.yaml + - 'npm/**' + - .node-version protos: - .github/workflows/pr-test.yaml - '**/*.proto' @@ -200,7 +205,7 @@ jobs: check-latest: true cache: false - name: golangci-lint - uses: golangci/golangci-lint-action@v3.7.1 + uses: golangci/golangci-lint-action@v4.0.0 with: version: latest args: '--config=.golangci.yaml -v' @@ -215,12 +220,12 @@ jobs: - uses: actions/checkout@v4 - name: Setup Buf - uses: bufbuild/buf-setup-action@v1.29.0 + uses: bufbuild/buf-setup-action@v1.30.1 with: github_token: ${{ github.token }} - name: Lint protos - uses: bufbuild/buf-lint-action@v1.1.0 + uses: bufbuild/buf-lint-action@v1.1.1 - name: Check formatting run: buf format --diff --exit-code @@ -252,3 +257,79 @@ jobs: - name: Test Helm chart run: ./deploy/charts/validate.sh + + build-npm: + needs: changes + if: ${{ needs.changes.outputs.npm == 'true' }} + name: Build npm packages + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Check out code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install Go and cache dependencies + uses: ./.github/actions/setup-go + with: + cross_compiling: true + + - name: Build binaries + uses: goreleaser/goreleaser-action@v5 + with: + version: latest + args: build --config=.goreleaser.yml --clean --snapshot + env: + TELEMETRY_WRITE_KEY: ${{ secrets.TELEMETRY_WRITE_KEY }} + TELEMETRY_URL: ${{ secrets.TELEMETRY_URL }} + + - name: Collect npm packages + run: tar --create --verbose --file npm.tar npm + + - name: Upload npm packages + uses: actions/upload-artifact@v4 + with: + name: npm-packages + path: npm.tar + + test-npm: + needs: build-npm + name: Test npm packages + strategy: + fail-fast: false + matrix: + runs-on: + - macos-latest + - ubuntu-latest + runs-on: ${{ matrix.runs-on }} + timeout-minutes: 10 + steps: + - name: Check out .node-version file + uses: actions/checkout@v4 + with: + sparse-checkout: .node-version + sparse-checkout-cone-mode: false + + - name: Download npm packages + uses: actions/download-artifact@v4 + with: + name: npm-packages + + - name: Extract npm packages + run: tar --extract --verbose --file npm.tar + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + cache: npm + cache-dependency-path: npm/test/registry/package-lock.json + node-version-file: .node-version + + # https://github.com/actions/runner-images/issues/9626 + - name: Don't force curl to use IPv4 + run: rm -f ~/.curlrc + + - name: Test npm packages + working-directory: npm + run: corepack npm test diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 645ed54ad7..2cbef96c6b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -61,8 +61,6 @@ jobs: - name: Install cosign uses: sigstore/cosign-installer@v3.4.0 - with: - cosign-release: 'v2.1.1' - name: GoReleaser uses: goreleaser/goreleaser-action@v5 @@ -75,6 +73,11 @@ jobs: TELEMETRY_WRITE_KEY: ${{ secrets.TELEMETRY_WRITE_KEY }} TELEMETRY_URL: ${{ secrets.TELEMETRY_URL }} + - name: Publish npm packages + uses: ./.github/actions/publish-npm-packages + with: + token: ${{ secrets.NPM_PUBLISH_TOKEN }} + releaseProtos: name: Release Protobufs runs-on: ubuntu-latest @@ -83,7 +86,7 @@ jobs: - uses: actions/checkout@v4 - name: Setup Buf - uses: bufbuild/buf-setup-action@v1.29.0 + uses: bufbuild/buf-setup-action@v1.30.1 with: github_token: ${{ github.token }} @@ -149,7 +152,6 @@ jobs: NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - publishHelm: name: Publish Helm chart runs-on: ubuntu-latest @@ -192,4 +194,4 @@ jobs: CHART=$(ls ${{ env.CHARTS_DIR }}/cerbos/*.tgz); helm push $CHART oci://${{ env.OCI_REGISTRY }} helm registry logout ${{ env.OCI_REGISTRY }} env: - HELM_EXPERIMENTAL_OCI: '1' + HELM_EXPERIMENTAL_OCI: "1" diff --git a/.github/workflows/snapshot.yaml b/.github/workflows/snapshot.yaml index b57fe9fa07..4f98760286 100644 --- a/.github/workflows/snapshot.yaml +++ b/.github/workflows/snapshot.yaml @@ -63,6 +63,17 @@ jobs: contents: read packages: write steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false # this might remove tools that are actually needed, if set to "true" but frees about 6 GB + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true + - name: Checkout code uses: actions/checkout@v4 with: @@ -102,8 +113,6 @@ jobs: - name: Install cosign uses: sigstore/cosign-installer@v3.4.0 - with: - cosign-release: "v2.1.1" - name: GoReleaser uses: goreleaser/goreleaser-action@v5 @@ -156,7 +165,7 @@ jobs: - uses: actions/checkout@v4 - name: Setup Buf - uses: bufbuild/buf-setup-action@v1.29.0 + uses: bufbuild/buf-setup-action@v1.30.1 with: github_token: ${{ github.token }} diff --git a/.gitignore b/.gitignore index d397df7445..2244a1267f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,18 @@ cerbos.bin hack/dev/tls.crt hack/dev/tls.key internal/confdocs/ +npm/packages/cerbos-*-*/cerbos-*-* +npm/packages/cerbosctl-*-*/cerbosctl-*-* +npm/test/cases/*/.npm/ +npm/test/cases/*/.pnpm/ +npm/test/cases/*/.yarn/ +npm/test/cases/*/.pnp.* +npm/test/cases/*/package-lock.json +npm/test/cases/*/pnpm-lock.yaml +npm/test/cases/*/yarn.lock +npm/test/registry/node_modules/ +npm/test/registry/storage/ +**/node_modules/ # Local Netlify folder .netlify diff --git a/.golangci.yaml b/.golangci.yaml index 6e056c3928..18e080e9c8 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -1,12 +1,6 @@ --- run: timeout: 300s - skip-dirs: - - "^api/" - - "^deploy/" - - "^docs/" - - "^hack/" - - "^internal/test/mocks/" build-tags: - tests @@ -101,6 +95,13 @@ linters: issues: max-same-issues: 30 + exclude-dirs: + - "^api/" + - "^deploy/" + - "^docs/" + - "^hack/" + - "^internal/test/mocks/" + exclude-rules: - path: _test\.go linters: diff --git a/.goreleaser.yml b/.goreleaser.yml index 217474aad8..f0ae350a5e 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -26,6 +26,15 @@ builds: - -trimpath ldflags: - -s -w -X github.com/cerbos/cerbos/internal/util.Version={{.Version}} -X github.com/cerbos/cerbos/internal/util.Commit={{.FullCommit}} -X github.com/cerbos/cerbos/internal/util.BuildDate={{.Date}} -X github.com/cerbos/cerbos/internal/telemetry.WriteKey={{.Env.TELEMETRY_WRITE_KEY}} -X github.com/cerbos/cerbos/internal/telemetry.DataPlaneURL={{.Env.TELEMETRY_URL}} + hooks: + post: + - cmd: hack/scripts/copy-binary-to-npm-package.sh + env: + - BINARY_NAME=cerbos + - BINARY_OS={{ .Os }} + - BINARY_ARCH={{ .Arch }} + - BINARY_VERSION={{ .Version }} + - BINARY_PATH={{ .Path }} - main: ./cmd/cerbosctl binary: cerbosctl @@ -46,6 +55,16 @@ builds: - -trimpath ldflags: - -s -w -X github.com/cerbos/cerbos/internal/util.Version={{.Version}} -X github.com/cerbos/cerbos/internal/util.Commit={{.FullCommit}} -X github.com/cerbos/cerbos/internal/util.BuildDate={{.Date}} -X github.com/cerbos/cerbos/internal/telemetry.WriteKey={{.Env.TELEMETRY_WRITE_KEY}} -X github.com/cerbos/cerbos/internal/telemetry.DataPlaneURL={{.Env.TELEMETRY_URL}} + hooks: + post: + - cmd: hack/scripts/copy-binary-to-npm-package.sh + env: + - BINARY_NAME=cerbosctl + - BINARY_OS={{ .Os }} + - BINARY_ARCH={{ .Arch }} + - BINARY_VERSION={{ .Version }} + - BINARY_PATH={{ .Path }} + universal_binaries: - id: "cerbos" replace: false @@ -53,6 +72,7 @@ universal_binaries: - id: "cerbosctl" replace: false name_template: "cerbosctl" + archives: - id: cerbos builds: @@ -63,6 +83,7 @@ archives: builds: - cerbosctl name_template: 'cerbosctl_{{ .Version }}_{{ title .Os }}_{{ if eq .Arch "amd64" }}x86_64{{ else }}{{ .Arch }}{{ end }}{{ if .Arm }}v{{ .Arm }}{{ end }}' + nfpms: - id: cerbos package_name: cerbos @@ -95,7 +116,7 @@ signs: - --yes - --rekor-url - https://rekor.sigstore.dev/ - - "--output-signature=${signature}" + - "--bundle=${artifact}.bundle" - "${artifact}" artifacts: all @@ -272,7 +293,7 @@ brews: base: branch: main - folder: Formula + directory: Formula ids: - cerbos homepage: "https://cerbos.dev" diff --git a/.node-version b/.node-version new file mode 100644 index 0000000000..bc78e9f269 --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +20.12.1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1eef0ed9f5..6eb1897aac 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,7 +53,7 @@ Submitting pull requests Developing Cerbos ----------------- -Cerbos is developed using the [Go programming language](https://golang.org). We currently require Go 1.20.x for development. +Cerbos is developed using the [Go programming language](https://golang.org). Check the `go` directive in the `go.mod` file to find out the minimum version of Go required. The `Makefile` automatically installs required build tools using the versions defined in `tools/go.mod`. Run `make clean-tools` to clear the cache and force the installation of new versions. diff --git a/Makefile b/Makefile index 4418408260..5a5590ef60 100644 --- a/Makefile +++ b/Makefile @@ -40,7 +40,7 @@ lint-helm: @ deploy/charts/validate.sh .PHONY: generate -generate: clean generate-proto-code generate-json-schemas generate-testdata-json-schemas generate-mocks confdocs +generate: clean generate-proto-code generate-json-schemas generate-testdata-json-schemas generate-mocks generate-npm-packages confdocs .PHONY: generate-proto-code generate-proto-code: $(BUF) @@ -64,11 +64,16 @@ generate-testdata-json-schemas: $(BUF) .PHONY: generate-mocks generate-mocks: $(MOCKERY) @-rm -rf $(MOCK_DIR) + @ $(MOCKERY) $(MOCK_QUIET) --srcpkg=./internal/audit/hub --name=IngestSyncer --output=$(MOCK_DIR) @ $(MOCKERY) $(MOCK_QUIET) --srcpkg=./internal/storage/index --name=Index --output=$(MOCK_DIR) @ $(MOCKERY) $(MOCK_QUIET) --srcpkg=./internal/storage --name=Store --output=$(MOCK_DIR) @ $(MOCKERY) $(MOCK_QUIET) --srcpkg=./internal/storage/bundle --name=CloudAPIClient --output=$(MOCK_DIR) @ $(MOCKERY) $(MOCK_QUIET) --srcpkg=github.com/cerbos/cloud-api/bundle --name=WatchHandle --output=$(MOCK_DIR) +.PHONY: generate-npm-packages +generate-npm-packages: + @ go run ./hack/tools/generate-npm-packages + .PHONY: generate-notice generate-notice: $(GO_LICENCE_DETECTOR) @ go mod download @@ -108,6 +113,10 @@ test-integration: $(GOTESTSUM) $(TESTSPLIT) test-times: $(TESTSPLIT) @ $(TESTSPLIT) combine --kinds=unit,integration --total=$(TESTSPLIT_TOTAL) +.PHONY: test-npm-packages +test-npm-packages: + @ cd npm && corepack npm test + .PHONY: coverage coverage: @ hack/scripts/cover.sh diff --git a/NOTICE.txt b/NOTICE.txt index cc85619e36..7d0d8b1770 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -70,11 +70,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/alecthomas/chroma/v2 -Version : v2.12.0 -Time : 2023-12-01T20:26:45Z +Version : v2.13.0 +Time : 2024-03-12T06:08:58Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/alecthomas/chroma/v2@v2.12.0/COPYING: +Contents of probable licence file $GOMODCACHE/github.com/alecthomas/chroma/v2@v2.13.0/COPYING: Copyright (C) 2017 Alec Thomas @@ -99,11 +99,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/alecthomas/kong -Version : v0.8.1 -Time : 2023-10-07T07:15:33Z +Version : v0.9.0 +Time : 2024-03-08T06:20:45Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/alecthomas/kong@v0.8.1/COPYING: +Contents of probable licence file $GOMODCACHE/github.com/alecthomas/kong@v0.9.0/COPYING: Copyright (C) 2018 Alec Thomas @@ -157,11 +157,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go -Version : v1.50.20 -Time : 2024-02-16T19:29:32Z +Version : v1.51.11 +Time : 2024-03-29T18:29:05Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go@v1.50.20/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go@v1.51.11/LICENSE.txt: Apache License @@ -400,11 +400,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/bufbuild/protovalidate-go -Version : v0.5.2 -Time : 2024-02-12T23:39:58Z +Version : v0.6.1 +Time : 2024-04-02T19:33:05Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/bufbuild/protovalidate-go@v0.5.2/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/bufbuild/protovalidate-go@v0.6.1/LICENSE: Apache License Version 2.0, January 2004 @@ -611,11 +611,11 @@ Contents of probable licence file $GOMODCACHE/github.com/bufbuild/protovalidate- -------------------------------------------------------------------------------- Module : github.com/cenkalti/backoff/v4 -Version : v4.2.1 -Time : 2023-02-28T16:21:33Z +Version : v4.3.0 +Time : 2024-01-02T22:56:19Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/cenkalti/backoff/v4@v4.2.1/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/cenkalti/backoff/v4@v4.3.0/LICENSE: The MIT License (MIT) @@ -641,11 +641,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/cerbos/cerbos-sdk-go -Version : v0.2.2 -Time : 2024-02-19T07:29:04Z +Version : v0.2.4 +Time : 2024-04-08T08:19:54Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/cerbos/cerbos-sdk-go@v0.2.2/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/cerbos/cerbos-sdk-go@v0.2.4/LICENSE: Apache License Version 2.0, January 2004 @@ -852,11 +852,11 @@ Contents of probable licence file $GOMODCACHE/github.com/cerbos/cerbos-sdk-go@v0 -------------------------------------------------------------------------------- Module : github.com/cerbos/cerbos/api/genpb -Version : v0.33.0 -Time : 2024-01-16T08:45:38Z +Version : v0.34.0 +Time : 2024-02-20T09:03:56Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/cerbos/cerbos/api/genpb@v0.33.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/cerbos/cerbos/api/genpb@v0.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -1063,8 +1063,8 @@ Contents of probable licence file $GOMODCACHE/github.com/cerbos/cerbos/api/genpb -------------------------------------------------------------------------------- Module : github.com/cerbos/cloud-api -Version : v0.1.17 -Time : 2024-02-19T07:38:44Z +Version : v0.1.18 +Time : 2024-04-08T08:05:01Z Licence : Apache-2.0 No licence file provided. @@ -1357,6 +1357,192 @@ Contents of probable licence file $GOMODCACHE/github.com/dgraph-io/badger/v4@v4. END OF TERMS AND CONDITIONS +-------------------------------------------------------------------------------- +Module : github.com/dgraph-io/ristretto +Version : v0.1.1 +Time : 2022-10-11T21:58:15Z +Licence : Apache-2.0 + +Contents of probable licence file $GOMODCACHE/github.com/dgraph-io/ristretto@v0.1.1/LICENSE: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + -------------------------------------------------------------------------------- Module : github.com/doug-martin/goqu/v9 Version : v9.19.0 @@ -1490,11 +1676,11 @@ The Go gopher was designed by Renee French. http://reneefrench.blogspot.com/ The -------------------------------------------------------------------------------- Module : github.com/fergusstrange/embedded-postgres -Version : v1.25.0 -Time : 2023-11-08T08:43:16Z +Version : v1.26.0 +Time : 2024-02-28T10:23:27Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/fergusstrange/embedded-postgres@v1.25.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/fergusstrange/embedded-postgres@v1.26.0/LICENSE: MIT License @@ -1521,11 +1707,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/gdamore/tcell/v2 -Version : v2.7.1 -Time : 2024-02-17T18:49:06Z +Version : v2.7.4 +Time : 2024-03-03T23:19:20Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/gdamore/tcell/v2@v2.7.1/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/gdamore/tcell/v2@v2.7.4/LICENSE: Apache License @@ -1824,11 +2010,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/go-git/go-git/v5 -Version : v5.11.0 -Time : 2023-12-08T09:39:38Z +Version : v5.12.0 +Time : 2024-03-19T13:39:15Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/go-git/go-git/v5@v5.11.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/go-git/go-git/v5@v5.12.0/LICENSE: Apache License Version 2.0, January 2004 @@ -2246,11 +2432,11 @@ Contents of probable licence file $GOMODCACHE/github.com/go-logr/zapr@v1.3.0/LIC -------------------------------------------------------------------------------- Module : github.com/go-sql-driver/mysql -Version : v1.7.1 -Time : 2023-04-25T10:02:15Z +Version : v1.8.1 +Time : 2024-03-26T14:34:07Z Licence : MPL-2.0 -Contents of probable licence file $GOMODCACHE/github.com/go-sql-driver/mysql@v1.7.1/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/go-sql-driver/mysql@v1.8.1/LICENSE: Mozilla Public License Version 2.0 ================================== @@ -2728,11 +2914,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/google/cel-go -Version : v0.20.0 -Time : 2024-02-02T18:06:33Z +Version : v0.20.1 +Time : 2024-03-07T15:54:48Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/google/cel-go@v0.20.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/google/cel-go@v0.20.1/LICENSE: Apache License @@ -3119,11 +3305,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : github.com/grpc-ecosystem/go-grpc-middleware/v2 -Version : v2.0.1 -Time : 2023-09-20T21:01:57Z +Version : v2.1.0 +Time : 2024-02-22T15:43:25Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/grpc-ecosystem/go-grpc-middleware/v2@v2.0.1/COPYRIGHT: +Contents of probable licence file $GOMODCACHE/github.com/grpc-ecosystem/go-grpc-middleware/v2@v2.1.0/COPYRIGHT: Copyright (c) The go-grpc-middleware Authors. Licensed under the Apache License 2.0. @@ -3200,11 +3386,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/jackc/pgtype -Version : v1.14.2 -Time : 2024-02-06T02:04:43Z +Version : v1.14.3 +Time : 2024-03-22T20:58:16Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/jackc/pgtype@v1.14.2/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/jackc/pgtype@v1.14.3/LICENSE: Copyright (c) 2013-2021 Jack Christensen @@ -3264,11 +3450,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/jackc/pgx/v5 -Version : v5.5.3 -Time : 2024-02-03T18:52:29Z +Version : v5.5.5 +Time : 2024-03-09T18:16:20Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/jackc/pgx/v5@v5.5.3/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/jackc/pgx/v5@v5.5.5/LICENSE: Copyright (c) 2013-2021 Jack Christensen @@ -3421,12 +3607,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -Module : github.com/lestrrat-go/httprc -Version : v1.0.4 -Time : 2022-07-19T04:50:09Z +Module : github.com/lestrrat-go/httprc/v2 +Version : v2.0.0 +Time : 2024-02-19T00:05:20Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/lestrrat-go/httprc@v1.0.4/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/lestrrat-go/httprc/v2@v2.0.0/LICENSE: MIT License @@ -3453,11 +3639,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/lestrrat-go/jwx/v2 -Version : v2.0.19 -Time : 2024-01-09T01:44:48Z +Version : v2.0.21 +Time : 2024-03-07T02:47:37Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/lestrrat-go/jwx/v2@v2.0.19/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/lestrrat-go/jwx/v2@v2.0.21/LICENSE: The MIT License (MIT) @@ -3504,11 +3690,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI -------------------------------------------------------------------------------- Module : github.com/microsoft/go-mssqldb -Version : v1.6.0 -Time : 2023-08-31T17:18:45Z +Version : v1.7.0 +Time : 2024-02-21T21:33:29Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/github.com/microsoft/go-mssqldb@v1.6.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/microsoft/go-mssqldb@v1.7.0/LICENSE.txt: Copyright (c) 2012 The Go Authors. All rights reserved. Copyright (c) Microsoft Corporation. @@ -3542,11 +3728,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : github.com/minio/minio-go/v7 -Version : v7.0.67 -Time : 2024-02-10T23:52:57Z +Version : v7.0.69 +Time : 2024-03-10T21:14:22Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/minio/minio-go/v7@v7.0.67/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/minio/minio-go/v7@v7.0.69/LICENSE: Apache License @@ -4309,11 +4495,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : github.com/prometheus/client_golang -Version : v1.18.0 -Time : 2023-12-27T23:00:59Z +Version : v1.19.0 +Time : 2024-02-27T14:33:22Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/prometheus/client_golang@v1.18.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/prometheus/client_golang@v1.19.0/LICENSE: Apache License Version 2.0, January 2004 @@ -4551,11 +4737,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/rivo/tview -Version : v0.0.0-20240204151237-861aa94d61c8 -Time : 2024-02-04T15:12:37Z +Version : v0.0.0-20240307173318-e804876934a1 +Time : 2024-03-07T17:33:18Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/rivo/tview@v0.0.0-20240204151237-861aa94d61c8/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/rivo/tview@v0.0.0-20240307173318-e804876934a1/LICENSE.txt: MIT License @@ -5171,11 +5357,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/stretchr/testify -Version : v1.8.4 -Time : 2023-05-30T09:38:40Z +Version : v1.9.0 +Time : 2024-02-29T14:36:18Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.8.4/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.9.0/LICENSE: MIT License @@ -5606,11 +5792,11 @@ Contents of probable licence file $GOMODCACHE/go.elastic.co/ecszap@v1.0.2/LICENS -------------------------------------------------------------------------------- Module : go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc -Version : v0.48.0 -Time : 2024-02-06T18:19:22Z +Version : v0.49.0 +Time : 2024-02-23T17:23:36Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.48.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.49.0/LICENSE: Apache License Version 2.0, January 2004 @@ -5817,11 +6003,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instru -------------------------------------------------------------------------------- Module : go.opentelemetry.io/contrib/instrumentation/host -Version : v0.48.0 -Time : 2024-02-06T18:19:22Z +Version : v0.49.0 +Time : 2024-02-23T17:23:36Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/host@v0.48.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/host@v0.49.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6028,11 +6214,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instru -------------------------------------------------------------------------------- Module : go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp -Version : v0.48.0 -Time : 2024-02-06T18:19:22Z +Version : v0.49.0 +Time : 2024-02-23T17:23:36Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.48.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.49.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6239,11 +6425,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instru -------------------------------------------------------------------------------- Module : go.opentelemetry.io/contrib/instrumentation/runtime -Version : v0.48.0 -Time : 2024-02-06T18:19:22Z +Version : v0.49.0 +Time : 2024-02-23T17:23:36Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/runtime@v0.48.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/runtime@v0.49.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6450,11 +6636,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instru -------------------------------------------------------------------------------- Module : go.opentelemetry.io/contrib/propagators/autoprop -Version : v0.48.0 -Time : 2024-02-06T18:19:22Z +Version : v0.49.0 +Time : 2024-02-23T17:23:36Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/autoprop@v0.48.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/autoprop@v0.49.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6661,11 +6847,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propag -------------------------------------------------------------------------------- Module : go.opentelemetry.io/contrib/propagators/b3 -Version : v1.23.0 -Time : 2024-02-06T18:19:22Z +Version : v1.24.0 +Time : 2024-02-23T17:23:36Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/b3@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/b3@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6872,11 +7058,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propag -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel -Version : v1.23.1 -Time : 2024-02-07T20:41:47Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.23.1/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7083,11 +7269,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.23.1/L -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc -Version : v0.45.0 -Time : 2024-01-17T19:24:10Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc@v0.45.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7294,11 +7480,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp -Version : v0.45.0 -Time : 2024-01-17T19:24:10Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp@v0.45.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7505,11 +7691,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/exporters/otlp/otlptrace -Version : v1.23.1 -Time : 2024-02-07T20:41:47Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace@v1.23.1/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7716,11 +7902,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc -Version : v1.23.1 -Time : 2024-02-07T20:41:47Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.23.1/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7927,11 +8113,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp -Version : v1.23.1 -Time : 2024-02-07T20:41:47Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.23.1/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8138,11 +8324,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/exporters/prometheus -Version : v0.45.2 -Time : 2024-02-07T20:41:47Z +Version : v0.46.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/prometheus@v0.45.2/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/prometheus@v0.46.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8349,11 +8535,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/metric -Version : v1.23.1 -Time : 2024-02-07T20:41:47Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1.23.1/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8560,11 +8746,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1 -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/sdk -Version : v1.23.1 -Time : 2024-02-07T20:41:47Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.23.1/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8771,11 +8957,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.23 -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/sdk/metric -Version : v1.23.1 -Time : 2024-02-07T20:41:47Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metric@v1.23.1/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metric@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8982,11 +9168,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metri -------------------------------------------------------------------------------- Module : go.opentelemetry.io/otel/trace -Version : v1.23.1 -Time : 2024-02-07T20:41:47Z +Version : v1.24.0 +Time : 2024-02-23T16:32:44Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1.23.1/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9279,11 +9465,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Module : go.uber.org/zap -Version : v1.26.0 -Time : 2023-09-14T20:29:58Z +Version : v1.27.0 +Time : 2024-02-20T20:55:06Z Licence : MIT -Contents of probable licence file $GOMODCACHE/go.uber.org/zap@v1.26.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/go.uber.org/zap@v1.27.0/LICENSE: Copyright (c) 2016-2017 Uber Technologies, Inc. @@ -9308,11 +9494,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Module : gocloud.dev -Version : v0.36.0 -Time : 2023-12-28T06:51:46Z +Version : v0.37.0 +Time : 2024-03-12T16:57:47Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/gocloud.dev@v0.36.0/LICENSE: +Contents of probable licence file $GOMODCACHE/gocloud.dev@v0.37.0/LICENSE: Apache License @@ -9520,11 +9706,11 @@ Contents of probable licence file $GOMODCACHE/gocloud.dev@v0.36.0/LICENSE: -------------------------------------------------------------------------------- Module : golang.org/x/crypto -Version : v0.19.0 -Time : 2024-02-07T19:12:06Z +Version : v0.22.0 +Time : 2024-04-04T16:59:43Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/golang.org/x/crypto@v0.19.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/crypto@v0.22.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -9557,11 +9743,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : golang.org/x/exp -Version : v0.0.0-20240213143201-ec583247a57a -Time : 2024-02-13T14:32:01Z +Version : v0.0.0-20240325151524-a685a6edb6d8 +Time : 2024-03-25T15:15:24Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/golang.org/x/exp@v0.0.0-20240213143201-ec583247a57a/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/exp@v0.0.0-20240325151524-a685a6edb6d8/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -9594,11 +9780,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : golang.org/x/net -Version : v0.21.0 -Time : 2024-02-07T21:51:58Z +Version : v0.24.0 +Time : 2024-04-04T19:16:58Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/golang.org/x/net@v0.21.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/net@v0.24.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -9668,11 +9854,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : golang.org/x/tools -Version : v0.18.0 -Time : 2024-02-12T22:10:03Z +Version : v0.19.0 +Time : 2024-03-04T22:41:36Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/golang.org/x/tools@v0.18.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/tools@v0.19.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -9705,11 +9891,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : gonum.org/v1/gonum -Version : v0.14.0 -Time : 2023-08-19T11:00:55Z +Version : v0.15.0 +Time : 2024-03-15T20:51:13Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/gonum.org/v1/gonum@v0.14.0/LICENSE: +Contents of probable licence file $GOMODCACHE/gonum.org/v1/gonum@v0.15.0/LICENSE: Copyright ©2013 The Gonum Authors. All rights reserved. @@ -9737,11 +9923,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : google.golang.org/genproto/googleapis/api -Version : v0.0.0-20240213162025-012b6fc9bca9 -Time : 2024-02-13T16:20:25Z +Version : v0.0.0-20240401170217-c3f982113cda +Time : 2024-04-01T17:02:17Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googleapis/api@v0.0.0-20240213162025-012b6fc9bca9/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googleapis/api@v0.0.0-20240401170217-c3f982113cda/LICENSE: Apache License @@ -9949,11 +10135,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googlea -------------------------------------------------------------------------------- Module : google.golang.org/grpc -Version : v1.61.1 -Time : 2024-02-13T22:26:08Z +Version : v1.63.0 +Time : 2024-04-03T20:13:54Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/google.golang.org/grpc@v1.61.1/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/grpc@v1.63.0/LICENSE: Apache License @@ -10161,11 +10347,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/grpc@v1.61.1/LIC -------------------------------------------------------------------------------- Module : google.golang.org/protobuf -Version : v1.32.0 -Time : 2023-12-22T09:30:25Z +Version : v1.33.0 +Time : 2024-03-05T19:00:20Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.33.0/LICENSE: Copyright (c) 2018 The Go Authors. All rights reserved. @@ -10288,11 +10474,11 @@ limitations under the License. -------------------------------------------------------------------------------- Module : helm.sh/helm/v3 -Version : v3.14.1 -Time : 2024-02-14T20:03:14Z +Version : v3.14.3 +Time : 2024-03-13T18:48:13Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/helm.sh/helm/v3@v3.14.1/LICENSE: +Contents of probable licence file $GOMODCACHE/helm.sh/helm/v3@v3.14.3/LICENSE: Apache License @@ -10500,11 +10686,11 @@ Contents of probable licence file $GOMODCACHE/helm.sh/helm/v3@v3.14.1/LICENSE: -------------------------------------------------------------------------------- Module : modernc.org/sqlite -Version : v1.29.1 -Time : 2024-02-14T12:04:44Z +Version : v1.29.5 +Time : 2024-03-12T18:56:20Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/modernc.org/sqlite@v1.29.1/LICENSE: +Contents of probable licence file $GOMODCACHE/modernc.org/sqlite@v1.29.5/LICENSE: Copyright (c) 2017 The Sqlite Authors. All rights reserved. @@ -10666,11 +10852,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go -Version : v1.32.0-20240212200630-3014d81c3a48.1 +Version : v1.33.0-20240401165935-b983156c5e99.1 Time : 0001-01-01T00:00:00Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.32.0-20240212200630-3014d81c3a48.1/LICENSE: +Contents of probable licence file $GOMODCACHE/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.33.0-20240401165935-b983156c5e99.1/LICENSE: Apache License Version 2.0, January 2004 @@ -10877,11 +11063,11 @@ Contents of probable licence file $GOMODCACHE/buf.build/gen/go/bufbuild/protoval -------------------------------------------------------------------------------- Module : cloud.google.com/go -Version : v0.112.0 -Time : 2024-01-11T20:07:28Z +Version : v0.112.1 +Time : 2024-02-26T15:48:16Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/cloud.google.com/go@v0.112.0/LICENSE: +Contents of probable licence file $GOMODCACHE/cloud.google.com/go@v0.112.1/LICENSE: Apache License @@ -11089,11 +11275,11 @@ Contents of probable licence file $GOMODCACHE/cloud.google.com/go@v0.112.0/LICEN -------------------------------------------------------------------------------- Module : cloud.google.com/go/compute -Version : v1.23.4 -Time : 2024-01-30T21:08:17Z +Version : v1.25.0 +Time : 2024-03-04T19:36:57Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/cloud.google.com/go/compute@v1.23.4/LICENSE: +Contents of probable licence file $GOMODCACHE/cloud.google.com/go/compute@v1.25.0/LICENSE: Apache License @@ -11725,11 +11911,11 @@ Contents of probable licence file $GOMODCACHE/cloud.google.com/go/iam@v1.1.6/LIC -------------------------------------------------------------------------------- Module : cloud.google.com/go/storage -Version : v1.36.0 -Time : 2023-12-14T00:21:29Z +Version : v1.39.1 +Time : 2024-03-11T20:00:41Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/cloud.google.com/go/storage@v1.36.0/LICENSE: +Contents of probable licence file $GOMODCACHE/cloud.google.com/go/storage@v1.39.1/LICENSE: Apache License @@ -11937,11 +12123,11 @@ Contents of probable licence file $GOMODCACHE/cloud.google.com/go/storage@v1.36. -------------------------------------------------------------------------------- Module : connectrpc.com/connect -Version : v1.15.0 -Time : 2024-02-16T22:18:51Z +Version : v1.16.0 +Time : 2024-03-21T00:07:18Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/connectrpc.com/connect@v1.15.0/LICENSE: +Contents of probable licence file $GOMODCACHE/connectrpc.com/connect@v1.16.0/LICENSE: Apache License Version 2.0, January 2004 @@ -12643,13 +12829,50 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Module : filippo.io/edwards25519 +Version : v1.1.0 +Time : 2023-12-10T19:13:24Z +Licence : BSD-3-Clause + +Contents of probable licence file $GOMODCACHE/filippo.io/edwards25519@v1.1.0/LICENSE: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + -------------------------------------------------------------------------------- Module : github.com/Azure/azure-sdk-for-go/sdk/azcore -Version : v1.9.0 -Time : 2023-11-06T20:12:20Z +Version : v1.10.0 +Time : 2024-02-29T21:31:39Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azcore@v1.9.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azcore@v1.10.0/LICENSE.txt: MIT License @@ -12676,11 +12899,11 @@ SOFTWARE -------------------------------------------------------------------------------- Module : github.com/Azure/azure-sdk-for-go/sdk/azidentity -Version : v1.4.0 -Time : 2023-10-09T15:31:03Z +Version : v1.5.1 +Time : 2024-01-17T15:14:49Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azidentity@v1.4.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azidentity@v1.5.1/LICENSE.txt: MIT License @@ -12707,11 +12930,11 @@ SOFTWARE -------------------------------------------------------------------------------- Module : github.com/Azure/azure-sdk-for-go/sdk/internal -Version : v1.5.0 -Time : 2023-11-02T17:06:28Z +Version : v1.5.2 +Time : 2024-02-02T19:54:24Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/internal@v1.5.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/internal@v1.5.2/LICENSE.txt: MIT License @@ -12738,11 +12961,11 @@ SOFTWARE -------------------------------------------------------------------------------- Module : github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys -Version : v1.0.0 -Time : 2023-07-18T00:54:37Z +Version : v1.0.1 +Time : 2023-08-23T20:19:13Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/security/keyvault/azkeys@v1.0.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/security/keyvault/azkeys@v1.0.1/LICENSE.txt: MIT License @@ -12768,11 +12991,11 @@ Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go -------------------------------------------------------------------------------- Module : github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal -Version : v0.8.0 -Time : 2023-03-08T23:01:21Z +Version : v1.0.0 +Time : 2023-08-14T23:29:40Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/security/keyvault/internal@v0.8.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/security/keyvault/internal@v1.0.0/LICENSE.txt: MIT License @@ -12829,11 +13052,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/AzureAD/microsoft-authentication-library-for-go -Version : v1.2.0 -Time : 2023-08-29T12:28:35Z +Version : v1.2.2 +Time : 2024-02-16T19:27:50Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/!azure!a!d/microsoft-authentication-library-for-go@v1.2.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/!azure!a!d/microsoft-authentication-library-for-go@v1.2.2/LICENSE: MIT License @@ -12860,11 +13083,11 @@ Contents of probable licence file $GOMODCACHE/github.com/!azure!a!d/microsoft-au -------------------------------------------------------------------------------- Module : github.com/DATA-DOG/go-sqlmock -Version : v1.5.0 -Time : 2020-06-28T15:11:42Z +Version : v1.5.2 +Time : 2024-01-06T21:33:25Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/github.com/!d!a!t!a-!d!o!g/go-sqlmock@v1.5.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/!d!a!t!a-!d!o!g/go-sqlmock@v1.5.2/LICENSE: The three clause BSD license (http://en.wikipedia.org/wiki/BSD_licenses) @@ -13435,11 +13658,11 @@ Contents of probable licence file $GOMODCACHE/github.com/!one!of!one/xxhash@v1.2 -------------------------------------------------------------------------------- Module : github.com/ProtonMail/go-crypto -Version : v0.0.0-20230828082145-3c4c8a2d2371 -Time : 2023-08-28T08:21:45Z +Version : v1.0.0 +Time : 2023-09-23T06:37:57Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/github.com/!proton!mail/go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/!proton!mail/go-crypto@v1.0.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -13472,11 +13695,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : github.com/Shopify/toxiproxy/v2 -Version : v2.7.0 -Time : 2023-10-25T14:54:12Z +Version : v2.9.0 +Time : 2024-03-12T18:22:44Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/!shopify/toxiproxy/v2@v2.7.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/!shopify/toxiproxy/v2@v2.9.0/LICENSE: The MIT License (MIT) @@ -13504,11 +13727,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/alecthomas/assert/v2 -Version : v2.3.0 -Time : 2023-06-08T04:15:11Z +Version : v2.6.0 +Time : 2024-02-19T08:03:54Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/alecthomas/assert/v2@v2.3.0/COPYING: +Contents of probable licence file $GOMODCACHE/github.com/alecthomas/assert/v2@v2.6.0/COPYING: Copyright (C) 2021 Alec Thomas @@ -13533,11 +13756,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/alecthomas/repr -Version : v0.2.0 -Time : 2023-01-08T03:49:10Z +Version : v0.4.0 +Time : 2024-02-19T08:02:57Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/alecthomas/repr@v0.2.0/COPYING: +Contents of probable licence file $GOMODCACHE/github.com/alecthomas/repr@v0.4.0/COPYING: The MIT License (MIT) @@ -13662,11 +13885,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2 -Version : v1.24.0 -Time : 2023-12-07T19:39:49Z +Version : v1.25.3 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2@v1.24.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2@v1.25.3/LICENSE.txt: Apache License @@ -13874,11 +14097,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2@v1.24 -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream -Version : v1.5.4 -Time : 2023-12-07T19:39:49Z +Version : v1.6.1 +Time : 2024-02-21T19:15:54Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream@v1.5.4/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream@v1.6.1/LICENSE.txt: Apache License @@ -14086,11 +14309,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/aws/p -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/config -Version : v1.26.1 -Time : 2023-12-08T19:17:49Z +Version : v1.27.7 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/config@v1.26.1/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/config@v1.27.7/LICENSE.txt: Apache License @@ -14298,11 +14521,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/confi -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/credentials -Version : v1.16.12 -Time : 2023-12-08T19:17:49Z +Version : v1.17.7 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/credentials@v1.16.12/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/credentials@v1.17.7/LICENSE.txt: Apache License @@ -14510,11 +14733,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/crede -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/feature/ec2/imds -Version : v1.14.10 -Time : 2023-12-07T19:39:49Z +Version : v1.15.3 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.14.10/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.15.3/LICENSE.txt: Apache License @@ -14722,11 +14945,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/featu -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/feature/s3/manager -Version : v1.15.7 -Time : 2023-12-08T19:17:49Z +Version : v1.16.9 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/feature/s3/manager@v1.15.7/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/feature/s3/manager@v1.16.9/LICENSE.txt: Apache License @@ -14934,11 +15157,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/featu -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/internal/configsources -Version : v1.2.9 -Time : 2023-12-07T19:39:49Z +Version : v1.3.3 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.2.9/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.3.3/LICENSE.txt: Apache License @@ -15146,11 +15369,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/inter -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 -Version : v2.5.9 -Time : 2023-12-07T19:39:49Z +Version : v2.6.3 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.5.9/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.6.3/LICENSE.txt: Apache License @@ -15358,11 +15581,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/inter -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/internal/ini -Version : v1.7.2 -Time : 2023-12-08T19:17:49Z +Version : v1.8.0 +Time : 2024-02-13T19:15:02Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/ini@v1.7.2/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.0/LICENSE.txt: Apache License @@ -15570,11 +15793,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/inter -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/internal/v4a -Version : v1.2.9 -Time : 2023-12-07T19:39:49Z +Version : v1.3.3 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/v4a@v1.2.9/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/v4a@v1.3.3/LICENSE.txt: Apache License @@ -15782,11 +16005,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/inter -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding -Version : v1.10.4 -Time : 2023-12-07T19:39:49Z +Version : v1.11.1 +Time : 2024-02-21T19:15:54Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.10.4/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.11.1/LICENSE.txt: Apache License @@ -15994,11 +16217,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/service/internal/checksum -Version : v1.2.9 -Time : 2023-12-07T19:39:49Z +Version : v1.3.5 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/checksum@v1.2.9/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/checksum@v1.3.5/LICENSE.txt: Apache License @@ -16206,11 +16429,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/service/internal/presigned-url -Version : v1.10.9 -Time : 2023-12-07T19:39:49Z +Version : v1.11.5 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.10.9/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.11.5/LICENSE.txt: Apache License @@ -16418,11 +16641,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/service/internal/s3shared -Version : v1.16.9 -Time : 2023-12-07T19:39:49Z +Version : v1.17.3 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/s3shared@v1.16.9/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/s3shared@v1.17.3/LICENSE.txt: Apache License @@ -16630,11 +16853,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/service/s3 -Version : v1.47.5 -Time : 2023-12-08T19:17:49Z +Version : v1.51.4 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/s3@v1.47.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/s3@v1.51.4/LICENSE.txt: Apache License @@ -16842,11 +17065,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/service/sso -Version : v1.18.5 -Time : 2023-12-08T19:17:49Z +Version : v1.20.2 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sso@v1.18.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sso@v1.20.2/LICENSE.txt: Apache License @@ -17054,11 +17277,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/service/ssooidc -Version : v1.21.5 -Time : 2023-12-08T19:17:49Z +Version : v1.23.2 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.21.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.23.2/LICENSE.txt: Apache License @@ -17266,11 +17489,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Module : github.com/aws/aws-sdk-go-v2/service/sts -Version : v1.26.5 -Time : 2023-12-08T19:17:49Z +Version : v1.28.4 +Time : 2024-03-07T19:22:26Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sts@v1.26.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sts@v1.28.4/LICENSE.txt: Apache License @@ -17478,11 +17701,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Module : github.com/aws/smithy-go -Version : v1.19.0 -Time : 2023-12-07T19:33:13Z +Version : v1.20.1 +Time : 2024-02-21T19:09:55Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/aws/smithy-go@v1.19.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/aws/smithy-go@v1.20.1/LICENSE: Apache License @@ -17980,11 +18203,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : github.com/cncf/xds/go -Version : v0.0.0-20231109132714-523115ebc101 -Time : 2023-11-09T13:27:14Z +Version : v0.0.0-20231128003011-0fa0005c9caa +Time : 2023-11-28T00:30:11Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/cncf/xds/go@v0.0.0-20231109132714-523115ebc101/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/cncf/xds/go@v0.0.0-20231128003011-0fa0005c9caa/LICENSE: Apache License Version 2.0, January 2004 @@ -18751,192 +18974,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Module : github.com/dgraph-io/ristretto -Version : v0.1.1 -Time : 2022-10-11T21:58:15Z -Licence : Apache-2.0 - -Contents of probable licence file $GOMODCACHE/github.com/dgraph-io/ristretto@v0.1.1/LICENSE: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - -------------------------------------------------------------------------------- Module : github.com/dgryski/go-farm Version : v0.0.0-20200201041132-a6ae2369ad13 @@ -18970,11 +19007,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/dlclark/regexp2 -Version : v1.10.0 -Time : 2023-05-15T01:07:18Z +Version : v1.11.0 +Time : 2024-02-24T02:28:33Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/dlclark/regexp2@v1.10.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/dlclark/regexp2@v1.11.0/LICENSE: The MIT License (MIT) @@ -19202,11 +19239,11 @@ Contents of probable licence file $GOMODCACHE/github.com/docker/cli@v25.0.2+inco -------------------------------------------------------------------------------- Module : github.com/docker/docker -Version : v24.0.7+incompatible -Time : 2023-10-26T07:51:05Z +Version : v24.0.9+incompatible +Time : 2024-02-01T00:12:23Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/docker/docker@v24.0.7+incompatible/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/docker/docker@v24.0.9+incompatible/LICENSE: Apache License @@ -19924,11 +19961,11 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/envoyproxy/go-control-plane -Version : v0.11.1 -Time : 2023-05-28T12:29:41Z +Version : v0.12.0 +Time : 2024-01-02T14:58:34Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/envoyproxy/go-control-plane@v0.11.1/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/envoyproxy/go-control-plane@v0.12.0/LICENSE: Apache License Version 2.0, January 2004 @@ -20654,11 +20691,11 @@ Contents of probable licence file $GOMODCACHE/github.com/gdamore/encoding@v1.0.0 -------------------------------------------------------------------------------- Module : github.com/gliderlabs/ssh -Version : v0.3.5 -Time : 2022-08-31T21:55:33Z +Version : v0.3.7 +Time : 2024-03-18T22:10:13Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/github.com/gliderlabs/ssh@v0.3.5/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/gliderlabs/ssh@v0.3.7/LICENSE: Copyright (c) 2016 Glider Labs. All rights reserved. @@ -21804,11 +21841,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : github.com/golang-jwt/jwt/v5 -Version : v5.1.0 -Time : 2023-10-09T19:31:36Z +Version : v5.2.1 +Time : 2024-02-12T11:49:14Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/golang-jwt/jwt/v5@v5.1.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/golang-jwt/jwt/v5@v5.2.1/LICENSE: Copyright (c) 2012 Dave Grijalva Copyright (c) 2021 golang-jwt maintainers @@ -22071,11 +22108,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : github.com/golang/glog -Version : v1.1.2 -Time : 2023-08-09T08:22:17Z +Version : v1.2.0 +Time : 2023-11-22T11:20:37Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/golang/glog@v1.1.2/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/golang/glog@v1.2.0/LICENSE: Apache License Version 2.0, January 2004 @@ -22473,11 +22510,11 @@ third-party archives. -------------------------------------------------------------------------------- Module : github.com/golang/protobuf -Version : v1.5.3 -Time : 2021-09-16T00:37:10Z +Version : v1.5.4 +Time : 2024-03-06T06:45:40Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/github.com/golang/protobuf@v1.5.3/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/golang/protobuf@v1.5.4/LICENSE: Copyright 2010 The Go Authors. All rights reserved. @@ -24032,11 +24069,11 @@ Contents of probable licence file $GOMODCACHE/github.com/google/shlex@v0.0.0-201 -------------------------------------------------------------------------------- Module : github.com/google/wire -Version : v0.5.0 -Time : 2021-01-26T01:57:54Z +Version : v0.6.0 +Time : 2024-02-07T17:25:46Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/google/wire@v0.5.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/google/wire@v0.6.0/LICENSE: Apache License @@ -24456,11 +24493,11 @@ Contents of probable licence file $GOMODCACHE/github.com/googleapis/enterprise-c -------------------------------------------------------------------------------- Module : github.com/googleapis/gax-go/v2 -Version : v2.12.0 -Time : 2023-07-05T20:35:04Z +Version : v2.12.2 +Time : 2024-02-26T15:07:28Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/github.com/googleapis/gax-go/v2@v2.12.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/googleapis/gax-go/v2@v2.12.2/LICENSE: Copyright 2016, Google Inc. All rights reserved. @@ -26573,11 +26610,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/jackc/pgconn -Version : v1.14.0 -Time : 2023-02-11T14:33:14Z +Version : v1.14.3 +Time : 2024-03-04T14:43:07Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/jackc/pgconn@v1.14.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/jackc/pgconn@v1.14.3/LICENSE: Copyright (c) 2019-2021 Jack Christensen @@ -26701,11 +26738,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/jackc/pgproto3/v2 -Version : v2.3.2 -Time : 2022-09-17T15:44:36Z +Version : v2.3.3 +Time : 2024-03-04T14:27:16Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/jackc/pgproto3/v2@v2.3.2/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/jackc/pgproto3/v2@v2.3.3/LICENSE: Copyright (c) 2019 Jack Christensen @@ -26765,11 +26802,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/jackc/pgx/v4 -Version : v4.18.1 -Time : 2023-02-28T01:58:50Z +Version : v4.18.2 +Time : 2024-03-04T14:59:37Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/jackc/pgx/v4@v4.18.1/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/jackc/pgx/v4@v4.18.2/LICENSE: Copyright (c) 2013-2021 Jack Christensen @@ -27035,11 +27072,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/klauspost/compress -Version : v1.17.4 -Time : 2023-11-29T13:23:59Z +Version : v1.17.6 +Time : 2024-02-05T16:28:55Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/klauspost/compress@v1.17.4/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/klauspost/compress@v1.17.6/LICENSE: Copyright (c) 2012 The Go Authors. All rights reserved. Copyright (c) 2019 Klaus Post. All rights reserved. @@ -27742,6 +27779,37 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Module : github.com/lestrrat-go/httprc +Version : v1.0.5 +Time : 2024-03-06T23:02:20Z +Licence : MIT + +Contents of probable licence file $GOMODCACHE/github.com/lestrrat-go/httprc@v1.0.5/LICENSE: + +MIT License + +Copyright (c) 2022 lestrrat + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- Module : github.com/lestrrat-go/iter Version : v1.0.2 @@ -27973,11 +28041,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/mattn/go-sqlite3 -Version : v1.14.16 -Time : 2022-10-26T13:03:24Z +Version : v1.14.22 +Time : 2024-02-02T17:00:28Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/mattn/go-sqlite3@v1.14.16/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/mattn/go-sqlite3@v1.14.22/LICENSE: The MIT License (MIT) @@ -28002,217 +28070,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Module : github.com/matttproud/golang_protobuf_extensions/v2 -Version : v2.0.0 -Time : 2022-10-25T16:05:59Z -Licence : Apache-2.0 - -Contents of probable licence file $GOMODCACHE/github.com/matttproud/golang_protobuf_extensions/v2@v2.0.0/LICENSE: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -------------------------------------------------------------------------------- Module : github.com/minio/md5-simd Version : v1.1.2 @@ -30269,11 +30126,11 @@ Contents of provided licence file: -------------------------------------------------------------------------------- Module : github.com/pkg/browser -Version : v0.0.0-20210911075715-681adbf594b8 -Time : 2021-09-11T07:57:15Z +Version : v0.0.0-20240102092130-5ac0b6a4141c +Time : 2024-01-02T09:21:30Z Licence : BSD-2-Clause -Contents of probable licence file $GOMODCACHE/github.com/pkg/browser@v0.0.0-20210911075715-681adbf594b8/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/pkg/browser@v0.0.0-20240102092130-5ac0b6a4141c/LICENSE: Copyright (c) 2014, Dave Cheney All rights reserved. @@ -30436,11 +30293,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/prometheus/client_model -Version : v0.5.0 -Time : 2023-10-03T19:40:45Z +Version : v0.6.0 +Time : 2024-01-23T15:21:39Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/prometheus/client_model@v0.5.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/prometheus/client_model@v0.6.0/LICENSE: Apache License Version 2.0, January 2004 @@ -30647,11 +30504,11 @@ Contents of probable licence file $GOMODCACHE/github.com/prometheus/client_model -------------------------------------------------------------------------------- Module : github.com/prometheus/common -Version : v0.45.0 -Time : 2023-10-18T08:54:53Z +Version : v0.50.0 +Time : 2024-03-07T08:27:23Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/prometheus/common@v0.45.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/prometheus/common@v0.50.0/LICENSE: Apache License Version 2.0, January 2004 @@ -30858,11 +30715,11 @@ Contents of probable licence file $GOMODCACHE/github.com/prometheus/common@v0.45 -------------------------------------------------------------------------------- Module : github.com/prometheus/procfs -Version : v0.12.0 -Time : 2023-09-22T15:38:49Z +Version : v0.13.0 +Time : 2024-03-07T13:18:08Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/prometheus/procfs@v0.12.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/prometheus/procfs@v0.13.0/LICENSE: Apache License Version 2.0, January 2004 @@ -31106,11 +30963,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : github.com/rivo/uniseg -Version : v0.4.7-0.20240127222946-601bbb3750c2 -Time : 2024-01-27T22:29:46Z +Version : v0.4.7 +Time : 2024-02-08T13:16:15Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/rivo/uniseg@v0.4.7-0.20240127222946-601bbb3750c2/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/rivo/uniseg@v0.4.7/LICENSE.txt: MIT License @@ -31270,11 +31127,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/sergi/go-diff -Version : v1.2.0 -Time : 2020-12-01T23:41:48Z +Version : v1.3.2-0.20230802210424-5b0b94c5c0d3 +Time : 2023-08-02T21:04:24Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/sergi/go-diff@v1.2.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/sergi/go-diff@v1.3.2-0.20230802210424-5b0b94c5c0d3/LICENSE: Copyright (c) 2012-2016 The go-diff Authors. All rights reserved. @@ -32202,11 +32059,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/skeema/knownhosts -Version : v1.2.1 -Time : 2023-09-18T19:47:09Z +Version : v1.2.2 +Time : 2024-03-12T15:16:52Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/github.com/skeema/knownhosts@v1.2.1/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/skeema/knownhosts@v1.2.2/LICENSE: Apache License Version 2.0, January 2004 @@ -32477,11 +32334,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Module : github.com/stretchr/objx -Version : v0.5.0 -Time : 2022-09-18T03:09:40Z +Version : v0.5.2 +Time : 2024-02-29T09:57:51Z Licence : MIT -Contents of probable licence file $GOMODCACHE/github.com/stretchr/objx@v0.5.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/stretchr/objx@v0.5.2/LICENSE: The MIT License @@ -33397,11 +33254,11 @@ Contents of probable licence file $GOMODCACHE/go.opencensus.io@v0.24.0/LICENSE: -------------------------------------------------------------------------------- Module : go.opentelemetry.io/contrib/propagators/aws -Version : v1.23.0 -Time : 2024-02-06T18:19:22Z +Version : v1.24.0 +Time : 2024-02-23T17:23:36Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/aws@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/aws@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -33608,11 +33465,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propag -------------------------------------------------------------------------------- Module : go.opentelemetry.io/contrib/propagators/jaeger -Version : v1.23.0 -Time : 2024-02-06T18:19:22Z +Version : v1.24.0 +Time : 2024-02-23T17:23:36Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/jaeger@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/jaeger@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -33819,11 +33676,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propag -------------------------------------------------------------------------------- Module : go.opentelemetry.io/contrib/propagators/ot -Version : v1.23.0 -Time : 2024-02-06T18:19:22Z +Version : v1.24.0 +Time : 2024-02-23T17:23:36Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/ot@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/ot@v1.24.0/LICENSE: Apache License Version 2.0, January 2004 @@ -34338,11 +34195,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : golang.org/x/mod -Version : v0.15.0 -Time : 2024-01-26T20:57:38Z +Version : v0.16.0 +Time : 2024-02-07T18:52:59Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/golang.org/x/mod@v0.15.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/mod@v0.16.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -34375,11 +34232,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : golang.org/x/oauth2 -Version : v0.16.0 -Time : 2024-01-08T18:34:15Z +Version : v0.18.0 +Time : 2024-03-04T22:41:57Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/golang.org/x/oauth2@v0.16.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/oauth2@v0.18.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -34412,11 +34269,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : golang.org/x/sys -Version : v0.17.0 -Time : 2024-02-01T17:02:20Z +Version : v0.19.0 +Time : 2024-04-04T14:40:38Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/golang.org/x/sys@v0.17.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/sys@v0.19.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -34449,11 +34306,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : golang.org/x/term -Version : v0.17.0 -Time : 2024-02-07T18:19:16Z +Version : v0.19.0 +Time : 2024-04-04T16:04:26Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/golang.org/x/term@v0.17.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/term@v0.19.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -34597,11 +34454,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Module : google.golang.org/api -Version : v0.160.0 -Time : 2024-01-29T18:21:21Z +Version : v0.169.0 +Time : 2024-03-07T19:52:40Z Licence : BSD-3-Clause -Contents of probable licence file $GOMODCACHE/google.golang.org/api@v0.160.0/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/api@v0.169.0/LICENSE: Copyright (c) 2011 Google Inc. All rights reserved. @@ -34846,11 +34703,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/appengine@v1.6.8 -------------------------------------------------------------------------------- Module : google.golang.org/genproto -Version : v0.0.0-20240205150955-31a09d347014 -Time : 2024-02-05T15:09:55Z +Version : v0.0.0-20240311173647-c811ad7063a7 +Time : 2024-03-11T17:36:47Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/google.golang.org/genproto@v0.0.0-20240205150955-31a09d347014/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/genproto@v0.0.0-20240311173647-c811ad7063a7/LICENSE: Apache License @@ -35058,11 +34915,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/genproto@v0.0.0- -------------------------------------------------------------------------------- Module : google.golang.org/genproto/googleapis/rpc -Version : v0.0.0-20240205150955-31a09d347014 -Time : 2024-02-05T15:09:55Z +Version : v0.0.0-20240401170217-c3f982113cda +Time : 2024-04-01T17:02:17Z Licence : Apache-2.0 -Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googleapis/rpc@v0.0.0-20240205150955-31a09d347014/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googleapis/rpc@v0.0.0-20240401170217-c3f982113cda/LICENSE: Apache License @@ -35811,6 +35668,43 @@ See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- +Module : modernc.org/fileutil +Version : v1.3.0 +Time : 2024-02-16T10:06:19Z +Licence : BSD-2-Clause + +Contents of probable licence file $GOMODCACHE/modernc.org/fileutil@v1.3.0/LICENSE: + +Copyright (c) 2014 The fileutil Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the names of the authors nor the names of the +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + -------------------------------------------------------------------------------- Module : modernc.org/gc/v3 Version : v3.0.0-20240107210532-573471604cb6 diff --git a/api/genpb/cerbos/audit/v1/audit.pb.go b/api/genpb/cerbos/audit/v1/audit.pb.go index e0b40c9342..ead0d1e643 100644 --- a/api/genpb/cerbos/audit/v1/audit.pb.go +++ b/api/genpb/cerbos/audit/v1/audit.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/audit/v1/audit.proto diff --git a/api/genpb/cerbos/audit/v1/audit_hashpb.pb.go b/api/genpb/cerbos/audit/v1/audit_hashpb.pb.go index 478a8c8749..d3b30f30a4 100644 --- a/api/genpb/cerbos/audit/v1/audit_hashpb.pb.go +++ b/api/genpb/cerbos/audit/v1/audit_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/audit/v1/audit.proto package auditv1 diff --git a/api/genpb/cerbos/audit/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/audit/v1/hashpb_helpers.pb.go index cca2e9c987..0489b6cf89 100644 --- a/api/genpb/cerbos/audit/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/audit/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package auditv1 @@ -17,18 +17,18 @@ import ( func cerbos_audit_v1_AccessLogEntry_hashpb_sum(m *AccessLogEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.call_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.CallId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCallId())) } if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.timestamp"]; !ok { - if m.Timestamp != nil { - google_protobuf_Timestamp_hashpb_sum(m.Timestamp, hasher, ignore) + if m.GetTimestamp() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetTimestamp(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.peer"]; !ok { - if m.Peer != nil { - cerbos_audit_v1_Peer_hashpb_sum(m.Peer, hasher, ignore) + if m.GetPeer() != nil { + cerbos_audit_v1_Peer_hashpb_sum(m.GetPeer(), hasher, ignore) } } @@ -52,11 +52,11 @@ func cerbos_audit_v1_AccessLogEntry_hashpb_sum(m *AccessLogEntry, hasher hash.Ha } } if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.method"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Method)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMethod())) } if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.status_code"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.StatusCode))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetStatusCode()))) } } @@ -105,44 +105,44 @@ func cerbos_audit_v1_DecisionLogEntry_CheckResources_hashpb_sum(m *DecisionLogEn } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.CheckResources.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } } func cerbos_audit_v1_DecisionLogEntry_PlanResources_hashpb_sum(m *DecisionLogEntry_PlanResources, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.PlanResources.input"]; !ok { - if m.Input != nil { - cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.PlanResources.output"]; !ok { - if m.Output != nil { - cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m.GetOutput(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.PlanResources.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } } func cerbos_audit_v1_DecisionLogEntry_hashpb_sum(m *DecisionLogEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.call_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.CallId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCallId())) } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.timestamp"]; !ok { - if m.Timestamp != nil { - google_protobuf_Timestamp_hashpb_sum(m.Timestamp, hasher, ignore) + if m.GetTimestamp() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetTimestamp(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.peer"]; !ok { - if m.Peer != nil { - cerbos_audit_v1_Peer_hashpb_sum(m.Peer, hasher, ignore) + if m.GetPeer() != nil { + cerbos_audit_v1_Peer_hashpb_sum(m.GetPeer(), hasher, ignore) } } @@ -167,7 +167,7 @@ func cerbos_audit_v1_DecisionLogEntry_hashpb_sum(m *DecisionLogEntry, hasher has } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if m.Method != nil { @@ -206,8 +206,8 @@ func cerbos_audit_v1_DecisionLogEntry_hashpb_sum(m *DecisionLogEntry, hasher has } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.audit_trail"]; !ok { - if m.AuditTrail != nil { - cerbos_audit_v1_AuditTrail_hashpb_sum(m.AuditTrail, hasher, ignore) + if m.GetAuditTrail() != nil { + cerbos_audit_v1_AuditTrail_hashpb_sum(m.GetAuditTrail(), hasher, ignore) } } @@ -226,19 +226,19 @@ func cerbos_audit_v1_MetaValues_hashpb_sum(m *MetaValues, hasher hash.Hash, igno func cerbos_audit_v1_Peer_hashpb_sum(m *Peer, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.Peer.address"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Address)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAddress())) } if _, ok := ignore["cerbos.audit.v1.Peer.auth_info"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.AuthInfo)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAuthInfo())) } if _, ok := ignore["cerbos.audit.v1.Peer.user_agent"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.UserAgent)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetUserAgent())) } if _, ok := ignore["cerbos.audit.v1.Peer.forwarded_for"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ForwardedFor)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetForwardedFor())) } } @@ -267,18 +267,18 @@ func cerbos_engine_v1_AuxData_hashpb_sum(m *v1.AuxData, hasher hash.Hash, ignore func cerbos_engine_v1_CheckInput_hashpb_sum(m *v1.CheckInput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckInput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.CheckInput.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.CheckInput.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -291,8 +291,8 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *v1.CheckInput, hasher hash.Hash, } } if _, ok := ignore["cerbos.engine.v1.CheckInput.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -300,26 +300,26 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *v1.CheckInput, hasher hash.Hash, func cerbos_engine_v1_CheckOutput_ActionEffect_hashpb_sum(m *v1.CheckOutput_ActionEffect, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_CheckOutput_hashpb_sum(m *v1.CheckOutput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckOutput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.resource_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceId())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.actions"]; !ok { @@ -373,12 +373,12 @@ func cerbos_engine_v1_CheckOutput_hashpb_sum(m *v1.CheckOutput, hasher hash.Hash func cerbos_engine_v1_OutputEntry_hashpb_sum(m *v1.OutputEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.OutputEntry.src"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Src)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSrc())) } if _, ok := ignore["cerbos.engine.v1.OutputEntry.val"]; !ok { - if m.Val != nil { - google_protobuf_Value_hashpb_sum(m.Val, hasher, ignore) + if m.GetVal() != nil { + google_protobuf_Value_hashpb_sum(m.GetVal(), hasher, ignore) } } @@ -408,7 +408,7 @@ func cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m *v1.Pl func cerbos_engine_v1_PlanResourcesFilter_Expression_hashpb_sum(m *v1.PlanResourcesFilter_Expression, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.Expression.operator"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Operator)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetOperator())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.Expression.operands"]; !ok { @@ -425,12 +425,12 @@ func cerbos_engine_v1_PlanResourcesFilter_Expression_hashpb_sum(m *v1.PlanResour func cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m *v1.PlanResourcesFilter, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.condition"]; !ok { - if m.Condition != nil { - cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m.GetCondition(), hasher, ignore) } } @@ -438,7 +438,7 @@ func cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m *v1.PlanResourcesFilter, func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *v1.PlanResourcesInput_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.attr"]; !ok { @@ -461,77 +461,77 @@ func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *v1.PlanResources } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m *v1.PlanResourcesInput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } } func cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m *v1.PlanResourcesOutput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.filter"]; !ok { - if m.Filter != nil { - cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.Filter, hasher, ignore) + if m.GetFilter() != nil { + cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.GetFilter(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.filter_debug"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.FilterDebug)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFilterDebug())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.validation_errors"]; !ok { @@ -548,11 +548,11 @@ func cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m *v1.PlanResourcesOutput, func cerbos_engine_v1_Principal_hashpb_sum(m *v1.Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Principal.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Principal.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Principal.roles"]; !ok { @@ -583,22 +583,22 @@ func cerbos_engine_v1_Principal_hashpb_sum(m *v1.Principal, hasher hash.Hash, ig } } if _, ok := ignore["cerbos.engine.v1.Principal.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Resource_hashpb_sum(m *v1.Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Resource.attr"]; !ok { @@ -621,7 +621,7 @@ func cerbos_engine_v1_Resource_hashpb_sum(m *v1.Resource, hasher hash.Hash, igno } } if _, ok := ignore["cerbos.engine.v1.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } @@ -650,15 +650,15 @@ func cerbos_policy_v1_SourceAttributes_hashpb_sum(m *v11.SourceAttributes, hashe func cerbos_schema_v1_ValidationError_hashpb_sum(m *v12.ValidationError, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.schema.v1.ValidationError.path"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Path)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPath())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.source"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Source))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSource()))) } } @@ -700,11 +700,11 @@ func google_protobuf_Struct_hashpb_sum(m *structpb.Struct, hasher hash.Hash, ign func google_protobuf_Timestamp_hashpb_sum(m *timestamppb.Timestamp, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Timestamp.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Timestamp.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } diff --git a/api/genpb/cerbos/effect/v1/effect.pb.go b/api/genpb/cerbos/effect/v1/effect.pb.go index 6d3f72d3a4..835f5c9296 100644 --- a/api/genpb/cerbos/effect/v1/effect.pb.go +++ b/api/genpb/cerbos/effect/v1/effect.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/effect/v1/effect.proto diff --git a/api/genpb/cerbos/effect/v1/effect_hashpb.pb.go b/api/genpb/cerbos/effect/v1/effect_hashpb.pb.go index 71f509e186..5af70fffd6 100644 --- a/api/genpb/cerbos/effect/v1/effect_hashpb.pb.go +++ b/api/genpb/cerbos/effect/v1/effect_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/effect/v1/effect.proto package effectv1 diff --git a/api/genpb/cerbos/engine/v1/engine.pb.go b/api/genpb/cerbos/engine/v1/engine.pb.go index 28b39b0e71..50f067291d 100644 --- a/api/genpb/cerbos/engine/v1/engine.pb.go +++ b/api/genpb/cerbos/engine/v1/engine.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/engine/v1/engine.proto diff --git a/api/genpb/cerbos/engine/v1/engine_hashpb.pb.go b/api/genpb/cerbos/engine/v1/engine_hashpb.pb.go index ca5d6fc16f..12281dc62b 100644 --- a/api/genpb/cerbos/engine/v1/engine_hashpb.pb.go +++ b/api/genpb/cerbos/engine/v1/engine_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/engine/v1/engine.proto package enginev1 diff --git a/api/genpb/cerbos/engine/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/engine/v1/hashpb_helpers.pb.go index 035868ece6..4eb3b70a22 100644 --- a/api/genpb/cerbos/engine/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/engine/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package enginev1 @@ -40,18 +40,18 @@ func cerbos_engine_v1_AuxData_hashpb_sum(m *AuxData, hasher hash.Hash, ignore ma func cerbos_engine_v1_CheckInput_hashpb_sum(m *CheckInput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckInput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.CheckInput.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.CheckInput.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -64,8 +64,8 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *CheckInput, hasher hash.Hash, ign } } if _, ok := ignore["cerbos.engine.v1.CheckInput.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -73,26 +73,26 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *CheckInput, hasher hash.Hash, ign func cerbos_engine_v1_CheckOutput_ActionEffect_hashpb_sum(m *CheckOutput_ActionEffect, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_CheckOutput_hashpb_sum(m *CheckOutput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckOutput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.resource_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceId())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.actions"]; !ok { @@ -146,12 +146,12 @@ func cerbos_engine_v1_CheckOutput_hashpb_sum(m *CheckOutput, hasher hash.Hash, i func cerbos_engine_v1_OutputEntry_hashpb_sum(m *OutputEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.OutputEntry.src"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Src)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSrc())) } if _, ok := ignore["cerbos.engine.v1.OutputEntry.val"]; !ok { - if m.Val != nil { - google_protobuf_Value_hashpb_sum(m.Val, hasher, ignore) + if m.GetVal() != nil { + google_protobuf_Value_hashpb_sum(m.GetVal(), hasher, ignore) } } @@ -159,7 +159,7 @@ func cerbos_engine_v1_OutputEntry_hashpb_sum(m *OutputEntry, hasher hash.Hash, i func cerbos_engine_v1_PlanResourcesAst_LogicalOperation_hashpb_sum(m *PlanResourcesAst_LogicalOperation, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesAst.LogicalOperation.operator"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Operator))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetOperator()))) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesAst.LogicalOperation.nodes"]; !ok { @@ -195,8 +195,8 @@ func cerbos_engine_v1_PlanResourcesAst_Node_hashpb_sum(m *PlanResourcesAst_Node, func cerbos_engine_v1_PlanResourcesAst_hashpb_sum(m *PlanResourcesAst, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesAst.filter_ast"]; !ok { - if m.FilterAst != nil { - cerbos_engine_v1_PlanResourcesAst_Node_hashpb_sum(m.FilterAst, hasher, ignore) + if m.GetFilterAst() != nil { + cerbos_engine_v1_PlanResourcesAst_Node_hashpb_sum(m.GetFilterAst(), hasher, ignore) } } @@ -226,7 +226,7 @@ func cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m *PlanR func cerbos_engine_v1_PlanResourcesFilter_Expression_hashpb_sum(m *PlanResourcesFilter_Expression, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.Expression.operator"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Operator)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetOperator())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.Expression.operands"]; !ok { @@ -243,12 +243,12 @@ func cerbos_engine_v1_PlanResourcesFilter_Expression_hashpb_sum(m *PlanResources func cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m *PlanResourcesFilter, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.condition"]; !ok { - if m.Condition != nil { - cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m.GetCondition(), hasher, ignore) } } @@ -256,7 +256,7 @@ func cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m *PlanResourcesFilter, has func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *PlanResourcesInput_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.attr"]; !ok { @@ -279,77 +279,77 @@ func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *PlanResourcesInp } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m *PlanResourcesInput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } } func cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m *PlanResourcesOutput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.filter"]; !ok { - if m.Filter != nil { - cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.Filter, hasher, ignore) + if m.GetFilter() != nil { + cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.GetFilter(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.filter_debug"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.FilterDebug)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFilterDebug())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.validation_errors"]; !ok { @@ -366,11 +366,11 @@ func cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m *PlanResourcesOutput, has func cerbos_engine_v1_Principal_hashpb_sum(m *Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Principal.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Principal.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Principal.roles"]; !ok { @@ -401,14 +401,14 @@ func cerbos_engine_v1_Principal_hashpb_sum(m *Principal, hasher hash.Hash, ignor } } if _, ok := ignore["cerbos.engine.v1.Principal.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Request_Principal_hashpb_sum(m *Request_Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Request.Principal.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Request.Principal.roles"]; !ok { @@ -442,11 +442,11 @@ func cerbos_engine_v1_Request_Principal_hashpb_sum(m *Request_Principal, hasher func cerbos_engine_v1_Request_Resource_hashpb_sum(m *Request_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Request.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.Request.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Request.Resource.attr"]; !ok { @@ -472,20 +472,20 @@ func cerbos_engine_v1_Request_Resource_hashpb_sum(m *Request_Resource, hasher ha func cerbos_engine_v1_Request_hashpb_sum(m *Request, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Request.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Request_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Request_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.Request.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Request_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Request_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.Request.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -493,15 +493,15 @@ func cerbos_engine_v1_Request_hashpb_sum(m *Request, hasher hash.Hash, ignore ma func cerbos_engine_v1_Resource_hashpb_sum(m *Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Resource.attr"]; !ok { @@ -524,7 +524,7 @@ func cerbos_engine_v1_Resource_hashpb_sum(m *Resource, hasher hash.Hash, ignore } } if _, ok := ignore["cerbos.engine.v1.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } @@ -542,18 +542,18 @@ func cerbos_engine_v1_Runtime_hashpb_sum(m *Runtime, hasher hash.Hash, ignore ma func cerbos_engine_v1_Trace_Component_Variable_hashpb_sum(m *Trace_Component_Variable, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Component.Variable.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.engine.v1.Trace.Component.Variable.expr"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Expr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExpr())) } } func cerbos_engine_v1_Trace_Component_hashpb_sum(m *Trace_Component, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Component.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if m.Details != nil { @@ -598,24 +598,24 @@ func cerbos_engine_v1_Trace_Component_hashpb_sum(m *Trace_Component, hasher hash func cerbos_engine_v1_Trace_Event_hashpb_sum(m *Trace_Event, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Event.status"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Status))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetStatus()))) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.result"]; !ok { - if m.Result != nil { - google_protobuf_Value_hashpb_sum(m.Result, hasher, ignore) + if m.GetResult() != nil { + google_protobuf_Value_hashpb_sum(m.GetResult(), hasher, ignore) } } @@ -633,8 +633,8 @@ func cerbos_engine_v1_Trace_hashpb_sum(m *Trace, hasher hash.Hash, ignore map[st } } if _, ok := ignore["cerbos.engine.v1.Trace.event"]; !ok { - if m.Event != nil { - cerbos_engine_v1_Trace_Event_hashpb_sum(m.Event, hasher, ignore) + if m.GetEvent() != nil { + cerbos_engine_v1_Trace_Event_hashpb_sum(m.GetEvent(), hasher, ignore) } } @@ -642,15 +642,15 @@ func cerbos_engine_v1_Trace_hashpb_sum(m *Trace, hasher hash.Hash, ignore map[st func cerbos_schema_v1_ValidationError_hashpb_sum(m *v1.ValidationError, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.schema.v1.ValidationError.path"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Path)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPath())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.source"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Source))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSource()))) } } @@ -695,19 +695,19 @@ func google_api_expr_v1alpha1_CheckedExpr_hashpb_sum(m *v1alpha1.CheckedExpr, ha } } if _, ok := ignore["google.api.expr.v1alpha1.CheckedExpr.expr"]; !ok { - if m.Expr != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Expr, hasher, ignore) + if m.GetExpr() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetExpr(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.CheckedExpr.source_info"]; !ok { - if m.SourceInfo != nil { - google_api_expr_v1alpha1_SourceInfo_hashpb_sum(m.SourceInfo, hasher, ignore) + if m.GetSourceInfo() != nil { + google_api_expr_v1alpha1_SourceInfo_hashpb_sum(m.GetSourceInfo(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.CheckedExpr.expr_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ExprVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExprVersion())) } } @@ -754,13 +754,13 @@ func google_api_expr_v1alpha1_Constant_hashpb_sum(m *v1alpha1.Constant, hasher h func google_api_expr_v1alpha1_Expr_Call_hashpb_sum(m *v1alpha1.Expr_Call, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.Call.target"]; !ok { - if m.Target != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Target, hasher, ignore) + if m.GetTarget() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetTarget(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Call.function"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Function)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFunction())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Call.args"]; !ok { @@ -777,40 +777,40 @@ func google_api_expr_v1alpha1_Expr_Call_hashpb_sum(m *v1alpha1.Expr_Call, hasher func google_api_expr_v1alpha1_Expr_Comprehension_hashpb_sum(m *v1alpha1.Expr_Comprehension, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.iter_var"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.IterVar)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetIterVar())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.iter_range"]; !ok { - if m.IterRange != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.IterRange, hasher, ignore) + if m.GetIterRange() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetIterRange(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.accu_var"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.AccuVar)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAccuVar())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.accu_init"]; !ok { - if m.AccuInit != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.AccuInit, hasher, ignore) + if m.GetAccuInit() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetAccuInit(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.loop_condition"]; !ok { - if m.LoopCondition != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.LoopCondition, hasher, ignore) + if m.GetLoopCondition() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetLoopCondition(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.loop_step"]; !ok { - if m.LoopStep != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.LoopStep, hasher, ignore) + if m.GetLoopStep() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetLoopStep(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.result"]; !ok { - if m.Result != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Result, hasher, ignore) + if m.GetResult() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetResult(), hasher, ignore) } } @@ -839,7 +839,7 @@ func google_api_expr_v1alpha1_Expr_CreateList_hashpb_sum(m *v1alpha1.Expr_Create func google_api_expr_v1alpha1_Expr_CreateStruct_Entry_hashpb_sum(m *v1alpha1.Expr_CreateStruct_Entry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.Entry.id"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Id))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetId()))) } if m.KeyKind != nil { @@ -857,20 +857,20 @@ func google_api_expr_v1alpha1_Expr_CreateStruct_Entry_hashpb_sum(m *v1alpha1.Exp } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.Entry.value"]; !ok { - if m.Value != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Value, hasher, ignore) + if m.GetValue() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetValue(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.Entry.optional_entry"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.OptionalEntry))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetOptionalEntry()))) } } func google_api_expr_v1alpha1_Expr_CreateStruct_hashpb_sum(m *v1alpha1.Expr_CreateStruct, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.message_name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MessageName)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessageName())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.entries"]; !ok { @@ -887,31 +887,31 @@ func google_api_expr_v1alpha1_Expr_CreateStruct_hashpb_sum(m *v1alpha1.Expr_Crea func google_api_expr_v1alpha1_Expr_Ident_hashpb_sum(m *v1alpha1.Expr_Ident, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.Ident.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } } func google_api_expr_v1alpha1_Expr_Select_hashpb_sum(m *v1alpha1.Expr_Select, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.Select.operand"]; !ok { - if m.Operand != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Operand, hasher, ignore) + if m.GetOperand() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetOperand(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Select.field"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Field)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetField())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Select.test_only"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.TestOnly))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetTestOnly()))) } } func google_api_expr_v1alpha1_Expr_hashpb_sum(m *v1alpha1.Expr, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.id"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Id))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetId()))) } if m.ExprKind != nil { @@ -959,7 +959,7 @@ func google_api_expr_v1alpha1_Expr_hashpb_sum(m *v1alpha1.Expr, hasher hash.Hash func google_api_expr_v1alpha1_Reference_hashpb_sum(m *v1alpha1.Reference, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Reference.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["google.api.expr.v1alpha1.Reference.overload_id"]; !ok { @@ -971,8 +971,8 @@ func google_api_expr_v1alpha1_Reference_hashpb_sum(m *v1alpha1.Reference, hasher } } if _, ok := ignore["google.api.expr.v1alpha1.Reference.value"]; !ok { - if m.Value != nil { - google_api_expr_v1alpha1_Constant_hashpb_sum(m.Value, hasher, ignore) + if m.GetValue() != nil { + google_api_expr_v1alpha1_Constant_hashpb_sum(m.GetValue(), hasher, ignore) } } @@ -980,11 +980,11 @@ func google_api_expr_v1alpha1_Reference_hashpb_sum(m *v1alpha1.Reference, hasher func google_api_expr_v1alpha1_SourceInfo_hashpb_sum(m *v1alpha1.SourceInfo, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.SourceInfo.syntax_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SyntaxVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSyntaxVersion())) } if _, ok := ignore["google.api.expr.v1alpha1.SourceInfo.location"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Location)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetLocation())) } if _, ok := ignore["google.api.expr.v1alpha1.SourceInfo.line_offsets"]; !ok { @@ -1035,7 +1035,7 @@ func google_api_expr_v1alpha1_SourceInfo_hashpb_sum(m *v1alpha1.SourceInfo, hash func google_api_expr_v1alpha1_Type_AbstractType_hashpb_sum(m *v1alpha1.Type_AbstractType, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Type.AbstractType.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["google.api.expr.v1alpha1.Type.AbstractType.parameter_types"]; !ok { @@ -1052,8 +1052,8 @@ func google_api_expr_v1alpha1_Type_AbstractType_hashpb_sum(m *v1alpha1.Type_Abst func google_api_expr_v1alpha1_Type_FunctionType_hashpb_sum(m *v1alpha1.Type_FunctionType, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Type.FunctionType.result_type"]; !ok { - if m.ResultType != nil { - google_api_expr_v1alpha1_Type_hashpb_sum(m.ResultType, hasher, ignore) + if m.GetResultType() != nil { + google_api_expr_v1alpha1_Type_hashpb_sum(m.GetResultType(), hasher, ignore) } } @@ -1071,8 +1071,8 @@ func google_api_expr_v1alpha1_Type_FunctionType_hashpb_sum(m *v1alpha1.Type_Func func google_api_expr_v1alpha1_Type_ListType_hashpb_sum(m *v1alpha1.Type_ListType, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Type.ListType.elem_type"]; !ok { - if m.ElemType != nil { - google_api_expr_v1alpha1_Type_hashpb_sum(m.ElemType, hasher, ignore) + if m.GetElemType() != nil { + google_api_expr_v1alpha1_Type_hashpb_sum(m.GetElemType(), hasher, ignore) } } @@ -1080,14 +1080,14 @@ func google_api_expr_v1alpha1_Type_ListType_hashpb_sum(m *v1alpha1.Type_ListType func google_api_expr_v1alpha1_Type_MapType_hashpb_sum(m *v1alpha1.Type_MapType, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Type.MapType.key_type"]; !ok { - if m.KeyType != nil { - google_api_expr_v1alpha1_Type_hashpb_sum(m.KeyType, hasher, ignore) + if m.GetKeyType() != nil { + google_api_expr_v1alpha1_Type_hashpb_sum(m.GetKeyType(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Type.MapType.value_type"]; !ok { - if m.ValueType != nil { - google_api_expr_v1alpha1_Type_hashpb_sum(m.ValueType, hasher, ignore) + if m.GetValueType() != nil { + google_api_expr_v1alpha1_Type_hashpb_sum(m.GetValueType(), hasher, ignore) } } @@ -1157,11 +1157,11 @@ func google_api_expr_v1alpha1_Type_hashpb_sum(m *v1alpha1.Type, hasher hash.Hash func google_protobuf_Duration_hashpb_sum(m *durationpb.Duration, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Duration.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Duration.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } @@ -1206,11 +1206,11 @@ func google_protobuf_Struct_hashpb_sum(m *structpb.Struct, hasher hash.Hash, ign func google_protobuf_Timestamp_hashpb_sum(m *timestamppb.Timestamp, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Timestamp.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Timestamp.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } diff --git a/api/genpb/cerbos/policy/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/policy/v1/hashpb_helpers.pb.go index 4fb61eaf0a..d54bfb482f 100644 --- a/api/genpb/cerbos/policy/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/policy/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package policyv1 @@ -38,18 +38,18 @@ func cerbos_engine_v1_AuxData_hashpb_sum(m *v1.AuxData, hasher hash.Hash, ignore func cerbos_engine_v1_CheckInput_hashpb_sum(m *v1.CheckInput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckInput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.CheckInput.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.CheckInput.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -62,8 +62,8 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *v1.CheckInput, hasher hash.Hash, } } if _, ok := ignore["cerbos.engine.v1.CheckInput.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -71,12 +71,12 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *v1.CheckInput, hasher hash.Hash, func cerbos_engine_v1_OutputEntry_hashpb_sum(m *v1.OutputEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.OutputEntry.src"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Src)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSrc())) } if _, ok := ignore["cerbos.engine.v1.OutputEntry.val"]; !ok { - if m.Val != nil { - google_protobuf_Value_hashpb_sum(m.Val, hasher, ignore) + if m.GetVal() != nil { + google_protobuf_Value_hashpb_sum(m.GetVal(), hasher, ignore) } } @@ -84,11 +84,11 @@ func cerbos_engine_v1_OutputEntry_hashpb_sum(m *v1.OutputEntry, hasher hash.Hash func cerbos_engine_v1_Principal_hashpb_sum(m *v1.Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Principal.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Principal.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Principal.roles"]; !ok { @@ -119,22 +119,22 @@ func cerbos_engine_v1_Principal_hashpb_sum(m *v1.Principal, hasher hash.Hash, ig } } if _, ok := ignore["cerbos.engine.v1.Principal.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Resource_hashpb_sum(m *v1.Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Resource.attr"]; !ok { @@ -157,25 +157,25 @@ func cerbos_engine_v1_Resource_hashpb_sum(m *v1.Resource, hasher hash.Hash, igno } } if _, ok := ignore["cerbos.engine.v1.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Trace_Component_Variable_hashpb_sum(m *v1.Trace_Component_Variable, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Component.Variable.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.engine.v1.Trace.Component.Variable.expr"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Expr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExpr())) } } func cerbos_engine_v1_Trace_Component_hashpb_sum(m *v1.Trace_Component, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Component.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if m.Details != nil { @@ -220,24 +220,24 @@ func cerbos_engine_v1_Trace_Component_hashpb_sum(m *v1.Trace_Component, hasher h func cerbos_engine_v1_Trace_Event_hashpb_sum(m *v1.Trace_Event, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Event.status"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Status))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetStatus()))) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.result"]; !ok { - if m.Result != nil { - google_protobuf_Value_hashpb_sum(m.Result, hasher, ignore) + if m.GetResult() != nil { + google_protobuf_Value_hashpb_sum(m.GetResult(), hasher, ignore) } } @@ -255,8 +255,8 @@ func cerbos_engine_v1_Trace_hashpb_sum(m *v1.Trace, hasher hash.Hash, ignore map } } if _, ok := ignore["cerbos.engine.v1.Trace.event"]; !ok { - if m.Event != nil { - cerbos_engine_v1_Trace_Event_hashpb_sum(m.Event, hasher, ignore) + if m.GetEvent() != nil { + cerbos_engine_v1_Trace_Event_hashpb_sum(m.GetEvent(), hasher, ignore) } } @@ -281,7 +281,7 @@ func cerbos_policy_v1_Condition_hashpb_sum(m *Condition, hasher hash.Hash, ignor func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *DerivedRoles, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.DerivedRoles.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.DerivedRoles.definitions"]; !ok { @@ -295,8 +295,8 @@ func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *DerivedRoles, hasher hash.Hash, } } if _, ok := ignore["cerbos.policy.v1.DerivedRoles.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -304,7 +304,7 @@ func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *DerivedRoles, hasher hash.Hash, func cerbos_policy_v1_ExportVariables_hashpb_sum(m *ExportVariables, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.ExportVariables.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.ExportVariables.definitions"]; !ok { @@ -368,7 +368,7 @@ func cerbos_policy_v1_Match_hashpb_sum(m *Match, hasher hash.Hash, ignore map[st func cerbos_policy_v1_Metadata_hashpb_sum(m *Metadata, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Metadata.source_file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SourceFile)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSourceFile())) } if _, ok := ignore["cerbos.policy.v1.Metadata.annotations"]; !ok { @@ -389,22 +389,22 @@ func cerbos_policy_v1_Metadata_hashpb_sum(m *Metadata, hasher hash.Hash, ignore } } if _, ok := ignore["cerbos.policy.v1.Metadata.hash"]; !ok { - if m.Hash != nil { - google_protobuf_UInt64Value_hashpb_sum(m.Hash, hasher, ignore) + if m.GetHash() != nil { + google_protobuf_UInt64Value_hashpb_sum(m.GetHash(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Metadata.store_identifer"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.StoreIdentifer)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetStoreIdentifer())) } if _, ok := ignore["cerbos.policy.v1.Metadata.store_identifier"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.StoreIdentifier)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetStoreIdentifier())) } if _, ok := ignore["cerbos.policy.v1.Metadata.source_attributes"]; !ok { - if m.SourceAttributes != nil { - cerbos_policy_v1_SourceAttributes_hashpb_sum(m.SourceAttributes, hasher, ignore) + if m.GetSourceAttributes() != nil { + cerbos_policy_v1_SourceAttributes_hashpb_sum(m.GetSourceAttributes(), hasher, ignore) } } @@ -412,23 +412,23 @@ func cerbos_policy_v1_Metadata_hashpb_sum(m *Metadata, hasher hash.Hash, ignore func cerbos_policy_v1_Output_When_hashpb_sum(m *Output_When, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Output.When.rule_activated"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RuleActivated)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRuleActivated())) } if _, ok := ignore["cerbos.policy.v1.Output.When.condition_not_met"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ConditionNotMet)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetConditionNotMet())) } } func cerbos_policy_v1_Output_hashpb_sum(m *Output, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Output.expr"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Expr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExpr())) } if _, ok := ignore["cerbos.policy.v1.Output.when"]; !ok { - if m.When != nil { - cerbos_policy_v1_Output_When_hashpb_sum(m.When, hasher, ignore) + if m.GetWhen() != nil { + cerbos_policy_v1_Output_When_hashpb_sum(m.GetWhen(), hasher, ignore) } } @@ -436,20 +436,20 @@ func cerbos_policy_v1_Output_hashpb_sum(m *Output, hasher hash.Hash, ignore map[ func cerbos_policy_v1_Policy_hashpb_sum(m *Policy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Policy.api_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ApiVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetApiVersion())) } if _, ok := ignore["cerbos.policy.v1.Policy.disabled"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Disabled))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetDisabled()))) } if _, ok := ignore["cerbos.policy.v1.Policy.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.policy.v1.Policy.metadata"]; !ok { - if m.Metadata != nil { - cerbos_policy_v1_Metadata_hashpb_sum(m.Metadata, hasher, ignore) + if m.GetMetadata() != nil { + cerbos_policy_v1_Metadata_hashpb_sum(m.GetMetadata(), hasher, ignore) } } @@ -497,18 +497,18 @@ func cerbos_policy_v1_Policy_hashpb_sum(m *Policy, hasher hash.Hash, ignore map[ } } if _, ok := ignore["cerbos.policy.v1.Policy.json_schema"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.JsonSchema)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetJsonSchema())) } } func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *PrincipalPolicy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.principal"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Principal)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPrincipal())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.rules"]; !ok { @@ -522,12 +522,12 @@ func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *PrincipalPolicy, hasher hash } } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -535,26 +535,26 @@ func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *PrincipalPolicy, hasher hash func cerbos_policy_v1_PrincipalRule_Action_hashpb_sum(m *PrincipalRule_Action, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.output"]; !ok { - if m.Output != nil { - cerbos_policy_v1_Output_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_policy_v1_Output_hashpb_sum(m.GetOutput(), hasher, ignore) } } @@ -562,7 +562,7 @@ func cerbos_policy_v1_PrincipalRule_Action_hashpb_sum(m *PrincipalRule_Action, h func cerbos_policy_v1_PrincipalRule_hashpb_sum(m *PrincipalRule, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalRule.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.actions"]; !ok { @@ -579,11 +579,11 @@ func cerbos_policy_v1_PrincipalRule_hashpb_sum(m *PrincipalRule, hasher hash.Has func cerbos_policy_v1_ResourcePolicy_hashpb_sum(m *ResourcePolicy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.import_derived_roles"]; !ok { @@ -605,18 +605,18 @@ func cerbos_policy_v1_ResourcePolicy_hashpb_sum(m *ResourcePolicy, hasher hash.H } } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.schemas"]; !ok { - if m.Schemas != nil { - cerbos_policy_v1_Schemas_hashpb_sum(m.Schemas, hasher, ignore) + if m.GetSchemas() != nil { + cerbos_policy_v1_Schemas_hashpb_sum(m.GetSchemas(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -648,22 +648,22 @@ func cerbos_policy_v1_ResourceRule_hashpb_sum(m *ResourceRule, hasher hash.Hash, } } if _, ok := ignore["cerbos.policy.v1.ResourceRule.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.ResourceRule.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.ResourceRule.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.ResourceRule.output"]; !ok { - if m.Output != nil { - cerbos_policy_v1_Output_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_policy_v1_Output_hashpb_sum(m.GetOutput(), hasher, ignore) } } @@ -671,7 +671,7 @@ func cerbos_policy_v1_ResourceRule_hashpb_sum(m *ResourceRule, hasher hash.Hash, func cerbos_policy_v1_RoleDef_hashpb_sum(m *RoleDef, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.RoleDef.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.RoleDef.parent_roles"]; !ok { @@ -683,8 +683,8 @@ func cerbos_policy_v1_RoleDef_hashpb_sum(m *RoleDef, hasher hash.Hash, ignore ma } } if _, ok := ignore["cerbos.policy.v1.RoleDef.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } @@ -703,12 +703,12 @@ func cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m *Schemas_IgnoreWhen, hashe func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *Schemas_Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ref"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Ref)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRef())) } if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ignore_when"]; !ok { - if m.IgnoreWhen != nil { - cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.IgnoreWhen, hasher, ignore) + if m.GetIgnoreWhen() != nil { + cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.GetIgnoreWhen(), hasher, ignore) } } @@ -716,14 +716,14 @@ func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *Schemas_Schema, hasher hash.H func cerbos_policy_v1_Schemas_hashpb_sum(m *Schemas, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.principal_schema"]; !ok { - if m.PrincipalSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.PrincipalSchema, hasher, ignore) + if m.GetPrincipalSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetPrincipalSchema(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Schemas.resource_schema"]; !ok { - if m.ResourceSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.ResourceSchema, hasher, ignore) + if m.GetResourceSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetResourceSchema(), hasher, ignore) } } @@ -756,13 +756,13 @@ func cerbos_policy_v1_TestFixture_hashpb_sum(m *TestFixture, hasher hash.Hash, i func cerbos_policy_v1_TestOptions_hashpb_sum(m *TestOptions, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestOptions.now"]; !ok { - if m.Now != nil { - google_protobuf_Timestamp_hashpb_sum(m.Now, hasher, ignore) + if m.GetNow() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetNow(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.TestOptions.lenient_scope_search"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.LenientScopeSearch))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetLenientScopeSearch()))) } if _, ok := ignore["cerbos.policy.v1.TestOptions.globals"]; !ok { @@ -788,12 +788,12 @@ func cerbos_policy_v1_TestOptions_hashpb_sum(m *TestOptions, hasher hash.Hash, i func cerbos_policy_v1_TestResults_Action_hashpb_sum(m *TestResults_Action, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Action.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Action.details"]; !ok { - if m.Details != nil { - cerbos_policy_v1_TestResults_Details_hashpb_sum(m.Details, hasher, ignore) + if m.GetDetails() != nil { + cerbos_policy_v1_TestResults_Details_hashpb_sum(m.GetDetails(), hasher, ignore) } } @@ -801,7 +801,7 @@ func cerbos_policy_v1_TestResults_Action_hashpb_sum(m *TestResults_Action, hashe func cerbos_policy_v1_TestResults_Details_hashpb_sum(m *TestResults_Details, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Details.result"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Result))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetResult()))) } if m.Outcome != nil { @@ -837,11 +837,11 @@ func cerbos_policy_v1_TestResults_Details_hashpb_sum(m *TestResults_Details, has func cerbos_policy_v1_TestResults_Failure_hashpb_sum(m *TestResults_Failure, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Failure.expected"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Expected))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetExpected()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Failure.actual"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Actual))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetActual()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Failure.outputs"]; !ok { @@ -858,14 +858,14 @@ func cerbos_policy_v1_TestResults_Failure_hashpb_sum(m *TestResults_Failure, has func cerbos_policy_v1_TestResults_OutputFailure_MismatchedValue_hashpb_sum(m *TestResults_OutputFailure_MismatchedValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.MismatchedValue.expected"]; !ok { - if m.Expected != nil { - google_protobuf_Value_hashpb_sum(m.Expected, hasher, ignore) + if m.GetExpected() != nil { + google_protobuf_Value_hashpb_sum(m.GetExpected(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.MismatchedValue.actual"]; !ok { - if m.Actual != nil { - google_protobuf_Value_hashpb_sum(m.Actual, hasher, ignore) + if m.GetActual() != nil { + google_protobuf_Value_hashpb_sum(m.GetActual(), hasher, ignore) } } @@ -873,8 +873,8 @@ func cerbos_policy_v1_TestResults_OutputFailure_MismatchedValue_hashpb_sum(m *Te func cerbos_policy_v1_TestResults_OutputFailure_MissingValue_hashpb_sum(m *TestResults_OutputFailure_MissingValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.MissingValue.expected"]; !ok { - if m.Expected != nil { - google_protobuf_Value_hashpb_sum(m.Expected, hasher, ignore) + if m.GetExpected() != nil { + google_protobuf_Value_hashpb_sum(m.GetExpected(), hasher, ignore) } } @@ -882,7 +882,7 @@ func cerbos_policy_v1_TestResults_OutputFailure_MissingValue_hashpb_sum(m *TestR func cerbos_policy_v1_TestResults_OutputFailure_hashpb_sum(m *TestResults_OutputFailure, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.src"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Src)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSrc())) } if m.Outcome != nil { @@ -905,7 +905,7 @@ func cerbos_policy_v1_TestResults_OutputFailure_hashpb_sum(m *TestResults_Output func cerbos_policy_v1_TestResults_Principal_hashpb_sum(m *TestResults_Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Principal.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Principal.resources"]; !ok { @@ -922,7 +922,7 @@ func cerbos_policy_v1_TestResults_Principal_hashpb_sum(m *TestResults_Principal, func cerbos_policy_v1_TestResults_Resource_hashpb_sum(m *TestResults_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Resource.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Resource.actions"]; !ok { @@ -939,7 +939,7 @@ func cerbos_policy_v1_TestResults_Resource_hashpb_sum(m *TestResults_Resource, h func cerbos_policy_v1_TestResults_Success_hashpb_sum(m *TestResults_Success, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Success.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Success.outputs"]; !ok { @@ -956,11 +956,11 @@ func cerbos_policy_v1_TestResults_Success_hashpb_sum(m *TestResults_Success, has func cerbos_policy_v1_TestResults_Suite_hashpb_sum(m *TestResults_Suite, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.principals"]; !ok { @@ -974,13 +974,13 @@ func cerbos_policy_v1_TestResults_Suite_hashpb_sum(m *TestResults_Suite, hasher } } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.summary"]; !ok { - if m.Summary != nil { - cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.Summary, hasher, ignore) + if m.GetSummary() != nil { + cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.GetSummary(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.test_cases"]; !ok { @@ -994,18 +994,18 @@ func cerbos_policy_v1_TestResults_Suite_hashpb_sum(m *TestResults_Suite, hasher } } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } } func cerbos_policy_v1_TestResults_Summary_hashpb_sum(m *TestResults_Summary, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Summary.overall_result"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.OverallResult))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetOverallResult()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Summary.tests_count"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.TestsCount))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetTestsCount()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Summary.result_counts"]; !ok { @@ -1022,18 +1022,18 @@ func cerbos_policy_v1_TestResults_Summary_hashpb_sum(m *TestResults_Summary, has func cerbos_policy_v1_TestResults_Tally_hashpb_sum(m *TestResults_Tally, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Tally.result"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Result))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetResult()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Tally.count"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Count))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetCount()))) } } func cerbos_policy_v1_TestResults_TestCase_hashpb_sum(m *TestResults_TestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.TestCase.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.TestCase.principals"]; !ok { @@ -1060,8 +1060,8 @@ func cerbos_policy_v1_TestResults_hashpb_sum(m *TestResults, hasher hash.Hash, i } } if _, ok := ignore["cerbos.policy.v1.TestResults.summary"]; !ok { - if m.Summary != nil { - cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.Summary, hasher, ignore) + if m.GetSummary() != nil { + cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.GetSummary(), hasher, ignore) } } @@ -1069,19 +1069,19 @@ func cerbos_policy_v1_TestResults_hashpb_sum(m *TestResults, hasher hash.Hash, i func cerbos_policy_v1_TestSuite_hashpb_sum(m *TestSuite, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestSuite.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestSuite.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.policy.v1.TestSuite.skip"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Skip))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetSkip()))) } if _, ok := ignore["cerbos.policy.v1.TestSuite.skip_reason"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SkipReason)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSkipReason())) } if _, ok := ignore["cerbos.policy.v1.TestSuite.tests"]; !ok { @@ -1152,24 +1152,24 @@ func cerbos_policy_v1_TestSuite_hashpb_sum(m *TestSuite, hasher hash.Hash, ignor } } if _, ok := ignore["cerbos.policy.v1.TestSuite.options"]; !ok { - if m.Options != nil { - cerbos_policy_v1_TestOptions_hashpb_sum(m.Options, hasher, ignore) + if m.GetOptions() != nil { + cerbos_policy_v1_TestOptions_hashpb_sum(m.GetOptions(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.TestSuite.json_schema"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.JsonSchema)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetJsonSchema())) } } func cerbos_policy_v1_TestTable_Expectation_hashpb_sum(m *TestTable_Expectation, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestTable.Expectation.principal"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Principal)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPrincipal())) } if _, ok := ignore["cerbos.policy.v1.TestTable.Expectation.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.TestTable.Expectation.actions"]; !ok { @@ -1227,14 +1227,14 @@ func cerbos_policy_v1_TestTable_Input_hashpb_sum(m *TestTable_Input, hasher hash } } if _, ok := ignore["cerbos.policy.v1.TestTable.Input.aux_data"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.AuxData)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAuxData())) } } func cerbos_policy_v1_TestTable_OutputExpectations_hashpb_sum(m *TestTable_OutputExpectations, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestTable.OutputExpectations.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.policy.v1.TestTable.OutputExpectations.expected"]; !ok { @@ -1251,24 +1251,24 @@ func cerbos_policy_v1_TestTable_OutputExpectations_hashpb_sum(m *TestTable_Outpu func cerbos_policy_v1_TestTable_hashpb_sum(m *TestTable, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestTable.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestTable.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.policy.v1.TestTable.skip"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Skip))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetSkip()))) } if _, ok := ignore["cerbos.policy.v1.TestTable.skip_reason"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SkipReason)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSkipReason())) } if _, ok := ignore["cerbos.policy.v1.TestTable.input"]; !ok { - if m.Input != nil { - cerbos_policy_v1_TestTable_Input_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_policy_v1_TestTable_Input_hashpb_sum(m.GetInput(), hasher, ignore) } } @@ -1283,8 +1283,8 @@ func cerbos_policy_v1_TestTable_hashpb_sum(m *TestTable, hasher hash.Hash, ignor } } if _, ok := ignore["cerbos.policy.v1.TestTable.options"]; !ok { - if m.Options != nil { - cerbos_policy_v1_TestOptions_hashpb_sum(m.Options, hasher, ignore) + if m.GetOptions() != nil { + cerbos_policy_v1_TestOptions_hashpb_sum(m.GetOptions(), hasher, ignore) } } @@ -1314,41 +1314,41 @@ func cerbos_policy_v1_Test_OutputEntries_hashpb_sum(m *Test_OutputEntries, hashe func cerbos_policy_v1_Test_TestName_hashpb_sum(m *Test_TestName, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Test.TestName.test_table_name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.TestTableName)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetTestTableName())) } if _, ok := ignore["cerbos.policy.v1.Test.TestName.principal_key"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PrincipalKey)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPrincipalKey())) } if _, ok := ignore["cerbos.policy.v1.Test.TestName.resource_key"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceKey)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceKey())) } } func cerbos_policy_v1_Test_hashpb_sum(m *Test, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Test.name"]; !ok { - if m.Name != nil { - cerbos_policy_v1_Test_TestName_hashpb_sum(m.Name, hasher, ignore) + if m.GetName() != nil { + cerbos_policy_v1_Test_TestName_hashpb_sum(m.GetName(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Test.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.policy.v1.Test.skip"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Skip))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetSkip()))) } if _, ok := ignore["cerbos.policy.v1.Test.skip_reason"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SkipReason)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSkipReason())) } if _, ok := ignore["cerbos.policy.v1.Test.input"]; !ok { - if m.Input != nil { - cerbos_engine_v1_CheckInput_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_engine_v1_CheckInput_hashpb_sum(m.GetInput(), hasher, ignore) } } @@ -1370,8 +1370,8 @@ func cerbos_policy_v1_Test_hashpb_sum(m *Test, hasher hash.Hash, ignore map[stri } } if _, ok := ignore["cerbos.policy.v1.Test.options"]; !ok { - if m.Options != nil { - cerbos_policy_v1_TestOptions_hashpb_sum(m.Options, hasher, ignore) + if m.GetOptions() != nil { + cerbos_policy_v1_TestOptions_hashpb_sum(m.GetOptions(), hasher, ignore) } } @@ -1461,18 +1461,18 @@ func google_protobuf_Struct_hashpb_sum(m *structpb.Struct, hasher hash.Hash, ign func google_protobuf_Timestamp_hashpb_sum(m *timestamppb.Timestamp, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Timestamp.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Timestamp.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } func google_protobuf_UInt64Value_hashpb_sum(m *wrapperspb.UInt64Value, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.UInt64Value.value"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, m.Value)) + _, _ = hasher.Write(protowire.AppendVarint(nil, m.GetValue())) } } diff --git a/api/genpb/cerbos/policy/v1/policy.pb.go b/api/genpb/cerbos/policy/v1/policy.pb.go index db25752c1f..40e6bb2422 100644 --- a/api/genpb/cerbos/policy/v1/policy.pb.go +++ b/api/genpb/cerbos/policy/v1/policy.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/policy/v1/policy.proto diff --git a/api/genpb/cerbos/policy/v1/policy_hashpb.pb.go b/api/genpb/cerbos/policy/v1/policy_hashpb.pb.go index dad2b1a081..cc90c56910 100644 --- a/api/genpb/cerbos/policy/v1/policy_hashpb.pb.go +++ b/api/genpb/cerbos/policy/v1/policy_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/policy/v1/policy.proto package policyv1 diff --git a/api/genpb/cerbos/private/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/private/v1/hashpb_helpers.pb.go index e0afa4ccd0..6ea16439e0 100644 --- a/api/genpb/cerbos/private/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/private/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package privatev1 @@ -68,44 +68,44 @@ func cerbos_audit_v1_DecisionLogEntry_CheckResources_hashpb_sum(m *v1.DecisionLo } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.CheckResources.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } } func cerbos_audit_v1_DecisionLogEntry_PlanResources_hashpb_sum(m *v1.DecisionLogEntry_PlanResources, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.PlanResources.input"]; !ok { - if m.Input != nil { - cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.PlanResources.output"]; !ok { - if m.Output != nil { - cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m.GetOutput(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.PlanResources.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } } func cerbos_audit_v1_DecisionLogEntry_hashpb_sum(m *v1.DecisionLogEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.call_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.CallId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCallId())) } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.timestamp"]; !ok { - if m.Timestamp != nil { - google_protobuf_Timestamp_hashpb_sum(m.Timestamp, hasher, ignore) + if m.GetTimestamp() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetTimestamp(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.peer"]; !ok { - if m.Peer != nil { - cerbos_audit_v1_Peer_hashpb_sum(m.Peer, hasher, ignore) + if m.GetPeer() != nil { + cerbos_audit_v1_Peer_hashpb_sum(m.GetPeer(), hasher, ignore) } } @@ -130,7 +130,7 @@ func cerbos_audit_v1_DecisionLogEntry_hashpb_sum(m *v1.DecisionLogEntry, hasher } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if m.Method != nil { @@ -169,8 +169,8 @@ func cerbos_audit_v1_DecisionLogEntry_hashpb_sum(m *v1.DecisionLogEntry, hasher } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.audit_trail"]; !ok { - if m.AuditTrail != nil { - cerbos_audit_v1_AuditTrail_hashpb_sum(m.AuditTrail, hasher, ignore) + if m.GetAuditTrail() != nil { + cerbos_audit_v1_AuditTrail_hashpb_sum(m.GetAuditTrail(), hasher, ignore) } } @@ -189,19 +189,19 @@ func cerbos_audit_v1_MetaValues_hashpb_sum(m *v1.MetaValues, hasher hash.Hash, i func cerbos_audit_v1_Peer_hashpb_sum(m *v1.Peer, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.Peer.address"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Address)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAddress())) } if _, ok := ignore["cerbos.audit.v1.Peer.auth_info"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.AuthInfo)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAuthInfo())) } if _, ok := ignore["cerbos.audit.v1.Peer.user_agent"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.UserAgent)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetUserAgent())) } if _, ok := ignore["cerbos.audit.v1.Peer.forwarded_for"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ForwardedFor)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetForwardedFor())) } } @@ -230,18 +230,18 @@ func cerbos_engine_v1_AuxData_hashpb_sum(m *v11.AuxData, hasher hash.Hash, ignor func cerbos_engine_v1_CheckInput_hashpb_sum(m *v11.CheckInput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckInput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.CheckInput.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.CheckInput.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -254,8 +254,8 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *v11.CheckInput, hasher hash.Hash, } } if _, ok := ignore["cerbos.engine.v1.CheckInput.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -263,26 +263,26 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *v11.CheckInput, hasher hash.Hash, func cerbos_engine_v1_CheckOutput_ActionEffect_hashpb_sum(m *v11.CheckOutput_ActionEffect, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_CheckOutput_hashpb_sum(m *v11.CheckOutput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckOutput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.resource_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceId())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.actions"]; !ok { @@ -336,12 +336,12 @@ func cerbos_engine_v1_CheckOutput_hashpb_sum(m *v11.CheckOutput, hasher hash.Has func cerbos_engine_v1_OutputEntry_hashpb_sum(m *v11.OutputEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.OutputEntry.src"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Src)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSrc())) } if _, ok := ignore["cerbos.engine.v1.OutputEntry.val"]; !ok { - if m.Val != nil { - google_protobuf_Value_hashpb_sum(m.Val, hasher, ignore) + if m.GetVal() != nil { + google_protobuf_Value_hashpb_sum(m.GetVal(), hasher, ignore) } } @@ -371,7 +371,7 @@ func cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m *v11.P func cerbos_engine_v1_PlanResourcesFilter_Expression_hashpb_sum(m *v11.PlanResourcesFilter_Expression, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.Expression.operator"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Operator)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetOperator())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.Expression.operands"]; !ok { @@ -388,12 +388,12 @@ func cerbos_engine_v1_PlanResourcesFilter_Expression_hashpb_sum(m *v11.PlanResou func cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m *v11.PlanResourcesFilter, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.condition"]; !ok { - if m.Condition != nil { - cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m.GetCondition(), hasher, ignore) } } @@ -401,7 +401,7 @@ func cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m *v11.PlanResourcesFilter, func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *v11.PlanResourcesInput_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.attr"]; !ok { @@ -424,77 +424,77 @@ func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *v11.PlanResource } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m *v11.PlanResourcesInput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } } func cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m *v11.PlanResourcesOutput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.filter"]; !ok { - if m.Filter != nil { - cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.Filter, hasher, ignore) + if m.GetFilter() != nil { + cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.GetFilter(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.filter_debug"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.FilterDebug)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFilterDebug())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.validation_errors"]; !ok { @@ -511,11 +511,11 @@ func cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m *v11.PlanResourcesOutput, func cerbos_engine_v1_Principal_hashpb_sum(m *v11.Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Principal.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Principal.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Principal.roles"]; !ok { @@ -546,14 +546,14 @@ func cerbos_engine_v1_Principal_hashpb_sum(m *v11.Principal, hasher hash.Hash, i } } if _, ok := ignore["cerbos.engine.v1.Principal.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Request_Principal_hashpb_sum(m *v11.Request_Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Request.Principal.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Request.Principal.roles"]; !ok { @@ -587,11 +587,11 @@ func cerbos_engine_v1_Request_Principal_hashpb_sum(m *v11.Request_Principal, has func cerbos_engine_v1_Request_Resource_hashpb_sum(m *v11.Request_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Request.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.Request.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Request.Resource.attr"]; !ok { @@ -617,20 +617,20 @@ func cerbos_engine_v1_Request_Resource_hashpb_sum(m *v11.Request_Resource, hashe func cerbos_engine_v1_Request_hashpb_sum(m *v11.Request, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Request.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Request_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Request_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.Request.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Request_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Request_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.Request.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -638,15 +638,15 @@ func cerbos_engine_v1_Request_hashpb_sum(m *v11.Request, hasher hash.Hash, ignor func cerbos_engine_v1_Resource_hashpb_sum(m *v11.Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Resource.attr"]; !ok { @@ -669,25 +669,25 @@ func cerbos_engine_v1_Resource_hashpb_sum(m *v11.Resource, hasher hash.Hash, ign } } if _, ok := ignore["cerbos.engine.v1.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Trace_Component_Variable_hashpb_sum(m *v11.Trace_Component_Variable, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Component.Variable.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.engine.v1.Trace.Component.Variable.expr"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Expr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExpr())) } } func cerbos_engine_v1_Trace_Component_hashpb_sum(m *v11.Trace_Component, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Component.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if m.Details != nil { @@ -732,24 +732,24 @@ func cerbos_engine_v1_Trace_Component_hashpb_sum(m *v11.Trace_Component, hasher func cerbos_engine_v1_Trace_Event_hashpb_sum(m *v11.Trace_Event, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Event.status"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Status))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetStatus()))) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.result"]; !ok { - if m.Result != nil { - google_protobuf_Value_hashpb_sum(m.Result, hasher, ignore) + if m.GetResult() != nil { + google_protobuf_Value_hashpb_sum(m.GetResult(), hasher, ignore) } } @@ -767,8 +767,8 @@ func cerbos_engine_v1_Trace_hashpb_sum(m *v11.Trace, hasher hash.Hash, ignore ma } } if _, ok := ignore["cerbos.engine.v1.Trace.event"]; !ok { - if m.Event != nil { - cerbos_engine_v1_Trace_Event_hashpb_sum(m.Event, hasher, ignore) + if m.GetEvent() != nil { + cerbos_engine_v1_Trace_Event_hashpb_sum(m.GetEvent(), hasher, ignore) } } @@ -793,7 +793,7 @@ func cerbos_policy_v1_Condition_hashpb_sum(m *v12.Condition, hasher hash.Hash, i func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *v12.DerivedRoles, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.DerivedRoles.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.DerivedRoles.definitions"]; !ok { @@ -807,8 +807,8 @@ func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *v12.DerivedRoles, hasher hash.H } } if _, ok := ignore["cerbos.policy.v1.DerivedRoles.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -816,7 +816,7 @@ func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *v12.DerivedRoles, hasher hash.H func cerbos_policy_v1_ExportVariables_hashpb_sum(m *v12.ExportVariables, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.ExportVariables.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.ExportVariables.definitions"]; !ok { @@ -880,7 +880,7 @@ func cerbos_policy_v1_Match_hashpb_sum(m *v12.Match, hasher hash.Hash, ignore ma func cerbos_policy_v1_Metadata_hashpb_sum(m *v12.Metadata, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Metadata.source_file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SourceFile)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSourceFile())) } if _, ok := ignore["cerbos.policy.v1.Metadata.annotations"]; !ok { @@ -901,22 +901,22 @@ func cerbos_policy_v1_Metadata_hashpb_sum(m *v12.Metadata, hasher hash.Hash, ign } } if _, ok := ignore["cerbos.policy.v1.Metadata.hash"]; !ok { - if m.Hash != nil { - google_protobuf_UInt64Value_hashpb_sum(m.Hash, hasher, ignore) + if m.GetHash() != nil { + google_protobuf_UInt64Value_hashpb_sum(m.GetHash(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Metadata.store_identifer"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.StoreIdentifer)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetStoreIdentifer())) } if _, ok := ignore["cerbos.policy.v1.Metadata.store_identifier"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.StoreIdentifier)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetStoreIdentifier())) } if _, ok := ignore["cerbos.policy.v1.Metadata.source_attributes"]; !ok { - if m.SourceAttributes != nil { - cerbos_policy_v1_SourceAttributes_hashpb_sum(m.SourceAttributes, hasher, ignore) + if m.GetSourceAttributes() != nil { + cerbos_policy_v1_SourceAttributes_hashpb_sum(m.GetSourceAttributes(), hasher, ignore) } } @@ -924,23 +924,23 @@ func cerbos_policy_v1_Metadata_hashpb_sum(m *v12.Metadata, hasher hash.Hash, ign func cerbos_policy_v1_Output_When_hashpb_sum(m *v12.Output_When, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Output.When.rule_activated"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RuleActivated)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRuleActivated())) } if _, ok := ignore["cerbos.policy.v1.Output.When.condition_not_met"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ConditionNotMet)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetConditionNotMet())) } } func cerbos_policy_v1_Output_hashpb_sum(m *v12.Output, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Output.expr"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Expr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExpr())) } if _, ok := ignore["cerbos.policy.v1.Output.when"]; !ok { - if m.When != nil { - cerbos_policy_v1_Output_When_hashpb_sum(m.When, hasher, ignore) + if m.GetWhen() != nil { + cerbos_policy_v1_Output_When_hashpb_sum(m.GetWhen(), hasher, ignore) } } @@ -948,20 +948,20 @@ func cerbos_policy_v1_Output_hashpb_sum(m *v12.Output, hasher hash.Hash, ignore func cerbos_policy_v1_Policy_hashpb_sum(m *v12.Policy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Policy.api_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ApiVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetApiVersion())) } if _, ok := ignore["cerbos.policy.v1.Policy.disabled"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Disabled))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetDisabled()))) } if _, ok := ignore["cerbos.policy.v1.Policy.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.policy.v1.Policy.metadata"]; !ok { - if m.Metadata != nil { - cerbos_policy_v1_Metadata_hashpb_sum(m.Metadata, hasher, ignore) + if m.GetMetadata() != nil { + cerbos_policy_v1_Metadata_hashpb_sum(m.GetMetadata(), hasher, ignore) } } @@ -1009,18 +1009,18 @@ func cerbos_policy_v1_Policy_hashpb_sum(m *v12.Policy, hasher hash.Hash, ignore } } if _, ok := ignore["cerbos.policy.v1.Policy.json_schema"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.JsonSchema)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetJsonSchema())) } } func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *v12.PrincipalPolicy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.principal"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Principal)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPrincipal())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.rules"]; !ok { @@ -1034,12 +1034,12 @@ func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *v12.PrincipalPolicy, hasher } } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -1047,26 +1047,26 @@ func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *v12.PrincipalPolicy, hasher func cerbos_policy_v1_PrincipalRule_Action_hashpb_sum(m *v12.PrincipalRule_Action, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.output"]; !ok { - if m.Output != nil { - cerbos_policy_v1_Output_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_policy_v1_Output_hashpb_sum(m.GetOutput(), hasher, ignore) } } @@ -1074,7 +1074,7 @@ func cerbos_policy_v1_PrincipalRule_Action_hashpb_sum(m *v12.PrincipalRule_Actio func cerbos_policy_v1_PrincipalRule_hashpb_sum(m *v12.PrincipalRule, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalRule.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.actions"]; !ok { @@ -1091,11 +1091,11 @@ func cerbos_policy_v1_PrincipalRule_hashpb_sum(m *v12.PrincipalRule, hasher hash func cerbos_policy_v1_ResourcePolicy_hashpb_sum(m *v12.ResourcePolicy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.import_derived_roles"]; !ok { @@ -1117,18 +1117,18 @@ func cerbos_policy_v1_ResourcePolicy_hashpb_sum(m *v12.ResourcePolicy, hasher ha } } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.schemas"]; !ok { - if m.Schemas != nil { - cerbos_policy_v1_Schemas_hashpb_sum(m.Schemas, hasher, ignore) + if m.GetSchemas() != nil { + cerbos_policy_v1_Schemas_hashpb_sum(m.GetSchemas(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -1160,22 +1160,22 @@ func cerbos_policy_v1_ResourceRule_hashpb_sum(m *v12.ResourceRule, hasher hash.H } } if _, ok := ignore["cerbos.policy.v1.ResourceRule.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.ResourceRule.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.ResourceRule.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.ResourceRule.output"]; !ok { - if m.Output != nil { - cerbos_policy_v1_Output_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_policy_v1_Output_hashpb_sum(m.GetOutput(), hasher, ignore) } } @@ -1183,7 +1183,7 @@ func cerbos_policy_v1_ResourceRule_hashpb_sum(m *v12.ResourceRule, hasher hash.H func cerbos_policy_v1_RoleDef_hashpb_sum(m *v12.RoleDef, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.RoleDef.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.RoleDef.parent_roles"]; !ok { @@ -1195,8 +1195,8 @@ func cerbos_policy_v1_RoleDef_hashpb_sum(m *v12.RoleDef, hasher hash.Hash, ignor } } if _, ok := ignore["cerbos.policy.v1.RoleDef.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } @@ -1215,12 +1215,12 @@ func cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m *v12.Schemas_IgnoreWhen, h func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *v12.Schemas_Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ref"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Ref)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRef())) } if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ignore_when"]; !ok { - if m.IgnoreWhen != nil { - cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.IgnoreWhen, hasher, ignore) + if m.GetIgnoreWhen() != nil { + cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.GetIgnoreWhen(), hasher, ignore) } } @@ -1228,14 +1228,14 @@ func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *v12.Schemas_Schema, hasher ha func cerbos_policy_v1_Schemas_hashpb_sum(m *v12.Schemas, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.principal_schema"]; !ok { - if m.PrincipalSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.PrincipalSchema, hasher, ignore) + if m.GetPrincipalSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetPrincipalSchema(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Schemas.resource_schema"]; !ok { - if m.ResourceSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.ResourceSchema, hasher, ignore) + if m.GetResourceSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetResourceSchema(), hasher, ignore) } } @@ -1265,13 +1265,13 @@ func cerbos_policy_v1_SourceAttributes_hashpb_sum(m *v12.SourceAttributes, hashe func cerbos_policy_v1_TestOptions_hashpb_sum(m *v12.TestOptions, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestOptions.now"]; !ok { - if m.Now != nil { - google_protobuf_Timestamp_hashpb_sum(m.Now, hasher, ignore) + if m.GetNow() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetNow(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.TestOptions.lenient_scope_search"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.LenientScopeSearch))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetLenientScopeSearch()))) } if _, ok := ignore["cerbos.policy.v1.TestOptions.globals"]; !ok { @@ -1297,12 +1297,12 @@ func cerbos_policy_v1_TestOptions_hashpb_sum(m *v12.TestOptions, hasher hash.Has func cerbos_policy_v1_TestResults_Action_hashpb_sum(m *v12.TestResults_Action, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Action.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Action.details"]; !ok { - if m.Details != nil { - cerbos_policy_v1_TestResults_Details_hashpb_sum(m.Details, hasher, ignore) + if m.GetDetails() != nil { + cerbos_policy_v1_TestResults_Details_hashpb_sum(m.GetDetails(), hasher, ignore) } } @@ -1310,7 +1310,7 @@ func cerbos_policy_v1_TestResults_Action_hashpb_sum(m *v12.TestResults_Action, h func cerbos_policy_v1_TestResults_Details_hashpb_sum(m *v12.TestResults_Details, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Details.result"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Result))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetResult()))) } if m.Outcome != nil { @@ -1346,11 +1346,11 @@ func cerbos_policy_v1_TestResults_Details_hashpb_sum(m *v12.TestResults_Details, func cerbos_policy_v1_TestResults_Failure_hashpb_sum(m *v12.TestResults_Failure, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Failure.expected"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Expected))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetExpected()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Failure.actual"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Actual))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetActual()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Failure.outputs"]; !ok { @@ -1367,14 +1367,14 @@ func cerbos_policy_v1_TestResults_Failure_hashpb_sum(m *v12.TestResults_Failure, func cerbos_policy_v1_TestResults_OutputFailure_MismatchedValue_hashpb_sum(m *v12.TestResults_OutputFailure_MismatchedValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.MismatchedValue.expected"]; !ok { - if m.Expected != nil { - google_protobuf_Value_hashpb_sum(m.Expected, hasher, ignore) + if m.GetExpected() != nil { + google_protobuf_Value_hashpb_sum(m.GetExpected(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.MismatchedValue.actual"]; !ok { - if m.Actual != nil { - google_protobuf_Value_hashpb_sum(m.Actual, hasher, ignore) + if m.GetActual() != nil { + google_protobuf_Value_hashpb_sum(m.GetActual(), hasher, ignore) } } @@ -1382,8 +1382,8 @@ func cerbos_policy_v1_TestResults_OutputFailure_MismatchedValue_hashpb_sum(m *v1 func cerbos_policy_v1_TestResults_OutputFailure_MissingValue_hashpb_sum(m *v12.TestResults_OutputFailure_MissingValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.MissingValue.expected"]; !ok { - if m.Expected != nil { - google_protobuf_Value_hashpb_sum(m.Expected, hasher, ignore) + if m.GetExpected() != nil { + google_protobuf_Value_hashpb_sum(m.GetExpected(), hasher, ignore) } } @@ -1391,7 +1391,7 @@ func cerbos_policy_v1_TestResults_OutputFailure_MissingValue_hashpb_sum(m *v12.T func cerbos_policy_v1_TestResults_OutputFailure_hashpb_sum(m *v12.TestResults_OutputFailure, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.src"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Src)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSrc())) } if m.Outcome != nil { @@ -1414,7 +1414,7 @@ func cerbos_policy_v1_TestResults_OutputFailure_hashpb_sum(m *v12.TestResults_Ou func cerbos_policy_v1_TestResults_Principal_hashpb_sum(m *v12.TestResults_Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Principal.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Principal.resources"]; !ok { @@ -1431,7 +1431,7 @@ func cerbos_policy_v1_TestResults_Principal_hashpb_sum(m *v12.TestResults_Princi func cerbos_policy_v1_TestResults_Resource_hashpb_sum(m *v12.TestResults_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Resource.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Resource.actions"]; !ok { @@ -1448,7 +1448,7 @@ func cerbos_policy_v1_TestResults_Resource_hashpb_sum(m *v12.TestResults_Resourc func cerbos_policy_v1_TestResults_Success_hashpb_sum(m *v12.TestResults_Success, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Success.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Success.outputs"]; !ok { @@ -1465,11 +1465,11 @@ func cerbos_policy_v1_TestResults_Success_hashpb_sum(m *v12.TestResults_Success, func cerbos_policy_v1_TestResults_Suite_hashpb_sum(m *v12.TestResults_Suite, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.principals"]; !ok { @@ -1483,13 +1483,13 @@ func cerbos_policy_v1_TestResults_Suite_hashpb_sum(m *v12.TestResults_Suite, has } } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.summary"]; !ok { - if m.Summary != nil { - cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.Summary, hasher, ignore) + if m.GetSummary() != nil { + cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.GetSummary(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.test_cases"]; !ok { @@ -1503,18 +1503,18 @@ func cerbos_policy_v1_TestResults_Suite_hashpb_sum(m *v12.TestResults_Suite, has } } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } } func cerbos_policy_v1_TestResults_Summary_hashpb_sum(m *v12.TestResults_Summary, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Summary.overall_result"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.OverallResult))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetOverallResult()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Summary.tests_count"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.TestsCount))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetTestsCount()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Summary.result_counts"]; !ok { @@ -1531,18 +1531,18 @@ func cerbos_policy_v1_TestResults_Summary_hashpb_sum(m *v12.TestResults_Summary, func cerbos_policy_v1_TestResults_Tally_hashpb_sum(m *v12.TestResults_Tally, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Tally.result"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Result))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetResult()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Tally.count"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Count))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetCount()))) } } func cerbos_policy_v1_TestResults_TestCase_hashpb_sum(m *v12.TestResults_TestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.TestCase.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.TestCase.principals"]; !ok { @@ -1569,8 +1569,8 @@ func cerbos_policy_v1_TestResults_hashpb_sum(m *v12.TestResults, hasher hash.Has } } if _, ok := ignore["cerbos.policy.v1.TestResults.summary"]; !ok { - if m.Summary != nil { - cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.Summary, hasher, ignore) + if m.GetSummary() != nil { + cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.GetSummary(), hasher, ignore) } } @@ -1578,11 +1578,11 @@ func cerbos_policy_v1_TestResults_hashpb_sum(m *v12.TestResults, hasher hash.Has func cerbos_policy_v1_TestTable_Expectation_hashpb_sum(m *v12.TestTable_Expectation, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestTable.Expectation.principal"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Principal)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPrincipal())) } if _, ok := ignore["cerbos.policy.v1.TestTable.Expectation.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.TestTable.Expectation.actions"]; !ok { @@ -1640,14 +1640,14 @@ func cerbos_policy_v1_TestTable_Input_hashpb_sum(m *v12.TestTable_Input, hasher } } if _, ok := ignore["cerbos.policy.v1.TestTable.Input.aux_data"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.AuxData)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAuxData())) } } func cerbos_policy_v1_TestTable_OutputExpectations_hashpb_sum(m *v12.TestTable_OutputExpectations, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestTable.OutputExpectations.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.policy.v1.TestTable.OutputExpectations.expected"]; !ok { @@ -1664,24 +1664,24 @@ func cerbos_policy_v1_TestTable_OutputExpectations_hashpb_sum(m *v12.TestTable_O func cerbos_policy_v1_TestTable_hashpb_sum(m *v12.TestTable, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestTable.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestTable.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.policy.v1.TestTable.skip"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Skip))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetSkip()))) } if _, ok := ignore["cerbos.policy.v1.TestTable.skip_reason"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SkipReason)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSkipReason())) } if _, ok := ignore["cerbos.policy.v1.TestTable.input"]; !ok { - if m.Input != nil { - cerbos_policy_v1_TestTable_Input_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_policy_v1_TestTable_Input_hashpb_sum(m.GetInput(), hasher, ignore) } } @@ -1696,8 +1696,8 @@ func cerbos_policy_v1_TestTable_hashpb_sum(m *v12.TestTable, hasher hash.Hash, i } } if _, ok := ignore["cerbos.policy.v1.TestTable.options"]; !ok { - if m.Options != nil { - cerbos_policy_v1_TestOptions_hashpb_sum(m.Options, hasher, ignore) + if m.GetOptions() != nil { + cerbos_policy_v1_TestOptions_hashpb_sum(m.GetOptions(), hasher, ignore) } } @@ -1727,41 +1727,41 @@ func cerbos_policy_v1_Test_OutputEntries_hashpb_sum(m *v12.Test_OutputEntries, h func cerbos_policy_v1_Test_TestName_hashpb_sum(m *v12.Test_TestName, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Test.TestName.test_table_name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.TestTableName)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetTestTableName())) } if _, ok := ignore["cerbos.policy.v1.Test.TestName.principal_key"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PrincipalKey)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPrincipalKey())) } if _, ok := ignore["cerbos.policy.v1.Test.TestName.resource_key"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceKey)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceKey())) } } func cerbos_policy_v1_Test_hashpb_sum(m *v12.Test, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Test.name"]; !ok { - if m.Name != nil { - cerbos_policy_v1_Test_TestName_hashpb_sum(m.Name, hasher, ignore) + if m.GetName() != nil { + cerbos_policy_v1_Test_TestName_hashpb_sum(m.GetName(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Test.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.policy.v1.Test.skip"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Skip))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetSkip()))) } if _, ok := ignore["cerbos.policy.v1.Test.skip_reason"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SkipReason)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSkipReason())) } if _, ok := ignore["cerbos.policy.v1.Test.input"]; !ok { - if m.Input != nil { - cerbos_engine_v1_CheckInput_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_engine_v1_CheckInput_hashpb_sum(m.GetInput(), hasher, ignore) } } @@ -1783,8 +1783,8 @@ func cerbos_policy_v1_Test_hashpb_sum(m *v12.Test, hasher hash.Hash, ignore map[ } } if _, ok := ignore["cerbos.policy.v1.Test.options"]; !ok { - if m.Options != nil { - cerbos_policy_v1_TestOptions_hashpb_sum(m.Options, hasher, ignore) + if m.GetOptions() != nil { + cerbos_policy_v1_TestOptions_hashpb_sum(m.GetOptions(), hasher, ignore) } } @@ -1861,30 +1861,30 @@ func cerbos_private_v1_AttrWrapper_hashpb_sum(m *AttrWrapper, hasher hash.Hash, func cerbos_private_v1_CelTestCase_hashpb_sum(m *CelTestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.CelTestCase.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Match_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Match_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.CelTestCase.request"]; !ok { - if m.Request != nil { - cerbos_engine_v1_Request_hashpb_sum(m.Request, hasher, ignore) + if m.GetRequest() != nil { + cerbos_engine_v1_Request_hashpb_sum(m.GetRequest(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.CelTestCase.want"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Want))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetWant()))) } if _, ok := ignore["cerbos.private.v1.CelTestCase.want_error"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.WantError))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetWantError()))) } } func cerbos_private_v1_CompileTestCase_Variables_DerivedRole_hashpb_sum(m *CompileTestCase_Variables_DerivedRole, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.CompileTestCase.Variables.DerivedRole.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.private.v1.CompileTestCase.Variables.DerivedRole.variables"]; !ok { @@ -1899,7 +1899,7 @@ func cerbos_private_v1_CompileTestCase_Variables_DerivedRole_hashpb_sum(m *Compi func cerbos_private_v1_CompileTestCase_Variables_hashpb_sum(m *CompileTestCase_Variables, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.CompileTestCase.Variables.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.private.v1.CompileTestCase.Variables.variables"]; !ok { @@ -1924,7 +1924,7 @@ func cerbos_private_v1_CompileTestCase_Variables_hashpb_sum(m *CompileTestCase_V func cerbos_private_v1_CompileTestCase_hashpb_sum(m *CompileTestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.CompileTestCase.main_def"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MainDef)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMainDef())) } if _, ok := ignore["cerbos.private.v1.CompileTestCase.want_errors"]; !ok { @@ -1951,7 +1951,7 @@ func cerbos_private_v1_CompileTestCase_hashpb_sum(m *CompileTestCase, hasher has func cerbos_private_v1_EngineTestCase_hashpb_sum(m *EngineTestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.EngineTestCase.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.private.v1.EngineTestCase.inputs"]; !ok { @@ -1975,7 +1975,7 @@ func cerbos_private_v1_EngineTestCase_hashpb_sum(m *EngineTestCase, hasher hash. } } if _, ok := ignore["cerbos.private.v1.EngineTestCase.want_error"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.WantError))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetWantError()))) } if _, ok := ignore["cerbos.private.v1.EngineTestCase.want_decision_logs"]; !ok { @@ -1992,7 +1992,7 @@ func cerbos_private_v1_EngineTestCase_hashpb_sum(m *EngineTestCase, hasher hash. func cerbos_private_v1_IndexBuilderTestCase_CompilationUnit_hashpb_sum(m *IndexBuilderTestCase_CompilationUnit, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.IndexBuilderTestCase.CompilationUnit.main_fqn"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MainFqn)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMainFqn())) } if _, ok := ignore["cerbos.private.v1.IndexBuilderTestCase.CompilationUnit.definition_fqns"]; !ok { @@ -2032,13 +2032,13 @@ func cerbos_private_v1_IndexBuilderTestCase_hashpb_sum(m *IndexBuilderTestCase, } } if _, ok := ignore["cerbos.private.v1.IndexBuilderTestCase.want_err_list"]; !ok { - if m.WantErrList != nil { - cerbos_runtime_v1_IndexBuildErrors_hashpb_sum(m.WantErrList, hasher, ignore) + if m.GetWantErrList() != nil { + cerbos_runtime_v1_IndexBuildErrors_hashpb_sum(m.GetWantErrList(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.IndexBuilderTestCase.want_err"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.WantErr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetWantErr())) } if _, ok := ignore["cerbos.private.v1.IndexBuilderTestCase.want_compilation_units"]; !ok { @@ -2055,8 +2055,8 @@ func cerbos_private_v1_IndexBuilderTestCase_hashpb_sum(m *IndexBuilderTestCase, func cerbos_private_v1_ProtoYamlTestCase_Want_hashpb_sum(m *ProtoYamlTestCase_Want, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ProtoYamlTestCase.Want.message"]; !ok { - if m.Message != nil { - cerbos_policy_v1_Policy_hashpb_sum(m.Message, hasher, ignore) + if m.GetMessage() != nil { + cerbos_policy_v1_Policy_hashpb_sum(m.GetMessage(), hasher, ignore) } } @@ -2074,7 +2074,7 @@ func cerbos_private_v1_ProtoYamlTestCase_Want_hashpb_sum(m *ProtoYamlTestCase_Wa func cerbos_private_v1_ProtoYamlTestCase_hashpb_sum(m *ProtoYamlTestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ProtoYamlTestCase.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.private.v1.ProtoYamlTestCase.want"]; !ok { @@ -2101,58 +2101,58 @@ func cerbos_private_v1_ProtoYamlTestCase_hashpb_sum(m *ProtoYamlTestCase, hasher func cerbos_private_v1_QueryPlannerFilterTestCase_hashpb_sum(m *QueryPlannerFilterTestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.QueryPlannerFilterTestCase.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.private.v1.QueryPlannerFilterTestCase.input"]; !ok { - if m.Input != nil { - cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.QueryPlannerFilterTestCase.want_filter"]; !ok { - if m.WantFilter != nil { - cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.WantFilter, hasher, ignore) + if m.GetWantFilter() != nil { + cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.GetWantFilter(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.QueryPlannerFilterTestCase.want_string"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.WantString)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetWantString())) } } func cerbos_private_v1_QueryPlannerTestSuite_Test_hashpb_sum(m *QueryPlannerTestSuite_Test, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.QueryPlannerTestSuite.Test.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.private.v1.QueryPlannerTestSuite.Test.want"]; !ok { - if m.Want != nil { - cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.Want, hasher, ignore) + if m.GetWant() != nil { + cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.GetWant(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.QueryPlannerTestSuite.Test.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.QueryPlannerTestSuite.Test.want_err"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.WantErr))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetWantErr()))) } } func cerbos_private_v1_QueryPlannerTestSuite_hashpb_sum(m *QueryPlannerTestSuite, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.QueryPlannerTestSuite.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.private.v1.QueryPlannerTestSuite.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -2170,12 +2170,12 @@ func cerbos_private_v1_QueryPlannerTestSuite_hashpb_sum(m *QueryPlannerTestSuite func cerbos_private_v1_SchemaTestCase_hashpb_sum(m *SchemaTestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.SchemaTestCase.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.private.v1.SchemaTestCase.schema_refs"]; !ok { - if m.SchemaRefs != nil { - cerbos_policy_v1_Schemas_hashpb_sum(m.SchemaRefs, hasher, ignore) + if m.GetSchemaRefs() != nil { + cerbos_policy_v1_Schemas_hashpb_sum(m.GetSchemaRefs(), hasher, ignore) } } @@ -2196,7 +2196,7 @@ func cerbos_private_v1_SchemaTestCase_hashpb_sum(m *SchemaTestCase, hasher hash. } } if _, ok := ignore["cerbos.private.v1.SchemaTestCase.want_error"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.WantError))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetWantError()))) } if _, ok := ignore["cerbos.private.v1.SchemaTestCase.want_validation_errors"]; !ok { @@ -2213,14 +2213,14 @@ func cerbos_private_v1_SchemaTestCase_hashpb_sum(m *SchemaTestCase, hasher hash. func cerbos_private_v1_ServerTestCase_AdminAddOrUpdatePolicyCall_hashpb_sum(m *ServerTestCase_AdminAddOrUpdatePolicyCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.AdminAddOrUpdatePolicyCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_AddOrUpdatePolicyRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_AddOrUpdatePolicyRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.AdminAddOrUpdatePolicyCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_AddOrUpdatePolicyResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_AddOrUpdatePolicyResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2228,14 +2228,14 @@ func cerbos_private_v1_ServerTestCase_AdminAddOrUpdatePolicyCall_hashpb_sum(m *S func cerbos_private_v1_ServerTestCase_AdminAddOrUpdateSchemaCall_hashpb_sum(m *ServerTestCase_AdminAddOrUpdateSchemaCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.AdminAddOrUpdateSchemaCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_AddOrUpdateSchemaRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_AddOrUpdateSchemaRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.AdminAddOrUpdateSchemaCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_AddOrUpdateSchemaResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_AddOrUpdateSchemaResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2243,14 +2243,14 @@ func cerbos_private_v1_ServerTestCase_AdminAddOrUpdateSchemaCall_hashpb_sum(m *S func cerbos_private_v1_ServerTestCase_CheckResourceBatchCall_hashpb_sum(m *ServerTestCase_CheckResourceBatchCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.CheckResourceBatchCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_CheckResourceBatchRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_CheckResourceBatchRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.CheckResourceBatchCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_CheckResourceBatchResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_CheckResourceBatchResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2258,14 +2258,14 @@ func cerbos_private_v1_ServerTestCase_CheckResourceBatchCall_hashpb_sum(m *Serve func cerbos_private_v1_ServerTestCase_CheckResourceSetCall_hashpb_sum(m *ServerTestCase_CheckResourceSetCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.CheckResourceSetCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_CheckResourceSetRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_CheckResourceSetRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.CheckResourceSetCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_CheckResourceSetResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_CheckResourceSetResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2273,14 +2273,14 @@ func cerbos_private_v1_ServerTestCase_CheckResourceSetCall_hashpb_sum(m *ServerT func cerbos_private_v1_ServerTestCase_CheckResourcesCall_hashpb_sum(m *ServerTestCase_CheckResourcesCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.CheckResourcesCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_CheckResourcesRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_CheckResourcesRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.CheckResourcesCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_CheckResourcesResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_CheckResourcesResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2288,14 +2288,14 @@ func cerbos_private_v1_ServerTestCase_CheckResourcesCall_hashpb_sum(m *ServerTes func cerbos_private_v1_ServerTestCase_PlanResourcesCall_hashpb_sum(m *ServerTestCase_PlanResourcesCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlanResourcesCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_PlanResourcesRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_PlanResourcesRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlanResourcesCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_PlanResourcesResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_PlanResourcesResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2303,14 +2303,14 @@ func cerbos_private_v1_ServerTestCase_PlanResourcesCall_hashpb_sum(m *ServerTest func cerbos_private_v1_ServerTestCase_PlaygroundEvaluateCall_hashpb_sum(m *ServerTestCase_PlaygroundEvaluateCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlaygroundEvaluateCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlaygroundEvaluateCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_PlaygroundEvaluateResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_PlaygroundEvaluateResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2318,14 +2318,14 @@ func cerbos_private_v1_ServerTestCase_PlaygroundEvaluateCall_hashpb_sum(m *Serve func cerbos_private_v1_ServerTestCase_PlaygroundProxyCall_hashpb_sum(m *ServerTestCase_PlaygroundProxyCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlaygroundProxyCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_PlaygroundProxyRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_PlaygroundProxyRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlaygroundProxyCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_PlaygroundProxyResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_PlaygroundProxyResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2333,14 +2333,14 @@ func cerbos_private_v1_ServerTestCase_PlaygroundProxyCall_hashpb_sum(m *ServerTe func cerbos_private_v1_ServerTestCase_PlaygroundTestCall_hashpb_sum(m *ServerTestCase_PlaygroundTestCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlaygroundTestCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_PlaygroundTestRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_PlaygroundTestRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlaygroundTestCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_PlaygroundTestResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_PlaygroundTestResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2348,14 +2348,14 @@ func cerbos_private_v1_ServerTestCase_PlaygroundTestCall_hashpb_sum(m *ServerTes func cerbos_private_v1_ServerTestCase_PlaygroundValidateCall_hashpb_sum(m *ServerTestCase_PlaygroundValidateCall, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlaygroundValidateCall.input"]; !ok { - if m.Input != nil { - cerbos_request_v1_PlaygroundValidateRequest_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_request_v1_PlaygroundValidateRequest_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.ServerTestCase.PlaygroundValidateCall.want_response"]; !ok { - if m.WantResponse != nil { - cerbos_response_v1_PlaygroundValidateResponse_hashpb_sum(m.WantResponse, hasher, ignore) + if m.GetWantResponse() != nil { + cerbos_response_v1_PlaygroundValidateResponse_hashpb_sum(m.GetWantResponse(), hasher, ignore) } } @@ -2363,31 +2363,31 @@ func cerbos_private_v1_ServerTestCase_PlaygroundValidateCall_hashpb_sum(m *Serve func cerbos_private_v1_ServerTestCase_Status_hashpb_sum(m *ServerTestCase_Status, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.Status.http_status_code"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.HttpStatusCode))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetHttpStatusCode()))) } if _, ok := ignore["cerbos.private.v1.ServerTestCase.Status.grpc_status_code"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GrpcStatusCode))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetGrpcStatusCode()))) } } func cerbos_private_v1_ServerTestCase_hashpb_sum(m *ServerTestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.ServerTestCase.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.private.v1.ServerTestCase.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.private.v1.ServerTestCase.want_error"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.WantError))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetWantError()))) } if _, ok := ignore["cerbos.private.v1.ServerTestCase.want_status"]; !ok { - if m.WantStatus != nil { - cerbos_private_v1_ServerTestCase_Status_hashpb_sum(m.WantStatus, hasher, ignore) + if m.GetWantStatus() != nil { + cerbos_private_v1_ServerTestCase_Status_hashpb_sum(m.GetWantStatus(), hasher, ignore) } } @@ -2464,16 +2464,16 @@ func cerbos_private_v1_ValidationErrContainer_hashpb_sum(m *ValidationErrContain func cerbos_private_v1_VerifyTestCase_hashpb_sum(m *VerifyTestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.VerifyTestCase.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.private.v1.VerifyTestCase.want_err"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.WantErr))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetWantErr()))) } if _, ok := ignore["cerbos.private.v1.VerifyTestCase.want"]; !ok { - if m.Want != nil { - cerbos_policy_v1_TestResults_hashpb_sum(m.Want, hasher, ignore) + if m.GetWant() != nil { + cerbos_policy_v1_TestResults_hashpb_sum(m.GetWant(), hasher, ignore) } } @@ -2481,8 +2481,8 @@ func cerbos_private_v1_VerifyTestCase_hashpb_sum(m *VerifyTestCase, hasher hash. func cerbos_private_v1_VerifyTestFixtureGetTestsTestCase_hashpb_sum(m *VerifyTestFixtureGetTestsTestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.VerifyTestFixtureGetTestsTestCase.table"]; !ok { - if m.Table != nil { - cerbos_policy_v1_TestTable_hashpb_sum(m.Table, hasher, ignore) + if m.GetTable() != nil { + cerbos_policy_v1_TestTable_hashpb_sum(m.GetTable(), hasher, ignore) } } @@ -2497,19 +2497,19 @@ func cerbos_private_v1_VerifyTestFixtureGetTestsTestCase_hashpb_sum(m *VerifyTes } } if _, ok := ignore["cerbos.private.v1.VerifyTestFixtureGetTestsTestCase.want_err"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.WantErr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetWantErr())) } } func cerbos_private_v1_WellKnownTypes_Nested_hashpb_sum(m *WellKnownTypes_Nested, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.WellKnownTypes.Nested.string_field"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.StringField)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetStringField())) } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.Nested.value_field"]; !ok { - if m.ValueField != nil { - google_protobuf_Value_hashpb_sum(m.ValueField, hasher, ignore) + if m.GetValueField() != nil { + google_protobuf_Value_hashpb_sum(m.GetValueField(), hasher, ignore) } } @@ -2517,56 +2517,56 @@ func cerbos_private_v1_WellKnownTypes_Nested_hashpb_sum(m *WellKnownTypes_Nested func cerbos_private_v1_WellKnownTypes_hashpb_sum(m *WellKnownTypes, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.private.v1.WellKnownTypes.bool_wrapper"]; !ok { - if m.BoolWrapper != nil { - google_protobuf_BoolValue_hashpb_sum(m.BoolWrapper, hasher, ignore) + if m.GetBoolWrapper() != nil { + google_protobuf_BoolValue_hashpb_sum(m.GetBoolWrapper(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.int32_wrapper"]; !ok { - if m.Int32Wrapper != nil { - google_protobuf_Int32Value_hashpb_sum(m.Int32Wrapper, hasher, ignore) + if m.GetInt32Wrapper() != nil { + google_protobuf_Int32Value_hashpb_sum(m.GetInt32Wrapper(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.int64_wrapper"]; !ok { - if m.Int64Wrapper != nil { - google_protobuf_Int64Value_hashpb_sum(m.Int64Wrapper, hasher, ignore) + if m.GetInt64Wrapper() != nil { + google_protobuf_Int64Value_hashpb_sum(m.GetInt64Wrapper(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.uint32_wrapper"]; !ok { - if m.Uint32Wrapper != nil { - google_protobuf_UInt32Value_hashpb_sum(m.Uint32Wrapper, hasher, ignore) + if m.GetUint32Wrapper() != nil { + google_protobuf_UInt32Value_hashpb_sum(m.GetUint32Wrapper(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.uint64_wrapper"]; !ok { - if m.Uint64Wrapper != nil { - google_protobuf_UInt64Value_hashpb_sum(m.Uint64Wrapper, hasher, ignore) + if m.GetUint64Wrapper() != nil { + google_protobuf_UInt64Value_hashpb_sum(m.GetUint64Wrapper(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.float_wrapper"]; !ok { - if m.FloatWrapper != nil { - google_protobuf_FloatValue_hashpb_sum(m.FloatWrapper, hasher, ignore) + if m.GetFloatWrapper() != nil { + google_protobuf_FloatValue_hashpb_sum(m.GetFloatWrapper(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.double_wrapper"]; !ok { - if m.DoubleWrapper != nil { - google_protobuf_DoubleValue_hashpb_sum(m.DoubleWrapper, hasher, ignore) + if m.GetDoubleWrapper() != nil { + google_protobuf_DoubleValue_hashpb_sum(m.GetDoubleWrapper(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.string_wrapper"]; !ok { - if m.StringWrapper != nil { - google_protobuf_StringValue_hashpb_sum(m.StringWrapper, hasher, ignore) + if m.GetStringWrapper() != nil { + google_protobuf_StringValue_hashpb_sum(m.GetStringWrapper(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.bytes_wrapper"]; !ok { - if m.BytesWrapper != nil { - google_protobuf_BytesValue_hashpb_sum(m.BytesWrapper, hasher, ignore) + if m.GetBytesWrapper() != nil { + google_protobuf_BytesValue_hashpb_sum(m.GetBytesWrapper(), hasher, ignore) } } @@ -2661,37 +2661,37 @@ func cerbos_private_v1_WellKnownTypes_hashpb_sum(m *WellKnownTypes, hasher hash. } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.duration"]; !ok { - if m.Duration != nil { - google_protobuf_Duration_hashpb_sum(m.Duration, hasher, ignore) + if m.GetDuration() != nil { + google_protobuf_Duration_hashpb_sum(m.GetDuration(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.timestamp"]; !ok { - if m.Timestamp != nil { - google_protobuf_Timestamp_hashpb_sum(m.Timestamp, hasher, ignore) + if m.GetTimestamp() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetTimestamp(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.struct"]; !ok { - if m.Struct != nil { - google_protobuf_Struct_hashpb_sum(m.Struct, hasher, ignore) + if m.GetStruct() != nil { + google_protobuf_Struct_hashpb_sum(m.GetStruct(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.any"]; !ok { - if m.Any != nil { - google_protobuf_Any_hashpb_sum(m.Any, hasher, ignore) + if m.GetAny() != nil { + google_protobuf_Any_hashpb_sum(m.GetAny(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.value"]; !ok { - if m.Value != nil { - google_protobuf_Value_hashpb_sum(m.Value, hasher, ignore) + if m.GetValue() != nil { + google_protobuf_Value_hashpb_sum(m.GetValue(), hasher, ignore) } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.null_value"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.NullValue))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNullValue()))) } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.repeated_duration"]; !ok { @@ -2755,8 +2755,8 @@ func cerbos_private_v1_WellKnownTypes_hashpb_sum(m *WellKnownTypes, hasher hash. } } if _, ok := ignore["cerbos.private.v1.WellKnownTypes.optional_nested_msg"]; !ok { - if m.OptionalNestedMsg != nil { - cerbos_private_v1_WellKnownTypes_Nested_hashpb_sum(m.OptionalNestedMsg, hasher, ignore) + if m.GetOptionalNestedMsg() != nil { + cerbos_private_v1_WellKnownTypes_Nested_hashpb_sum(m.GetOptionalNestedMsg(), hasher, ignore) } } @@ -2812,19 +2812,19 @@ func cerbos_request_v1_AttributesMap_hashpb_sum(m *v13.AttributesMap, hasher has func cerbos_request_v1_AuxData_JWT_hashpb_sum(m *v13.AuxData_JWT, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.AuxData.JWT.token"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Token)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetToken())) } if _, ok := ignore["cerbos.request.v1.AuxData.JWT.key_set_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.KeySetId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKeySetId())) } } func cerbos_request_v1_AuxData_hashpb_sum(m *v13.AuxData, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.AuxData.jwt"]; !ok { - if m.Jwt != nil { - cerbos_request_v1_AuxData_JWT_hashpb_sum(m.Jwt, hasher, ignore) + if m.GetJwt() != nil { + cerbos_request_v1_AuxData_JWT_hashpb_sum(m.GetJwt(), hasher, ignore) } } @@ -2840,8 +2840,8 @@ func cerbos_request_v1_CheckResourceBatchRequest_BatchEntry_hashpb_sum(m *v13.Ch } } if _, ok := ignore["cerbos.request.v1.CheckResourceBatchRequest.BatchEntry.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } @@ -2849,12 +2849,12 @@ func cerbos_request_v1_CheckResourceBatchRequest_BatchEntry_hashpb_sum(m *v13.Ch func cerbos_request_v1_CheckResourceBatchRequest_hashpb_sum(m *v13.CheckResourceBatchRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.CheckResourceBatchRequest.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.request.v1.CheckResourceBatchRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -2869,8 +2869,8 @@ func cerbos_request_v1_CheckResourceBatchRequest_hashpb_sum(m *v13.CheckResource } } if _, ok := ignore["cerbos.request.v1.CheckResourceBatchRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -2878,7 +2878,7 @@ func cerbos_request_v1_CheckResourceBatchRequest_hashpb_sum(m *v13.CheckResource func cerbos_request_v1_CheckResourceSetRequest_hashpb_sum(m *v13.CheckResourceSetRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.actions"]; !ok { @@ -2890,24 +2890,24 @@ func cerbos_request_v1_CheckResourceSetRequest_hashpb_sum(m *v13.CheckResourceSe } } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.resource"]; !ok { - if m.Resource != nil { - cerbos_request_v1_ResourceSet_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_request_v1_ResourceSet_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -2923,8 +2923,8 @@ func cerbos_request_v1_CheckResourcesRequest_ResourceEntry_hashpb_sum(m *v13.Che } } if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.ResourceEntry.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } @@ -2932,16 +2932,16 @@ func cerbos_request_v1_CheckResourcesRequest_ResourceEntry_hashpb_sum(m *v13.Che func cerbos_request_v1_CheckResourcesRequest_hashpb_sum(m *v13.CheckResourcesRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -2956,8 +2956,8 @@ func cerbos_request_v1_CheckResourcesRequest_hashpb_sum(m *v13.CheckResourcesReq } } if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -2965,51 +2965,51 @@ func cerbos_request_v1_CheckResourcesRequest_hashpb_sum(m *v13.CheckResourcesReq func cerbos_request_v1_File_hashpb_sum(m *v13.File, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.File.file_name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.FileName)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFileName())) } if _, ok := ignore["cerbos.request.v1.File.contents"]; !ok { - _, _ = hasher.Write(protowire.AppendBytes(nil, m.Contents)) + _, _ = hasher.Write(protowire.AppendBytes(nil, m.GetContents())) } } func cerbos_request_v1_PlanResourcesRequest_hashpb_sum(m *v13.PlanResourcesRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } } func cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m *v13.PlaygroundEvaluateRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.files"]; !ok { @@ -3023,14 +3023,14 @@ func cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m *v13.PlaygroundEva } } if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } @@ -3043,8 +3043,8 @@ func cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m *v13.PlaygroundEva } } if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -3052,7 +3052,7 @@ func cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m *v13.PlaygroundEva func cerbos_request_v1_PlaygroundProxyRequest_hashpb_sum(m *v13.PlaygroundProxyRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlaygroundProxyRequest.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if _, ok := ignore["cerbos.request.v1.PlaygroundProxyRequest.files"]; !ok { @@ -3095,7 +3095,7 @@ func cerbos_request_v1_PlaygroundProxyRequest_hashpb_sum(m *v13.PlaygroundProxyR func cerbos_request_v1_PlaygroundTestRequest_hashpb_sum(m *v13.PlaygroundTestRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlaygroundTestRequest.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if _, ok := ignore["cerbos.request.v1.PlaygroundTestRequest.files"]; !ok { @@ -3112,7 +3112,7 @@ func cerbos_request_v1_PlaygroundTestRequest_hashpb_sum(m *v13.PlaygroundTestReq func cerbos_request_v1_PlaygroundValidateRequest_hashpb_sum(m *v13.PlaygroundValidateRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlaygroundValidateRequest.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if _, ok := ignore["cerbos.request.v1.PlaygroundValidateRequest.files"]; !ok { @@ -3129,11 +3129,11 @@ func cerbos_request_v1_PlaygroundValidateRequest_hashpb_sum(m *v13.PlaygroundVal func cerbos_request_v1_ResourceSet_hashpb_sum(m *v13.ResourceSet, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.ResourceSet.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.request.v1.ResourceSet.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.request.v1.ResourceSet.instances"]; !ok { @@ -3156,15 +3156,15 @@ func cerbos_request_v1_ResourceSet_hashpb_sum(m *v13.ResourceSet, hasher hash.Ha } } if _, ok := ignore["cerbos.request.v1.ResourceSet.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_response_v1_AddOrUpdatePolicyResponse_hashpb_sum(m *v14.AddOrUpdatePolicyResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.AddOrUpdatePolicyResponse.success"]; !ok { - if m.Success != nil { - google_protobuf_Empty_hashpb_sum(m.Success, hasher, ignore) + if m.GetSuccess() != nil { + google_protobuf_Empty_hashpb_sum(m.GetSuccess(), hasher, ignore) } } @@ -3175,7 +3175,7 @@ func cerbos_response_v1_AddOrUpdateSchemaResponse_hashpb_sum(m *v14.AddOrUpdateS func cerbos_response_v1_CheckResourceBatchResponse_ActionEffectMap_hashpb_sum(m *v14.CheckResourceBatchResponse_ActionEffectMap, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.resource_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceId())) } if _, ok := ignore["cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.actions"]; !ok { @@ -3209,7 +3209,7 @@ func cerbos_response_v1_CheckResourceBatchResponse_ActionEffectMap_hashpb_sum(m func cerbos_response_v1_CheckResourceBatchResponse_hashpb_sum(m *v14.CheckResourceBatchResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourceBatchResponse.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.response.v1.CheckResourceBatchResponse.results"]; !ok { @@ -3286,11 +3286,11 @@ func cerbos_response_v1_CheckResourceSetResponse_Meta_ActionMeta_hashpb_sum(m *v func cerbos_response_v1_CheckResourceSetResponse_Meta_EffectMeta_hashpb_sum(m *v14.CheckResourceSetResponse_Meta_EffectMeta, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.Meta.EffectMeta.matched_policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedPolicy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedPolicy())) } if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.Meta.EffectMeta.matched_scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedScope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedScope())) } } @@ -3319,7 +3319,7 @@ func cerbos_response_v1_CheckResourceSetResponse_Meta_hashpb_sum(m *v14.CheckRes func cerbos_response_v1_CheckResourceSetResponse_hashpb_sum(m *v14.CheckResourceSetResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.resource_instances"]; !ok { @@ -3342,8 +3342,8 @@ func cerbos_response_v1_CheckResourceSetResponse_hashpb_sum(m *v14.CheckResource } } if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.meta"]; !ok { - if m.Meta != nil { - cerbos_response_v1_CheckResourceSetResponse_Meta_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_response_v1_CheckResourceSetResponse_Meta_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -3351,11 +3351,11 @@ func cerbos_response_v1_CheckResourceSetResponse_hashpb_sum(m *v14.CheckResource func cerbos_response_v1_CheckResourcesResponse_ResultEntry_Meta_EffectMeta_hashpb_sum(m *v14.CheckResourcesResponse_ResultEntry_Meta_EffectMeta, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.EffectMeta.matched_policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedPolicy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedPolicy())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.EffectMeta.matched_scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedScope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedScope())) } } @@ -3392,27 +3392,27 @@ func cerbos_response_v1_CheckResourcesResponse_ResultEntry_Meta_hashpb_sum(m *v1 func cerbos_response_v1_CheckResourcesResponse_ResultEntry_Resource_hashpb_sum(m *v14.CheckResourcesResponse_ResultEntry_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_response_v1_CheckResourcesResponse_ResultEntry_hashpb_sum(m *v14.CheckResourcesResponse_ResultEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.resource"]; !ok { - if m.Resource != nil { - cerbos_response_v1_CheckResourcesResponse_ResultEntry_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_response_v1_CheckResourcesResponse_ResultEntry_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } @@ -3444,8 +3444,8 @@ func cerbos_response_v1_CheckResourcesResponse_ResultEntry_hashpb_sum(m *v14.Che } } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.meta"]; !ok { - if m.Meta != nil { - cerbos_response_v1_CheckResourcesResponse_ResultEntry_Meta_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_response_v1_CheckResourcesResponse_ResultEntry_Meta_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -3463,7 +3463,7 @@ func cerbos_response_v1_CheckResourcesResponse_ResultEntry_hashpb_sum(m *v14.Che func cerbos_response_v1_CheckResourcesResponse_hashpb_sum(m *v14.CheckResourcesResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.results"]; !ok { @@ -3477,48 +3477,48 @@ func cerbos_response_v1_CheckResourcesResponse_hashpb_sum(m *v14.CheckResourcesR } } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.cerbos_call_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.CerbosCallId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCerbosCallId())) } } func cerbos_response_v1_PlanResourcesResponse_Meta_hashpb_sum(m *v14.PlanResourcesResponse_Meta, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.Meta.filter_debug"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.FilterDebug)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFilterDebug())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.Meta.matched_scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedScope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedScope())) } } func cerbos_response_v1_PlanResourcesResponse_hashpb_sum(m *v14.PlanResourcesResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.resource_kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceKind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceKind())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.filter"]; !ok { - if m.Filter != nil { - cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.Filter, hasher, ignore) + if m.GetFilter() != nil { + cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.GetFilter(), hasher, ignore) } } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.meta"]; !ok { - if m.Meta != nil { - cerbos_response_v1_PlanResourcesResponse_Meta_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_response_v1_PlanResourcesResponse_Meta_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -3533,7 +3533,7 @@ func cerbos_response_v1_PlanResourcesResponse_hashpb_sum(m *v14.PlanResourcesRes } } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.cerbos_call_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.CerbosCallId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCerbosCallId())) } } @@ -3581,15 +3581,15 @@ func cerbos_response_v1_PlaygroundEvaluateResponse_EvalResultList_hashpb_sum(m * func cerbos_response_v1_PlaygroundEvaluateResponse_EvalResult_hashpb_sum(m *v14.PlaygroundEvaluateResponse_EvalResult, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.effective_derived_roles"]; !ok { @@ -3614,7 +3614,7 @@ func cerbos_response_v1_PlaygroundEvaluateResponse_EvalResult_hashpb_sum(m *v14. func cerbos_response_v1_PlaygroundEvaluateResponse_hashpb_sum(m *v14.PlaygroundEvaluateResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if m.Outcome != nil { @@ -3637,31 +3637,31 @@ func cerbos_response_v1_PlaygroundEvaluateResponse_hashpb_sum(m *v14.PlaygroundE func cerbos_response_v1_PlaygroundFailure_ErrorDetails_hashpb_sum(m *v14.PlaygroundFailure_ErrorDetails, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.ErrorDetails.line"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Line))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetLine()))) } if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.ErrorDetails.column"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Column))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetColumn()))) } if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.ErrorDetails.context"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Context)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetContext())) } } func cerbos_response_v1_PlaygroundFailure_Error_hashpb_sum(m *v14.PlaygroundFailure_Error, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.Error.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.Error.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.Error.details"]; !ok { - if m.Details != nil { - cerbos_response_v1_PlaygroundFailure_ErrorDetails_hashpb_sum(m.Details, hasher, ignore) + if m.GetDetails() != nil { + cerbos_response_v1_PlaygroundFailure_ErrorDetails_hashpb_sum(m.GetDetails(), hasher, ignore) } } @@ -3682,7 +3682,7 @@ func cerbos_response_v1_PlaygroundFailure_hashpb_sum(m *v14.PlaygroundFailure, h func cerbos_response_v1_PlaygroundProxyResponse_hashpb_sum(m *v14.PlaygroundProxyResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundProxyResponse.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if m.Outcome != nil { @@ -3720,8 +3720,8 @@ func cerbos_response_v1_PlaygroundProxyResponse_hashpb_sum(m *v14.PlaygroundProx func cerbos_response_v1_PlaygroundTestResponse_TestResults_hashpb_sum(m *v14.PlaygroundTestResponse_TestResults, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundTestResponse.TestResults.results"]; !ok { - if m.Results != nil { - cerbos_policy_v1_TestResults_hashpb_sum(m.Results, hasher, ignore) + if m.GetResults() != nil { + cerbos_policy_v1_TestResults_hashpb_sum(m.GetResults(), hasher, ignore) } } @@ -3729,7 +3729,7 @@ func cerbos_response_v1_PlaygroundTestResponse_TestResults_hashpb_sum(m *v14.Pla func cerbos_response_v1_PlaygroundTestResponse_hashpb_sum(m *v14.PlaygroundTestResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundTestResponse.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if m.Outcome != nil { @@ -3752,7 +3752,7 @@ func cerbos_response_v1_PlaygroundTestResponse_hashpb_sum(m *v14.PlaygroundTestR func cerbos_response_v1_PlaygroundValidateResponse_hashpb_sum(m *v14.PlaygroundValidateResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundValidateResponse.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if m.Outcome != nil { @@ -3775,41 +3775,41 @@ func cerbos_response_v1_PlaygroundValidateResponse_hashpb_sum(m *v14.PlaygroundV func cerbos_runtime_v1_CompileErrors_Err_hashpb_sum(m *v15.CompileErrors_Err, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.context"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Context)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetContext())) } } func cerbos_runtime_v1_IndexBuildErrors_Disabled_hashpb_sum(m *v15.IndexBuildErrors_Disabled, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.Disabled.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.Disabled.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.Disabled.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } @@ -3817,20 +3817,20 @@ func cerbos_runtime_v1_IndexBuildErrors_Disabled_hashpb_sum(m *v15.IndexBuildErr func cerbos_runtime_v1_IndexBuildErrors_DuplicateDef_hashpb_sum(m *v15.IndexBuildErrors_DuplicateDef, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.DuplicateDef.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.DuplicateDef.other_file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.OtherFile)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetOtherFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.DuplicateDef.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.DuplicateDef.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } @@ -3838,16 +3838,16 @@ func cerbos_runtime_v1_IndexBuildErrors_DuplicateDef_hashpb_sum(m *v15.IndexBuil func cerbos_runtime_v1_IndexBuildErrors_LoadFailure_hashpb_sum(m *v15.IndexBuildErrors_LoadFailure, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.LoadFailure.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.LoadFailure.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.LoadFailure.error_details"]; !ok { - if m.ErrorDetails != nil { - cerbos_source_v1_Error_hashpb_sum(m.ErrorDetails, hasher, ignore) + if m.GetErrorDetails() != nil { + cerbos_source_v1_Error_hashpb_sum(m.GetErrorDetails(), hasher, ignore) } } @@ -3855,33 +3855,33 @@ func cerbos_runtime_v1_IndexBuildErrors_LoadFailure_hashpb_sum(m *v15.IndexBuild func cerbos_runtime_v1_IndexBuildErrors_MissingImport_hashpb_sum(m *v15.IndexBuildErrors_MissingImport, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.importing_file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ImportingFile)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetImportingFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.desc"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Desc)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDesc())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.importing_policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ImportingPolicy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetImportingPolicy())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.import_kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ImportKind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetImportKind())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.import_name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ImportName)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetImportName())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.context"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Context)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetContext())) } } @@ -3947,105 +3947,105 @@ func cerbos_runtime_v1_IndexBuildErrors_hashpb_sum(m *v15.IndexBuildErrors, hash func cerbos_schema_v1_Schema_hashpb_sum(m *v16.Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.schema.v1.Schema.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.schema.v1.Schema.definition"]; !ok { - _, _ = hasher.Write(protowire.AppendBytes(nil, m.Definition)) + _, _ = hasher.Write(protowire.AppendBytes(nil, m.GetDefinition())) } } func cerbos_schema_v1_ValidationError_hashpb_sum(m *v16.ValidationError, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.schema.v1.ValidationError.path"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Path)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPath())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.source"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Source))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSource()))) } } func cerbos_source_v1_Error_hashpb_sum(m *v17.Error, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.source.v1.Error.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if _, ok := ignore["cerbos.source.v1.Error.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } if _, ok := ignore["cerbos.source.v1.Error.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.source.v1.Error.context"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Context)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetContext())) } } func cerbos_source_v1_Position_hashpb_sum(m *v17.Position, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.source.v1.Position.line"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Line))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetLine()))) } if _, ok := ignore["cerbos.source.v1.Position.column"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Column))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetColumn()))) } if _, ok := ignore["cerbos.source.v1.Position.path"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Path)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPath())) } } func google_protobuf_Any_hashpb_sum(m *anypb.Any, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Any.type_url"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.TypeUrl)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetTypeUrl())) } if _, ok := ignore["google.protobuf.Any.value"]; !ok { - _, _ = hasher.Write(protowire.AppendBytes(nil, m.Value)) + _, _ = hasher.Write(protowire.AppendBytes(nil, m.GetValue())) } } func google_protobuf_BoolValue_hashpb_sum(m *wrapperspb.BoolValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.BoolValue.value"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Value))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetValue()))) } } func google_protobuf_BytesValue_hashpb_sum(m *wrapperspb.BytesValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.BytesValue.value"]; !ok { - _, _ = hasher.Write(protowire.AppendBytes(nil, m.Value)) + _, _ = hasher.Write(protowire.AppendBytes(nil, m.GetValue())) } } func google_protobuf_DoubleValue_hashpb_sum(m *wrapperspb.DoubleValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.DoubleValue.value"]; !ok { - _, _ = hasher.Write(protowire.AppendFixed64(nil, math.Float64bits(m.Value))) + _, _ = hasher.Write(protowire.AppendFixed64(nil, math.Float64bits(m.GetValue()))) } } func google_protobuf_Duration_hashpb_sum(m *durationpb.Duration, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Duration.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Duration.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } @@ -4055,21 +4055,21 @@ func google_protobuf_Empty_hashpb_sum(m *emptypb.Empty, hasher hash.Hash, ignore func google_protobuf_FloatValue_hashpb_sum(m *wrapperspb.FloatValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.FloatValue.value"]; !ok { - _, _ = hasher.Write(protowire.AppendFixed32(nil, math.Float32bits(m.Value))) + _, _ = hasher.Write(protowire.AppendFixed32(nil, math.Float32bits(m.GetValue()))) } } func google_protobuf_Int32Value_hashpb_sum(m *wrapperspb.Int32Value, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Int32Value.value"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Value))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetValue()))) } } func google_protobuf_Int64Value_hashpb_sum(m *wrapperspb.Int64Value, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Int64Value.value"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Value))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetValue()))) } } @@ -4089,7 +4089,7 @@ func google_protobuf_ListValue_hashpb_sum(m *structpb.ListValue, hasher hash.Has func google_protobuf_StringValue_hashpb_sum(m *wrapperspb.StringValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.StringValue.value"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Value)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetValue())) } } @@ -4118,25 +4118,25 @@ func google_protobuf_Struct_hashpb_sum(m *structpb.Struct, hasher hash.Hash, ign func google_protobuf_Timestamp_hashpb_sum(m *timestamppb.Timestamp, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Timestamp.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Timestamp.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } func google_protobuf_UInt32Value_hashpb_sum(m *wrapperspb.UInt32Value, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.UInt32Value.value"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Value))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetValue()))) } } func google_protobuf_UInt64Value_hashpb_sum(m *wrapperspb.UInt64Value, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.UInt64Value.value"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, m.Value)) + _, _ = hasher.Write(protowire.AppendVarint(nil, m.GetValue())) } } diff --git a/api/genpb/cerbos/private/v1/test.pb.go b/api/genpb/cerbos/private/v1/test.pb.go index 25c4d5646f..9b334521e2 100644 --- a/api/genpb/cerbos/private/v1/test.pb.go +++ b/api/genpb/cerbos/private/v1/test.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/private/v1/test.proto diff --git a/api/genpb/cerbos/private/v1/test_hashpb.pb.go b/api/genpb/cerbos/private/v1/test_hashpb.pb.go index 04e71ab70f..505c3976f0 100644 --- a/api/genpb/cerbos/private/v1/test_hashpb.pb.go +++ b/api/genpb/cerbos/private/v1/test_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/private/v1/test.proto package privatev1 diff --git a/api/genpb/cerbos/request/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/request/v1/hashpb_helpers.pb.go index b0a733f6f9..335e48083c 100644 --- a/api/genpb/cerbos/request/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/request/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package requestv1 @@ -19,7 +19,7 @@ import ( func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *v1.PlanResourcesInput_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.attr"]; !ok { @@ -42,22 +42,22 @@ func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *v1.PlanResources } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Principal_hashpb_sum(m *v1.Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Principal.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Principal.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Principal.roles"]; !ok { @@ -88,22 +88,22 @@ func cerbos_engine_v1_Principal_hashpb_sum(m *v1.Principal, hasher hash.Hash, ig } } if _, ok := ignore["cerbos.engine.v1.Principal.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Resource_hashpb_sum(m *v1.Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Resource.attr"]; !ok { @@ -126,7 +126,7 @@ func cerbos_engine_v1_Resource_hashpb_sum(m *v1.Resource, hasher hash.Hash, igno } } if _, ok := ignore["cerbos.engine.v1.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } @@ -150,7 +150,7 @@ func cerbos_policy_v1_Condition_hashpb_sum(m *v11.Condition, hasher hash.Hash, i func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *v11.DerivedRoles, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.DerivedRoles.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.DerivedRoles.definitions"]; !ok { @@ -164,8 +164,8 @@ func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *v11.DerivedRoles, hasher hash.H } } if _, ok := ignore["cerbos.policy.v1.DerivedRoles.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -173,7 +173,7 @@ func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *v11.DerivedRoles, hasher hash.H func cerbos_policy_v1_ExportVariables_hashpb_sum(m *v11.ExportVariables, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.ExportVariables.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.ExportVariables.definitions"]; !ok { @@ -237,7 +237,7 @@ func cerbos_policy_v1_Match_hashpb_sum(m *v11.Match, hasher hash.Hash, ignore ma func cerbos_policy_v1_Metadata_hashpb_sum(m *v11.Metadata, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Metadata.source_file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SourceFile)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSourceFile())) } if _, ok := ignore["cerbos.policy.v1.Metadata.annotations"]; !ok { @@ -258,22 +258,22 @@ func cerbos_policy_v1_Metadata_hashpb_sum(m *v11.Metadata, hasher hash.Hash, ign } } if _, ok := ignore["cerbos.policy.v1.Metadata.hash"]; !ok { - if m.Hash != nil { - google_protobuf_UInt64Value_hashpb_sum(m.Hash, hasher, ignore) + if m.GetHash() != nil { + google_protobuf_UInt64Value_hashpb_sum(m.GetHash(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Metadata.store_identifer"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.StoreIdentifer)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetStoreIdentifer())) } if _, ok := ignore["cerbos.policy.v1.Metadata.store_identifier"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.StoreIdentifier)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetStoreIdentifier())) } if _, ok := ignore["cerbos.policy.v1.Metadata.source_attributes"]; !ok { - if m.SourceAttributes != nil { - cerbos_policy_v1_SourceAttributes_hashpb_sum(m.SourceAttributes, hasher, ignore) + if m.GetSourceAttributes() != nil { + cerbos_policy_v1_SourceAttributes_hashpb_sum(m.GetSourceAttributes(), hasher, ignore) } } @@ -281,23 +281,23 @@ func cerbos_policy_v1_Metadata_hashpb_sum(m *v11.Metadata, hasher hash.Hash, ign func cerbos_policy_v1_Output_When_hashpb_sum(m *v11.Output_When, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Output.When.rule_activated"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RuleActivated)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRuleActivated())) } if _, ok := ignore["cerbos.policy.v1.Output.When.condition_not_met"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ConditionNotMet)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetConditionNotMet())) } } func cerbos_policy_v1_Output_hashpb_sum(m *v11.Output, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Output.expr"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Expr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExpr())) } if _, ok := ignore["cerbos.policy.v1.Output.when"]; !ok { - if m.When != nil { - cerbos_policy_v1_Output_When_hashpb_sum(m.When, hasher, ignore) + if m.GetWhen() != nil { + cerbos_policy_v1_Output_When_hashpb_sum(m.GetWhen(), hasher, ignore) } } @@ -305,20 +305,20 @@ func cerbos_policy_v1_Output_hashpb_sum(m *v11.Output, hasher hash.Hash, ignore func cerbos_policy_v1_Policy_hashpb_sum(m *v11.Policy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Policy.api_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ApiVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetApiVersion())) } if _, ok := ignore["cerbos.policy.v1.Policy.disabled"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Disabled))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetDisabled()))) } if _, ok := ignore["cerbos.policy.v1.Policy.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.policy.v1.Policy.metadata"]; !ok { - if m.Metadata != nil { - cerbos_policy_v1_Metadata_hashpb_sum(m.Metadata, hasher, ignore) + if m.GetMetadata() != nil { + cerbos_policy_v1_Metadata_hashpb_sum(m.GetMetadata(), hasher, ignore) } } @@ -366,18 +366,18 @@ func cerbos_policy_v1_Policy_hashpb_sum(m *v11.Policy, hasher hash.Hash, ignore } } if _, ok := ignore["cerbos.policy.v1.Policy.json_schema"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.JsonSchema)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetJsonSchema())) } } func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *v11.PrincipalPolicy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.principal"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Principal)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPrincipal())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.rules"]; !ok { @@ -391,12 +391,12 @@ func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *v11.PrincipalPolicy, hasher } } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -404,26 +404,26 @@ func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *v11.PrincipalPolicy, hasher func cerbos_policy_v1_PrincipalRule_Action_hashpb_sum(m *v11.PrincipalRule_Action, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.output"]; !ok { - if m.Output != nil { - cerbos_policy_v1_Output_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_policy_v1_Output_hashpb_sum(m.GetOutput(), hasher, ignore) } } @@ -431,7 +431,7 @@ func cerbos_policy_v1_PrincipalRule_Action_hashpb_sum(m *v11.PrincipalRule_Actio func cerbos_policy_v1_PrincipalRule_hashpb_sum(m *v11.PrincipalRule, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalRule.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.actions"]; !ok { @@ -448,11 +448,11 @@ func cerbos_policy_v1_PrincipalRule_hashpb_sum(m *v11.PrincipalRule, hasher hash func cerbos_policy_v1_ResourcePolicy_hashpb_sum(m *v11.ResourcePolicy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.import_derived_roles"]; !ok { @@ -474,18 +474,18 @@ func cerbos_policy_v1_ResourcePolicy_hashpb_sum(m *v11.ResourcePolicy, hasher ha } } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.schemas"]; !ok { - if m.Schemas != nil { - cerbos_policy_v1_Schemas_hashpb_sum(m.Schemas, hasher, ignore) + if m.GetSchemas() != nil { + cerbos_policy_v1_Schemas_hashpb_sum(m.GetSchemas(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -517,22 +517,22 @@ func cerbos_policy_v1_ResourceRule_hashpb_sum(m *v11.ResourceRule, hasher hash.H } } if _, ok := ignore["cerbos.policy.v1.ResourceRule.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.ResourceRule.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.ResourceRule.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.ResourceRule.output"]; !ok { - if m.Output != nil { - cerbos_policy_v1_Output_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_policy_v1_Output_hashpb_sum(m.GetOutput(), hasher, ignore) } } @@ -540,7 +540,7 @@ func cerbos_policy_v1_ResourceRule_hashpb_sum(m *v11.ResourceRule, hasher hash.H func cerbos_policy_v1_RoleDef_hashpb_sum(m *v11.RoleDef, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.RoleDef.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.RoleDef.parent_roles"]; !ok { @@ -552,8 +552,8 @@ func cerbos_policy_v1_RoleDef_hashpb_sum(m *v11.RoleDef, hasher hash.Hash, ignor } } if _, ok := ignore["cerbos.policy.v1.RoleDef.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } @@ -572,12 +572,12 @@ func cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m *v11.Schemas_IgnoreWhen, h func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *v11.Schemas_Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ref"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Ref)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRef())) } if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ignore_when"]; !ok { - if m.IgnoreWhen != nil { - cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.IgnoreWhen, hasher, ignore) + if m.GetIgnoreWhen() != nil { + cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.GetIgnoreWhen(), hasher, ignore) } } @@ -585,14 +585,14 @@ func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *v11.Schemas_Schema, hasher ha func cerbos_policy_v1_Schemas_hashpb_sum(m *v11.Schemas, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.principal_schema"]; !ok { - if m.PrincipalSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.PrincipalSchema, hasher, ignore) + if m.GetPrincipalSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetPrincipalSchema(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Schemas.resource_schema"]; !ok { - if m.ResourceSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.ResourceSchema, hasher, ignore) + if m.GetResourceSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetResourceSchema(), hasher, ignore) } } @@ -698,19 +698,19 @@ func cerbos_request_v1_AttributesMap_hashpb_sum(m *AttributesMap, hasher hash.Ha func cerbos_request_v1_AuxData_JWT_hashpb_sum(m *AuxData_JWT, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.AuxData.JWT.token"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Token)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetToken())) } if _, ok := ignore["cerbos.request.v1.AuxData.JWT.key_set_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.KeySetId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKeySetId())) } } func cerbos_request_v1_AuxData_hashpb_sum(m *AuxData, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.AuxData.jwt"]; !ok { - if m.Jwt != nil { - cerbos_request_v1_AuxData_JWT_hashpb_sum(m.Jwt, hasher, ignore) + if m.GetJwt() != nil { + cerbos_request_v1_AuxData_JWT_hashpb_sum(m.GetJwt(), hasher, ignore) } } @@ -726,8 +726,8 @@ func cerbos_request_v1_CheckResourceBatchRequest_BatchEntry_hashpb_sum(m *CheckR } } if _, ok := ignore["cerbos.request.v1.CheckResourceBatchRequest.BatchEntry.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } @@ -735,12 +735,12 @@ func cerbos_request_v1_CheckResourceBatchRequest_BatchEntry_hashpb_sum(m *CheckR func cerbos_request_v1_CheckResourceBatchRequest_hashpb_sum(m *CheckResourceBatchRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.CheckResourceBatchRequest.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.request.v1.CheckResourceBatchRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -755,8 +755,8 @@ func cerbos_request_v1_CheckResourceBatchRequest_hashpb_sum(m *CheckResourceBatc } } if _, ok := ignore["cerbos.request.v1.CheckResourceBatchRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -764,7 +764,7 @@ func cerbos_request_v1_CheckResourceBatchRequest_hashpb_sum(m *CheckResourceBatc func cerbos_request_v1_CheckResourceSetRequest_hashpb_sum(m *CheckResourceSetRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.actions"]; !ok { @@ -776,24 +776,24 @@ func cerbos_request_v1_CheckResourceSetRequest_hashpb_sum(m *CheckResourceSetReq } } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.resource"]; !ok { - if m.Resource != nil { - cerbos_request_v1_ResourceSet_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_request_v1_ResourceSet_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } if _, ok := ignore["cerbos.request.v1.CheckResourceSetRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -809,8 +809,8 @@ func cerbos_request_v1_CheckResourcesRequest_ResourceEntry_hashpb_sum(m *CheckRe } } if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.ResourceEntry.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } @@ -818,16 +818,16 @@ func cerbos_request_v1_CheckResourcesRequest_ResourceEntry_hashpb_sum(m *CheckRe func cerbos_request_v1_CheckResourcesRequest_hashpb_sum(m *CheckResourcesRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -842,8 +842,8 @@ func cerbos_request_v1_CheckResourcesRequest_hashpb_sum(m *CheckResourcesRequest } } if _, ok := ignore["cerbos.request.v1.CheckResourcesRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -884,11 +884,11 @@ func cerbos_request_v1_EnablePolicyRequest_hashpb_sum(m *EnablePolicyRequest, ha func cerbos_request_v1_File_hashpb_sum(m *File, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.File.file_name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.FileName)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFileName())) } if _, ok := ignore["cerbos.request.v1.File.contents"]; !ok { - _, _ = hasher.Write(protowire.AppendBytes(nil, m.Contents)) + _, _ = hasher.Write(protowire.AppendBytes(nil, m.GetContents())) } } @@ -915,16 +915,35 @@ func cerbos_request_v1_GetSchemaRequest_hashpb_sum(m *GetSchemaRequest, hasher h } } +func cerbos_request_v1_InspectPoliciesRequest_hashpb_sum(m *InspectPoliciesRequest, hasher hash.Hash, ignore map[string]struct{}) { + if _, ok := ignore["cerbos.request.v1.InspectPoliciesRequest.include_disabled"]; !ok { + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeDisabled()))) + + } + if _, ok := ignore["cerbos.request.v1.InspectPoliciesRequest.name_regexp"]; !ok { + _, _ = hasher.Write(protowire.AppendString(nil, m.GetNameRegexp())) + + } + if _, ok := ignore["cerbos.request.v1.InspectPoliciesRequest.scope_regexp"]; !ok { + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScopeRegexp())) + + } + if _, ok := ignore["cerbos.request.v1.InspectPoliciesRequest.version_regexp"]; !ok { + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersionRegexp())) + + } +} + func cerbos_request_v1_ListAuditLogEntriesRequest_TimeRange_hashpb_sum(m *ListAuditLogEntriesRequest_TimeRange, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange.start"]; !ok { - if m.Start != nil { - google_protobuf_Timestamp_hashpb_sum(m.Start, hasher, ignore) + if m.GetStart() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetStart(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange.end"]; !ok { - if m.End != nil { - google_protobuf_Timestamp_hashpb_sum(m.End, hasher, ignore) + if m.GetEnd() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetEnd(), hasher, ignore) } } @@ -932,7 +951,7 @@ func cerbos_request_v1_ListAuditLogEntriesRequest_TimeRange_hashpb_sum(m *ListAu func cerbos_request_v1_ListAuditLogEntriesRequest_hashpb_sum(m *ListAuditLogEntriesRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.ListAuditLogEntriesRequest.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if m.Filter != nil { @@ -961,19 +980,19 @@ func cerbos_request_v1_ListAuditLogEntriesRequest_hashpb_sum(m *ListAuditLogEntr func cerbos_request_v1_ListPoliciesRequest_hashpb_sum(m *ListPoliciesRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.ListPoliciesRequest.include_disabled"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeDisabled))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeDisabled()))) } if _, ok := ignore["cerbos.request.v1.ListPoliciesRequest.name_regexp"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.NameRegexp)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetNameRegexp())) } if _, ok := ignore["cerbos.request.v1.ListPoliciesRequest.scope_regexp"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ScopeRegexp)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScopeRegexp())) } if _, ok := ignore["cerbos.request.v1.ListPoliciesRequest.version_regexp"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.VersionRegexp)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersionRegexp())) } } @@ -983,40 +1002,40 @@ func cerbos_request_v1_ListSchemasRequest_hashpb_sum(m *ListSchemasRequest, hash func cerbos_request_v1_PlanResourcesRequest_hashpb_sum(m *PlanResourcesRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.PlanResourcesRequest.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } } func cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m *PlaygroundEvaluateRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.files"]; !ok { @@ -1030,14 +1049,14 @@ func cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m *PlaygroundEvaluat } } if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } @@ -1050,8 +1069,8 @@ func cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m *PlaygroundEvaluat } } if _, ok := ignore["cerbos.request.v1.PlaygroundEvaluateRequest.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_request_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_request_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -1059,7 +1078,7 @@ func cerbos_request_v1_PlaygroundEvaluateRequest_hashpb_sum(m *PlaygroundEvaluat func cerbos_request_v1_PlaygroundProxyRequest_hashpb_sum(m *PlaygroundProxyRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlaygroundProxyRequest.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if _, ok := ignore["cerbos.request.v1.PlaygroundProxyRequest.files"]; !ok { @@ -1102,7 +1121,7 @@ func cerbos_request_v1_PlaygroundProxyRequest_hashpb_sum(m *PlaygroundProxyReque func cerbos_request_v1_PlaygroundTestRequest_hashpb_sum(m *PlaygroundTestRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlaygroundTestRequest.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if _, ok := ignore["cerbos.request.v1.PlaygroundTestRequest.files"]; !ok { @@ -1119,7 +1138,7 @@ func cerbos_request_v1_PlaygroundTestRequest_hashpb_sum(m *PlaygroundTestRequest func cerbos_request_v1_PlaygroundValidateRequest_hashpb_sum(m *PlaygroundValidateRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.PlaygroundValidateRequest.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if _, ok := ignore["cerbos.request.v1.PlaygroundValidateRequest.files"]; !ok { @@ -1136,18 +1155,18 @@ func cerbos_request_v1_PlaygroundValidateRequest_hashpb_sum(m *PlaygroundValidat func cerbos_request_v1_ReloadStoreRequest_hashpb_sum(m *ReloadStoreRequest, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.ReloadStoreRequest.wait"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Wait))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetWait()))) } } func cerbos_request_v1_ResourceSet_hashpb_sum(m *ResourceSet, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.request.v1.ResourceSet.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.request.v1.ResourceSet.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.request.v1.ResourceSet.instances"]; !ok { @@ -1170,7 +1189,7 @@ func cerbos_request_v1_ResourceSet_hashpb_sum(m *ResourceSet, hasher hash.Hash, } } if _, ok := ignore["cerbos.request.v1.ResourceSet.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } @@ -1180,22 +1199,22 @@ func cerbos_request_v1_ServerInfoRequest_hashpb_sum(m *ServerInfoRequest, hasher func cerbos_schema_v1_Schema_hashpb_sum(m *v12.Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.schema.v1.Schema.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.schema.v1.Schema.definition"]; !ok { - _, _ = hasher.Write(protowire.AppendBytes(nil, m.Definition)) + _, _ = hasher.Write(protowire.AppendBytes(nil, m.GetDefinition())) } } func google_protobuf_Duration_hashpb_sum(m *durationpb.Duration, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Duration.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Duration.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } @@ -1237,18 +1256,18 @@ func google_protobuf_Struct_hashpb_sum(m *structpb.Struct, hasher hash.Hash, ign func google_protobuf_Timestamp_hashpb_sum(m *timestamppb.Timestamp, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Timestamp.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Timestamp.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } func google_protobuf_UInt64Value_hashpb_sum(m *wrapperspb.UInt64Value, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.UInt64Value.value"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, m.Value)) + _, _ = hasher.Write(protowire.AppendVarint(nil, m.GetValue())) } } diff --git a/api/genpb/cerbos/request/v1/request.pb.go b/api/genpb/cerbos/request/v1/request.pb.go index 66906d12ce..f527f73ac4 100644 --- a/api/genpb/cerbos/request/v1/request.pb.go +++ b/api/genpb/cerbos/request/v1/request.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/request/v1/request.proto @@ -1364,6 +1364,77 @@ func (x *EnablePolicyRequest) GetId() []string { return nil } +type InspectPoliciesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IncludeDisabled bool `protobuf:"varint,1,opt,name=include_disabled,json=includeDisabled,proto3" json:"include_disabled,omitempty"` + NameRegexp string `protobuf:"bytes,2,opt,name=name_regexp,json=nameRegexp,proto3" json:"name_regexp,omitempty"` + ScopeRegexp string `protobuf:"bytes,3,opt,name=scope_regexp,json=scopeRegexp,proto3" json:"scope_regexp,omitempty"` + VersionRegexp string `protobuf:"bytes,4,opt,name=version_regexp,json=versionRegexp,proto3" json:"version_regexp,omitempty"` +} + +func (x *InspectPoliciesRequest) Reset() { + *x = InspectPoliciesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cerbos_request_v1_request_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InspectPoliciesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InspectPoliciesRequest) ProtoMessage() {} + +func (x *InspectPoliciesRequest) ProtoReflect() protoreflect.Message { + mi := &file_cerbos_request_v1_request_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InspectPoliciesRequest.ProtoReflect.Descriptor instead. +func (*InspectPoliciesRequest) Descriptor() ([]byte, []int) { + return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{19} +} + +func (x *InspectPoliciesRequest) GetIncludeDisabled() bool { + if x != nil { + return x.IncludeDisabled + } + return false +} + +func (x *InspectPoliciesRequest) GetNameRegexp() string { + if x != nil { + return x.NameRegexp + } + return "" +} + +func (x *InspectPoliciesRequest) GetScopeRegexp() string { + if x != nil { + return x.ScopeRegexp + } + return "" +} + +func (x *InspectPoliciesRequest) GetVersionRegexp() string { + if x != nil { + return x.VersionRegexp + } + return "" +} + type AddOrUpdateSchemaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1375,7 +1446,7 @@ type AddOrUpdateSchemaRequest struct { func (x *AddOrUpdateSchemaRequest) Reset() { *x = AddOrUpdateSchemaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_request_v1_request_proto_msgTypes[19] + mi := &file_cerbos_request_v1_request_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1388,7 +1459,7 @@ func (x *AddOrUpdateSchemaRequest) String() string { func (*AddOrUpdateSchemaRequest) ProtoMessage() {} func (x *AddOrUpdateSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_request_v1_request_proto_msgTypes[19] + mi := &file_cerbos_request_v1_request_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1401,7 +1472,7 @@ func (x *AddOrUpdateSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddOrUpdateSchemaRequest.ProtoReflect.Descriptor instead. func (*AddOrUpdateSchemaRequest) Descriptor() ([]byte, []int) { - return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{19} + return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{20} } func (x *AddOrUpdateSchemaRequest) GetSchemas() []*v12.Schema { @@ -1420,7 +1491,7 @@ type ListSchemasRequest struct { func (x *ListSchemasRequest) Reset() { *x = ListSchemasRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_request_v1_request_proto_msgTypes[20] + mi := &file_cerbos_request_v1_request_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1433,7 +1504,7 @@ func (x *ListSchemasRequest) String() string { func (*ListSchemasRequest) ProtoMessage() {} func (x *ListSchemasRequest) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_request_v1_request_proto_msgTypes[20] + mi := &file_cerbos_request_v1_request_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1446,7 +1517,7 @@ func (x *ListSchemasRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSchemasRequest.ProtoReflect.Descriptor instead. func (*ListSchemasRequest) Descriptor() ([]byte, []int) { - return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{20} + return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{21} } type GetSchemaRequest struct { @@ -1460,7 +1531,7 @@ type GetSchemaRequest struct { func (x *GetSchemaRequest) Reset() { *x = GetSchemaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_request_v1_request_proto_msgTypes[21] + mi := &file_cerbos_request_v1_request_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1473,7 +1544,7 @@ func (x *GetSchemaRequest) String() string { func (*GetSchemaRequest) ProtoMessage() {} func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_request_v1_request_proto_msgTypes[21] + mi := &file_cerbos_request_v1_request_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1486,7 +1557,7 @@ func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaRequest.ProtoReflect.Descriptor instead. func (*GetSchemaRequest) Descriptor() ([]byte, []int) { - return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{21} + return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{22} } func (x *GetSchemaRequest) GetId() []string { @@ -1507,7 +1578,7 @@ type DeleteSchemaRequest struct { func (x *DeleteSchemaRequest) Reset() { *x = DeleteSchemaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_request_v1_request_proto_msgTypes[22] + mi := &file_cerbos_request_v1_request_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1520,7 +1591,7 @@ func (x *DeleteSchemaRequest) String() string { func (*DeleteSchemaRequest) ProtoMessage() {} func (x *DeleteSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_request_v1_request_proto_msgTypes[22] + mi := &file_cerbos_request_v1_request_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1533,7 +1604,7 @@ func (x *DeleteSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSchemaRequest.ProtoReflect.Descriptor instead. func (*DeleteSchemaRequest) Descriptor() ([]byte, []int) { - return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{22} + return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{23} } func (x *DeleteSchemaRequest) GetId() []string { @@ -1554,7 +1625,7 @@ type ReloadStoreRequest struct { func (x *ReloadStoreRequest) Reset() { *x = ReloadStoreRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_request_v1_request_proto_msgTypes[23] + mi := &file_cerbos_request_v1_request_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1567,7 +1638,7 @@ func (x *ReloadStoreRequest) String() string { func (*ReloadStoreRequest) ProtoMessage() {} func (x *ReloadStoreRequest) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_request_v1_request_proto_msgTypes[23] + mi := &file_cerbos_request_v1_request_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1580,7 +1651,7 @@ func (x *ReloadStoreRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReloadStoreRequest.ProtoReflect.Descriptor instead. func (*ReloadStoreRequest) Descriptor() ([]byte, []int) { - return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{23} + return file_cerbos_request_v1_request_proto_rawDescGZIP(), []int{24} } func (x *ReloadStoreRequest) GetWait() bool { @@ -1602,7 +1673,7 @@ type CheckResourceBatchRequest_BatchEntry struct { func (x *CheckResourceBatchRequest_BatchEntry) Reset() { *x = CheckResourceBatchRequest_BatchEntry{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_request_v1_request_proto_msgTypes[26] + mi := &file_cerbos_request_v1_request_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1615,7 +1686,7 @@ func (x *CheckResourceBatchRequest_BatchEntry) String() string { func (*CheckResourceBatchRequest_BatchEntry) ProtoMessage() {} func (x *CheckResourceBatchRequest_BatchEntry) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_request_v1_request_proto_msgTypes[26] + mi := &file_cerbos_request_v1_request_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1657,7 +1728,7 @@ type CheckResourcesRequest_ResourceEntry struct { func (x *CheckResourcesRequest_ResourceEntry) Reset() { *x = CheckResourcesRequest_ResourceEntry{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_request_v1_request_proto_msgTypes[27] + mi := &file_cerbos_request_v1_request_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1670,7 +1741,7 @@ func (x *CheckResourcesRequest_ResourceEntry) String() string { func (*CheckResourcesRequest_ResourceEntry) ProtoMessage() {} func (x *CheckResourcesRequest_ResourceEntry) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_request_v1_request_proto_msgTypes[27] + mi := &file_cerbos_request_v1_request_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1712,7 +1783,7 @@ type AuxData_JWT struct { func (x *AuxData_JWT) Reset() { *x = AuxData_JWT{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_request_v1_request_proto_msgTypes[28] + mi := &file_cerbos_request_v1_request_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1725,7 +1796,7 @@ func (x *AuxData_JWT) String() string { func (*AuxData_JWT) ProtoMessage() {} func (x *AuxData_JWT) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_request_v1_request_proto_msgTypes[28] + mi := &file_cerbos_request_v1_request_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1767,7 +1838,7 @@ type ListAuditLogEntriesRequest_TimeRange struct { func (x *ListAuditLogEntriesRequest_TimeRange) Reset() { *x = ListAuditLogEntriesRequest_TimeRange{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_request_v1_request_proto_msgTypes[29] + mi := &file_cerbos_request_v1_request_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1780,7 +1851,7 @@ func (x *ListAuditLogEntriesRequest_TimeRange) String() string { func (*ListAuditLogEntriesRequest_TimeRange) ProtoMessage() {} func (x *ListAuditLogEntriesRequest_TimeRange) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_request_v1_request_proto_msgTypes[29] + mi := &file_cerbos_request_v1_request_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2406,7 +2477,31 @@ var file_cerbos_request_v1_request_proto_rawDesc = []byte{ 0x41, 0x02, 0xba, 0x48, 0x15, 0xc8, 0x01, 0x01, 0x92, 0x01, 0x0f, 0x08, 0x01, 0x10, 0x19, 0x18, 0x01, 0x22, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x0a, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x1c, 0x92, 0x41, 0x19, 0x0a, 0x17, 0x32, 0x15, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9d, 0x01, 0x0a, + 0x6c, 0x69, 0x63, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xfd, 0x02, 0x0a, + 0x16, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x21, 0x92, 0x41, 0x1b, 0x32, 0x19, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, + 0x67, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, 0x41, 0x25, 0x32, + 0x23, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x20, 0x62, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, + 0x67, 0x65, 0x78, 0x70, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x67, + 0x65, 0x78, 0x70, 0x12, 0x4f, 0x0a, 0x0c, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x67, + 0x65, 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x26, 0x32, 0x24, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, + 0x62, 0x79, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, + 0x67, 0x65, 0x78, 0x70, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, + 0x67, 0x65, 0x78, 0x70, 0x12, 0x55, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0x92, 0x41, + 0x28, 0x32, 0x26, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x3a, 0x1f, 0x92, 0x41, 0x1c, + 0x0a, 0x1a, 0x32, 0x18, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x20, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x72, @@ -2470,7 +2565,7 @@ func file_cerbos_request_v1_request_proto_rawDescGZIP() []byte { } var file_cerbos_request_v1_request_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_cerbos_request_v1_request_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_cerbos_request_v1_request_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_cerbos_request_v1_request_proto_goTypes = []interface{}{ (ListAuditLogEntriesRequest_Kind)(0), // 0: cerbos.request.v1.ListAuditLogEntriesRequest.Kind (*PlanResourcesRequest)(nil), // 1: cerbos.request.v1.PlanResourcesRequest @@ -2492,64 +2587,65 @@ var file_cerbos_request_v1_request_proto_goTypes = []interface{}{ (*GetPolicyRequest)(nil), // 17: cerbos.request.v1.GetPolicyRequest (*DisablePolicyRequest)(nil), // 18: cerbos.request.v1.DisablePolicyRequest (*EnablePolicyRequest)(nil), // 19: cerbos.request.v1.EnablePolicyRequest - (*AddOrUpdateSchemaRequest)(nil), // 20: cerbos.request.v1.AddOrUpdateSchemaRequest - (*ListSchemasRequest)(nil), // 21: cerbos.request.v1.ListSchemasRequest - (*GetSchemaRequest)(nil), // 22: cerbos.request.v1.GetSchemaRequest - (*DeleteSchemaRequest)(nil), // 23: cerbos.request.v1.DeleteSchemaRequest - (*ReloadStoreRequest)(nil), // 24: cerbos.request.v1.ReloadStoreRequest - nil, // 25: cerbos.request.v1.ResourceSet.InstancesEntry - nil, // 26: cerbos.request.v1.AttributesMap.AttrEntry - (*CheckResourceBatchRequest_BatchEntry)(nil), // 27: cerbos.request.v1.CheckResourceBatchRequest.BatchEntry - (*CheckResourcesRequest_ResourceEntry)(nil), // 28: cerbos.request.v1.CheckResourcesRequest.ResourceEntry - (*AuxData_JWT)(nil), // 29: cerbos.request.v1.AuxData.JWT - (*ListAuditLogEntriesRequest_TimeRange)(nil), // 30: cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange - (*v1.Principal)(nil), // 31: cerbos.engine.v1.Principal - (*v1.PlanResourcesInput_Resource)(nil), // 32: cerbos.engine.v1.PlanResourcesInput.Resource - (*v1.Resource)(nil), // 33: cerbos.engine.v1.Resource - (*v11.Policy)(nil), // 34: cerbos.policy.v1.Policy - (*durationpb.Duration)(nil), // 35: google.protobuf.Duration - (*v12.Schema)(nil), // 36: cerbos.schema.v1.Schema - (*structpb.Value)(nil), // 37: google.protobuf.Value - (*timestamppb.Timestamp)(nil), // 38: google.protobuf.Timestamp + (*InspectPoliciesRequest)(nil), // 20: cerbos.request.v1.InspectPoliciesRequest + (*AddOrUpdateSchemaRequest)(nil), // 21: cerbos.request.v1.AddOrUpdateSchemaRequest + (*ListSchemasRequest)(nil), // 22: cerbos.request.v1.ListSchemasRequest + (*GetSchemaRequest)(nil), // 23: cerbos.request.v1.GetSchemaRequest + (*DeleteSchemaRequest)(nil), // 24: cerbos.request.v1.DeleteSchemaRequest + (*ReloadStoreRequest)(nil), // 25: cerbos.request.v1.ReloadStoreRequest + nil, // 26: cerbos.request.v1.ResourceSet.InstancesEntry + nil, // 27: cerbos.request.v1.AttributesMap.AttrEntry + (*CheckResourceBatchRequest_BatchEntry)(nil), // 28: cerbos.request.v1.CheckResourceBatchRequest.BatchEntry + (*CheckResourcesRequest_ResourceEntry)(nil), // 29: cerbos.request.v1.CheckResourcesRequest.ResourceEntry + (*AuxData_JWT)(nil), // 30: cerbos.request.v1.AuxData.JWT + (*ListAuditLogEntriesRequest_TimeRange)(nil), // 31: cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange + (*v1.Principal)(nil), // 32: cerbos.engine.v1.Principal + (*v1.PlanResourcesInput_Resource)(nil), // 33: cerbos.engine.v1.PlanResourcesInput.Resource + (*v1.Resource)(nil), // 34: cerbos.engine.v1.Resource + (*v11.Policy)(nil), // 35: cerbos.policy.v1.Policy + (*durationpb.Duration)(nil), // 36: google.protobuf.Duration + (*v12.Schema)(nil), // 37: cerbos.schema.v1.Schema + (*structpb.Value)(nil), // 38: google.protobuf.Value + (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp } var file_cerbos_request_v1_request_proto_depIdxs = []int32{ - 31, // 0: cerbos.request.v1.PlanResourcesRequest.principal:type_name -> cerbos.engine.v1.Principal - 32, // 1: cerbos.request.v1.PlanResourcesRequest.resource:type_name -> cerbos.engine.v1.PlanResourcesInput.Resource + 32, // 0: cerbos.request.v1.PlanResourcesRequest.principal:type_name -> cerbos.engine.v1.Principal + 33, // 1: cerbos.request.v1.PlanResourcesRequest.resource:type_name -> cerbos.engine.v1.PlanResourcesInput.Resource 7, // 2: cerbos.request.v1.PlanResourcesRequest.aux_data:type_name -> cerbos.request.v1.AuxData - 31, // 3: cerbos.request.v1.CheckResourceSetRequest.principal:type_name -> cerbos.engine.v1.Principal + 32, // 3: cerbos.request.v1.CheckResourceSetRequest.principal:type_name -> cerbos.engine.v1.Principal 3, // 4: cerbos.request.v1.CheckResourceSetRequest.resource:type_name -> cerbos.request.v1.ResourceSet 7, // 5: cerbos.request.v1.CheckResourceSetRequest.aux_data:type_name -> cerbos.request.v1.AuxData - 25, // 6: cerbos.request.v1.ResourceSet.instances:type_name -> cerbos.request.v1.ResourceSet.InstancesEntry - 26, // 7: cerbos.request.v1.AttributesMap.attr:type_name -> cerbos.request.v1.AttributesMap.AttrEntry - 31, // 8: cerbos.request.v1.CheckResourceBatchRequest.principal:type_name -> cerbos.engine.v1.Principal - 27, // 9: cerbos.request.v1.CheckResourceBatchRequest.resources:type_name -> cerbos.request.v1.CheckResourceBatchRequest.BatchEntry + 26, // 6: cerbos.request.v1.ResourceSet.instances:type_name -> cerbos.request.v1.ResourceSet.InstancesEntry + 27, // 7: cerbos.request.v1.AttributesMap.attr:type_name -> cerbos.request.v1.AttributesMap.AttrEntry + 32, // 8: cerbos.request.v1.CheckResourceBatchRequest.principal:type_name -> cerbos.engine.v1.Principal + 28, // 9: cerbos.request.v1.CheckResourceBatchRequest.resources:type_name -> cerbos.request.v1.CheckResourceBatchRequest.BatchEntry 7, // 10: cerbos.request.v1.CheckResourceBatchRequest.aux_data:type_name -> cerbos.request.v1.AuxData - 31, // 11: cerbos.request.v1.CheckResourcesRequest.principal:type_name -> cerbos.engine.v1.Principal - 28, // 12: cerbos.request.v1.CheckResourcesRequest.resources:type_name -> cerbos.request.v1.CheckResourcesRequest.ResourceEntry + 32, // 11: cerbos.request.v1.CheckResourcesRequest.principal:type_name -> cerbos.engine.v1.Principal + 29, // 12: cerbos.request.v1.CheckResourcesRequest.resources:type_name -> cerbos.request.v1.CheckResourcesRequest.ResourceEntry 7, // 13: cerbos.request.v1.CheckResourcesRequest.aux_data:type_name -> cerbos.request.v1.AuxData - 29, // 14: cerbos.request.v1.AuxData.jwt:type_name -> cerbos.request.v1.AuxData.JWT + 30, // 14: cerbos.request.v1.AuxData.jwt:type_name -> cerbos.request.v1.AuxData.JWT 8, // 15: cerbos.request.v1.PlaygroundValidateRequest.files:type_name -> cerbos.request.v1.File 8, // 16: cerbos.request.v1.PlaygroundTestRequest.files:type_name -> cerbos.request.v1.File 8, // 17: cerbos.request.v1.PlaygroundEvaluateRequest.files:type_name -> cerbos.request.v1.File - 31, // 18: cerbos.request.v1.PlaygroundEvaluateRequest.principal:type_name -> cerbos.engine.v1.Principal - 33, // 19: cerbos.request.v1.PlaygroundEvaluateRequest.resource:type_name -> cerbos.engine.v1.Resource + 32, // 18: cerbos.request.v1.PlaygroundEvaluateRequest.principal:type_name -> cerbos.engine.v1.Principal + 34, // 19: cerbos.request.v1.PlaygroundEvaluateRequest.resource:type_name -> cerbos.engine.v1.Resource 7, // 20: cerbos.request.v1.PlaygroundEvaluateRequest.aux_data:type_name -> cerbos.request.v1.AuxData 8, // 21: cerbos.request.v1.PlaygroundProxyRequest.files:type_name -> cerbos.request.v1.File 2, // 22: cerbos.request.v1.PlaygroundProxyRequest.check_resource_set:type_name -> cerbos.request.v1.CheckResourceSetRequest 5, // 23: cerbos.request.v1.PlaygroundProxyRequest.check_resource_batch:type_name -> cerbos.request.v1.CheckResourceBatchRequest 1, // 24: cerbos.request.v1.PlaygroundProxyRequest.plan_resources:type_name -> cerbos.request.v1.PlanResourcesRequest 6, // 25: cerbos.request.v1.PlaygroundProxyRequest.check_resources:type_name -> cerbos.request.v1.CheckResourcesRequest - 34, // 26: cerbos.request.v1.AddOrUpdatePolicyRequest.policies:type_name -> cerbos.policy.v1.Policy + 35, // 26: cerbos.request.v1.AddOrUpdatePolicyRequest.policies:type_name -> cerbos.policy.v1.Policy 0, // 27: cerbos.request.v1.ListAuditLogEntriesRequest.kind:type_name -> cerbos.request.v1.ListAuditLogEntriesRequest.Kind - 30, // 28: cerbos.request.v1.ListAuditLogEntriesRequest.between:type_name -> cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange - 35, // 29: cerbos.request.v1.ListAuditLogEntriesRequest.since:type_name -> google.protobuf.Duration - 36, // 30: cerbos.request.v1.AddOrUpdateSchemaRequest.schemas:type_name -> cerbos.schema.v1.Schema + 31, // 28: cerbos.request.v1.ListAuditLogEntriesRequest.between:type_name -> cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange + 36, // 29: cerbos.request.v1.ListAuditLogEntriesRequest.since:type_name -> google.protobuf.Duration + 37, // 30: cerbos.request.v1.AddOrUpdateSchemaRequest.schemas:type_name -> cerbos.schema.v1.Schema 4, // 31: cerbos.request.v1.ResourceSet.InstancesEntry.value:type_name -> cerbos.request.v1.AttributesMap - 37, // 32: cerbos.request.v1.AttributesMap.AttrEntry.value:type_name -> google.protobuf.Value - 33, // 33: cerbos.request.v1.CheckResourceBatchRequest.BatchEntry.resource:type_name -> cerbos.engine.v1.Resource - 33, // 34: cerbos.request.v1.CheckResourcesRequest.ResourceEntry.resource:type_name -> cerbos.engine.v1.Resource - 38, // 35: cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange.start:type_name -> google.protobuf.Timestamp - 38, // 36: cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange.end:type_name -> google.protobuf.Timestamp + 38, // 32: cerbos.request.v1.AttributesMap.AttrEntry.value:type_name -> google.protobuf.Value + 34, // 33: cerbos.request.v1.CheckResourceBatchRequest.BatchEntry.resource:type_name -> cerbos.engine.v1.Resource + 34, // 34: cerbos.request.v1.CheckResourcesRequest.ResourceEntry.resource:type_name -> cerbos.engine.v1.Resource + 39, // 35: cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange.start:type_name -> google.protobuf.Timestamp + 39, // 36: cerbos.request.v1.ListAuditLogEntriesRequest.TimeRange.end:type_name -> google.protobuf.Timestamp 37, // [37:37] is the sub-list for method output_type 37, // [37:37] is the sub-list for method input_type 37, // [37:37] is the sub-list for extension type_name @@ -2792,7 +2888,7 @@ func file_cerbos_request_v1_request_proto_init() { } } file_cerbos_request_v1_request_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddOrUpdateSchemaRequest); i { + switch v := v.(*InspectPoliciesRequest); i { case 0: return &v.state case 1: @@ -2804,7 +2900,7 @@ func file_cerbos_request_v1_request_proto_init() { } } file_cerbos_request_v1_request_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSchemasRequest); i { + switch v := v.(*AddOrUpdateSchemaRequest); i { case 0: return &v.state case 1: @@ -2816,7 +2912,7 @@ func file_cerbos_request_v1_request_proto_init() { } } file_cerbos_request_v1_request_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaRequest); i { + switch v := v.(*ListSchemasRequest); i { case 0: return &v.state case 1: @@ -2828,7 +2924,7 @@ func file_cerbos_request_v1_request_proto_init() { } } file_cerbos_request_v1_request_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteSchemaRequest); i { + switch v := v.(*GetSchemaRequest); i { case 0: return &v.state case 1: @@ -2840,6 +2936,18 @@ func file_cerbos_request_v1_request_proto_init() { } } file_cerbos_request_v1_request_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSchemaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cerbos_request_v1_request_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReloadStoreRequest); i { case 0: return &v.state @@ -2851,7 +2959,7 @@ func file_cerbos_request_v1_request_proto_init() { return nil } } - file_cerbos_request_v1_request_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_request_v1_request_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourceBatchRequest_BatchEntry); i { case 0: return &v.state @@ -2863,7 +2971,7 @@ func file_cerbos_request_v1_request_proto_init() { return nil } } - file_cerbos_request_v1_request_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_request_v1_request_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourcesRequest_ResourceEntry); i { case 0: return &v.state @@ -2875,7 +2983,7 @@ func file_cerbos_request_v1_request_proto_init() { return nil } } - file_cerbos_request_v1_request_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_request_v1_request_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuxData_JWT); i { case 0: return &v.state @@ -2887,7 +2995,7 @@ func file_cerbos_request_v1_request_proto_init() { return nil } } - file_cerbos_request_v1_request_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_request_v1_request_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAuditLogEntriesRequest_TimeRange); i { case 0: return &v.state @@ -2918,7 +3026,7 @@ func file_cerbos_request_v1_request_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cerbos_request_v1_request_proto_rawDesc, NumEnums: 1, - NumMessages: 30, + NumMessages: 31, NumExtensions: 0, NumServices: 0, }, diff --git a/api/genpb/cerbos/request/v1/request_hashpb.pb.go b/api/genpb/cerbos/request/v1/request_hashpb.pb.go index 4249f79601..a8551505ac 100644 --- a/api/genpb/cerbos/request/v1/request_hashpb.pb.go +++ b/api/genpb/cerbos/request/v1/request_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/request/v1/request.proto package requestv1 @@ -184,6 +184,14 @@ func (m *EnablePolicyRequest) HashPB(hasher hash.Hash, ignore map[string]struct{ } } +// HashPB computes a hash of the message using the given hash function +// The ignore set must contain fully-qualified field names (pkg.msg.field) that should be ignored from the hash +func (m *InspectPoliciesRequest) HashPB(hasher hash.Hash, ignore map[string]struct{}) { + if m != nil { + cerbos_request_v1_InspectPoliciesRequest_hashpb_sum(m, hasher, ignore) + } +} + // HashPB computes a hash of the message using the given hash function // The ignore set must contain fully-qualified field names (pkg.msg.field) that should be ignored from the hash func (m *AddOrUpdateSchemaRequest) HashPB(hasher hash.Hash, ignore map[string]struct{}) { diff --git a/api/genpb/cerbos/request/v1/request_vtproto.pb.go b/api/genpb/cerbos/request/v1/request_vtproto.pb.go index e8b5b52fef..d5ab27c04d 100644 --- a/api/genpb/cerbos/request/v1/request_vtproto.pb.go +++ b/api/genpb/cerbos/request/v1/request_vtproto.pb.go @@ -1614,6 +1614,70 @@ func (m *EnablePolicyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *InspectPoliciesRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *InspectPoliciesRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *InspectPoliciesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.VersionRegexp) > 0 { + i -= len(m.VersionRegexp) + copy(dAtA[i:], m.VersionRegexp) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.VersionRegexp))) + i-- + dAtA[i] = 0x22 + } + if len(m.ScopeRegexp) > 0 { + i -= len(m.ScopeRegexp) + copy(dAtA[i:], m.ScopeRegexp) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ScopeRegexp))) + i-- + dAtA[i] = 0x1a + } + if len(m.NameRegexp) > 0 { + i -= len(m.NameRegexp) + copy(dAtA[i:], m.NameRegexp) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NameRegexp))) + i-- + dAtA[i] = 0x12 + } + if m.IncludeDisabled { + i-- + if m.IncludeDisabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *AddOrUpdateSchemaRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -2491,6 +2555,31 @@ func (m *EnablePolicyRequest) SizeVT() (n int) { return n } +func (m *InspectPoliciesRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.IncludeDisabled { + n += 2 + } + l = len(m.NameRegexp) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.ScopeRegexp) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.VersionRegexp) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *AddOrUpdateSchemaRequest) SizeVT() (n int) { if m == nil { return 0 @@ -6196,6 +6285,173 @@ func (m *EnablePolicyRequest) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *InspectPoliciesRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: InspectPoliciesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InspectPoliciesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IncludeDisabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IncludeDisabled = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NameRegexp", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NameRegexp = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ScopeRegexp", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ScopeRegexp = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionRegexp", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VersionRegexp = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *AddOrUpdateSchemaRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/api/genpb/cerbos/response/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/response/v1/hashpb_helpers.pb.go index 4e1cef96ed..4598cebf8f 100644 --- a/api/genpb/cerbos/response/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/response/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package responsev1 @@ -20,18 +20,18 @@ import ( func cerbos_audit_v1_AccessLogEntry_hashpb_sum(m *v1.AccessLogEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.call_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.CallId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCallId())) } if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.timestamp"]; !ok { - if m.Timestamp != nil { - google_protobuf_Timestamp_hashpb_sum(m.Timestamp, hasher, ignore) + if m.GetTimestamp() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetTimestamp(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.peer"]; !ok { - if m.Peer != nil { - cerbos_audit_v1_Peer_hashpb_sum(m.Peer, hasher, ignore) + if m.GetPeer() != nil { + cerbos_audit_v1_Peer_hashpb_sum(m.GetPeer(), hasher, ignore) } } @@ -55,11 +55,11 @@ func cerbos_audit_v1_AccessLogEntry_hashpb_sum(m *v1.AccessLogEntry, hasher hash } } if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.method"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Method)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMethod())) } if _, ok := ignore["cerbos.audit.v1.AccessLogEntry.status_code"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.StatusCode))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetStatusCode()))) } } @@ -108,44 +108,44 @@ func cerbos_audit_v1_DecisionLogEntry_CheckResources_hashpb_sum(m *v1.DecisionLo } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.CheckResources.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } } func cerbos_audit_v1_DecisionLogEntry_PlanResources_hashpb_sum(m *v1.DecisionLogEntry_PlanResources, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.PlanResources.input"]; !ok { - if m.Input != nil { - cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m.Input, hasher, ignore) + if m.GetInput() != nil { + cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m.GetInput(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.PlanResources.output"]; !ok { - if m.Output != nil { - cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m.GetOutput(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.PlanResources.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } } func cerbos_audit_v1_DecisionLogEntry_hashpb_sum(m *v1.DecisionLogEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.call_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.CallId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCallId())) } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.timestamp"]; !ok { - if m.Timestamp != nil { - google_protobuf_Timestamp_hashpb_sum(m.Timestamp, hasher, ignore) + if m.GetTimestamp() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetTimestamp(), hasher, ignore) } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.peer"]; !ok { - if m.Peer != nil { - cerbos_audit_v1_Peer_hashpb_sum(m.Peer, hasher, ignore) + if m.GetPeer() != nil { + cerbos_audit_v1_Peer_hashpb_sum(m.GetPeer(), hasher, ignore) } } @@ -170,7 +170,7 @@ func cerbos_audit_v1_DecisionLogEntry_hashpb_sum(m *v1.DecisionLogEntry, hasher } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if m.Method != nil { @@ -209,8 +209,8 @@ func cerbos_audit_v1_DecisionLogEntry_hashpb_sum(m *v1.DecisionLogEntry, hasher } } if _, ok := ignore["cerbos.audit.v1.DecisionLogEntry.audit_trail"]; !ok { - if m.AuditTrail != nil { - cerbos_audit_v1_AuditTrail_hashpb_sum(m.AuditTrail, hasher, ignore) + if m.GetAuditTrail() != nil { + cerbos_audit_v1_AuditTrail_hashpb_sum(m.GetAuditTrail(), hasher, ignore) } } @@ -229,19 +229,19 @@ func cerbos_audit_v1_MetaValues_hashpb_sum(m *v1.MetaValues, hasher hash.Hash, i func cerbos_audit_v1_Peer_hashpb_sum(m *v1.Peer, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.audit.v1.Peer.address"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Address)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAddress())) } if _, ok := ignore["cerbos.audit.v1.Peer.auth_info"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.AuthInfo)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAuthInfo())) } if _, ok := ignore["cerbos.audit.v1.Peer.user_agent"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.UserAgent)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetUserAgent())) } if _, ok := ignore["cerbos.audit.v1.Peer.forwarded_for"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ForwardedFor)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetForwardedFor())) } } @@ -270,18 +270,18 @@ func cerbos_engine_v1_AuxData_hashpb_sum(m *v11.AuxData, hasher hash.Hash, ignor func cerbos_engine_v1_CheckInput_hashpb_sum(m *v11.CheckInput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckInput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.CheckInput.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.CheckInput.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } @@ -294,8 +294,8 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *v11.CheckInput, hasher hash.Hash, } } if _, ok := ignore["cerbos.engine.v1.CheckInput.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } @@ -303,26 +303,26 @@ func cerbos_engine_v1_CheckInput_hashpb_sum(m *v11.CheckInput, hasher hash.Hash, func cerbos_engine_v1_CheckOutput_ActionEffect_hashpb_sum(m *v11.CheckOutput_ActionEffect, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.ActionEffect.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_CheckOutput_hashpb_sum(m *v11.CheckOutput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.CheckOutput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.resource_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceId())) } if _, ok := ignore["cerbos.engine.v1.CheckOutput.actions"]; !ok { @@ -376,12 +376,12 @@ func cerbos_engine_v1_CheckOutput_hashpb_sum(m *v11.CheckOutput, hasher hash.Has func cerbos_engine_v1_OutputEntry_hashpb_sum(m *v11.OutputEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.OutputEntry.src"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Src)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSrc())) } if _, ok := ignore["cerbos.engine.v1.OutputEntry.val"]; !ok { - if m.Val != nil { - google_protobuf_Value_hashpb_sum(m.Val, hasher, ignore) + if m.GetVal() != nil { + google_protobuf_Value_hashpb_sum(m.GetVal(), hasher, ignore) } } @@ -411,7 +411,7 @@ func cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m *v11.P func cerbos_engine_v1_PlanResourcesFilter_Expression_hashpb_sum(m *v11.PlanResourcesFilter_Expression, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.Expression.operator"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Operator)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetOperator())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.Expression.operands"]; !ok { @@ -428,12 +428,12 @@ func cerbos_engine_v1_PlanResourcesFilter_Expression_hashpb_sum(m *v11.PlanResou func cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m *v11.PlanResourcesFilter, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesFilter.condition"]; !ok { - if m.Condition != nil { - cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_engine_v1_PlanResourcesFilter_Expression_Operand_hashpb_sum(m.GetCondition(), hasher, ignore) } } @@ -441,7 +441,7 @@ func cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m *v11.PlanResourcesFilter, func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *v11.PlanResourcesInput_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.attr"]; !ok { @@ -464,77 +464,77 @@ func cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m *v11.PlanResource } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_PlanResourcesInput_hashpb_sum(m *v11.PlanResourcesInput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.principal"]; !ok { - if m.Principal != nil { - cerbos_engine_v1_Principal_hashpb_sum(m.Principal, hasher, ignore) + if m.GetPrincipal() != nil { + cerbos_engine_v1_Principal_hashpb_sum(m.GetPrincipal(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.resource"]; !ok { - if m.Resource != nil { - cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_engine_v1_PlanResourcesInput_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.aux_data"]; !ok { - if m.AuxData != nil { - cerbos_engine_v1_AuxData_hashpb_sum(m.AuxData, hasher, ignore) + if m.GetAuxData() != nil { + cerbos_engine_v1_AuxData_hashpb_sum(m.GetAuxData(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesInput.include_meta"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.IncludeMeta))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetIncludeMeta()))) } } func cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m *v11.PlanResourcesOutput, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.filter"]; !ok { - if m.Filter != nil { - cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.Filter, hasher, ignore) + if m.GetFilter() != nil { + cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.GetFilter(), hasher, ignore) } } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.filter_debug"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.FilterDebug)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFilterDebug())) } if _, ok := ignore["cerbos.engine.v1.PlanResourcesOutput.validation_errors"]; !ok { @@ -551,11 +551,11 @@ func cerbos_engine_v1_PlanResourcesOutput_hashpb_sum(m *v11.PlanResourcesOutput, func cerbos_engine_v1_Principal_hashpb_sum(m *v11.Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Principal.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Principal.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Principal.roles"]; !ok { @@ -586,22 +586,22 @@ func cerbos_engine_v1_Principal_hashpb_sum(m *v11.Principal, hasher hash.Hash, i } } if _, ok := ignore["cerbos.engine.v1.Principal.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Resource_hashpb_sum(m *v11.Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.engine.v1.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.engine.v1.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.engine.v1.Resource.attr"]; !ok { @@ -624,25 +624,25 @@ func cerbos_engine_v1_Resource_hashpb_sum(m *v11.Resource, hasher hash.Hash, ign } } if _, ok := ignore["cerbos.engine.v1.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_engine_v1_Trace_Component_Variable_hashpb_sum(m *v11.Trace_Component_Variable, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Component.Variable.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.engine.v1.Trace.Component.Variable.expr"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Expr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExpr())) } } func cerbos_engine_v1_Trace_Component_hashpb_sum(m *v11.Trace_Component, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Component.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if m.Details != nil { @@ -687,24 +687,24 @@ func cerbos_engine_v1_Trace_Component_hashpb_sum(m *v11.Trace_Component, hasher func cerbos_engine_v1_Trace_Event_hashpb_sum(m *v11.Trace_Event, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.engine.v1.Trace.Event.status"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Status))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetStatus()))) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.engine.v1.Trace.Event.result"]; !ok { - if m.Result != nil { - google_protobuf_Value_hashpb_sum(m.Result, hasher, ignore) + if m.GetResult() != nil { + google_protobuf_Value_hashpb_sum(m.GetResult(), hasher, ignore) } } @@ -722,8 +722,8 @@ func cerbos_engine_v1_Trace_hashpb_sum(m *v11.Trace, hasher hash.Hash, ignore ma } } if _, ok := ignore["cerbos.engine.v1.Trace.event"]; !ok { - if m.Event != nil { - cerbos_engine_v1_Trace_Event_hashpb_sum(m.Event, hasher, ignore) + if m.GetEvent() != nil { + cerbos_engine_v1_Trace_Event_hashpb_sum(m.GetEvent(), hasher, ignore) } } @@ -748,7 +748,7 @@ func cerbos_policy_v1_Condition_hashpb_sum(m *v12.Condition, hasher hash.Hash, i func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *v12.DerivedRoles, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.DerivedRoles.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.DerivedRoles.definitions"]; !ok { @@ -762,8 +762,8 @@ func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *v12.DerivedRoles, hasher hash.H } } if _, ok := ignore["cerbos.policy.v1.DerivedRoles.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -771,7 +771,7 @@ func cerbos_policy_v1_DerivedRoles_hashpb_sum(m *v12.DerivedRoles, hasher hash.H func cerbos_policy_v1_ExportVariables_hashpb_sum(m *v12.ExportVariables, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.ExportVariables.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.ExportVariables.definitions"]; !ok { @@ -835,7 +835,7 @@ func cerbos_policy_v1_Match_hashpb_sum(m *v12.Match, hasher hash.Hash, ignore ma func cerbos_policy_v1_Metadata_hashpb_sum(m *v12.Metadata, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Metadata.source_file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SourceFile)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSourceFile())) } if _, ok := ignore["cerbos.policy.v1.Metadata.annotations"]; !ok { @@ -856,22 +856,22 @@ func cerbos_policy_v1_Metadata_hashpb_sum(m *v12.Metadata, hasher hash.Hash, ign } } if _, ok := ignore["cerbos.policy.v1.Metadata.hash"]; !ok { - if m.Hash != nil { - google_protobuf_UInt64Value_hashpb_sum(m.Hash, hasher, ignore) + if m.GetHash() != nil { + google_protobuf_UInt64Value_hashpb_sum(m.GetHash(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Metadata.store_identifer"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.StoreIdentifer)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetStoreIdentifer())) } if _, ok := ignore["cerbos.policy.v1.Metadata.store_identifier"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.StoreIdentifier)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetStoreIdentifier())) } if _, ok := ignore["cerbos.policy.v1.Metadata.source_attributes"]; !ok { - if m.SourceAttributes != nil { - cerbos_policy_v1_SourceAttributes_hashpb_sum(m.SourceAttributes, hasher, ignore) + if m.GetSourceAttributes() != nil { + cerbos_policy_v1_SourceAttributes_hashpb_sum(m.GetSourceAttributes(), hasher, ignore) } } @@ -879,23 +879,23 @@ func cerbos_policy_v1_Metadata_hashpb_sum(m *v12.Metadata, hasher hash.Hash, ign func cerbos_policy_v1_Output_When_hashpb_sum(m *v12.Output_When, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Output.When.rule_activated"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RuleActivated)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRuleActivated())) } if _, ok := ignore["cerbos.policy.v1.Output.When.condition_not_met"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ConditionNotMet)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetConditionNotMet())) } } func cerbos_policy_v1_Output_hashpb_sum(m *v12.Output, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Output.expr"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Expr)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExpr())) } if _, ok := ignore["cerbos.policy.v1.Output.when"]; !ok { - if m.When != nil { - cerbos_policy_v1_Output_When_hashpb_sum(m.When, hasher, ignore) + if m.GetWhen() != nil { + cerbos_policy_v1_Output_When_hashpb_sum(m.GetWhen(), hasher, ignore) } } @@ -903,20 +903,20 @@ func cerbos_policy_v1_Output_hashpb_sum(m *v12.Output, hasher hash.Hash, ignore func cerbos_policy_v1_Policy_hashpb_sum(m *v12.Policy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Policy.api_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ApiVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetApiVersion())) } if _, ok := ignore["cerbos.policy.v1.Policy.disabled"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Disabled))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetDisabled()))) } if _, ok := ignore["cerbos.policy.v1.Policy.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.policy.v1.Policy.metadata"]; !ok { - if m.Metadata != nil { - cerbos_policy_v1_Metadata_hashpb_sum(m.Metadata, hasher, ignore) + if m.GetMetadata() != nil { + cerbos_policy_v1_Metadata_hashpb_sum(m.GetMetadata(), hasher, ignore) } } @@ -964,18 +964,18 @@ func cerbos_policy_v1_Policy_hashpb_sum(m *v12.Policy, hasher hash.Hash, ignore } } if _, ok := ignore["cerbos.policy.v1.Policy.json_schema"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.JsonSchema)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetJsonSchema())) } } func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *v12.PrincipalPolicy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.principal"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Principal)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPrincipal())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.rules"]; !ok { @@ -989,12 +989,12 @@ func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *v12.PrincipalPolicy, hasher } } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.policy.v1.PrincipalPolicy.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -1002,26 +1002,26 @@ func cerbos_policy_v1_PrincipalPolicy_hashpb_sum(m *v12.PrincipalPolicy, hasher func cerbos_policy_v1_PrincipalRule_Action_hashpb_sum(m *v12.PrincipalRule_Action, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.Action.output"]; !ok { - if m.Output != nil { - cerbos_policy_v1_Output_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_policy_v1_Output_hashpb_sum(m.GetOutput(), hasher, ignore) } } @@ -1029,7 +1029,7 @@ func cerbos_policy_v1_PrincipalRule_Action_hashpb_sum(m *v12.PrincipalRule_Actio func cerbos_policy_v1_PrincipalRule_hashpb_sum(m *v12.PrincipalRule, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.PrincipalRule.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.PrincipalRule.actions"]; !ok { @@ -1046,11 +1046,11 @@ func cerbos_policy_v1_PrincipalRule_hashpb_sum(m *v12.PrincipalRule, hasher hash func cerbos_policy_v1_ResourcePolicy_hashpb_sum(m *v12.ResourcePolicy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.import_derived_roles"]; !ok { @@ -1072,18 +1072,18 @@ func cerbos_policy_v1_ResourcePolicy_hashpb_sum(m *v12.ResourcePolicy, hasher ha } } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.schemas"]; !ok { - if m.Schemas != nil { - cerbos_policy_v1_Schemas_hashpb_sum(m.Schemas, hasher, ignore) + if m.GetSchemas() != nil { + cerbos_policy_v1_Schemas_hashpb_sum(m.GetSchemas(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.ResourcePolicy.variables"]; !ok { - if m.Variables != nil { - cerbos_policy_v1_Variables_hashpb_sum(m.Variables, hasher, ignore) + if m.GetVariables() != nil { + cerbos_policy_v1_Variables_hashpb_sum(m.GetVariables(), hasher, ignore) } } @@ -1115,22 +1115,22 @@ func cerbos_policy_v1_ResourceRule_hashpb_sum(m *v12.ResourceRule, hasher hash.H } } if _, ok := ignore["cerbos.policy.v1.ResourceRule.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.ResourceRule.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.ResourceRule.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.ResourceRule.output"]; !ok { - if m.Output != nil { - cerbos_policy_v1_Output_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_policy_v1_Output_hashpb_sum(m.GetOutput(), hasher, ignore) } } @@ -1138,7 +1138,7 @@ func cerbos_policy_v1_ResourceRule_hashpb_sum(m *v12.ResourceRule, hasher hash.H func cerbos_policy_v1_RoleDef_hashpb_sum(m *v12.RoleDef, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.RoleDef.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.RoleDef.parent_roles"]; !ok { @@ -1150,8 +1150,8 @@ func cerbos_policy_v1_RoleDef_hashpb_sum(m *v12.RoleDef, hasher hash.Hash, ignor } } if _, ok := ignore["cerbos.policy.v1.RoleDef.condition"]; !ok { - if m.Condition != nil { - cerbos_policy_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_policy_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } @@ -1170,12 +1170,12 @@ func cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m *v12.Schemas_IgnoreWhen, h func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *v12.Schemas_Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ref"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Ref)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRef())) } if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ignore_when"]; !ok { - if m.IgnoreWhen != nil { - cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.IgnoreWhen, hasher, ignore) + if m.GetIgnoreWhen() != nil { + cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.GetIgnoreWhen(), hasher, ignore) } } @@ -1183,14 +1183,14 @@ func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *v12.Schemas_Schema, hasher ha func cerbos_policy_v1_Schemas_hashpb_sum(m *v12.Schemas, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.principal_schema"]; !ok { - if m.PrincipalSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.PrincipalSchema, hasher, ignore) + if m.GetPrincipalSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetPrincipalSchema(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Schemas.resource_schema"]; !ok { - if m.ResourceSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.ResourceSchema, hasher, ignore) + if m.GetResourceSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetResourceSchema(), hasher, ignore) } } @@ -1220,12 +1220,12 @@ func cerbos_policy_v1_SourceAttributes_hashpb_sum(m *v12.SourceAttributes, hashe func cerbos_policy_v1_TestResults_Action_hashpb_sum(m *v12.TestResults_Action, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Action.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Action.details"]; !ok { - if m.Details != nil { - cerbos_policy_v1_TestResults_Details_hashpb_sum(m.Details, hasher, ignore) + if m.GetDetails() != nil { + cerbos_policy_v1_TestResults_Details_hashpb_sum(m.GetDetails(), hasher, ignore) } } @@ -1233,7 +1233,7 @@ func cerbos_policy_v1_TestResults_Action_hashpb_sum(m *v12.TestResults_Action, h func cerbos_policy_v1_TestResults_Details_hashpb_sum(m *v12.TestResults_Details, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Details.result"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Result))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetResult()))) } if m.Outcome != nil { @@ -1269,11 +1269,11 @@ func cerbos_policy_v1_TestResults_Details_hashpb_sum(m *v12.TestResults_Details, func cerbos_policy_v1_TestResults_Failure_hashpb_sum(m *v12.TestResults_Failure, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Failure.expected"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Expected))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetExpected()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Failure.actual"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Actual))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetActual()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Failure.outputs"]; !ok { @@ -1290,14 +1290,14 @@ func cerbos_policy_v1_TestResults_Failure_hashpb_sum(m *v12.TestResults_Failure, func cerbos_policy_v1_TestResults_OutputFailure_MismatchedValue_hashpb_sum(m *v12.TestResults_OutputFailure_MismatchedValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.MismatchedValue.expected"]; !ok { - if m.Expected != nil { - google_protobuf_Value_hashpb_sum(m.Expected, hasher, ignore) + if m.GetExpected() != nil { + google_protobuf_Value_hashpb_sum(m.GetExpected(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.MismatchedValue.actual"]; !ok { - if m.Actual != nil { - google_protobuf_Value_hashpb_sum(m.Actual, hasher, ignore) + if m.GetActual() != nil { + google_protobuf_Value_hashpb_sum(m.GetActual(), hasher, ignore) } } @@ -1305,8 +1305,8 @@ func cerbos_policy_v1_TestResults_OutputFailure_MismatchedValue_hashpb_sum(m *v1 func cerbos_policy_v1_TestResults_OutputFailure_MissingValue_hashpb_sum(m *v12.TestResults_OutputFailure_MissingValue, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.MissingValue.expected"]; !ok { - if m.Expected != nil { - google_protobuf_Value_hashpb_sum(m.Expected, hasher, ignore) + if m.GetExpected() != nil { + google_protobuf_Value_hashpb_sum(m.GetExpected(), hasher, ignore) } } @@ -1314,7 +1314,7 @@ func cerbos_policy_v1_TestResults_OutputFailure_MissingValue_hashpb_sum(m *v12.T func cerbos_policy_v1_TestResults_OutputFailure_hashpb_sum(m *v12.TestResults_OutputFailure, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.OutputFailure.src"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Src)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSrc())) } if m.Outcome != nil { @@ -1337,7 +1337,7 @@ func cerbos_policy_v1_TestResults_OutputFailure_hashpb_sum(m *v12.TestResults_Ou func cerbos_policy_v1_TestResults_Principal_hashpb_sum(m *v12.TestResults_Principal, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Principal.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Principal.resources"]; !ok { @@ -1354,7 +1354,7 @@ func cerbos_policy_v1_TestResults_Principal_hashpb_sum(m *v12.TestResults_Princi func cerbos_policy_v1_TestResults_Resource_hashpb_sum(m *v12.TestResults_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Resource.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Resource.actions"]; !ok { @@ -1371,7 +1371,7 @@ func cerbos_policy_v1_TestResults_Resource_hashpb_sum(m *v12.TestResults_Resourc func cerbos_policy_v1_TestResults_Success_hashpb_sum(m *v12.TestResults_Success, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Success.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Success.outputs"]; !ok { @@ -1388,11 +1388,11 @@ func cerbos_policy_v1_TestResults_Success_hashpb_sum(m *v12.TestResults_Success, func cerbos_policy_v1_TestResults_Suite_hashpb_sum(m *v12.TestResults_Suite, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.principals"]; !ok { @@ -1406,13 +1406,13 @@ func cerbos_policy_v1_TestResults_Suite_hashpb_sum(m *v12.TestResults_Suite, has } } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.summary"]; !ok { - if m.Summary != nil { - cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.Summary, hasher, ignore) + if m.GetSummary() != nil { + cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.GetSummary(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.test_cases"]; !ok { @@ -1426,18 +1426,18 @@ func cerbos_policy_v1_TestResults_Suite_hashpb_sum(m *v12.TestResults_Suite, has } } if _, ok := ignore["cerbos.policy.v1.TestResults.Suite.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } } func cerbos_policy_v1_TestResults_Summary_hashpb_sum(m *v12.TestResults_Summary, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Summary.overall_result"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.OverallResult))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetOverallResult()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Summary.tests_count"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.TestsCount))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetTestsCount()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Summary.result_counts"]; !ok { @@ -1454,18 +1454,18 @@ func cerbos_policy_v1_TestResults_Summary_hashpb_sum(m *v12.TestResults_Summary, func cerbos_policy_v1_TestResults_Tally_hashpb_sum(m *v12.TestResults_Tally, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.Tally.result"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Result))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetResult()))) } if _, ok := ignore["cerbos.policy.v1.TestResults.Tally.count"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Count))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetCount()))) } } func cerbos_policy_v1_TestResults_TestCase_hashpb_sum(m *v12.TestResults_TestCase, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.TestResults.TestCase.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.policy.v1.TestResults.TestCase.principals"]; !ok { @@ -1492,8 +1492,8 @@ func cerbos_policy_v1_TestResults_hashpb_sum(m *v12.TestResults, hasher hash.Has } } if _, ok := ignore["cerbos.policy.v1.TestResults.summary"]; !ok { - if m.Summary != nil { - cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.Summary, hasher, ignore) + if m.GetSummary() != nil { + cerbos_policy_v1_TestResults_Summary_hashpb_sum(m.GetSummary(), hasher, ignore) } } @@ -1529,8 +1529,8 @@ func cerbos_policy_v1_Variables_hashpb_sum(m *v12.Variables, hasher hash.Hash, i func cerbos_response_v1_AddOrUpdatePolicyResponse_hashpb_sum(m *AddOrUpdatePolicyResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.AddOrUpdatePolicyResponse.success"]; !ok { - if m.Success != nil { - google_protobuf_Empty_hashpb_sum(m.Success, hasher, ignore) + if m.GetSuccess() != nil { + google_protobuf_Empty_hashpb_sum(m.GetSuccess(), hasher, ignore) } } @@ -1541,7 +1541,7 @@ func cerbos_response_v1_AddOrUpdateSchemaResponse_hashpb_sum(m *AddOrUpdateSchem func cerbos_response_v1_CheckResourceBatchResponse_ActionEffectMap_hashpb_sum(m *CheckResourceBatchResponse_ActionEffectMap, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.resource_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceId())) } if _, ok := ignore["cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.actions"]; !ok { @@ -1575,7 +1575,7 @@ func cerbos_response_v1_CheckResourceBatchResponse_ActionEffectMap_hashpb_sum(m func cerbos_response_v1_CheckResourceBatchResponse_hashpb_sum(m *CheckResourceBatchResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourceBatchResponse.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.response.v1.CheckResourceBatchResponse.results"]; !ok { @@ -1652,11 +1652,11 @@ func cerbos_response_v1_CheckResourceSetResponse_Meta_ActionMeta_hashpb_sum(m *C func cerbos_response_v1_CheckResourceSetResponse_Meta_EffectMeta_hashpb_sum(m *CheckResourceSetResponse_Meta_EffectMeta, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.Meta.EffectMeta.matched_policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedPolicy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedPolicy())) } if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.Meta.EffectMeta.matched_scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedScope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedScope())) } } @@ -1685,7 +1685,7 @@ func cerbos_response_v1_CheckResourceSetResponse_Meta_hashpb_sum(m *CheckResourc func cerbos_response_v1_CheckResourceSetResponse_hashpb_sum(m *CheckResourceSetResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.resource_instances"]; !ok { @@ -1708,8 +1708,8 @@ func cerbos_response_v1_CheckResourceSetResponse_hashpb_sum(m *CheckResourceSetR } } if _, ok := ignore["cerbos.response.v1.CheckResourceSetResponse.meta"]; !ok { - if m.Meta != nil { - cerbos_response_v1_CheckResourceSetResponse_Meta_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_response_v1_CheckResourceSetResponse_Meta_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -1717,11 +1717,11 @@ func cerbos_response_v1_CheckResourceSetResponse_hashpb_sum(m *CheckResourceSetR func cerbos_response_v1_CheckResourcesResponse_ResultEntry_Meta_EffectMeta_hashpb_sum(m *CheckResourcesResponse_ResultEntry_Meta_EffectMeta, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.EffectMeta.matched_policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedPolicy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedPolicy())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.EffectMeta.matched_scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedScope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedScope())) } } @@ -1758,27 +1758,27 @@ func cerbos_response_v1_CheckResourcesResponse_ResultEntry_Meta_hashpb_sum(m *Ch func cerbos_response_v1_CheckResourcesResponse_ResultEntry_Resource_hashpb_sum(m *CheckResourcesResponse_ResultEntry_Resource, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Kind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKind())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } } func cerbos_response_v1_CheckResourcesResponse_ResultEntry_hashpb_sum(m *CheckResourcesResponse_ResultEntry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.resource"]; !ok { - if m.Resource != nil { - cerbos_response_v1_CheckResourcesResponse_ResultEntry_Resource_hashpb_sum(m.Resource, hasher, ignore) + if m.GetResource() != nil { + cerbos_response_v1_CheckResourcesResponse_ResultEntry_Resource_hashpb_sum(m.GetResource(), hasher, ignore) } } @@ -1810,8 +1810,8 @@ func cerbos_response_v1_CheckResourcesResponse_ResultEntry_hashpb_sum(m *CheckRe } } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.ResultEntry.meta"]; !ok { - if m.Meta != nil { - cerbos_response_v1_CheckResourcesResponse_ResultEntry_Meta_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_response_v1_CheckResourcesResponse_ResultEntry_Meta_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -1829,7 +1829,7 @@ func cerbos_response_v1_CheckResourcesResponse_ResultEntry_hashpb_sum(m *CheckRe func cerbos_response_v1_CheckResourcesResponse_hashpb_sum(m *CheckResourcesResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.results"]; !ok { @@ -1843,28 +1843,28 @@ func cerbos_response_v1_CheckResourcesResponse_hashpb_sum(m *CheckResourcesRespo } } if _, ok := ignore["cerbos.response.v1.CheckResourcesResponse.cerbos_call_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.CerbosCallId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCerbosCallId())) } } func cerbos_response_v1_DeleteSchemaResponse_hashpb_sum(m *DeleteSchemaResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.DeleteSchemaResponse.deleted_schemas"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.DeletedSchemas))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetDeletedSchemas()))) } } func cerbos_response_v1_DisablePolicyResponse_hashpb_sum(m *DisablePolicyResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.DisablePolicyResponse.disabled_policies"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.DisabledPolicies))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetDisabledPolicies()))) } } func cerbos_response_v1_EnablePolicyResponse_hashpb_sum(m *EnablePolicyResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.EnablePolicyResponse.enabled_policies"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.EnabledPolicies))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEnabledPolicies()))) } } @@ -1895,6 +1895,39 @@ func cerbos_response_v1_GetSchemaResponse_hashpb_sum(m *GetSchemaResponse, hashe } } +func cerbos_response_v1_InspectPoliciesResponse_Result_hashpb_sum(m *InspectPoliciesResponse_Result, hasher hash.Hash, ignore map[string]struct{}) { + if _, ok := ignore["cerbos.response.v1.InspectPoliciesResponse.Result.actions"]; !ok { + if len(m.Actions) > 0 { + for _, v := range m.Actions { + _, _ = hasher.Write(protowire.AppendString(nil, v)) + + } + } + } +} + +func cerbos_response_v1_InspectPoliciesResponse_hashpb_sum(m *InspectPoliciesResponse, hasher hash.Hash, ignore map[string]struct{}) { + if _, ok := ignore["cerbos.response.v1.InspectPoliciesResponse.results"]; !ok { + if len(m.Results) > 0 { + keys := make([]string, len(m.Results)) + i := 0 + for k := range m.Results { + keys[i] = k + i++ + } + + sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] }) + + for _, k := range keys { + if m.Results[k] != nil { + cerbos_response_v1_InspectPoliciesResponse_Result_hashpb_sum(m.Results[k], hasher, ignore) + } + + } + } + } +} + func cerbos_response_v1_ListAuditLogEntriesResponse_hashpb_sum(m *ListAuditLogEntriesResponse, hasher hash.Hash, ignore map[string]struct{}) { if m.Entry != nil { if _, ok := ignore["cerbos.response.v1.ListAuditLogEntriesResponse.entry"]; !ok { @@ -1938,41 +1971,41 @@ func cerbos_response_v1_ListSchemasResponse_hashpb_sum(m *ListSchemasResponse, h func cerbos_response_v1_PlanResourcesResponse_Meta_hashpb_sum(m *PlanResourcesResponse_Meta, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.Meta.filter_debug"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.FilterDebug)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFilterDebug())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.Meta.matched_scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MatchedScope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMatchedScope())) } } func cerbos_response_v1_PlanResourcesResponse_hashpb_sum(m *PlanResourcesResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.request_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.RequestId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRequestId())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.resource_kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ResourceKind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResourceKind())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.policy_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PolicyVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicyVersion())) } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.filter"]; !ok { - if m.Filter != nil { - cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.Filter, hasher, ignore) + if m.GetFilter() != nil { + cerbos_engine_v1_PlanResourcesFilter_hashpb_sum(m.GetFilter(), hasher, ignore) } } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.meta"]; !ok { - if m.Meta != nil { - cerbos_response_v1_PlanResourcesResponse_Meta_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_response_v1_PlanResourcesResponse_Meta_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -1987,7 +2020,7 @@ func cerbos_response_v1_PlanResourcesResponse_hashpb_sum(m *PlanResourcesRespons } } if _, ok := ignore["cerbos.response.v1.PlanResourcesResponse.cerbos_call_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.CerbosCallId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCerbosCallId())) } } @@ -2035,15 +2068,15 @@ func cerbos_response_v1_PlaygroundEvaluateResponse_EvalResultList_hashpb_sum(m * func cerbos_response_v1_PlaygroundEvaluateResponse_EvalResult_hashpb_sum(m *PlaygroundEvaluateResponse_EvalResult, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.effective_derived_roles"]; !ok { @@ -2068,7 +2101,7 @@ func cerbos_response_v1_PlaygroundEvaluateResponse_EvalResult_hashpb_sum(m *Play func cerbos_response_v1_PlaygroundEvaluateResponse_hashpb_sum(m *PlaygroundEvaluateResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundEvaluateResponse.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if m.Outcome != nil { @@ -2091,31 +2124,31 @@ func cerbos_response_v1_PlaygroundEvaluateResponse_hashpb_sum(m *PlaygroundEvalu func cerbos_response_v1_PlaygroundFailure_ErrorDetails_hashpb_sum(m *PlaygroundFailure_ErrorDetails, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.ErrorDetails.line"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Line))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetLine()))) } if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.ErrorDetails.column"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Column))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetColumn()))) } if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.ErrorDetails.context"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Context)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetContext())) } } func cerbos_response_v1_PlaygroundFailure_Error_hashpb_sum(m *PlaygroundFailure_Error, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.Error.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.Error.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.response.v1.PlaygroundFailure.Error.details"]; !ok { - if m.Details != nil { - cerbos_response_v1_PlaygroundFailure_ErrorDetails_hashpb_sum(m.Details, hasher, ignore) + if m.GetDetails() != nil { + cerbos_response_v1_PlaygroundFailure_ErrorDetails_hashpb_sum(m.GetDetails(), hasher, ignore) } } @@ -2136,7 +2169,7 @@ func cerbos_response_v1_PlaygroundFailure_hashpb_sum(m *PlaygroundFailure, hashe func cerbos_response_v1_PlaygroundProxyResponse_hashpb_sum(m *PlaygroundProxyResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundProxyResponse.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if m.Outcome != nil { @@ -2174,8 +2207,8 @@ func cerbos_response_v1_PlaygroundProxyResponse_hashpb_sum(m *PlaygroundProxyRes func cerbos_response_v1_PlaygroundTestResponse_TestResults_hashpb_sum(m *PlaygroundTestResponse_TestResults, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundTestResponse.TestResults.results"]; !ok { - if m.Results != nil { - cerbos_policy_v1_TestResults_hashpb_sum(m.Results, hasher, ignore) + if m.GetResults() != nil { + cerbos_policy_v1_TestResults_hashpb_sum(m.GetResults(), hasher, ignore) } } @@ -2183,7 +2216,7 @@ func cerbos_response_v1_PlaygroundTestResponse_TestResults_hashpb_sum(m *Playgro func cerbos_response_v1_PlaygroundTestResponse_hashpb_sum(m *PlaygroundTestResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundTestResponse.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if m.Outcome != nil { @@ -2206,7 +2239,7 @@ func cerbos_response_v1_PlaygroundTestResponse_hashpb_sum(m *PlaygroundTestRespo func cerbos_response_v1_PlaygroundValidateResponse_hashpb_sum(m *PlaygroundValidateResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.PlaygroundValidateResponse.playground_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PlaygroundId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPlaygroundId())) } if m.Outcome != nil { @@ -2232,41 +2265,41 @@ func cerbos_response_v1_ReloadStoreResponse_hashpb_sum(m *ReloadStoreResponse, h func cerbos_response_v1_ServerInfoResponse_hashpb_sum(m *ServerInfoResponse, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.response.v1.ServerInfoResponse.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.response.v1.ServerInfoResponse.commit"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Commit)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCommit())) } if _, ok := ignore["cerbos.response.v1.ServerInfoResponse.build_date"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.BuildDate)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetBuildDate())) } } func cerbos_schema_v1_Schema_hashpb_sum(m *v13.Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.schema.v1.Schema.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.schema.v1.Schema.definition"]; !ok { - _, _ = hasher.Write(protowire.AppendBytes(nil, m.Definition)) + _, _ = hasher.Write(protowire.AppendBytes(nil, m.GetDefinition())) } } func cerbos_schema_v1_ValidationError_hashpb_sum(m *v13.ValidationError, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.schema.v1.ValidationError.path"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Path)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPath())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.source"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Source))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSource()))) } } @@ -2311,18 +2344,18 @@ func google_protobuf_Struct_hashpb_sum(m *structpb.Struct, hasher hash.Hash, ign func google_protobuf_Timestamp_hashpb_sum(m *timestamppb.Timestamp, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Timestamp.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Timestamp.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } func google_protobuf_UInt64Value_hashpb_sum(m *wrapperspb.UInt64Value, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.UInt64Value.value"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, m.Value)) + _, _ = hasher.Write(protowire.AppendVarint(nil, m.GetValue())) } } diff --git a/api/genpb/cerbos/response/v1/response.pb.go b/api/genpb/cerbos/response/v1/response.pb.go index 9bdbe0183c..350392d5de 100644 --- a/api/genpb/cerbos/response/v1/response.pb.go +++ b/api/genpb/cerbos/response/v1/response.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/response/v1/response.proto @@ -1140,6 +1140,53 @@ func (x *EnablePolicyResponse) GetEnabledPolicies() uint32 { return 0 } +type InspectPoliciesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Results map[string]*InspectPoliciesResponse_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *InspectPoliciesResponse) Reset() { + *x = InspectPoliciesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cerbos_response_v1_response_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InspectPoliciesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InspectPoliciesResponse) ProtoMessage() {} + +func (x *InspectPoliciesResponse) ProtoReflect() protoreflect.Message { + mi := &file_cerbos_response_v1_response_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InspectPoliciesResponse.ProtoReflect.Descriptor instead. +func (*InspectPoliciesResponse) Descriptor() ([]byte, []int) { + return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{16} +} + +func (x *InspectPoliciesResponse) GetResults() map[string]*InspectPoliciesResponse_Result { + if x != nil { + return x.Results + } + return nil +} + type AddOrUpdateSchemaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1149,7 +1196,7 @@ type AddOrUpdateSchemaResponse struct { func (x *AddOrUpdateSchemaResponse) Reset() { *x = AddOrUpdateSchemaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[16] + mi := &file_cerbos_response_v1_response_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1162,7 +1209,7 @@ func (x *AddOrUpdateSchemaResponse) String() string { func (*AddOrUpdateSchemaResponse) ProtoMessage() {} func (x *AddOrUpdateSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[16] + mi := &file_cerbos_response_v1_response_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1175,7 +1222,7 @@ func (x *AddOrUpdateSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddOrUpdateSchemaResponse.ProtoReflect.Descriptor instead. func (*AddOrUpdateSchemaResponse) Descriptor() ([]byte, []int) { - return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{16} + return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{17} } type ListSchemasResponse struct { @@ -1189,7 +1236,7 @@ type ListSchemasResponse struct { func (x *ListSchemasResponse) Reset() { *x = ListSchemasResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[17] + mi := &file_cerbos_response_v1_response_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1202,7 +1249,7 @@ func (x *ListSchemasResponse) String() string { func (*ListSchemasResponse) ProtoMessage() {} func (x *ListSchemasResponse) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[17] + mi := &file_cerbos_response_v1_response_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1215,7 +1262,7 @@ func (x *ListSchemasResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSchemasResponse.ProtoReflect.Descriptor instead. func (*ListSchemasResponse) Descriptor() ([]byte, []int) { - return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{17} + return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{18} } func (x *ListSchemasResponse) GetSchemaIds() []string { @@ -1236,7 +1283,7 @@ type GetSchemaResponse struct { func (x *GetSchemaResponse) Reset() { *x = GetSchemaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[18] + mi := &file_cerbos_response_v1_response_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1249,7 +1296,7 @@ func (x *GetSchemaResponse) String() string { func (*GetSchemaResponse) ProtoMessage() {} func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[18] + mi := &file_cerbos_response_v1_response_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1262,7 +1309,7 @@ func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaResponse.ProtoReflect.Descriptor instead. func (*GetSchemaResponse) Descriptor() ([]byte, []int) { - return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{18} + return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{19} } func (x *GetSchemaResponse) GetSchemas() []*v11.Schema { @@ -1283,7 +1330,7 @@ type DeleteSchemaResponse struct { func (x *DeleteSchemaResponse) Reset() { *x = DeleteSchemaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[19] + mi := &file_cerbos_response_v1_response_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1296,7 +1343,7 @@ func (x *DeleteSchemaResponse) String() string { func (*DeleteSchemaResponse) ProtoMessage() {} func (x *DeleteSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[19] + mi := &file_cerbos_response_v1_response_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1309,7 +1356,7 @@ func (x *DeleteSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSchemaResponse.ProtoReflect.Descriptor instead. func (*DeleteSchemaResponse) Descriptor() ([]byte, []int) { - return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{19} + return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{20} } func (x *DeleteSchemaResponse) GetDeletedSchemas() uint32 { @@ -1328,7 +1375,7 @@ type ReloadStoreResponse struct { func (x *ReloadStoreResponse) Reset() { *x = ReloadStoreResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[20] + mi := &file_cerbos_response_v1_response_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1341,7 +1388,7 @@ func (x *ReloadStoreResponse) String() string { func (*ReloadStoreResponse) ProtoMessage() {} func (x *ReloadStoreResponse) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[20] + mi := &file_cerbos_response_v1_response_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1354,7 +1401,7 @@ func (x *ReloadStoreResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReloadStoreResponse.ProtoReflect.Descriptor instead. func (*ReloadStoreResponse) Descriptor() ([]byte, []int) { - return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{20} + return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{21} } type PlanResourcesResponse_Meta struct { @@ -1369,7 +1416,7 @@ type PlanResourcesResponse_Meta struct { func (x *PlanResourcesResponse_Meta) Reset() { *x = PlanResourcesResponse_Meta{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[21] + mi := &file_cerbos_response_v1_response_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1382,7 +1429,7 @@ func (x *PlanResourcesResponse_Meta) String() string { func (*PlanResourcesResponse_Meta) ProtoMessage() {} func (x *PlanResourcesResponse_Meta) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[21] + mi := &file_cerbos_response_v1_response_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1424,7 +1471,7 @@ type CheckResourceSetResponse_ActionEffectMap struct { func (x *CheckResourceSetResponse_ActionEffectMap) Reset() { *x = CheckResourceSetResponse_ActionEffectMap{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[22] + mi := &file_cerbos_response_v1_response_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1437,7 +1484,7 @@ func (x *CheckResourceSetResponse_ActionEffectMap) String() string { func (*CheckResourceSetResponse_ActionEffectMap) ProtoMessage() {} func (x *CheckResourceSetResponse_ActionEffectMap) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[22] + mi := &file_cerbos_response_v1_response_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1478,7 +1525,7 @@ type CheckResourceSetResponse_Meta struct { func (x *CheckResourceSetResponse_Meta) Reset() { *x = CheckResourceSetResponse_Meta{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[23] + mi := &file_cerbos_response_v1_response_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1491,7 +1538,7 @@ func (x *CheckResourceSetResponse_Meta) String() string { func (*CheckResourceSetResponse_Meta) ProtoMessage() {} func (x *CheckResourceSetResponse_Meta) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[23] + mi := &file_cerbos_response_v1_response_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1526,7 +1573,7 @@ type CheckResourceSetResponse_Meta_EffectMeta struct { func (x *CheckResourceSetResponse_Meta_EffectMeta) Reset() { *x = CheckResourceSetResponse_Meta_EffectMeta{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[26] + mi := &file_cerbos_response_v1_response_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1539,7 +1586,7 @@ func (x *CheckResourceSetResponse_Meta_EffectMeta) String() string { func (*CheckResourceSetResponse_Meta_EffectMeta) ProtoMessage() {} func (x *CheckResourceSetResponse_Meta_EffectMeta) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[26] + mi := &file_cerbos_response_v1_response_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1581,7 +1628,7 @@ type CheckResourceSetResponse_Meta_ActionMeta struct { func (x *CheckResourceSetResponse_Meta_ActionMeta) Reset() { *x = CheckResourceSetResponse_Meta_ActionMeta{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[27] + mi := &file_cerbos_response_v1_response_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1594,7 +1641,7 @@ func (x *CheckResourceSetResponse_Meta_ActionMeta) String() string { func (*CheckResourceSetResponse_Meta_ActionMeta) ProtoMessage() {} func (x *CheckResourceSetResponse_Meta_ActionMeta) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[27] + mi := &file_cerbos_response_v1_response_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1637,7 +1684,7 @@ type CheckResourceBatchResponse_ActionEffectMap struct { func (x *CheckResourceBatchResponse_ActionEffectMap) Reset() { *x = CheckResourceBatchResponse_ActionEffectMap{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[30] + mi := &file_cerbos_response_v1_response_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1650,7 +1697,7 @@ func (x *CheckResourceBatchResponse_ActionEffectMap) String() string { func (*CheckResourceBatchResponse_ActionEffectMap) ProtoMessage() {} func (x *CheckResourceBatchResponse_ActionEffectMap) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[30] + mi := &file_cerbos_response_v1_response_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1702,7 +1749,7 @@ type CheckResourcesResponse_ResultEntry struct { func (x *CheckResourcesResponse_ResultEntry) Reset() { *x = CheckResourcesResponse_ResultEntry{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[32] + mi := &file_cerbos_response_v1_response_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1715,7 +1762,7 @@ func (x *CheckResourcesResponse_ResultEntry) String() string { func (*CheckResourcesResponse_ResultEntry) ProtoMessage() {} func (x *CheckResourcesResponse_ResultEntry) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[32] + mi := &file_cerbos_response_v1_response_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1780,7 +1827,7 @@ type CheckResourcesResponse_ResultEntry_Resource struct { func (x *CheckResourcesResponse_ResultEntry_Resource) Reset() { *x = CheckResourcesResponse_ResultEntry_Resource{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[33] + mi := &file_cerbos_response_v1_response_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1793,7 +1840,7 @@ func (x *CheckResourcesResponse_ResultEntry_Resource) String() string { func (*CheckResourcesResponse_ResultEntry_Resource) ProtoMessage() {} func (x *CheckResourcesResponse_ResultEntry_Resource) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[33] + mi := &file_cerbos_response_v1_response_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1849,7 +1896,7 @@ type CheckResourcesResponse_ResultEntry_Meta struct { func (x *CheckResourcesResponse_ResultEntry_Meta) Reset() { *x = CheckResourcesResponse_ResultEntry_Meta{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[34] + mi := &file_cerbos_response_v1_response_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1862,7 +1909,7 @@ func (x *CheckResourcesResponse_ResultEntry_Meta) String() string { func (*CheckResourcesResponse_ResultEntry_Meta) ProtoMessage() {} func (x *CheckResourcesResponse_ResultEntry_Meta) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[34] + mi := &file_cerbos_response_v1_response_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1904,7 +1951,7 @@ type CheckResourcesResponse_ResultEntry_Meta_EffectMeta struct { func (x *CheckResourcesResponse_ResultEntry_Meta_EffectMeta) Reset() { *x = CheckResourcesResponse_ResultEntry_Meta_EffectMeta{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[36] + mi := &file_cerbos_response_v1_response_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1917,7 +1964,7 @@ func (x *CheckResourcesResponse_ResultEntry_Meta_EffectMeta) String() string { func (*CheckResourcesResponse_ResultEntry_Meta_EffectMeta) ProtoMessage() {} func (x *CheckResourcesResponse_ResultEntry_Meta_EffectMeta) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[36] + mi := &file_cerbos_response_v1_response_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1960,7 +2007,7 @@ type PlaygroundFailure_ErrorDetails struct { func (x *PlaygroundFailure_ErrorDetails) Reset() { *x = PlaygroundFailure_ErrorDetails{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[38] + mi := &file_cerbos_response_v1_response_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1973,7 +2020,7 @@ func (x *PlaygroundFailure_ErrorDetails) String() string { func (*PlaygroundFailure_ErrorDetails) ProtoMessage() {} func (x *PlaygroundFailure_ErrorDetails) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[38] + mi := &file_cerbos_response_v1_response_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2023,7 +2070,7 @@ type PlaygroundFailure_Error struct { func (x *PlaygroundFailure_Error) Reset() { *x = PlaygroundFailure_Error{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[39] + mi := &file_cerbos_response_v1_response_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2036,7 +2083,7 @@ func (x *PlaygroundFailure_Error) String() string { func (*PlaygroundFailure_Error) ProtoMessage() {} func (x *PlaygroundFailure_Error) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[39] + mi := &file_cerbos_response_v1_response_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2084,7 +2131,7 @@ type PlaygroundTestResponse_TestResults struct { func (x *PlaygroundTestResponse_TestResults) Reset() { *x = PlaygroundTestResponse_TestResults{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[40] + mi := &file_cerbos_response_v1_response_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2097,7 +2144,7 @@ func (x *PlaygroundTestResponse_TestResults) String() string { func (*PlaygroundTestResponse_TestResults) ProtoMessage() {} func (x *PlaygroundTestResponse_TestResults) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[40] + mi := &file_cerbos_response_v1_response_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2137,7 +2184,7 @@ type PlaygroundEvaluateResponse_EvalResult struct { func (x *PlaygroundEvaluateResponse_EvalResult) Reset() { *x = PlaygroundEvaluateResponse_EvalResult{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[41] + mi := &file_cerbos_response_v1_response_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2150,7 +2197,7 @@ func (x *PlaygroundEvaluateResponse_EvalResult) String() string { func (*PlaygroundEvaluateResponse_EvalResult) ProtoMessage() {} func (x *PlaygroundEvaluateResponse_EvalResult) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[41] + mi := &file_cerbos_response_v1_response_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2217,7 +2264,7 @@ type PlaygroundEvaluateResponse_EvalResultList struct { func (x *PlaygroundEvaluateResponse_EvalResultList) Reset() { *x = PlaygroundEvaluateResponse_EvalResultList{} if protoimpl.UnsafeEnabled { - mi := &file_cerbos_response_v1_response_proto_msgTypes[42] + mi := &file_cerbos_response_v1_response_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2230,7 +2277,7 @@ func (x *PlaygroundEvaluateResponse_EvalResultList) String() string { func (*PlaygroundEvaluateResponse_EvalResultList) ProtoMessage() {} func (x *PlaygroundEvaluateResponse_EvalResultList) ProtoReflect() protoreflect.Message { - mi := &file_cerbos_response_v1_response_proto_msgTypes[42] + mi := &file_cerbos_response_v1_response_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2274,6 +2321,53 @@ func (x *PlaygroundEvaluateResponse_EvalResultList) GetOutputs() []*v1.OutputEnt return nil } +type InspectPoliciesResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Actions []string `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` +} + +func (x *InspectPoliciesResponse_Result) Reset() { + *x = InspectPoliciesResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cerbos_response_v1_response_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InspectPoliciesResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InspectPoliciesResponse_Result) ProtoMessage() {} + +func (x *InspectPoliciesResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cerbos_response_v1_response_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InspectPoliciesResponse_Result.ProtoReflect.Descriptor instead. +func (*InspectPoliciesResponse_Result) Descriptor() ([]byte, []int) { + return file_cerbos_response_v1_response_proto_rawDescGZIP(), []int{16, 0} +} + +func (x *InspectPoliciesResponse_Result) GetActions() []string { + if x != nil { + return x.Actions + } + return nil +} + var File_cerbos_response_v1_response_proto protoreflect.FileDescriptor var file_cerbos_response_v1_response_proto_rawDesc = []byte{ @@ -2976,40 +3070,59 @@ var file_cerbos_response_v1_response_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x3a, 0x1d, 0x92, 0x41, 0x1a, 0x0a, 0x18, 0x32, 0x16, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x3a, 0x21, 0x92, 0x41, 0x1e, 0x0a, 0x1c, 0x32, 0x1a, 0x41, 0x64, 0x64, 0x2f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x49, 0x64, 0x73, 0x3a, 0x1f, 0x92, 0x41, 0x1c, 0x0a, - 0x1a, 0x32, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x69, - 0x64, 0x73, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x11, 0x47, - 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x32, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x07, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x73, 0x3a, 0x1d, 0x92, 0x41, 0x1a, 0x0a, 0x18, 0x32, 0x16, 0x47, 0x65, 0x74, - 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x28, 0x73, 0x29, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x61, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x73, 0x3a, 0x20, 0x92, 0x41, 0x1d, 0x0a, 0x1b, 0x32, 0x19, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x28, 0x73, 0x29, 0x20, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x0a, 0x13, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x1c, 0x92, - 0x41, 0x19, 0x0a, 0x17, 0x32, 0x15, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x77, 0x0a, 0x1a, 0x64, - 0x65, 0x76, 0x2e, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2f, 0x63, 0x65, 0x72, - 0x62, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x62, 0x2f, 0x63, 0x65, - 0x72, 0x62, 0x6f, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x76, 0x31, - 0x3b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x76, 0x31, 0xaa, 0x02, 0x16, 0x43, 0x65, - 0x72, 0x62, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x52, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x6e, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x65, 0x72, 0x62, + 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x20, 0x92, 0x41, 0x1d, 0x0a, 0x1b, 0x32, + 0x19, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x19, 0x41, 0x64, + 0x64, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x21, 0x92, 0x41, 0x1e, 0x0a, 0x1c, 0x32, 0x1a, + 0x41, 0x64, 0x64, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x0a, 0x13, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x49, 0x64, 0x73, + 0x3a, 0x1f, 0x92, 0x41, 0x1c, 0x0a, 0x1a, 0x32, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x20, 0x69, 0x64, 0x73, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x66, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, + 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x3a, 0x1d, 0x92, 0x41, 0x1a, 0x0a, + 0x18, 0x32, 0x16, 0x47, 0x65, 0x74, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x28, 0x73, 0x29, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x0a, 0x14, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x3a, 0x20, 0x92, 0x41, 0x1d, 0x0a, + 0x1b, 0x32, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x28, 0x73, 0x29, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x0a, 0x13, + 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x3a, 0x1c, 0x92, 0x41, 0x19, 0x0a, 0x17, 0x32, 0x15, 0x52, 0x65, 0x6c, 0x6f, + 0x61, 0x64, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0x77, 0x0a, 0x1a, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5a, + 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72, 0x62, + 0x6f, 0x73, 0x2f, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, + 0x6e, 0x70, 0x62, 0x2f, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x76, + 0x31, 0xaa, 0x02, 0x16, 0x43, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -3024,7 +3137,7 @@ func file_cerbos_response_v1_response_proto_rawDescGZIP() []byte { return file_cerbos_response_v1_response_proto_rawDescData } -var file_cerbos_response_v1_response_proto_msgTypes = make([]protoimpl.MessageInfo, 43) +var file_cerbos_response_v1_response_proto_msgTypes = make([]protoimpl.MessageInfo, 46) var file_cerbos_response_v1_response_proto_goTypes = []interface{}{ (*PlanResourcesResponse)(nil), // 0: cerbos.response.v1.PlanResourcesResponse (*CheckResourceSetResponse)(nil), // 1: cerbos.response.v1.CheckResourceSetResponse @@ -3042,100 +3155,105 @@ var file_cerbos_response_v1_response_proto_goTypes = []interface{}{ (*GetPolicyResponse)(nil), // 13: cerbos.response.v1.GetPolicyResponse (*DisablePolicyResponse)(nil), // 14: cerbos.response.v1.DisablePolicyResponse (*EnablePolicyResponse)(nil), // 15: cerbos.response.v1.EnablePolicyResponse - (*AddOrUpdateSchemaResponse)(nil), // 16: cerbos.response.v1.AddOrUpdateSchemaResponse - (*ListSchemasResponse)(nil), // 17: cerbos.response.v1.ListSchemasResponse - (*GetSchemaResponse)(nil), // 18: cerbos.response.v1.GetSchemaResponse - (*DeleteSchemaResponse)(nil), // 19: cerbos.response.v1.DeleteSchemaResponse - (*ReloadStoreResponse)(nil), // 20: cerbos.response.v1.ReloadStoreResponse - (*PlanResourcesResponse_Meta)(nil), // 21: cerbos.response.v1.PlanResourcesResponse.Meta - (*CheckResourceSetResponse_ActionEffectMap)(nil), // 22: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap - (*CheckResourceSetResponse_Meta)(nil), // 23: cerbos.response.v1.CheckResourceSetResponse.Meta - nil, // 24: cerbos.response.v1.CheckResourceSetResponse.ResourceInstancesEntry - nil, // 25: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.ActionsEntry - (*CheckResourceSetResponse_Meta_EffectMeta)(nil), // 26: cerbos.response.v1.CheckResourceSetResponse.Meta.EffectMeta - (*CheckResourceSetResponse_Meta_ActionMeta)(nil), // 27: cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta - nil, // 28: cerbos.response.v1.CheckResourceSetResponse.Meta.ResourceInstancesEntry - nil, // 29: cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta.ActionsEntry - (*CheckResourceBatchResponse_ActionEffectMap)(nil), // 30: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap - nil, // 31: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.ActionsEntry - (*CheckResourcesResponse_ResultEntry)(nil), // 32: cerbos.response.v1.CheckResourcesResponse.ResultEntry - (*CheckResourcesResponse_ResultEntry_Resource)(nil), // 33: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource - (*CheckResourcesResponse_ResultEntry_Meta)(nil), // 34: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta - nil, // 35: cerbos.response.v1.CheckResourcesResponse.ResultEntry.ActionsEntry - (*CheckResourcesResponse_ResultEntry_Meta_EffectMeta)(nil), // 36: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.EffectMeta - nil, // 37: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.ActionsEntry - (*PlaygroundFailure_ErrorDetails)(nil), // 38: cerbos.response.v1.PlaygroundFailure.ErrorDetails - (*PlaygroundFailure_Error)(nil), // 39: cerbos.response.v1.PlaygroundFailure.Error - (*PlaygroundTestResponse_TestResults)(nil), // 40: cerbos.response.v1.PlaygroundTestResponse.TestResults - (*PlaygroundEvaluateResponse_EvalResult)(nil), // 41: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult - (*PlaygroundEvaluateResponse_EvalResultList)(nil), // 42: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList - (*v1.PlanResourcesFilter)(nil), // 43: cerbos.engine.v1.PlanResourcesFilter - (*v11.ValidationError)(nil), // 44: cerbos.schema.v1.ValidationError - (*emptypb.Empty)(nil), // 45: google.protobuf.Empty - (*v12.AccessLogEntry)(nil), // 46: cerbos.audit.v1.AccessLogEntry - (*v12.DecisionLogEntry)(nil), // 47: cerbos.audit.v1.DecisionLogEntry - (*v13.Policy)(nil), // 48: cerbos.policy.v1.Policy - (*v11.Schema)(nil), // 49: cerbos.schema.v1.Schema - (v14.Effect)(0), // 50: cerbos.effect.v1.Effect - (*v1.OutputEntry)(nil), // 51: cerbos.engine.v1.OutputEntry - (*v13.TestResults)(nil), // 52: cerbos.policy.v1.TestResults + (*InspectPoliciesResponse)(nil), // 16: cerbos.response.v1.InspectPoliciesResponse + (*AddOrUpdateSchemaResponse)(nil), // 17: cerbos.response.v1.AddOrUpdateSchemaResponse + (*ListSchemasResponse)(nil), // 18: cerbos.response.v1.ListSchemasResponse + (*GetSchemaResponse)(nil), // 19: cerbos.response.v1.GetSchemaResponse + (*DeleteSchemaResponse)(nil), // 20: cerbos.response.v1.DeleteSchemaResponse + (*ReloadStoreResponse)(nil), // 21: cerbos.response.v1.ReloadStoreResponse + (*PlanResourcesResponse_Meta)(nil), // 22: cerbos.response.v1.PlanResourcesResponse.Meta + (*CheckResourceSetResponse_ActionEffectMap)(nil), // 23: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap + (*CheckResourceSetResponse_Meta)(nil), // 24: cerbos.response.v1.CheckResourceSetResponse.Meta + nil, // 25: cerbos.response.v1.CheckResourceSetResponse.ResourceInstancesEntry + nil, // 26: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.ActionsEntry + (*CheckResourceSetResponse_Meta_EffectMeta)(nil), // 27: cerbos.response.v1.CheckResourceSetResponse.Meta.EffectMeta + (*CheckResourceSetResponse_Meta_ActionMeta)(nil), // 28: cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta + nil, // 29: cerbos.response.v1.CheckResourceSetResponse.Meta.ResourceInstancesEntry + nil, // 30: cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta.ActionsEntry + (*CheckResourceBatchResponse_ActionEffectMap)(nil), // 31: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap + nil, // 32: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.ActionsEntry + (*CheckResourcesResponse_ResultEntry)(nil), // 33: cerbos.response.v1.CheckResourcesResponse.ResultEntry + (*CheckResourcesResponse_ResultEntry_Resource)(nil), // 34: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource + (*CheckResourcesResponse_ResultEntry_Meta)(nil), // 35: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta + nil, // 36: cerbos.response.v1.CheckResourcesResponse.ResultEntry.ActionsEntry + (*CheckResourcesResponse_ResultEntry_Meta_EffectMeta)(nil), // 37: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.EffectMeta + nil, // 38: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.ActionsEntry + (*PlaygroundFailure_ErrorDetails)(nil), // 39: cerbos.response.v1.PlaygroundFailure.ErrorDetails + (*PlaygroundFailure_Error)(nil), // 40: cerbos.response.v1.PlaygroundFailure.Error + (*PlaygroundTestResponse_TestResults)(nil), // 41: cerbos.response.v1.PlaygroundTestResponse.TestResults + (*PlaygroundEvaluateResponse_EvalResult)(nil), // 42: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult + (*PlaygroundEvaluateResponse_EvalResultList)(nil), // 43: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList + (*InspectPoliciesResponse_Result)(nil), // 44: cerbos.response.v1.InspectPoliciesResponse.Result + nil, // 45: cerbos.response.v1.InspectPoliciesResponse.ResultsEntry + (*v1.PlanResourcesFilter)(nil), // 46: cerbos.engine.v1.PlanResourcesFilter + (*v11.ValidationError)(nil), // 47: cerbos.schema.v1.ValidationError + (*emptypb.Empty)(nil), // 48: google.protobuf.Empty + (*v12.AccessLogEntry)(nil), // 49: cerbos.audit.v1.AccessLogEntry + (*v12.DecisionLogEntry)(nil), // 50: cerbos.audit.v1.DecisionLogEntry + (*v13.Policy)(nil), // 51: cerbos.policy.v1.Policy + (*v11.Schema)(nil), // 52: cerbos.schema.v1.Schema + (v14.Effect)(0), // 53: cerbos.effect.v1.Effect + (*v1.OutputEntry)(nil), // 54: cerbos.engine.v1.OutputEntry + (*v13.TestResults)(nil), // 55: cerbos.policy.v1.TestResults } var file_cerbos_response_v1_response_proto_depIdxs = []int32{ - 43, // 0: cerbos.response.v1.PlanResourcesResponse.filter:type_name -> cerbos.engine.v1.PlanResourcesFilter - 21, // 1: cerbos.response.v1.PlanResourcesResponse.meta:type_name -> cerbos.response.v1.PlanResourcesResponse.Meta - 44, // 2: cerbos.response.v1.PlanResourcesResponse.validation_errors:type_name -> cerbos.schema.v1.ValidationError - 24, // 3: cerbos.response.v1.CheckResourceSetResponse.resource_instances:type_name -> cerbos.response.v1.CheckResourceSetResponse.ResourceInstancesEntry - 23, // 4: cerbos.response.v1.CheckResourceSetResponse.meta:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta - 30, // 5: cerbos.response.v1.CheckResourceBatchResponse.results:type_name -> cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap - 32, // 6: cerbos.response.v1.CheckResourcesResponse.results:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry - 39, // 7: cerbos.response.v1.PlaygroundFailure.errors:type_name -> cerbos.response.v1.PlaygroundFailure.Error + 46, // 0: cerbos.response.v1.PlanResourcesResponse.filter:type_name -> cerbos.engine.v1.PlanResourcesFilter + 22, // 1: cerbos.response.v1.PlanResourcesResponse.meta:type_name -> cerbos.response.v1.PlanResourcesResponse.Meta + 47, // 2: cerbos.response.v1.PlanResourcesResponse.validation_errors:type_name -> cerbos.schema.v1.ValidationError + 25, // 3: cerbos.response.v1.CheckResourceSetResponse.resource_instances:type_name -> cerbos.response.v1.CheckResourceSetResponse.ResourceInstancesEntry + 24, // 4: cerbos.response.v1.CheckResourceSetResponse.meta:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta + 31, // 5: cerbos.response.v1.CheckResourceBatchResponse.results:type_name -> cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap + 33, // 6: cerbos.response.v1.CheckResourcesResponse.results:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry + 40, // 7: cerbos.response.v1.PlaygroundFailure.errors:type_name -> cerbos.response.v1.PlaygroundFailure.Error 4, // 8: cerbos.response.v1.PlaygroundValidateResponse.failure:type_name -> cerbos.response.v1.PlaygroundFailure - 45, // 9: cerbos.response.v1.PlaygroundValidateResponse.success:type_name -> google.protobuf.Empty + 48, // 9: cerbos.response.v1.PlaygroundValidateResponse.success:type_name -> google.protobuf.Empty 4, // 10: cerbos.response.v1.PlaygroundTestResponse.failure:type_name -> cerbos.response.v1.PlaygroundFailure - 40, // 11: cerbos.response.v1.PlaygroundTestResponse.success:type_name -> cerbos.response.v1.PlaygroundTestResponse.TestResults + 41, // 11: cerbos.response.v1.PlaygroundTestResponse.success:type_name -> cerbos.response.v1.PlaygroundTestResponse.TestResults 4, // 12: cerbos.response.v1.PlaygroundEvaluateResponse.failure:type_name -> cerbos.response.v1.PlaygroundFailure - 42, // 13: cerbos.response.v1.PlaygroundEvaluateResponse.success:type_name -> cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList + 43, // 13: cerbos.response.v1.PlaygroundEvaluateResponse.success:type_name -> cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList 4, // 14: cerbos.response.v1.PlaygroundProxyResponse.failure:type_name -> cerbos.response.v1.PlaygroundFailure 1, // 15: cerbos.response.v1.PlaygroundProxyResponse.check_resource_set:type_name -> cerbos.response.v1.CheckResourceSetResponse 2, // 16: cerbos.response.v1.PlaygroundProxyResponse.check_resource_batch:type_name -> cerbos.response.v1.CheckResourceBatchResponse 0, // 17: cerbos.response.v1.PlaygroundProxyResponse.plan_resources:type_name -> cerbos.response.v1.PlanResourcesResponse 3, // 18: cerbos.response.v1.PlaygroundProxyResponse.check_resources:type_name -> cerbos.response.v1.CheckResourcesResponse - 45, // 19: cerbos.response.v1.AddOrUpdatePolicyResponse.success:type_name -> google.protobuf.Empty - 46, // 20: cerbos.response.v1.ListAuditLogEntriesResponse.access_log_entry:type_name -> cerbos.audit.v1.AccessLogEntry - 47, // 21: cerbos.response.v1.ListAuditLogEntriesResponse.decision_log_entry:type_name -> cerbos.audit.v1.DecisionLogEntry - 48, // 22: cerbos.response.v1.GetPolicyResponse.policies:type_name -> cerbos.policy.v1.Policy - 49, // 23: cerbos.response.v1.GetSchemaResponse.schemas:type_name -> cerbos.schema.v1.Schema - 25, // 24: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.actions:type_name -> cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.ActionsEntry - 44, // 25: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.validation_errors:type_name -> cerbos.schema.v1.ValidationError - 28, // 26: cerbos.response.v1.CheckResourceSetResponse.Meta.resource_instances:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta.ResourceInstancesEntry - 22, // 27: cerbos.response.v1.CheckResourceSetResponse.ResourceInstancesEntry.value:type_name -> cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap - 50, // 28: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.ActionsEntry.value:type_name -> cerbos.effect.v1.Effect - 29, // 29: cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta.actions:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta.ActionsEntry - 27, // 30: cerbos.response.v1.CheckResourceSetResponse.Meta.ResourceInstancesEntry.value:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta - 26, // 31: cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta.ActionsEntry.value:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta.EffectMeta - 31, // 32: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.actions:type_name -> cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.ActionsEntry - 44, // 33: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.validation_errors:type_name -> cerbos.schema.v1.ValidationError - 50, // 34: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.ActionsEntry.value:type_name -> cerbos.effect.v1.Effect - 33, // 35: cerbos.response.v1.CheckResourcesResponse.ResultEntry.resource:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource - 35, // 36: cerbos.response.v1.CheckResourcesResponse.ResultEntry.actions:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.ActionsEntry - 44, // 37: cerbos.response.v1.CheckResourcesResponse.ResultEntry.validation_errors:type_name -> cerbos.schema.v1.ValidationError - 34, // 38: cerbos.response.v1.CheckResourcesResponse.ResultEntry.meta:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta - 51, // 39: cerbos.response.v1.CheckResourcesResponse.ResultEntry.outputs:type_name -> cerbos.engine.v1.OutputEntry - 37, // 40: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.actions:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.ActionsEntry - 50, // 41: cerbos.response.v1.CheckResourcesResponse.ResultEntry.ActionsEntry.value:type_name -> cerbos.effect.v1.Effect - 36, // 42: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.ActionsEntry.value:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.EffectMeta - 38, // 43: cerbos.response.v1.PlaygroundFailure.Error.details:type_name -> cerbos.response.v1.PlaygroundFailure.ErrorDetails - 52, // 44: cerbos.response.v1.PlaygroundTestResponse.TestResults.results:type_name -> cerbos.policy.v1.TestResults - 50, // 45: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.effect:type_name -> cerbos.effect.v1.Effect - 44, // 46: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.validation_errors:type_name -> cerbos.schema.v1.ValidationError - 41, // 47: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList.results:type_name -> cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult - 44, // 48: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList.validation_errors:type_name -> cerbos.schema.v1.ValidationError - 51, // 49: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList.outputs:type_name -> cerbos.engine.v1.OutputEntry - 50, // [50:50] is the sub-list for method output_type - 50, // [50:50] is the sub-list for method input_type - 50, // [50:50] is the sub-list for extension type_name - 50, // [50:50] is the sub-list for extension extendee - 0, // [0:50] is the sub-list for field type_name + 48, // 19: cerbos.response.v1.AddOrUpdatePolicyResponse.success:type_name -> google.protobuf.Empty + 49, // 20: cerbos.response.v1.ListAuditLogEntriesResponse.access_log_entry:type_name -> cerbos.audit.v1.AccessLogEntry + 50, // 21: cerbos.response.v1.ListAuditLogEntriesResponse.decision_log_entry:type_name -> cerbos.audit.v1.DecisionLogEntry + 51, // 22: cerbos.response.v1.GetPolicyResponse.policies:type_name -> cerbos.policy.v1.Policy + 45, // 23: cerbos.response.v1.InspectPoliciesResponse.results:type_name -> cerbos.response.v1.InspectPoliciesResponse.ResultsEntry + 52, // 24: cerbos.response.v1.GetSchemaResponse.schemas:type_name -> cerbos.schema.v1.Schema + 26, // 25: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.actions:type_name -> cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.ActionsEntry + 47, // 26: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.validation_errors:type_name -> cerbos.schema.v1.ValidationError + 29, // 27: cerbos.response.v1.CheckResourceSetResponse.Meta.resource_instances:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta.ResourceInstancesEntry + 23, // 28: cerbos.response.v1.CheckResourceSetResponse.ResourceInstancesEntry.value:type_name -> cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap + 53, // 29: cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap.ActionsEntry.value:type_name -> cerbos.effect.v1.Effect + 30, // 30: cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta.actions:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta.ActionsEntry + 28, // 31: cerbos.response.v1.CheckResourceSetResponse.Meta.ResourceInstancesEntry.value:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta + 27, // 32: cerbos.response.v1.CheckResourceSetResponse.Meta.ActionMeta.ActionsEntry.value:type_name -> cerbos.response.v1.CheckResourceSetResponse.Meta.EffectMeta + 32, // 33: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.actions:type_name -> cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.ActionsEntry + 47, // 34: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.validation_errors:type_name -> cerbos.schema.v1.ValidationError + 53, // 35: cerbos.response.v1.CheckResourceBatchResponse.ActionEffectMap.ActionsEntry.value:type_name -> cerbos.effect.v1.Effect + 34, // 36: cerbos.response.v1.CheckResourcesResponse.ResultEntry.resource:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.Resource + 36, // 37: cerbos.response.v1.CheckResourcesResponse.ResultEntry.actions:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.ActionsEntry + 47, // 38: cerbos.response.v1.CheckResourcesResponse.ResultEntry.validation_errors:type_name -> cerbos.schema.v1.ValidationError + 35, // 39: cerbos.response.v1.CheckResourcesResponse.ResultEntry.meta:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta + 54, // 40: cerbos.response.v1.CheckResourcesResponse.ResultEntry.outputs:type_name -> cerbos.engine.v1.OutputEntry + 38, // 41: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.actions:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.ActionsEntry + 53, // 42: cerbos.response.v1.CheckResourcesResponse.ResultEntry.ActionsEntry.value:type_name -> cerbos.effect.v1.Effect + 37, // 43: cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.ActionsEntry.value:type_name -> cerbos.response.v1.CheckResourcesResponse.ResultEntry.Meta.EffectMeta + 39, // 44: cerbos.response.v1.PlaygroundFailure.Error.details:type_name -> cerbos.response.v1.PlaygroundFailure.ErrorDetails + 55, // 45: cerbos.response.v1.PlaygroundTestResponse.TestResults.results:type_name -> cerbos.policy.v1.TestResults + 53, // 46: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.effect:type_name -> cerbos.effect.v1.Effect + 47, // 47: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult.validation_errors:type_name -> cerbos.schema.v1.ValidationError + 42, // 48: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList.results:type_name -> cerbos.response.v1.PlaygroundEvaluateResponse.EvalResult + 47, // 49: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList.validation_errors:type_name -> cerbos.schema.v1.ValidationError + 54, // 50: cerbos.response.v1.PlaygroundEvaluateResponse.EvalResultList.outputs:type_name -> cerbos.engine.v1.OutputEntry + 44, // 51: cerbos.response.v1.InspectPoliciesResponse.ResultsEntry.value:type_name -> cerbos.response.v1.InspectPoliciesResponse.Result + 52, // [52:52] is the sub-list for method output_type + 52, // [52:52] is the sub-list for method input_type + 52, // [52:52] is the sub-list for extension type_name + 52, // [52:52] is the sub-list for extension extendee + 0, // [0:52] is the sub-list for field type_name } func init() { file_cerbos_response_v1_response_proto_init() } @@ -3337,7 +3455,7 @@ func file_cerbos_response_v1_response_proto_init() { } } file_cerbos_response_v1_response_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddOrUpdateSchemaResponse); i { + switch v := v.(*InspectPoliciesResponse); i { case 0: return &v.state case 1: @@ -3349,7 +3467,7 @@ func file_cerbos_response_v1_response_proto_init() { } } file_cerbos_response_v1_response_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSchemasResponse); i { + switch v := v.(*AddOrUpdateSchemaResponse); i { case 0: return &v.state case 1: @@ -3361,7 +3479,7 @@ func file_cerbos_response_v1_response_proto_init() { } } file_cerbos_response_v1_response_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaResponse); i { + switch v := v.(*ListSchemasResponse); i { case 0: return &v.state case 1: @@ -3373,7 +3491,7 @@ func file_cerbos_response_v1_response_proto_init() { } } file_cerbos_response_v1_response_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteSchemaResponse); i { + switch v := v.(*GetSchemaResponse); i { case 0: return &v.state case 1: @@ -3385,7 +3503,7 @@ func file_cerbos_response_v1_response_proto_init() { } } file_cerbos_response_v1_response_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReloadStoreResponse); i { + switch v := v.(*DeleteSchemaResponse); i { case 0: return &v.state case 1: @@ -3397,7 +3515,7 @@ func file_cerbos_response_v1_response_proto_init() { } } file_cerbos_response_v1_response_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlanResourcesResponse_Meta); i { + switch v := v.(*ReloadStoreResponse); i { case 0: return &v.state case 1: @@ -3409,7 +3527,7 @@ func file_cerbos_response_v1_response_proto_init() { } } file_cerbos_response_v1_response_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckResourceSetResponse_ActionEffectMap); i { + switch v := v.(*PlanResourcesResponse_Meta); i { case 0: return &v.state case 1: @@ -3421,6 +3539,18 @@ func file_cerbos_response_v1_response_proto_init() { } } file_cerbos_response_v1_response_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckResourceSetResponse_ActionEffectMap); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cerbos_response_v1_response_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourceSetResponse_Meta); i { case 0: return &v.state @@ -3432,7 +3562,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourceSetResponse_Meta_EffectMeta); i { case 0: return &v.state @@ -3444,7 +3574,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourceSetResponse_Meta_ActionMeta); i { case 0: return &v.state @@ -3456,7 +3586,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourceBatchResponse_ActionEffectMap); i { case 0: return &v.state @@ -3468,7 +3598,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourcesResponse_ResultEntry); i { case 0: return &v.state @@ -3480,7 +3610,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourcesResponse_ResultEntry_Resource); i { case 0: return &v.state @@ -3492,7 +3622,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourcesResponse_ResultEntry_Meta); i { case 0: return &v.state @@ -3504,7 +3634,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResourcesResponse_ResultEntry_Meta_EffectMeta); i { case 0: return &v.state @@ -3516,7 +3646,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlaygroundFailure_ErrorDetails); i { case 0: return &v.state @@ -3528,7 +3658,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlaygroundFailure_Error); i { case 0: return &v.state @@ -3540,7 +3670,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlaygroundTestResponse_TestResults); i { case 0: return &v.state @@ -3552,7 +3682,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlaygroundEvaluateResponse_EvalResult); i { case 0: return &v.state @@ -3564,7 +3694,7 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } - file_cerbos_response_v1_response_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_cerbos_response_v1_response_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlaygroundEvaluateResponse_EvalResultList); i { case 0: return &v.state @@ -3576,6 +3706,18 @@ func file_cerbos_response_v1_response_proto_init() { return nil } } + file_cerbos_response_v1_response_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InspectPoliciesResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_cerbos_response_v1_response_proto_msgTypes[5].OneofWrappers = []interface{}{ (*PlaygroundValidateResponse_Failure)(nil), @@ -3606,7 +3748,7 @@ func file_cerbos_response_v1_response_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cerbos_response_v1_response_proto_rawDesc, NumEnums: 0, - NumMessages: 43, + NumMessages: 46, NumExtensions: 0, NumServices: 0, }, diff --git a/api/genpb/cerbos/response/v1/response_hashpb.pb.go b/api/genpb/cerbos/response/v1/response_hashpb.pb.go index 80006f9ddf..54d88b74fd 100644 --- a/api/genpb/cerbos/response/v1/response_hashpb.pb.go +++ b/api/genpb/cerbos/response/v1/response_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/response/v1/response.proto package responsev1 @@ -256,6 +256,22 @@ func (m *EnablePolicyResponse) HashPB(hasher hash.Hash, ignore map[string]struct } } +// HashPB computes a hash of the message using the given hash function +// The ignore set must contain fully-qualified field names (pkg.msg.field) that should be ignored from the hash +func (m *InspectPoliciesResponse) HashPB(hasher hash.Hash, ignore map[string]struct{}) { + if m != nil { + cerbos_response_v1_InspectPoliciesResponse_hashpb_sum(m, hasher, ignore) + } +} + +// HashPB computes a hash of the message using the given hash function +// The ignore set must contain fully-qualified field names (pkg.msg.field) that should be ignored from the hash +func (m *InspectPoliciesResponse_Result) HashPB(hasher hash.Hash, ignore map[string]struct{}) { + if m != nil { + cerbos_response_v1_InspectPoliciesResponse_Result_hashpb_sum(m, hasher, ignore) + } +} + // HashPB computes a hash of the message using the given hash function // The ignore set must contain fully-qualified field names (pkg.msg.field) that should be ignored from the hash func (m *ListSchemasResponse) HashPB(hasher hash.Hash, ignore map[string]struct{}) { diff --git a/api/genpb/cerbos/response/v1/response_vtproto.pb.go b/api/genpb/cerbos/response/v1/response_vtproto.pb.go index c03733f2e6..1d6c90f3f6 100644 --- a/api/genpb/cerbos/response/v1/response_vtproto.pb.go +++ b/api/genpb/cerbos/response/v1/response_vtproto.pb.go @@ -2166,6 +2166,103 @@ func (m *EnablePolicyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *InspectPoliciesResponse_Result) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *InspectPoliciesResponse_Result) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *InspectPoliciesResponse_Result) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Actions) > 0 { + for iNdEx := len(m.Actions) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Actions[iNdEx]) + copy(dAtA[i:], m.Actions[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Actions[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *InspectPoliciesResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *InspectPoliciesResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *InspectPoliciesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Results) > 0 { + for k := range m.Results { + v := m.Results[k] + baseI := i + size, err := v.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func (m *AddOrUpdateSchemaResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -3287,6 +3384,45 @@ func (m *EnablePolicyResponse) SizeVT() (n int) { return n } +func (m *InspectPoliciesResponse_Result) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Actions) > 0 { + for _, s := range m.Actions { + l = len(s) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *InspectPoliciesResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Results) > 0 { + for k, v := range m.Results { + _ = k + _ = v + l = 0 + if v != nil { + l = v.SizeVT() + } + l += 1 + protohelpers.SizeOfVarint(uint64(l)) + mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l + n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize)) + } + } + n += len(m.unknownFields) + return n +} + func (m *AddOrUpdateSchemaResponse) SizeVT() (n int) { if m == nil { return 0 @@ -8456,6 +8592,269 @@ func (m *EnablePolicyResponse) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *InspectPoliciesResponse_Result) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: InspectPoliciesResponse_Result: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InspectPoliciesResponse_Result: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Actions", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Actions = append(m.Actions, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *InspectPoliciesResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: InspectPoliciesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InspectPoliciesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Results == nil { + m.Results = make(map[string]*InspectPoliciesResponse_Result) + } + var mapkey string + var mapvalue *InspectPoliciesResponse_Result + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protohelpers.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protohelpers.ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return protohelpers.ErrInvalidLength + } + postmsgIndex := iNdEx + mapmsglen + if postmsgIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = &InspectPoliciesResponse_Result{} + if err := mapvalue.UnmarshalVT(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Results[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *AddOrUpdateSchemaResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/api/genpb/cerbos/runtime/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/runtime/v1/hashpb_helpers.pb.go index c52bad0958..6eb95c12bb 100644 --- a/api/genpb/cerbos/runtime/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/runtime/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package runtimev1 @@ -30,12 +30,12 @@ func cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m *v1.Schemas_IgnoreWhen, ha func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *v1.Schemas_Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ref"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Ref)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetRef())) } if _, ok := ignore["cerbos.policy.v1.Schemas.Schema.ignore_when"]; !ok { - if m.IgnoreWhen != nil { - cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.IgnoreWhen, hasher, ignore) + if m.GetIgnoreWhen() != nil { + cerbos_policy_v1_Schemas_IgnoreWhen_hashpb_sum(m.GetIgnoreWhen(), hasher, ignore) } } @@ -43,14 +43,14 @@ func cerbos_policy_v1_Schemas_Schema_hashpb_sum(m *v1.Schemas_Schema, hasher has func cerbos_policy_v1_Schemas_hashpb_sum(m *v1.Schemas, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.policy.v1.Schemas.principal_schema"]; !ok { - if m.PrincipalSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.PrincipalSchema, hasher, ignore) + if m.GetPrincipalSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetPrincipalSchema(), hasher, ignore) } } if _, ok := ignore["cerbos.policy.v1.Schemas.resource_schema"]; !ok { - if m.ResourceSchema != nil { - cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.ResourceSchema, hasher, ignore) + if m.GetResourceSchema() != nil { + cerbos_policy_v1_Schemas_Schema_hashpb_sum(m.GetResourceSchema(), hasher, ignore) } } @@ -80,25 +80,25 @@ func cerbos_policy_v1_SourceAttributes_hashpb_sum(m *v1.SourceAttributes, hasher func cerbos_runtime_v1_CompileErrors_Err_hashpb_sum(m *CompileErrors_Err, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.description"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Description)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDescription())) } if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } if _, ok := ignore["cerbos.runtime.v1.CompileErrors.Err.context"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Context)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetContext())) } } @@ -179,12 +179,12 @@ func cerbos_runtime_v1_Errors_hashpb_sum(m *Errors, hasher hash.Hash, ignore map func cerbos_runtime_v1_Expr_hashpb_sum(m *Expr, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.Expr.original"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Original)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetOriginal())) } if _, ok := ignore["cerbos.runtime.v1.Expr.checked"]; !ok { - if m.Checked != nil { - google_api_expr_v1alpha1_CheckedExpr_hashpb_sum(m.Checked, hasher, ignore) + if m.GetChecked() != nil { + google_api_expr_v1alpha1_CheckedExpr_hashpb_sum(m.GetChecked(), hasher, ignore) } } @@ -192,16 +192,16 @@ func cerbos_runtime_v1_Expr_hashpb_sum(m *Expr, hasher hash.Hash, ignore map[str func cerbos_runtime_v1_IndexBuildErrors_Disabled_hashpb_sum(m *IndexBuildErrors_Disabled, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.Disabled.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.Disabled.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.Disabled.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } @@ -209,20 +209,20 @@ func cerbos_runtime_v1_IndexBuildErrors_Disabled_hashpb_sum(m *IndexBuildErrors_ func cerbos_runtime_v1_IndexBuildErrors_DuplicateDef_hashpb_sum(m *IndexBuildErrors_DuplicateDef, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.DuplicateDef.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.DuplicateDef.other_file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.OtherFile)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetOtherFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.DuplicateDef.policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Policy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPolicy())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.DuplicateDef.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } @@ -230,16 +230,16 @@ func cerbos_runtime_v1_IndexBuildErrors_DuplicateDef_hashpb_sum(m *IndexBuildErr func cerbos_runtime_v1_IndexBuildErrors_LoadFailure_hashpb_sum(m *IndexBuildErrors_LoadFailure, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.LoadFailure.file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.File)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.LoadFailure.error"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Error)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetError())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.LoadFailure.error_details"]; !ok { - if m.ErrorDetails != nil { - cerbos_source_v1_Error_hashpb_sum(m.ErrorDetails, hasher, ignore) + if m.GetErrorDetails() != nil { + cerbos_source_v1_Error_hashpb_sum(m.GetErrorDetails(), hasher, ignore) } } @@ -247,33 +247,33 @@ func cerbos_runtime_v1_IndexBuildErrors_LoadFailure_hashpb_sum(m *IndexBuildErro func cerbos_runtime_v1_IndexBuildErrors_MissingImport_hashpb_sum(m *IndexBuildErrors_MissingImport, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.importing_file"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ImportingFile)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetImportingFile())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.desc"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Desc)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDesc())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.importing_policy"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ImportingPolicy)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetImportingPolicy())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.import_kind"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ImportKind)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetImportKind())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.import_name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ImportName)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetImportName())) } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } if _, ok := ignore["cerbos.runtime.v1.IndexBuildErrors.MissingImport.context"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Context)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetContext())) } } @@ -339,14 +339,14 @@ func cerbos_runtime_v1_IndexBuildErrors_hashpb_sum(m *IndexBuildErrors, hasher h func cerbos_runtime_v1_Output_When_hashpb_sum(m *Output_When, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.Output.When.rule_activated"]; !ok { - if m.RuleActivated != nil { - cerbos_runtime_v1_Expr_hashpb_sum(m.RuleActivated, hasher, ignore) + if m.GetRuleActivated() != nil { + cerbos_runtime_v1_Expr_hashpb_sum(m.GetRuleActivated(), hasher, ignore) } } if _, ok := ignore["cerbos.runtime.v1.Output.When.condition_not_met"]; !ok { - if m.ConditionNotMet != nil { - cerbos_runtime_v1_Expr_hashpb_sum(m.ConditionNotMet, hasher, ignore) + if m.GetConditionNotMet() != nil { + cerbos_runtime_v1_Expr_hashpb_sum(m.GetConditionNotMet(), hasher, ignore) } } @@ -354,8 +354,8 @@ func cerbos_runtime_v1_Output_When_hashpb_sum(m *Output_When, hasher hash.Hash, func cerbos_runtime_v1_Output_hashpb_sum(m *Output, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.Output.when"]; !ok { - if m.When != nil { - cerbos_runtime_v1_Output_When_hashpb_sum(m.When, hasher, ignore) + if m.GetWhen() != nil { + cerbos_runtime_v1_Output_When_hashpb_sum(m.GetWhen(), hasher, ignore) } } @@ -363,7 +363,7 @@ func cerbos_runtime_v1_Output_hashpb_sum(m *Output, hasher hash.Hash, ignore map func cerbos_runtime_v1_RunnableDerivedRole_hashpb_sum(m *RunnableDerivedRole, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnableDerivedRole.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.runtime.v1.RunnableDerivedRole.parent_roles"]; !ok { @@ -405,8 +405,8 @@ func cerbos_runtime_v1_RunnableDerivedRole_hashpb_sum(m *RunnableDerivedRole, ha } } if _, ok := ignore["cerbos.runtime.v1.RunnableDerivedRole.condition"]; !ok { - if m.Condition != nil { - cerbos_runtime_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_runtime_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } @@ -424,7 +424,7 @@ func cerbos_runtime_v1_RunnableDerivedRole_hashpb_sum(m *RunnableDerivedRole, ha func cerbos_runtime_v1_RunnableDerivedRolesSet_Metadata_hashpb_sum(m *RunnableDerivedRolesSet_Metadata, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnableDerivedRolesSet.Metadata.fqn"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Fqn)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFqn())) } if _, ok := ignore["cerbos.runtime.v1.RunnableDerivedRolesSet.Metadata.annotations"]; !ok { @@ -448,8 +448,8 @@ func cerbos_runtime_v1_RunnableDerivedRolesSet_Metadata_hashpb_sum(m *RunnableDe func cerbos_runtime_v1_RunnableDerivedRolesSet_hashpb_sum(m *RunnableDerivedRolesSet, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnableDerivedRolesSet.meta"]; !ok { - if m.Meta != nil { - cerbos_runtime_v1_RunnableDerivedRolesSet_Metadata_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_runtime_v1_RunnableDerivedRolesSet_Metadata_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -476,7 +476,7 @@ func cerbos_runtime_v1_RunnableDerivedRolesSet_hashpb_sum(m *RunnableDerivedRole func cerbos_runtime_v1_RunnablePolicySet_hashpb_sum(m *RunnablePolicySet, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnablePolicySet.fqn"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Fqn)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFqn())) } if m.PolicySet != nil { @@ -506,22 +506,22 @@ func cerbos_runtime_v1_RunnablePolicySet_hashpb_sum(m *RunnablePolicySet, hasher } } if _, ok := ignore["cerbos.runtime.v1.RunnablePolicySet.compiler_version"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.CompilerVersion))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetCompilerVersion()))) } } func cerbos_runtime_v1_RunnablePrincipalPolicySet_Metadata_hashpb_sum(m *RunnablePrincipalPolicySet_Metadata, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Metadata.fqn"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Fqn)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFqn())) } if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Metadata.principal"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Principal)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPrincipal())) } if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Metadata.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Metadata.source_attributes"]; !ok { @@ -564,32 +564,32 @@ func cerbos_runtime_v1_RunnablePrincipalPolicySet_Metadata_hashpb_sum(m *Runnabl func cerbos_runtime_v1_RunnablePrincipalPolicySet_Policy_ActionRule_hashpb_sum(m *RunnablePrincipalPolicySet_Policy_ActionRule, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Policy.ActionRule.action"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Action)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAction())) } if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Policy.ActionRule.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Policy.ActionRule.condition"]; !ok { - if m.Condition != nil { - cerbos_runtime_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_runtime_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Policy.ActionRule.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Policy.ActionRule.output"]; !ok { - if m.Output != nil { - cerbos_runtime_v1_Expr_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_runtime_v1_Expr_hashpb_sum(m.GetOutput(), hasher, ignore) } } if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Policy.ActionRule.emit_output"]; !ok { - if m.EmitOutput != nil { - cerbos_runtime_v1_Output_hashpb_sum(m.EmitOutput, hasher, ignore) + if m.GetEmitOutput() != nil { + cerbos_runtime_v1_Output_hashpb_sum(m.GetEmitOutput(), hasher, ignore) } } @@ -610,7 +610,7 @@ func cerbos_runtime_v1_RunnablePrincipalPolicySet_Policy_ResourceRules_hashpb_su func cerbos_runtime_v1_RunnablePrincipalPolicySet_Policy_hashpb_sum(m *RunnablePrincipalPolicySet_Policy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Policy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.Policy.variables"]; !ok { @@ -665,8 +665,8 @@ func cerbos_runtime_v1_RunnablePrincipalPolicySet_Policy_hashpb_sum(m *RunnableP func cerbos_runtime_v1_RunnablePrincipalPolicySet_hashpb_sum(m *RunnablePrincipalPolicySet, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnablePrincipalPolicySet.meta"]; !ok { - if m.Meta != nil { - cerbos_runtime_v1_RunnablePrincipalPolicySet_Metadata_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_runtime_v1_RunnablePrincipalPolicySet_Metadata_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -684,15 +684,15 @@ func cerbos_runtime_v1_RunnablePrincipalPolicySet_hashpb_sum(m *RunnablePrincipa func cerbos_runtime_v1_RunnableResourcePolicySet_Metadata_hashpb_sum(m *RunnableResourcePolicySet_Metadata, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Metadata.fqn"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Fqn)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFqn())) } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Metadata.resource"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Resource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetResource())) } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Metadata.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Metadata.source_attributes"]; !ok { @@ -735,7 +735,7 @@ func cerbos_runtime_v1_RunnableResourcePolicySet_Metadata_hashpb_sum(m *Runnable func cerbos_runtime_v1_RunnableResourcePolicySet_Policy_Rule_hashpb_sum(m *RunnableResourcePolicySet_Policy_Rule, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Policy.Rule.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Policy.Rule.actions"]; !ok { @@ -796,24 +796,24 @@ func cerbos_runtime_v1_RunnableResourcePolicySet_Policy_Rule_hashpb_sum(m *Runna } } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Policy.Rule.condition"]; !ok { - if m.Condition != nil { - cerbos_runtime_v1_Condition_hashpb_sum(m.Condition, hasher, ignore) + if m.GetCondition() != nil { + cerbos_runtime_v1_Condition_hashpb_sum(m.GetCondition(), hasher, ignore) } } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Policy.Rule.effect"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Effect))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetEffect()))) } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Policy.Rule.output"]; !ok { - if m.Output != nil { - cerbos_runtime_v1_Expr_hashpb_sum(m.Output, hasher, ignore) + if m.GetOutput() != nil { + cerbos_runtime_v1_Expr_hashpb_sum(m.GetOutput(), hasher, ignore) } } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Policy.Rule.emit_output"]; !ok { - if m.EmitOutput != nil { - cerbos_runtime_v1_Output_hashpb_sum(m.EmitOutput, hasher, ignore) + if m.GetEmitOutput() != nil { + cerbos_runtime_v1_Output_hashpb_sum(m.GetEmitOutput(), hasher, ignore) } } @@ -821,7 +821,7 @@ func cerbos_runtime_v1_RunnableResourcePolicySet_Policy_Rule_hashpb_sum(m *Runna func cerbos_runtime_v1_RunnableResourcePolicySet_Policy_hashpb_sum(m *RunnableResourcePolicySet_Policy, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Policy.scope"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Scope)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetScope())) } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Policy.derived_roles"]; !ok { @@ -873,8 +873,8 @@ func cerbos_runtime_v1_RunnableResourcePolicySet_Policy_hashpb_sum(m *RunnableRe } } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.Policy.schemas"]; !ok { - if m.Schemas != nil { - cerbos_policy_v1_Schemas_hashpb_sum(m.Schemas, hasher, ignore) + if m.GetSchemas() != nil { + cerbos_policy_v1_Schemas_hashpb_sum(m.GetSchemas(), hasher, ignore) } } @@ -892,8 +892,8 @@ func cerbos_runtime_v1_RunnableResourcePolicySet_Policy_hashpb_sum(m *RunnableRe func cerbos_runtime_v1_RunnableResourcePolicySet_hashpb_sum(m *RunnableResourcePolicySet, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.meta"]; !ok { - if m.Meta != nil { - cerbos_runtime_v1_RunnableResourcePolicySet_Metadata_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_runtime_v1_RunnableResourcePolicySet_Metadata_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -908,8 +908,8 @@ func cerbos_runtime_v1_RunnableResourcePolicySet_hashpb_sum(m *RunnableResourceP } } if _, ok := ignore["cerbos.runtime.v1.RunnableResourcePolicySet.schemas"]; !ok { - if m.Schemas != nil { - cerbos_policy_v1_Schemas_hashpb_sum(m.Schemas, hasher, ignore) + if m.GetSchemas() != nil { + cerbos_policy_v1_Schemas_hashpb_sum(m.GetSchemas(), hasher, ignore) } } @@ -917,7 +917,7 @@ func cerbos_runtime_v1_RunnableResourcePolicySet_hashpb_sum(m *RunnableResourceP func cerbos_runtime_v1_RunnableVariablesSet_Metadata_hashpb_sum(m *RunnableVariablesSet_Metadata, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnableVariablesSet.Metadata.fqn"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Fqn)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFqn())) } if _, ok := ignore["cerbos.runtime.v1.RunnableVariablesSet.Metadata.annotations"]; !ok { @@ -941,8 +941,8 @@ func cerbos_runtime_v1_RunnableVariablesSet_Metadata_hashpb_sum(m *RunnableVaria func cerbos_runtime_v1_RunnableVariablesSet_hashpb_sum(m *RunnableVariablesSet, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.RunnableVariablesSet.meta"]; !ok { - if m.Meta != nil { - cerbos_runtime_v1_RunnableVariablesSet_Metadata_hashpb_sum(m.Meta, hasher, ignore) + if m.GetMeta() != nil { + cerbos_runtime_v1_RunnableVariablesSet_Metadata_hashpb_sum(m.GetMeta(), hasher, ignore) } } @@ -969,12 +969,12 @@ func cerbos_runtime_v1_RunnableVariablesSet_hashpb_sum(m *RunnableVariablesSet, func cerbos_runtime_v1_Variable_hashpb_sum(m *Variable, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.runtime.v1.Variable.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["cerbos.runtime.v1.Variable.expr"]; !ok { - if m.Expr != nil { - cerbos_runtime_v1_Expr_hashpb_sum(m.Expr, hasher, ignore) + if m.GetExpr() != nil { + cerbos_runtime_v1_Expr_hashpb_sum(m.GetExpr(), hasher, ignore) } } @@ -982,36 +982,36 @@ func cerbos_runtime_v1_Variable_hashpb_sum(m *Variable, hasher hash.Hash, ignore func cerbos_source_v1_Error_hashpb_sum(m *v11.Error, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.source.v1.Error.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if _, ok := ignore["cerbos.source.v1.Error.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } if _, ok := ignore["cerbos.source.v1.Error.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.source.v1.Error.context"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Context)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetContext())) } } func cerbos_source_v1_Position_hashpb_sum(m *v11.Position, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.source.v1.Position.line"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Line))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetLine()))) } if _, ok := ignore["cerbos.source.v1.Position.column"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Column))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetColumn()))) } if _, ok := ignore["cerbos.source.v1.Position.path"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Path)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPath())) } } @@ -1056,19 +1056,19 @@ func google_api_expr_v1alpha1_CheckedExpr_hashpb_sum(m *v1alpha1.CheckedExpr, ha } } if _, ok := ignore["google.api.expr.v1alpha1.CheckedExpr.expr"]; !ok { - if m.Expr != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Expr, hasher, ignore) + if m.GetExpr() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetExpr(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.CheckedExpr.source_info"]; !ok { - if m.SourceInfo != nil { - google_api_expr_v1alpha1_SourceInfo_hashpb_sum(m.SourceInfo, hasher, ignore) + if m.GetSourceInfo() != nil { + google_api_expr_v1alpha1_SourceInfo_hashpb_sum(m.GetSourceInfo(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.CheckedExpr.expr_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ExprVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetExprVersion())) } } @@ -1115,13 +1115,13 @@ func google_api_expr_v1alpha1_Constant_hashpb_sum(m *v1alpha1.Constant, hasher h func google_api_expr_v1alpha1_Expr_Call_hashpb_sum(m *v1alpha1.Expr_Call, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.Call.target"]; !ok { - if m.Target != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Target, hasher, ignore) + if m.GetTarget() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetTarget(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Call.function"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Function)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetFunction())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Call.args"]; !ok { @@ -1138,40 +1138,40 @@ func google_api_expr_v1alpha1_Expr_Call_hashpb_sum(m *v1alpha1.Expr_Call, hasher func google_api_expr_v1alpha1_Expr_Comprehension_hashpb_sum(m *v1alpha1.Expr_Comprehension, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.iter_var"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.IterVar)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetIterVar())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.iter_range"]; !ok { - if m.IterRange != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.IterRange, hasher, ignore) + if m.GetIterRange() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetIterRange(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.accu_var"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.AccuVar)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetAccuVar())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.accu_init"]; !ok { - if m.AccuInit != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.AccuInit, hasher, ignore) + if m.GetAccuInit() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetAccuInit(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.loop_condition"]; !ok { - if m.LoopCondition != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.LoopCondition, hasher, ignore) + if m.GetLoopCondition() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetLoopCondition(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.loop_step"]; !ok { - if m.LoopStep != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.LoopStep, hasher, ignore) + if m.GetLoopStep() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetLoopStep(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Comprehension.result"]; !ok { - if m.Result != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Result, hasher, ignore) + if m.GetResult() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetResult(), hasher, ignore) } } @@ -1200,7 +1200,7 @@ func google_api_expr_v1alpha1_Expr_CreateList_hashpb_sum(m *v1alpha1.Expr_Create func google_api_expr_v1alpha1_Expr_CreateStruct_Entry_hashpb_sum(m *v1alpha1.Expr_CreateStruct_Entry, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.Entry.id"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Id))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetId()))) } if m.KeyKind != nil { @@ -1218,20 +1218,20 @@ func google_api_expr_v1alpha1_Expr_CreateStruct_Entry_hashpb_sum(m *v1alpha1.Exp } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.Entry.value"]; !ok { - if m.Value != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Value, hasher, ignore) + if m.GetValue() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetValue(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.Entry.optional_entry"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.OptionalEntry))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetOptionalEntry()))) } } func google_api_expr_v1alpha1_Expr_CreateStruct_hashpb_sum(m *v1alpha1.Expr_CreateStruct, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.message_name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.MessageName)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessageName())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.CreateStruct.entries"]; !ok { @@ -1248,31 +1248,31 @@ func google_api_expr_v1alpha1_Expr_CreateStruct_hashpb_sum(m *v1alpha1.Expr_Crea func google_api_expr_v1alpha1_Expr_Ident_hashpb_sum(m *v1alpha1.Expr_Ident, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.Ident.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } } func google_api_expr_v1alpha1_Expr_Select_hashpb_sum(m *v1alpha1.Expr_Select, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.Select.operand"]; !ok { - if m.Operand != nil { - google_api_expr_v1alpha1_Expr_hashpb_sum(m.Operand, hasher, ignore) + if m.GetOperand() != nil { + google_api_expr_v1alpha1_Expr_hashpb_sum(m.GetOperand(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Select.field"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Field)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetField())) } if _, ok := ignore["google.api.expr.v1alpha1.Expr.Select.test_only"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.TestOnly))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetTestOnly()))) } } func google_api_expr_v1alpha1_Expr_hashpb_sum(m *v1alpha1.Expr, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Expr.id"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Id))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetId()))) } if m.ExprKind != nil { @@ -1320,7 +1320,7 @@ func google_api_expr_v1alpha1_Expr_hashpb_sum(m *v1alpha1.Expr, hasher hash.Hash func google_api_expr_v1alpha1_Reference_hashpb_sum(m *v1alpha1.Reference, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Reference.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["google.api.expr.v1alpha1.Reference.overload_id"]; !ok { @@ -1332,8 +1332,8 @@ func google_api_expr_v1alpha1_Reference_hashpb_sum(m *v1alpha1.Reference, hasher } } if _, ok := ignore["google.api.expr.v1alpha1.Reference.value"]; !ok { - if m.Value != nil { - google_api_expr_v1alpha1_Constant_hashpb_sum(m.Value, hasher, ignore) + if m.GetValue() != nil { + google_api_expr_v1alpha1_Constant_hashpb_sum(m.GetValue(), hasher, ignore) } } @@ -1341,11 +1341,11 @@ func google_api_expr_v1alpha1_Reference_hashpb_sum(m *v1alpha1.Reference, hasher func google_api_expr_v1alpha1_SourceInfo_hashpb_sum(m *v1alpha1.SourceInfo, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.SourceInfo.syntax_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.SyntaxVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetSyntaxVersion())) } if _, ok := ignore["google.api.expr.v1alpha1.SourceInfo.location"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Location)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetLocation())) } if _, ok := ignore["google.api.expr.v1alpha1.SourceInfo.line_offsets"]; !ok { @@ -1396,7 +1396,7 @@ func google_api_expr_v1alpha1_SourceInfo_hashpb_sum(m *v1alpha1.SourceInfo, hash func google_api_expr_v1alpha1_Type_AbstractType_hashpb_sum(m *v1alpha1.Type_AbstractType, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Type.AbstractType.name"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Name)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetName())) } if _, ok := ignore["google.api.expr.v1alpha1.Type.AbstractType.parameter_types"]; !ok { @@ -1413,8 +1413,8 @@ func google_api_expr_v1alpha1_Type_AbstractType_hashpb_sum(m *v1alpha1.Type_Abst func google_api_expr_v1alpha1_Type_FunctionType_hashpb_sum(m *v1alpha1.Type_FunctionType, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Type.FunctionType.result_type"]; !ok { - if m.ResultType != nil { - google_api_expr_v1alpha1_Type_hashpb_sum(m.ResultType, hasher, ignore) + if m.GetResultType() != nil { + google_api_expr_v1alpha1_Type_hashpb_sum(m.GetResultType(), hasher, ignore) } } @@ -1432,8 +1432,8 @@ func google_api_expr_v1alpha1_Type_FunctionType_hashpb_sum(m *v1alpha1.Type_Func func google_api_expr_v1alpha1_Type_ListType_hashpb_sum(m *v1alpha1.Type_ListType, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Type.ListType.elem_type"]; !ok { - if m.ElemType != nil { - google_api_expr_v1alpha1_Type_hashpb_sum(m.ElemType, hasher, ignore) + if m.GetElemType() != nil { + google_api_expr_v1alpha1_Type_hashpb_sum(m.GetElemType(), hasher, ignore) } } @@ -1441,14 +1441,14 @@ func google_api_expr_v1alpha1_Type_ListType_hashpb_sum(m *v1alpha1.Type_ListType func google_api_expr_v1alpha1_Type_MapType_hashpb_sum(m *v1alpha1.Type_MapType, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.api.expr.v1alpha1.Type.MapType.key_type"]; !ok { - if m.KeyType != nil { - google_api_expr_v1alpha1_Type_hashpb_sum(m.KeyType, hasher, ignore) + if m.GetKeyType() != nil { + google_api_expr_v1alpha1_Type_hashpb_sum(m.GetKeyType(), hasher, ignore) } } if _, ok := ignore["google.api.expr.v1alpha1.Type.MapType.value_type"]; !ok { - if m.ValueType != nil { - google_api_expr_v1alpha1_Type_hashpb_sum(m.ValueType, hasher, ignore) + if m.GetValueType() != nil { + google_api_expr_v1alpha1_Type_hashpb_sum(m.GetValueType(), hasher, ignore) } } @@ -1518,11 +1518,11 @@ func google_api_expr_v1alpha1_Type_hashpb_sum(m *v1alpha1.Type, hasher hash.Hash func google_protobuf_Duration_hashpb_sum(m *durationpb.Duration, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Duration.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Duration.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } @@ -1567,11 +1567,11 @@ func google_protobuf_Struct_hashpb_sum(m *structpb.Struct, hasher hash.Hash, ign func google_protobuf_Timestamp_hashpb_sum(m *timestamppb.Timestamp, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Timestamp.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Timestamp.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } diff --git a/api/genpb/cerbos/runtime/v1/runtime.pb.go b/api/genpb/cerbos/runtime/v1/runtime.pb.go index 3c106a1f33..2ffbd5adf2 100644 --- a/api/genpb/cerbos/runtime/v1/runtime.pb.go +++ b/api/genpb/cerbos/runtime/v1/runtime.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/runtime/v1/runtime.proto diff --git a/api/genpb/cerbos/runtime/v1/runtime_hashpb.pb.go b/api/genpb/cerbos/runtime/v1/runtime_hashpb.pb.go index f2999ae358..d1169b58a5 100644 --- a/api/genpb/cerbos/runtime/v1/runtime_hashpb.pb.go +++ b/api/genpb/cerbos/runtime/v1/runtime_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/runtime/v1/runtime.proto package runtimev1 diff --git a/api/genpb/cerbos/schema/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/schema/v1/hashpb_helpers.pb.go index 6d792fb8ae..a7dc253c7e 100644 --- a/api/genpb/cerbos/schema/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/schema/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package schemav1 @@ -10,26 +10,26 @@ import ( func cerbos_schema_v1_Schema_hashpb_sum(m *Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.schema.v1.Schema.id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Id)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetId())) } if _, ok := ignore["cerbos.schema.v1.Schema.definition"]; !ok { - _, _ = hasher.Write(protowire.AppendBytes(nil, m.Definition)) + _, _ = hasher.Write(protowire.AppendBytes(nil, m.GetDefinition())) } } func cerbos_schema_v1_ValidationError_hashpb_sum(m *ValidationError, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.schema.v1.ValidationError.path"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Path)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPath())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.schema.v1.ValidationError.source"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Source))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSource()))) } } diff --git a/api/genpb/cerbos/schema/v1/schema.pb.go b/api/genpb/cerbos/schema/v1/schema.pb.go index 780e79286a..7229a50e53 100644 --- a/api/genpb/cerbos/schema/v1/schema.pb.go +++ b/api/genpb/cerbos/schema/v1/schema.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/schema/v1/schema.proto diff --git a/api/genpb/cerbos/schema/v1/schema_hashpb.pb.go b/api/genpb/cerbos/schema/v1/schema_hashpb.pb.go index 39c123389e..c193edf8d4 100644 --- a/api/genpb/cerbos/schema/v1/schema_hashpb.pb.go +++ b/api/genpb/cerbos/schema/v1/schema_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/schema/v1/schema.proto package schemav1 diff --git a/api/genpb/cerbos/source/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/source/v1/hashpb_helpers.pb.go index 4f0229fba8..829fc6aaf2 100644 --- a/api/genpb/cerbos/source/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/source/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package sourcev1 @@ -11,44 +11,44 @@ import ( func cerbos_source_v1_Error_hashpb_sum(m *Error, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.source.v1.Error.kind"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Kind))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetKind()))) } if _, ok := ignore["cerbos.source.v1.Error.position"]; !ok { - if m.Position != nil { - cerbos_source_v1_Position_hashpb_sum(m.Position, hasher, ignore) + if m.GetPosition() != nil { + cerbos_source_v1_Position_hashpb_sum(m.GetPosition(), hasher, ignore) } } if _, ok := ignore["cerbos.source.v1.Error.message"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Message)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetMessage())) } if _, ok := ignore["cerbos.source.v1.Error.context"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Context)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetContext())) } } func cerbos_source_v1_Position_hashpb_sum(m *Position, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.source.v1.Position.line"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Line))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetLine()))) } if _, ok := ignore["cerbos.source.v1.Position.column"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Column))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetColumn()))) } if _, ok := ignore["cerbos.source.v1.Position.path"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Path)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPath())) } } func cerbos_source_v1_SourceContext_hashpb_sum(m *SourceContext, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.source.v1.SourceContext.start_position"]; !ok { - if m.StartPosition != nil { - cerbos_source_v1_StartPosition_hashpb_sum(m.StartPosition, hasher, ignore) + if m.GetStartPosition() != nil { + cerbos_source_v1_StartPosition_hashpb_sum(m.GetStartPosition(), hasher, ignore) } } @@ -85,15 +85,15 @@ func cerbos_source_v1_SourceContext_hashpb_sum(m *SourceContext, hasher hash.Has func cerbos_source_v1_StartPosition_hashpb_sum(m *StartPosition, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.source.v1.StartPosition.line"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Line))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetLine()))) } if _, ok := ignore["cerbos.source.v1.StartPosition.column"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Column))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetColumn()))) } if _, ok := ignore["cerbos.source.v1.StartPosition.offset"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Offset))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetOffset()))) } } diff --git a/api/genpb/cerbos/source/v1/source.pb.go b/api/genpb/cerbos/source/v1/source.pb.go index 5f1358d6d9..533235eccc 100644 --- a/api/genpb/cerbos/source/v1/source.pb.go +++ b/api/genpb/cerbos/source/v1/source.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/source/v1/source.proto diff --git a/api/genpb/cerbos/source/v1/source_hashpb.pb.go b/api/genpb/cerbos/source/v1/source_hashpb.pb.go index f75be9fadb..ce42ffe9cc 100644 --- a/api/genpb/cerbos/source/v1/source_hashpb.pb.go +++ b/api/genpb/cerbos/source/v1/source_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/source/v1/source.proto package sourcev1 diff --git a/api/genpb/cerbos/state/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/state/v1/hashpb_helpers.pb.go index fda5c61187..06d0045057 100644 --- a/api/genpb/cerbos/state/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/state/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package statev1 @@ -11,12 +11,12 @@ import ( func cerbos_state_v1_TelemetryState_hashpb_sum(m *TelemetryState, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.state.v1.TelemetryState.uuid"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Uuid)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetUuid())) } if _, ok := ignore["cerbos.state.v1.TelemetryState.last_timestamp"]; !ok { - if m.LastTimestamp != nil { - google_protobuf_Timestamp_hashpb_sum(m.LastTimestamp, hasher, ignore) + if m.GetLastTimestamp() != nil { + google_protobuf_Timestamp_hashpb_sum(m.GetLastTimestamp(), hasher, ignore) } } @@ -24,11 +24,11 @@ func cerbos_state_v1_TelemetryState_hashpb_sum(m *TelemetryState, hasher hash.Ha func google_protobuf_Timestamp_hashpb_sum(m *timestamppb.Timestamp, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Timestamp.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Timestamp.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } diff --git a/api/genpb/cerbos/state/v1/state.pb.go b/api/genpb/cerbos/state/v1/state.pb.go index e14ef38f25..50c928ccdc 100644 --- a/api/genpb/cerbos/state/v1/state.pb.go +++ b/api/genpb/cerbos/state/v1/state.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/state/v1/state.proto diff --git a/api/genpb/cerbos/state/v1/state_hashpb.pb.go b/api/genpb/cerbos/state/v1/state_hashpb.pb.go index e5e30dbb98..49ca958a76 100644 --- a/api/genpb/cerbos/state/v1/state_hashpb.pb.go +++ b/api/genpb/cerbos/state/v1/state_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/state/v1/state.proto package statev1 diff --git a/api/genpb/cerbos/svc/v1/svc.pb.go b/api/genpb/cerbos/svc/v1/svc.pb.go index c4434aa8c5..dbf473e4e2 100644 --- a/api/genpb/cerbos/svc/v1/svc.pb.go +++ b/api/genpb/cerbos/svc/v1/svc.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/svc/v1/svc.proto @@ -129,7 +129,7 @@ var file_cerbos_svc_v1_svc_proto_rawDesc = []byte{ 0x6c, 0x61, 0x6e, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x21, 0x92, 0x41, 0x1e, 0x12, 0x1c, 0x43, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x32, 0xc5, 0x0f, 0x0a, 0x12, 0x43, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x32, 0x85, 0x11, 0x0a, 0x12, 0x43, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc9, 0x01, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2b, 0x2e, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x76, @@ -143,7 +143,19 @@ var file_cerbos_svc_v1_svc_proto_rawDesc = []byte{ 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x5a, 0x12, 0x3a, 0x01, 0x2a, 0x1a, 0x0d, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x0d, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x9c, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, + 0x69, 0x63, 0x79, 0x12, 0xbd, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, + 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x52, 0x92, 0x41, 0x30, 0x12, 0x1d, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x20, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x62, 0x0f, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, + 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x69, 0x6e, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x12, 0x9c, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, @@ -317,40 +329,42 @@ var file_cerbos_svc_v1_svc_proto_goTypes = []interface{}{ (*v1.ServerInfoRequest)(nil), // 3: cerbos.request.v1.ServerInfoRequest (*v1.PlanResourcesRequest)(nil), // 4: cerbos.request.v1.PlanResourcesRequest (*v1.AddOrUpdatePolicyRequest)(nil), // 5: cerbos.request.v1.AddOrUpdatePolicyRequest - (*v1.ListPoliciesRequest)(nil), // 6: cerbos.request.v1.ListPoliciesRequest - (*v1.GetPolicyRequest)(nil), // 7: cerbos.request.v1.GetPolicyRequest - (*v1.DisablePolicyRequest)(nil), // 8: cerbos.request.v1.DisablePolicyRequest - (*v1.EnablePolicyRequest)(nil), // 9: cerbos.request.v1.EnablePolicyRequest - (*v1.ListAuditLogEntriesRequest)(nil), // 10: cerbos.request.v1.ListAuditLogEntriesRequest - (*v1.AddOrUpdateSchemaRequest)(nil), // 11: cerbos.request.v1.AddOrUpdateSchemaRequest - (*v1.ListSchemasRequest)(nil), // 12: cerbos.request.v1.ListSchemasRequest - (*v1.GetSchemaRequest)(nil), // 13: cerbos.request.v1.GetSchemaRequest - (*v1.DeleteSchemaRequest)(nil), // 14: cerbos.request.v1.DeleteSchemaRequest - (*v1.ReloadStoreRequest)(nil), // 15: cerbos.request.v1.ReloadStoreRequest - (*v1.PlaygroundValidateRequest)(nil), // 16: cerbos.request.v1.PlaygroundValidateRequest - (*v1.PlaygroundTestRequest)(nil), // 17: cerbos.request.v1.PlaygroundTestRequest - (*v1.PlaygroundEvaluateRequest)(nil), // 18: cerbos.request.v1.PlaygroundEvaluateRequest - (*v1.PlaygroundProxyRequest)(nil), // 19: cerbos.request.v1.PlaygroundProxyRequest - (*v11.CheckResourceSetResponse)(nil), // 20: cerbos.response.v1.CheckResourceSetResponse - (*v11.CheckResourceBatchResponse)(nil), // 21: cerbos.response.v1.CheckResourceBatchResponse - (*v11.CheckResourcesResponse)(nil), // 22: cerbos.response.v1.CheckResourcesResponse - (*v11.ServerInfoResponse)(nil), // 23: cerbos.response.v1.ServerInfoResponse - (*v11.PlanResourcesResponse)(nil), // 24: cerbos.response.v1.PlanResourcesResponse - (*v11.AddOrUpdatePolicyResponse)(nil), // 25: cerbos.response.v1.AddOrUpdatePolicyResponse - (*v11.ListPoliciesResponse)(nil), // 26: cerbos.response.v1.ListPoliciesResponse - (*v11.GetPolicyResponse)(nil), // 27: cerbos.response.v1.GetPolicyResponse - (*v11.DisablePolicyResponse)(nil), // 28: cerbos.response.v1.DisablePolicyResponse - (*v11.EnablePolicyResponse)(nil), // 29: cerbos.response.v1.EnablePolicyResponse - (*v11.ListAuditLogEntriesResponse)(nil), // 30: cerbos.response.v1.ListAuditLogEntriesResponse - (*v11.AddOrUpdateSchemaResponse)(nil), // 31: cerbos.response.v1.AddOrUpdateSchemaResponse - (*v11.ListSchemasResponse)(nil), // 32: cerbos.response.v1.ListSchemasResponse - (*v11.GetSchemaResponse)(nil), // 33: cerbos.response.v1.GetSchemaResponse - (*v11.DeleteSchemaResponse)(nil), // 34: cerbos.response.v1.DeleteSchemaResponse - (*v11.ReloadStoreResponse)(nil), // 35: cerbos.response.v1.ReloadStoreResponse - (*v11.PlaygroundValidateResponse)(nil), // 36: cerbos.response.v1.PlaygroundValidateResponse - (*v11.PlaygroundTestResponse)(nil), // 37: cerbos.response.v1.PlaygroundTestResponse - (*v11.PlaygroundEvaluateResponse)(nil), // 38: cerbos.response.v1.PlaygroundEvaluateResponse - (*v11.PlaygroundProxyResponse)(nil), // 39: cerbos.response.v1.PlaygroundProxyResponse + (*v1.InspectPoliciesRequest)(nil), // 6: cerbos.request.v1.InspectPoliciesRequest + (*v1.ListPoliciesRequest)(nil), // 7: cerbos.request.v1.ListPoliciesRequest + (*v1.GetPolicyRequest)(nil), // 8: cerbos.request.v1.GetPolicyRequest + (*v1.DisablePolicyRequest)(nil), // 9: cerbos.request.v1.DisablePolicyRequest + (*v1.EnablePolicyRequest)(nil), // 10: cerbos.request.v1.EnablePolicyRequest + (*v1.ListAuditLogEntriesRequest)(nil), // 11: cerbos.request.v1.ListAuditLogEntriesRequest + (*v1.AddOrUpdateSchemaRequest)(nil), // 12: cerbos.request.v1.AddOrUpdateSchemaRequest + (*v1.ListSchemasRequest)(nil), // 13: cerbos.request.v1.ListSchemasRequest + (*v1.GetSchemaRequest)(nil), // 14: cerbos.request.v1.GetSchemaRequest + (*v1.DeleteSchemaRequest)(nil), // 15: cerbos.request.v1.DeleteSchemaRequest + (*v1.ReloadStoreRequest)(nil), // 16: cerbos.request.v1.ReloadStoreRequest + (*v1.PlaygroundValidateRequest)(nil), // 17: cerbos.request.v1.PlaygroundValidateRequest + (*v1.PlaygroundTestRequest)(nil), // 18: cerbos.request.v1.PlaygroundTestRequest + (*v1.PlaygroundEvaluateRequest)(nil), // 19: cerbos.request.v1.PlaygroundEvaluateRequest + (*v1.PlaygroundProxyRequest)(nil), // 20: cerbos.request.v1.PlaygroundProxyRequest + (*v11.CheckResourceSetResponse)(nil), // 21: cerbos.response.v1.CheckResourceSetResponse + (*v11.CheckResourceBatchResponse)(nil), // 22: cerbos.response.v1.CheckResourceBatchResponse + (*v11.CheckResourcesResponse)(nil), // 23: cerbos.response.v1.CheckResourcesResponse + (*v11.ServerInfoResponse)(nil), // 24: cerbos.response.v1.ServerInfoResponse + (*v11.PlanResourcesResponse)(nil), // 25: cerbos.response.v1.PlanResourcesResponse + (*v11.AddOrUpdatePolicyResponse)(nil), // 26: cerbos.response.v1.AddOrUpdatePolicyResponse + (*v11.InspectPoliciesResponse)(nil), // 27: cerbos.response.v1.InspectPoliciesResponse + (*v11.ListPoliciesResponse)(nil), // 28: cerbos.response.v1.ListPoliciesResponse + (*v11.GetPolicyResponse)(nil), // 29: cerbos.response.v1.GetPolicyResponse + (*v11.DisablePolicyResponse)(nil), // 30: cerbos.response.v1.DisablePolicyResponse + (*v11.EnablePolicyResponse)(nil), // 31: cerbos.response.v1.EnablePolicyResponse + (*v11.ListAuditLogEntriesResponse)(nil), // 32: cerbos.response.v1.ListAuditLogEntriesResponse + (*v11.AddOrUpdateSchemaResponse)(nil), // 33: cerbos.response.v1.AddOrUpdateSchemaResponse + (*v11.ListSchemasResponse)(nil), // 34: cerbos.response.v1.ListSchemasResponse + (*v11.GetSchemaResponse)(nil), // 35: cerbos.response.v1.GetSchemaResponse + (*v11.DeleteSchemaResponse)(nil), // 36: cerbos.response.v1.DeleteSchemaResponse + (*v11.ReloadStoreResponse)(nil), // 37: cerbos.response.v1.ReloadStoreResponse + (*v11.PlaygroundValidateResponse)(nil), // 38: cerbos.response.v1.PlaygroundValidateResponse + (*v11.PlaygroundTestResponse)(nil), // 39: cerbos.response.v1.PlaygroundTestResponse + (*v11.PlaygroundEvaluateResponse)(nil), // 40: cerbos.response.v1.PlaygroundEvaluateResponse + (*v11.PlaygroundProxyResponse)(nil), // 41: cerbos.response.v1.PlaygroundProxyResponse } var file_cerbos_svc_v1_svc_proto_depIdxs = []int32{ 0, // 0: cerbos.svc.v1.CerbosService.CheckResourceSet:input_type -> cerbos.request.v1.CheckResourceSetRequest @@ -359,42 +373,44 @@ var file_cerbos_svc_v1_svc_proto_depIdxs = []int32{ 3, // 3: cerbos.svc.v1.CerbosService.ServerInfo:input_type -> cerbos.request.v1.ServerInfoRequest 4, // 4: cerbos.svc.v1.CerbosService.PlanResources:input_type -> cerbos.request.v1.PlanResourcesRequest 5, // 5: cerbos.svc.v1.CerbosAdminService.AddOrUpdatePolicy:input_type -> cerbos.request.v1.AddOrUpdatePolicyRequest - 6, // 6: cerbos.svc.v1.CerbosAdminService.ListPolicies:input_type -> cerbos.request.v1.ListPoliciesRequest - 7, // 7: cerbos.svc.v1.CerbosAdminService.GetPolicy:input_type -> cerbos.request.v1.GetPolicyRequest - 8, // 8: cerbos.svc.v1.CerbosAdminService.DisablePolicy:input_type -> cerbos.request.v1.DisablePolicyRequest - 9, // 9: cerbos.svc.v1.CerbosAdminService.EnablePolicy:input_type -> cerbos.request.v1.EnablePolicyRequest - 10, // 10: cerbos.svc.v1.CerbosAdminService.ListAuditLogEntries:input_type -> cerbos.request.v1.ListAuditLogEntriesRequest - 11, // 11: cerbos.svc.v1.CerbosAdminService.AddOrUpdateSchema:input_type -> cerbos.request.v1.AddOrUpdateSchemaRequest - 12, // 12: cerbos.svc.v1.CerbosAdminService.ListSchemas:input_type -> cerbos.request.v1.ListSchemasRequest - 13, // 13: cerbos.svc.v1.CerbosAdminService.GetSchema:input_type -> cerbos.request.v1.GetSchemaRequest - 14, // 14: cerbos.svc.v1.CerbosAdminService.DeleteSchema:input_type -> cerbos.request.v1.DeleteSchemaRequest - 15, // 15: cerbos.svc.v1.CerbosAdminService.ReloadStore:input_type -> cerbos.request.v1.ReloadStoreRequest - 16, // 16: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundValidate:input_type -> cerbos.request.v1.PlaygroundValidateRequest - 17, // 17: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundTest:input_type -> cerbos.request.v1.PlaygroundTestRequest - 18, // 18: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundEvaluate:input_type -> cerbos.request.v1.PlaygroundEvaluateRequest - 19, // 19: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundProxy:input_type -> cerbos.request.v1.PlaygroundProxyRequest - 20, // 20: cerbos.svc.v1.CerbosService.CheckResourceSet:output_type -> cerbos.response.v1.CheckResourceSetResponse - 21, // 21: cerbos.svc.v1.CerbosService.CheckResourceBatch:output_type -> cerbos.response.v1.CheckResourceBatchResponse - 22, // 22: cerbos.svc.v1.CerbosService.CheckResources:output_type -> cerbos.response.v1.CheckResourcesResponse - 23, // 23: cerbos.svc.v1.CerbosService.ServerInfo:output_type -> cerbos.response.v1.ServerInfoResponse - 24, // 24: cerbos.svc.v1.CerbosService.PlanResources:output_type -> cerbos.response.v1.PlanResourcesResponse - 25, // 25: cerbos.svc.v1.CerbosAdminService.AddOrUpdatePolicy:output_type -> cerbos.response.v1.AddOrUpdatePolicyResponse - 26, // 26: cerbos.svc.v1.CerbosAdminService.ListPolicies:output_type -> cerbos.response.v1.ListPoliciesResponse - 27, // 27: cerbos.svc.v1.CerbosAdminService.GetPolicy:output_type -> cerbos.response.v1.GetPolicyResponse - 28, // 28: cerbos.svc.v1.CerbosAdminService.DisablePolicy:output_type -> cerbos.response.v1.DisablePolicyResponse - 29, // 29: cerbos.svc.v1.CerbosAdminService.EnablePolicy:output_type -> cerbos.response.v1.EnablePolicyResponse - 30, // 30: cerbos.svc.v1.CerbosAdminService.ListAuditLogEntries:output_type -> cerbos.response.v1.ListAuditLogEntriesResponse - 31, // 31: cerbos.svc.v1.CerbosAdminService.AddOrUpdateSchema:output_type -> cerbos.response.v1.AddOrUpdateSchemaResponse - 32, // 32: cerbos.svc.v1.CerbosAdminService.ListSchemas:output_type -> cerbos.response.v1.ListSchemasResponse - 33, // 33: cerbos.svc.v1.CerbosAdminService.GetSchema:output_type -> cerbos.response.v1.GetSchemaResponse - 34, // 34: cerbos.svc.v1.CerbosAdminService.DeleteSchema:output_type -> cerbos.response.v1.DeleteSchemaResponse - 35, // 35: cerbos.svc.v1.CerbosAdminService.ReloadStore:output_type -> cerbos.response.v1.ReloadStoreResponse - 36, // 36: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundValidate:output_type -> cerbos.response.v1.PlaygroundValidateResponse - 37, // 37: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundTest:output_type -> cerbos.response.v1.PlaygroundTestResponse - 38, // 38: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundEvaluate:output_type -> cerbos.response.v1.PlaygroundEvaluateResponse - 39, // 39: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundProxy:output_type -> cerbos.response.v1.PlaygroundProxyResponse - 20, // [20:40] is the sub-list for method output_type - 0, // [0:20] is the sub-list for method input_type + 6, // 6: cerbos.svc.v1.CerbosAdminService.InspectPolicies:input_type -> cerbos.request.v1.InspectPoliciesRequest + 7, // 7: cerbos.svc.v1.CerbosAdminService.ListPolicies:input_type -> cerbos.request.v1.ListPoliciesRequest + 8, // 8: cerbos.svc.v1.CerbosAdminService.GetPolicy:input_type -> cerbos.request.v1.GetPolicyRequest + 9, // 9: cerbos.svc.v1.CerbosAdminService.DisablePolicy:input_type -> cerbos.request.v1.DisablePolicyRequest + 10, // 10: cerbos.svc.v1.CerbosAdminService.EnablePolicy:input_type -> cerbos.request.v1.EnablePolicyRequest + 11, // 11: cerbos.svc.v1.CerbosAdminService.ListAuditLogEntries:input_type -> cerbos.request.v1.ListAuditLogEntriesRequest + 12, // 12: cerbos.svc.v1.CerbosAdminService.AddOrUpdateSchema:input_type -> cerbos.request.v1.AddOrUpdateSchemaRequest + 13, // 13: cerbos.svc.v1.CerbosAdminService.ListSchemas:input_type -> cerbos.request.v1.ListSchemasRequest + 14, // 14: cerbos.svc.v1.CerbosAdminService.GetSchema:input_type -> cerbos.request.v1.GetSchemaRequest + 15, // 15: cerbos.svc.v1.CerbosAdminService.DeleteSchema:input_type -> cerbos.request.v1.DeleteSchemaRequest + 16, // 16: cerbos.svc.v1.CerbosAdminService.ReloadStore:input_type -> cerbos.request.v1.ReloadStoreRequest + 17, // 17: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundValidate:input_type -> cerbos.request.v1.PlaygroundValidateRequest + 18, // 18: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundTest:input_type -> cerbos.request.v1.PlaygroundTestRequest + 19, // 19: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundEvaluate:input_type -> cerbos.request.v1.PlaygroundEvaluateRequest + 20, // 20: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundProxy:input_type -> cerbos.request.v1.PlaygroundProxyRequest + 21, // 21: cerbos.svc.v1.CerbosService.CheckResourceSet:output_type -> cerbos.response.v1.CheckResourceSetResponse + 22, // 22: cerbos.svc.v1.CerbosService.CheckResourceBatch:output_type -> cerbos.response.v1.CheckResourceBatchResponse + 23, // 23: cerbos.svc.v1.CerbosService.CheckResources:output_type -> cerbos.response.v1.CheckResourcesResponse + 24, // 24: cerbos.svc.v1.CerbosService.ServerInfo:output_type -> cerbos.response.v1.ServerInfoResponse + 25, // 25: cerbos.svc.v1.CerbosService.PlanResources:output_type -> cerbos.response.v1.PlanResourcesResponse + 26, // 26: cerbos.svc.v1.CerbosAdminService.AddOrUpdatePolicy:output_type -> cerbos.response.v1.AddOrUpdatePolicyResponse + 27, // 27: cerbos.svc.v1.CerbosAdminService.InspectPolicies:output_type -> cerbos.response.v1.InspectPoliciesResponse + 28, // 28: cerbos.svc.v1.CerbosAdminService.ListPolicies:output_type -> cerbos.response.v1.ListPoliciesResponse + 29, // 29: cerbos.svc.v1.CerbosAdminService.GetPolicy:output_type -> cerbos.response.v1.GetPolicyResponse + 30, // 30: cerbos.svc.v1.CerbosAdminService.DisablePolicy:output_type -> cerbos.response.v1.DisablePolicyResponse + 31, // 31: cerbos.svc.v1.CerbosAdminService.EnablePolicy:output_type -> cerbos.response.v1.EnablePolicyResponse + 32, // 32: cerbos.svc.v1.CerbosAdminService.ListAuditLogEntries:output_type -> cerbos.response.v1.ListAuditLogEntriesResponse + 33, // 33: cerbos.svc.v1.CerbosAdminService.AddOrUpdateSchema:output_type -> cerbos.response.v1.AddOrUpdateSchemaResponse + 34, // 34: cerbos.svc.v1.CerbosAdminService.ListSchemas:output_type -> cerbos.response.v1.ListSchemasResponse + 35, // 35: cerbos.svc.v1.CerbosAdminService.GetSchema:output_type -> cerbos.response.v1.GetSchemaResponse + 36, // 36: cerbos.svc.v1.CerbosAdminService.DeleteSchema:output_type -> cerbos.response.v1.DeleteSchemaResponse + 37, // 37: cerbos.svc.v1.CerbosAdminService.ReloadStore:output_type -> cerbos.response.v1.ReloadStoreResponse + 38, // 38: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundValidate:output_type -> cerbos.response.v1.PlaygroundValidateResponse + 39, // 39: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundTest:output_type -> cerbos.response.v1.PlaygroundTestResponse + 40, // 40: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundEvaluate:output_type -> cerbos.response.v1.PlaygroundEvaluateResponse + 41, // 41: cerbos.svc.v1.CerbosPlaygroundService.PlaygroundProxy:output_type -> cerbos.response.v1.PlaygroundProxyResponse + 21, // [21:42] is the sub-list for method output_type + 0, // [0:21] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/api/genpb/cerbos/svc/v1/svc.pb.gw.go b/api/genpb/cerbos/svc/v1/svc.pb.gw.go index d3ce002da7..6d32895340 100644 --- a/api/genpb/cerbos/svc/v1/svc.pb.gw.go +++ b/api/genpb/cerbos/svc/v1/svc.pb.gw.go @@ -206,6 +206,42 @@ func local_request_CerbosAdminService_AddOrUpdatePolicy_1(ctx context.Context, m } +var ( + filter_CerbosAdminService_InspectPolicies_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_CerbosAdminService_InspectPolicies_0(ctx context.Context, marshaler runtime.Marshaler, client CerbosAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq requestv1.InspectPoliciesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CerbosAdminService_InspectPolicies_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.InspectPolicies(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CerbosAdminService_InspectPolicies_0(ctx context.Context, marshaler runtime.Marshaler, server CerbosAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq requestv1.InspectPoliciesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CerbosAdminService_InspectPolicies_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.InspectPolicies(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_CerbosAdminService_ListPolicies_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -958,6 +994,31 @@ func RegisterCerbosAdminServiceHandlerServer(ctx context.Context, mux *runtime.S }) + mux.Handle("GET", pattern_CerbosAdminService_InspectPolicies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/cerbos.svc.v1.CerbosAdminService/InspectPolicies", runtime.WithHTTPPathPattern("/admin/policies/inspect")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CerbosAdminService_InspectPolicies_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CerbosAdminService_InspectPolicies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_CerbosAdminService_ListPolicies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1659,6 +1720,28 @@ func RegisterCerbosAdminServiceHandlerClient(ctx context.Context, mux *runtime.S }) + mux.Handle("GET", pattern_CerbosAdminService_InspectPolicies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/cerbos.svc.v1.CerbosAdminService/InspectPolicies", runtime.WithHTTPPathPattern("/admin/policies/inspect")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CerbosAdminService_InspectPolicies_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CerbosAdminService_InspectPolicies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_CerbosAdminService_ListPolicies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1975,6 +2058,8 @@ var ( pattern_CerbosAdminService_AddOrUpdatePolicy_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"admin", "policy"}, "")) + pattern_CerbosAdminService_InspectPolicies_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"admin", "policies", "inspect"}, "")) + pattern_CerbosAdminService_ListPolicies_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"admin", "policies"}, "")) pattern_CerbosAdminService_GetPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"admin", "policy"}, "")) @@ -2009,6 +2094,8 @@ var ( forward_CerbosAdminService_AddOrUpdatePolicy_1 = runtime.ForwardResponseMessage + forward_CerbosAdminService_InspectPolicies_0 = runtime.ForwardResponseMessage + forward_CerbosAdminService_ListPolicies_0 = runtime.ForwardResponseMessage forward_CerbosAdminService_GetPolicy_0 = runtime.ForwardResponseMessage diff --git a/api/genpb/cerbos/svc/v1/svc_grpc.pb.go b/api/genpb/cerbos/svc/v1/svc_grpc.pb.go index 91cf9b4476..926053050a 100644 --- a/api/genpb/cerbos/svc/v1/svc_grpc.pb.go +++ b/api/genpb/cerbos/svc/v1/svc_grpc.pb.go @@ -263,6 +263,7 @@ var CerbosService_ServiceDesc = grpc.ServiceDesc{ const ( CerbosAdminService_AddOrUpdatePolicy_FullMethodName = "/cerbos.svc.v1.CerbosAdminService/AddOrUpdatePolicy" + CerbosAdminService_InspectPolicies_FullMethodName = "/cerbos.svc.v1.CerbosAdminService/InspectPolicies" CerbosAdminService_ListPolicies_FullMethodName = "/cerbos.svc.v1.CerbosAdminService/ListPolicies" CerbosAdminService_GetPolicy_FullMethodName = "/cerbos.svc.v1.CerbosAdminService/GetPolicy" CerbosAdminService_DisablePolicy_FullMethodName = "/cerbos.svc.v1.CerbosAdminService/DisablePolicy" @@ -280,6 +281,7 @@ const ( // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type CerbosAdminServiceClient interface { AddOrUpdatePolicy(ctx context.Context, in *v1.AddOrUpdatePolicyRequest, opts ...grpc.CallOption) (*v11.AddOrUpdatePolicyResponse, error) + InspectPolicies(ctx context.Context, in *v1.InspectPoliciesRequest, opts ...grpc.CallOption) (*v11.InspectPoliciesResponse, error) ListPolicies(ctx context.Context, in *v1.ListPoliciesRequest, opts ...grpc.CallOption) (*v11.ListPoliciesResponse, error) GetPolicy(ctx context.Context, in *v1.GetPolicyRequest, opts ...grpc.CallOption) (*v11.GetPolicyResponse, error) DisablePolicy(ctx context.Context, in *v1.DisablePolicyRequest, opts ...grpc.CallOption) (*v11.DisablePolicyResponse, error) @@ -309,6 +311,15 @@ func (c *cerbosAdminServiceClient) AddOrUpdatePolicy(ctx context.Context, in *v1 return out, nil } +func (c *cerbosAdminServiceClient) InspectPolicies(ctx context.Context, in *v1.InspectPoliciesRequest, opts ...grpc.CallOption) (*v11.InspectPoliciesResponse, error) { + out := new(v11.InspectPoliciesResponse) + err := c.cc.Invoke(ctx, CerbosAdminService_InspectPolicies_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *cerbosAdminServiceClient) ListPolicies(ctx context.Context, in *v1.ListPoliciesRequest, opts ...grpc.CallOption) (*v11.ListPoliciesResponse, error) { out := new(v11.ListPoliciesResponse) err := c.cc.Invoke(ctx, CerbosAdminService_ListPolicies_FullMethodName, in, out, opts...) @@ -427,6 +438,7 @@ func (c *cerbosAdminServiceClient) ReloadStore(ctx context.Context, in *v1.Reloa // for forward compatibility type CerbosAdminServiceServer interface { AddOrUpdatePolicy(context.Context, *v1.AddOrUpdatePolicyRequest) (*v11.AddOrUpdatePolicyResponse, error) + InspectPolicies(context.Context, *v1.InspectPoliciesRequest) (*v11.InspectPoliciesResponse, error) ListPolicies(context.Context, *v1.ListPoliciesRequest) (*v11.ListPoliciesResponse, error) GetPolicy(context.Context, *v1.GetPolicyRequest) (*v11.GetPolicyResponse, error) DisablePolicy(context.Context, *v1.DisablePolicyRequest) (*v11.DisablePolicyResponse, error) @@ -447,6 +459,9 @@ type UnimplementedCerbosAdminServiceServer struct { func (UnimplementedCerbosAdminServiceServer) AddOrUpdatePolicy(context.Context, *v1.AddOrUpdatePolicyRequest) (*v11.AddOrUpdatePolicyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AddOrUpdatePolicy not implemented") } +func (UnimplementedCerbosAdminServiceServer) InspectPolicies(context.Context, *v1.InspectPoliciesRequest) (*v11.InspectPoliciesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method InspectPolicies not implemented") +} func (UnimplementedCerbosAdminServiceServer) ListPolicies(context.Context, *v1.ListPoliciesRequest) (*v11.ListPoliciesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListPolicies not implemented") } @@ -508,6 +523,24 @@ func _CerbosAdminService_AddOrUpdatePolicy_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _CerbosAdminService_InspectPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1.InspectPoliciesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CerbosAdminServiceServer).InspectPolicies(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CerbosAdminService_InspectPolicies_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CerbosAdminServiceServer).InspectPolicies(ctx, req.(*v1.InspectPoliciesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _CerbosAdminService_ListPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v1.ListPoliciesRequest) if err := dec(in); err != nil { @@ -702,6 +735,10 @@ var CerbosAdminService_ServiceDesc = grpc.ServiceDesc{ MethodName: "AddOrUpdatePolicy", Handler: _CerbosAdminService_AddOrUpdatePolicy_Handler, }, + { + MethodName: "InspectPolicies", + Handler: _CerbosAdminService_InspectPolicies_Handler, + }, { MethodName: "ListPolicies", Handler: _CerbosAdminService_ListPolicies_Handler, diff --git a/api/genpb/cerbos/svc/v1/svc_hashpb.pb.go b/api/genpb/cerbos/svc/v1/svc_hashpb.pb.go index 352854e16a..239cf0eb38 100644 --- a/api/genpb/cerbos/svc/v1/svc_hashpb.pb.go +++ b/api/genpb/cerbos/svc/v1/svc_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/svc/v1/svc.proto package svcv1 diff --git a/api/genpb/cerbos/telemetry/v1/hashpb_helpers.pb.go b/api/genpb/cerbos/telemetry/v1/hashpb_helpers.pb.go index 0494c34a43..7a69e4a2cc 100644 --- a/api/genpb/cerbos/telemetry/v1/hashpb_helpers.pb.go +++ b/api/genpb/cerbos/telemetry/v1/hashpb_helpers.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 package telemetryv1 @@ -13,12 +13,12 @@ import ( func cerbos_telemetry_v1_Event_ApiActivity_hashpb_sum(m *Event_ApiActivity, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.Event.ApiActivity.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.telemetry.v1.Event.ApiActivity.uptime"]; !ok { - if m.Uptime != nil { - google_protobuf_Duration_hashpb_sum(m.Uptime, hasher, ignore) + if m.GetUptime() != nil { + google_protobuf_Duration_hashpb_sum(m.GetUptime(), hasher, ignore) } } @@ -46,11 +46,11 @@ func cerbos_telemetry_v1_Event_ApiActivity_hashpb_sum(m *Event_ApiActivity, hash func cerbos_telemetry_v1_Event_CountStat_hashpb_sum(m *Event_CountStat, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.Event.CountStat.key"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Key)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetKey())) } if _, ok := ignore["cerbos.telemetry.v1.Event.CountStat.count"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, m.Count)) + _, _ = hasher.Write(protowire.AppendVarint(nil, m.GetCount())) } } @@ -71,60 +71,60 @@ func cerbos_telemetry_v1_Event_hashpb_sum(m *Event, hasher hash.Hash, ignore map func cerbos_telemetry_v1_ServerLaunch_Cerbos_hashpb_sum(m *ServerLaunch_Cerbos, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Cerbos.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Cerbos.commit"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Commit)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetCommit())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Cerbos.build_date"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.BuildDate)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetBuildDate())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Cerbos.module_version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ModuleVersion)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetModuleVersion())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Cerbos.module_checksum"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ModuleChecksum)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetModuleChecksum())) } } func cerbos_telemetry_v1_ServerLaunch_Features_AdminApi_hashpb_sum(m *ServerLaunch_Features_AdminApi, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.AdminApi.enabled"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Enabled))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetEnabled()))) } } func cerbos_telemetry_v1_ServerLaunch_Features_Audit_hashpb_sum(m *ServerLaunch_Features_Audit, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Audit.enabled"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Enabled))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetEnabled()))) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Audit.backend"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Backend)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetBackend())) } } func cerbos_telemetry_v1_ServerLaunch_Features_Schema_hashpb_sum(m *ServerLaunch_Features_Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Schema.enforcement"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Enforcement)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetEnforcement())) } } func cerbos_telemetry_v1_ServerLaunch_Features_Storage_Blob_hashpb_sum(m *ServerLaunch_Features_Storage_Blob, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.Blob.provider"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Provider)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetProvider())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.Blob.poll_interval"]; !ok { - if m.PollInterval != nil { - google_protobuf_Duration_hashpb_sum(m.PollInterval, hasher, ignore) + if m.GetPollInterval() != nil { + google_protobuf_Duration_hashpb_sum(m.GetPollInterval(), hasher, ignore) } } @@ -132,38 +132,38 @@ func cerbos_telemetry_v1_ServerLaunch_Features_Storage_Blob_hashpb_sum(m *Server func cerbos_telemetry_v1_ServerLaunch_Features_Storage_Bundle_hashpb_sum(m *ServerLaunch_Features_Storage_Bundle, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.Bundle.pdp_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.PdpId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetPdpId())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.Bundle.bundle_source"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.BundleSource)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetBundleSource())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.Bundle.client_id"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.ClientId)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetClientId())) } } func cerbos_telemetry_v1_ServerLaunch_Features_Storage_Disk_hashpb_sum(m *ServerLaunch_Features_Storage_Disk, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.Disk.watch"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Watch))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetWatch()))) } } func cerbos_telemetry_v1_ServerLaunch_Features_Storage_Git_hashpb_sum(m *ServerLaunch_Features_Storage_Git, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.Git.protocol"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Protocol)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetProtocol())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.Git.auth"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.Auth))) + _, _ = hasher.Write(protowire.AppendVarint(nil, protowire.EncodeBool(m.GetAuth()))) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.Git.poll_interval"]; !ok { - if m.PollInterval != nil { - google_protobuf_Duration_hashpb_sum(m.PollInterval, hasher, ignore) + if m.GetPollInterval() != nil { + google_protobuf_Duration_hashpb_sum(m.GetPollInterval(), hasher, ignore) } } @@ -171,7 +171,7 @@ func cerbos_telemetry_v1_ServerLaunch_Features_Storage_Git_hashpb_sum(m *ServerL func cerbos_telemetry_v1_ServerLaunch_Features_Storage_hashpb_sum(m *ServerLaunch_Features_Storage, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.Storage.driver"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Driver)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetDriver())) } if m.Store != nil { @@ -204,26 +204,26 @@ func cerbos_telemetry_v1_ServerLaunch_Features_Storage_hashpb_sum(m *ServerLaunc func cerbos_telemetry_v1_ServerLaunch_Features_hashpb_sum(m *ServerLaunch_Features, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.audit"]; !ok { - if m.Audit != nil { - cerbos_telemetry_v1_ServerLaunch_Features_Audit_hashpb_sum(m.Audit, hasher, ignore) + if m.GetAudit() != nil { + cerbos_telemetry_v1_ServerLaunch_Features_Audit_hashpb_sum(m.GetAudit(), hasher, ignore) } } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.schema"]; !ok { - if m.Schema != nil { - cerbos_telemetry_v1_ServerLaunch_Features_Schema_hashpb_sum(m.Schema, hasher, ignore) + if m.GetSchema() != nil { + cerbos_telemetry_v1_ServerLaunch_Features_Schema_hashpb_sum(m.GetSchema(), hasher, ignore) } } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.admin_api"]; !ok { - if m.AdminApi != nil { - cerbos_telemetry_v1_ServerLaunch_Features_AdminApi_hashpb_sum(m.AdminApi, hasher, ignore) + if m.GetAdminApi() != nil { + cerbos_telemetry_v1_ServerLaunch_Features_AdminApi_hashpb_sum(m.GetAdminApi(), hasher, ignore) } } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Features.storage"]; !ok { - if m.Storage != nil { - cerbos_telemetry_v1_ServerLaunch_Features_Storage_hashpb_sum(m.Storage, hasher, ignore) + if m.GetStorage() != nil { + cerbos_telemetry_v1_ServerLaunch_Features_Storage_hashpb_sum(m.GetStorage(), hasher, ignore) } } @@ -231,21 +231,21 @@ func cerbos_telemetry_v1_ServerLaunch_Features_hashpb_sum(m *ServerLaunch_Featur func cerbos_telemetry_v1_ServerLaunch_Source_hashpb_sum(m *ServerLaunch_Source, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Source.cerbos"]; !ok { - if m.Cerbos != nil { - cerbos_telemetry_v1_ServerLaunch_Cerbos_hashpb_sum(m.Cerbos, hasher, ignore) + if m.GetCerbos() != nil { + cerbos_telemetry_v1_ServerLaunch_Cerbos_hashpb_sum(m.GetCerbos(), hasher, ignore) } } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Source.os"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Os)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetOs())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Source.arch"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Arch)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetArch())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Source.num_cpus"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.NumCpus))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNumCpus()))) } } @@ -306,21 +306,21 @@ func cerbos_telemetry_v1_ServerLaunch_Stats_Policy_hashpb_sum(m *ServerLaunch_St func cerbos_telemetry_v1_ServerLaunch_Stats_Schema_hashpb_sum(m *ServerLaunch_Stats_Schema, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Stats.Schema.count"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Count))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetCount()))) } } func cerbos_telemetry_v1_ServerLaunch_Stats_hashpb_sum(m *ServerLaunch_Stats, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Stats.policy"]; !ok { - if m.Policy != nil { - cerbos_telemetry_v1_ServerLaunch_Stats_Policy_hashpb_sum(m.Policy, hasher, ignore) + if m.GetPolicy() != nil { + cerbos_telemetry_v1_ServerLaunch_Stats_Policy_hashpb_sum(m.GetPolicy(), hasher, ignore) } } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.Stats.schema"]; !ok { - if m.Schema != nil { - cerbos_telemetry_v1_ServerLaunch_Stats_Schema_hashpb_sum(m.Schema, hasher, ignore) + if m.GetSchema() != nil { + cerbos_telemetry_v1_ServerLaunch_Stats_Schema_hashpb_sum(m.GetSchema(), hasher, ignore) } } @@ -328,24 +328,24 @@ func cerbos_telemetry_v1_ServerLaunch_Stats_hashpb_sum(m *ServerLaunch_Stats, ha func cerbos_telemetry_v1_ServerLaunch_hashpb_sum(m *ServerLaunch, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.source"]; !ok { - if m.Source != nil { - cerbos_telemetry_v1_ServerLaunch_Source_hashpb_sum(m.Source, hasher, ignore) + if m.GetSource() != nil { + cerbos_telemetry_v1_ServerLaunch_Source_hashpb_sum(m.GetSource(), hasher, ignore) } } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.features"]; !ok { - if m.Features != nil { - cerbos_telemetry_v1_ServerLaunch_Features_hashpb_sum(m.Features, hasher, ignore) + if m.GetFeatures() != nil { + cerbos_telemetry_v1_ServerLaunch_Features_hashpb_sum(m.GetFeatures(), hasher, ignore) } } if _, ok := ignore["cerbos.telemetry.v1.ServerLaunch.stats"]; !ok { - if m.Stats != nil { - cerbos_telemetry_v1_ServerLaunch_Stats_hashpb_sum(m.Stats, hasher, ignore) + if m.GetStats() != nil { + cerbos_telemetry_v1_ServerLaunch_Stats_hashpb_sum(m.GetStats(), hasher, ignore) } } @@ -353,28 +353,28 @@ func cerbos_telemetry_v1_ServerLaunch_hashpb_sum(m *ServerLaunch, hasher hash.Ha func cerbos_telemetry_v1_ServerStop_hashpb_sum(m *ServerStop, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["cerbos.telemetry.v1.ServerStop.version"]; !ok { - _, _ = hasher.Write(protowire.AppendString(nil, m.Version)) + _, _ = hasher.Write(protowire.AppendString(nil, m.GetVersion())) } if _, ok := ignore["cerbos.telemetry.v1.ServerStop.uptime"]; !ok { - if m.Uptime != nil { - google_protobuf_Duration_hashpb_sum(m.Uptime, hasher, ignore) + if m.GetUptime() != nil { + google_protobuf_Duration_hashpb_sum(m.GetUptime(), hasher, ignore) } } if _, ok := ignore["cerbos.telemetry.v1.ServerStop.requests_total"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, m.RequestsTotal)) + _, _ = hasher.Write(protowire.AppendVarint(nil, m.GetRequestsTotal())) } } func google_protobuf_Duration_hashpb_sum(m *durationpb.Duration, hasher hash.Hash, ignore map[string]struct{}) { if _, ok := ignore["google.protobuf.Duration.seconds"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Seconds))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetSeconds()))) } if _, ok := ignore["google.protobuf.Duration.nanos"]; !ok { - _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.Nanos))) + _, _ = hasher.Write(protowire.AppendVarint(nil, uint64(m.GetNanos()))) } } diff --git a/api/genpb/cerbos/telemetry/v1/telemetry.pb.go b/api/genpb/cerbos/telemetry/v1/telemetry.pb.go index b1f4ef05f3..5db29b5fa5 100644 --- a/api/genpb/cerbos/telemetry/v1/telemetry.pb.go +++ b/api/genpb/cerbos/telemetry/v1/telemetry.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc (unknown) // source: cerbos/telemetry/v1/telemetry.proto diff --git a/api/genpb/cerbos/telemetry/v1/telemetry_hashpb.pb.go b/api/genpb/cerbos/telemetry/v1/telemetry_hashpb.pb.go index 25bb8273e3..2daddd39c5 100644 --- a/api/genpb/cerbos/telemetry/v1/telemetry_hashpb.pb.go +++ b/api/genpb/cerbos/telemetry/v1/telemetry_hashpb.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-go-hashpb. Do not edit. -// protoc-gen-go-hashpb v0.2.0 +// protoc-gen-go-hashpb v0.3.1 // Source: cerbos/telemetry/v1/telemetry.proto package telemetryv1 diff --git a/api/genpb/go.mod b/api/genpb/go.mod index 584a4cc3b4..e46ca92641 100644 --- a/api/genpb/go.mod +++ b/api/genpb/go.mod @@ -3,12 +3,12 @@ module github.com/cerbos/cerbos/api/genpb go 1.20 require ( - buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20240212200630-3014d81c3a48.1 + buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240221180331-f05a6f4403ce.1 github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 github.com/planetscale/vtprotobuf v0.6.0 - google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9 - google.golang.org/grpc v1.61.1 - google.golang.org/protobuf v1.32.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa + google.golang.org/grpc v1.62.1 + google.golang.org/protobuf v1.33.0 ) require ( @@ -16,6 +16,5 @@ require ( golang.org/x/net v0.20.0 // indirect golang.org/x/sys v0.16.0 // indirect golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto v0.0.0-20240205150955-31a09d347014 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect ) diff --git a/api/genpb/go.sum b/api/genpb/go.sum index a927b2d3a6..928d526d06 100644 --- a/api/genpb/go.sum +++ b/api/genpb/go.sum @@ -1,5 +1,5 @@ -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20240212200630-3014d81c3a48.1 h1:rOe/itdO7+9cWOnKqvpn1K7VmTDwp3vI4juPz6aNQbc= -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20240212200630-3014d81c3a48.1/go.mod h1:tiTMKD8j6Pd/D2WzREoweufjzaJKHZg35f/VGcZ2v3I= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240221180331-f05a6f4403ce.1 h1:0nWhrRcnkgw1kwJ7xibIO8bqfOA7pBzBjGCDBxIHch8= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240221180331-f05a6f4403ce.1/go.mod h1:Tgn5bgL220vkFOI0KPStlcClPeOJzAv4uT+V8JXGUnw= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -16,15 +16,13 @@ golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto v0.0.0-20240205150955-31a09d347014 h1:g/4bk7P6TPMkAUbUhquq98xey1slwvuVJPosdBqYJlU= -google.golang.org/genproto v0.0.0-20240205150955-31a09d347014/go.mod h1:xEgQu1e4stdSSsxPDK8Azkrk/ECl5HvdPf6nbZrTS5M= -google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9 h1:4++qSzdWBUy9/2x8L5KZgwZw+mjJZ2yDSCGMVM0YzRs= -google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:PVreiBMirk8ypES6aw9d4p6iiBNSIfZEBqr3UGoAi2E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014 h1:FSL3lRCkhaPFxqi0s9o+V4UI2WTzAVOvkgbd4kVV4Wg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014/go.mod h1:SaPjaZGWb0lPqs6Ittu0spdfrOArqji4ZdeP5IC/9N4= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa h1:Jt1XW5PaLXF1/ePZrznsh/aAUvI7Adfc3LY1dAKlzRs= +google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:K4kfzHtI0kqWA79gecJarFtDn/Mls+GxQcg3Zox91Ac= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= +google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= diff --git a/api/public/cerbos/request/v1/request.proto b/api/public/cerbos/request/v1/request.proto index e567594e0c..d8f3d80880 100644 --- a/api/public/cerbos/request/v1/request.proto +++ b/api/public/cerbos/request/v1/request.proto @@ -631,6 +631,28 @@ message EnablePolicyRequest { ]; } +message InspectPoliciesRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: {description: "Inspect policies request"} + }; + bool include_disabled = 1 [ + (google.api.field_behavior) = OPTIONAL, + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {description: "Include disabled policies"} + ]; + string name_regexp = 2 [ + (google.api.field_behavior) = OPTIONAL, + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {description: "Filter policies by name with regexp"} + ]; + string scope_regexp = 3 [ + (google.api.field_behavior) = OPTIONAL, + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {description: "Filter policies by scope with regexp"} + ]; + string version_regexp = 4 [ + (google.api.field_behavior) = OPTIONAL, + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {description: "Filter policies by version with regexp"} + ]; +} + message AddOrUpdateSchemaRequest { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { json_schema: {description: "Add/update schema request"} diff --git a/api/public/cerbos/response/v1/response.proto b/api/public/cerbos/response/v1/response.proto index 80a09d954b..c4ef9cbeaa 100644 --- a/api/public/cerbos/response/v1/response.proto +++ b/api/public/cerbos/response/v1/response.proto @@ -440,6 +440,17 @@ message EnablePolicyResponse { uint32 enabled_policies = 1; } +message InspectPoliciesResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: {description: "Inspect policies response"} + }; + message Result { + repeated string actions = 1; + } + + map results = 1; +} + message AddOrUpdateSchemaResponse { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { json_schema: {description: "Add/update schema response"} diff --git a/api/public/cerbos/svc/v1/svc.proto b/api/public/cerbos/svc/v1/svc.proto index 62699323e9..f416442f74 100644 --- a/api/public/cerbos/svc/v1/svc.proto +++ b/api/public/cerbos/svc/v1/svc.proto @@ -116,6 +116,19 @@ service CerbosAdminService { }; } + rpc InspectPolicies(cerbos.request.v1.InspectPoliciesRequest) returns (cerbos.response.v1.InspectPoliciesResponse) { + option (google.api.http) = {get: "/admin/policies/inspect"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + summary: "Inspect policies in the store", + security: { + security_requirement: { + key: "BasicAuth"; + value: {}; + } + } + }; + } + rpc ListPolicies(cerbos.request.v1.ListPoliciesRequest) returns (cerbos.response.v1.ListPoliciesResponse) { option (google.api.http) = {get: "/admin/policies"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { diff --git a/cmd/cerbos/healthcheck/healthcheck.go b/cmd/cerbos/healthcheck/healthcheck.go index 68beb6db3a..228dda40a4 100644 --- a/cmd/cerbos/healthcheck/healthcheck.go +++ b/cmd/cerbos/healthcheck/healthcheck.go @@ -203,7 +203,7 @@ func (gc grpcCheck) check(ctx context.Context, out io.Writer) error { dialOpts = append(dialOpts, grpc.WithTransportCredentials(credentials.NewTLS(gc.tlsConf))) } - conn, err := grpc.DialContext(ctx, gc.addr, dialOpts...) + conn, err := grpc.NewClient(gc.addr, dialOpts...) if err != nil { return fmt.Errorf("failed to connect to gRPC service at %q: %w", gc.addr, err) } diff --git a/cmd/cerbos/main.go b/cmd/cerbos/main.go index 922d00b9e8..0fa58f863e 100644 --- a/cmd/cerbos/main.go +++ b/cmd/cerbos/main.go @@ -26,12 +26,12 @@ const ( func main() { //nolint: govet var cli struct { - Compile compile.Cmd `cmd:"" help:"Compile and test policies"` - Server server.Cmd `cmd:"" help:"Start Cerbos server (PDP)"` - Healthcheck healthcheck.Cmd `cmd:"" help:"Healthcheck utility" aliases:"hc"` - Run run.Cmd `cmd:"" help:"Run a command in the context of a Cerbos PDP"` - Repl repl.Cmd `cmd:"" help:"Start a REPL to try out conditions"` - Version kong.VersionFlag + Compile compile.Cmd `cmd:"" help:"Compile and test policies"` + Server server.Cmd `cmd:"" help:"Start Cerbos server (PDP)"` + Healthcheck healthcheck.Cmd `cmd:"" help:"Healthcheck utility" aliases:"hc"` + Run run.Cmd `cmd:"" help:"Run a command in the context of a Cerbos PDP"` + Repl repl.Cmd `cmd:"" help:"Start a REPL to try out conditions"` + Version kong.VersionFlag `help:"Show cerbos version"` } ctx := kong.Parse(&cli, diff --git a/cmd/cerbosctl/main.go b/cmd/cerbosctl/main.go index 672ef225b8..bd092e7d86 100644 --- a/cmd/cerbosctl/main.go +++ b/cmd/cerbosctl/main.go @@ -8,14 +8,39 @@ import ( "github.com/cerbos/cerbos/cmd/cerbosctl/internal/client" "github.com/cerbos/cerbos/cmd/cerbosctl/root" + "github.com/cerbos/cerbos/internal/util" ) +const description = `A CLI for managing Cerbos + +The Cerbos Admin API must be enabled in order for these commands to work. +The Admin API requires credentials. They can be provided using a netrc file, +environment variables or command-line arguments. + +Environment variables + + - CERBOS_SERVER: gRPC address of the Cerbos server + - CERBOS_USERNAME: Admin username + - CERBOS_PASSWORD: Admin password + +When more than one method is used to provide credentials, the precedence from lowest to +highest is: netrc < environment < command line. + +Examples + + # Connect to a TLS enabled server while skipping certificate verification and launch the decisions viewer + cerbosctl --server=localhost:3593 --username=user --password=password --insecure decisions + + # Connect to a non-TLS server and launch the decisions viewer + cerbosctl --server=localhost:3593 --username=user --password=password --plaintext decisions` + func main() { cli := &root.Cli{} ctx := kong.Parse(cli, kong.Name("cerbosctl"), - kong.Description("A CLI for managing Cerbos"), + kong.Description(description), kong.UsageOnError(), + kong.Vars{"version": util.AppVersion()}, ) c, err := client.GetClient(&cli.Globals) diff --git a/cmd/cerbosctl/root/root.go b/cmd/cerbosctl/root/root.go index e496cc0ac8..c393f5435b 100644 --- a/cmd/cerbosctl/root/root.go +++ b/cmd/cerbosctl/root/root.go @@ -16,39 +16,15 @@ import ( "github.com/cerbos/cerbos/cmd/cerbosctl/version" ) -var help = `Cerbos instance administration commands -The Cerbos Admin API must be enabled in order for these commands to work. -The Admin API requires credentials. They can be provided using a netrc file, -environment variables or command-line arguments. - -Environment variables - -CERBOS_SERVER: gRPC address of the Cerbos server -CERBOS_USERNAME: Admin username -CERBOS_PASSWORD: Admin password - -When more than one method is used to provide credentials, the precedence from lowest to -highest is: netrc < environment < command line. - -# Connect to a TLS enabled server while skipping certificate verification and launch the decisions viewer -cerbosctl --server=localhost:3593 --username=user --password=password --insecure decisions - -# Connect to a non-TLS server and launch the decisions viewer -cerbosctl --server=localhost:3593 --username=user --password=password --plaintext decisions` - type Cli struct { - Version version.Cmd `cmd:"" help:"Show cerbosctl and PDP version"` - Get get.Cmd `cmd:"" help:"List or view policies and schemas"` - Store store.Cmd `cmd:"" help:"Store operations"` + Get get.Cmd `cmd:"" help:"List or view policies and schemas"` flagset.Globals + Store store.Cmd `cmd:"" help:"Store operations"` Delete del.Cmd `cmd:"" help:"Delete schemas"` Disable disable.Cmd `cmd:"" help:"Disable policies"` Enable enable.Cmd `cmd:"" help:"Enable policies"` Put put.Cmd `cmd:"" help:"Put policies or schemas"` Decisions decisions.Cmd `cmd:"" help:"Interactive decision log viewer"` Audit audit.Cmd `cmd:"" help:"View audit logs"` -} - -func (c *Cli) Help() string { - return help + Version version.Cmd `cmd:"" help:"Show cerbosctl and PDP version"` } diff --git a/cmd/cerbosctl/version/version.go b/cmd/cerbosctl/version/version.go index 601f69de59..dcea795a9d 100644 --- a/cmd/cerbosctl/version/version.go +++ b/cmd/cerbosctl/version/version.go @@ -13,7 +13,9 @@ import ( "github.com/cerbos/cerbos/internal/util" ) -type Cmd struct{} +type Cmd struct { + Client kong.VersionFlag `help:"Only show cerbosctl version"` +} func (c *Cmd) Run(k *kong.Kong, ctx *cmdclient.Context) error { _, err := fmt.Fprintf(k.Stdout, "Client version %s; commit sha: %s, build date: %s\n", util.Version, util.Commit, util.BuildDate) diff --git a/deploy/charts/cerbos/Chart.yaml b/deploy/charts/cerbos/Chart.yaml index 8311b44d6a..a2305c5c0c 100644 --- a/deploy/charts/cerbos/Chart.yaml +++ b/deploy/charts/cerbos/Chart.yaml @@ -16,6 +16,6 @@ keywords: - policies - rbac - security -version: "0.34.0" -appVersion: "0.34.0" +version: "0.35.0" +appVersion: "0.35.0" kubeVersion: ">=1.23.0-0" diff --git a/docs/antora-playbook.yml b/docs/antora-playbook.yml index 5fc41f902f..9db7a2f550 100644 --- a/docs/antora-playbook.yml +++ b/docs/antora-playbook.yml @@ -9,7 +9,7 @@ site: content: sources: - url: ./../ - branches: [HEAD, 'v{0..9}*', '!v0.{0..29}'] + branches: [HEAD, 'v{0..9}*', '!v0.{0..31}'] edit_url: "https://github.com/cerbos/cerbos/tree/main/{path}" start_path: docs - url: https://github.com/cerbos/cloud-docs.git @@ -21,7 +21,7 @@ urls: asciidoc: attributes: app-name: "cerbos" - app-version: "0.34.0@" + app-version: "0.35.0@" experimental: true page-pagination: true extensions: diff --git a/docs/antora.yml b/docs/antora.yml index 3671973338..25be7d9e5e 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -1,7 +1,7 @@ --- name: cerbos title: Cerbos -version: "0.34.0" +version: "0.35.0" nav: - modules/ROOT/nav.adoc - modules/api/nav.adoc diff --git a/docs/modules/ROOT/examples/quickstart/example.cs b/docs/modules/ROOT/examples/quickstart/example.cs index 59c0bce626..934dc1ccb5 100644 --- a/docs/modules/ROOT/examples/quickstart/example.cs +++ b/docs/modules/ROOT/examples/quickstart/example.cs @@ -27,7 +27,6 @@ private static void Main(string[] args) ResourceEntry .NewInstance("album:object", "DAFFY002") - .WithPolicyVersion("20210210") .WithAttribute("owner", AttributeValue.StringValue("daffy_duck")) .WithAttribute("public", AttributeValue.BoolValue(true)) .WithAttribute("flagged", AttributeValue.BoolValue(false)) diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index 7370172eb6..bab16f163b 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -6,13 +6,13 @@ xref:index.adoc[Cerbos] * Tutorial ** xref:tutorial/00_intro.adoc[Intro] ** xref:tutorial/01_running-locally.adoc[Running locally] -** xref:tutorial/02_resource-definition.adoc[Resource Definition] +** xref:tutorial/02_resource-definition.adoc[Resource definition] ** xref:tutorial/03_calling-cerbos.adoc[Calling Cerbos] -** xref:tutorial/04_testing-policies.adoc[Testing Policies] -** xref:tutorial/05_adding-conditions.adoc[Adding Conditions] -** xref:tutorial/06_derived-roles.adoc[Derived Roles] -** xref:tutorial/07_principal-policies.adoc[Principal Policies] -** xref:tutorial/08_attribute-schema.adoc[Attribute Schema] +** xref:tutorial/04_testing-policies.adoc[Testing policies] +** xref:tutorial/05_adding-conditions.adoc[Adding conditions] +** xref:tutorial/06_derived-roles.adoc[Derived roles] +** xref:tutorial/07_principal-policies.adoc[Principal policies] +** xref:tutorial/08_attribute-schema.adoc[Attribute schema] ** xref:tutorial/09_integrating-cerbos.adoc[Integrating Cerbos] * Installation ** xref:installation/binary.adoc[Binaries] diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc index e8275f64ae..6a1b43916a 100644 --- a/docs/modules/ROOT/pages/index.adoc +++ b/docs/modules/ROOT/pages/index.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Painless access control for your software +include::partial$version-check.adoc[] + + Cerbos helps you super-charge your authorization implementation by writing context-aware access control policies for your application resources. Author access rules using an intuitive YAML configuration language, use your Git-ops infrastructure to test and deploy them and, make simple API requests to the Cerbos PDP to evaluate the policies and make dynamic access decisions. @@ -34,4 +37,4 @@ Cerbos is designed to be deployed as a service rather than a library compiled in The Cerbos approach is a proven, modern, cloud native pattern for delivering language-agnostic infrastructure services. link:https://dapr.io[Microsoft Dapr], link:https://istio.io[Istio] and link:https://linkerd.io[Linkerd] are good examples of popular products utilising similar language-agnostic service APIs to augment applications. -Because Cerbos is in the critical request path and expected to handle large volumes of requests, we are obsessive about making Cerbos as fast and as efficient as possible with every release. Cerbos exposes an efficient, low latency gRPC API and is designed to be stateless and lightweight so that it can be deployed as a sidecar right next to your application. It can even be accessed over Unix domain sockets for extra security and reduced overhead. \ No newline at end of file +Because Cerbos is in the critical request path and expected to handle large volumes of requests, we are obsessive about making Cerbos as fast and as efficient as possible with every release. Cerbos exposes an efficient, low latency gRPC API and is designed to be stateless and lightweight so that it can be deployed as a sidecar right next to your application. It can even be accessed over Unix domain sockets for extra security and reduced overhead. diff --git a/docs/modules/ROOT/pages/installation/binary.adoc b/docs/modules/ROOT/pages/installation/binary.adoc index 92b386acc3..2cebd22d1f 100644 --- a/docs/modules/ROOT/pages/installation/binary.adoc +++ b/docs/modules/ROOT/pages/installation/binary.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Install from binary +include::partial$version-check.adoc[] + + Cerbos binaries are available for multiple operating systems and architectures. See the link:{app-github-releases-page}[releases page] for all available downloads. [caption=] @@ -25,7 +28,7 @@ chmod +x {app-name} ---- [id="linux-packages"] -== Linux Packages +== Linux packages Cerbos DEB and RPM packages can be installed on any Linux distribution that supports one of those package formats. You can download the appropriate package for your system from the link:{app-github-releases-page}[releases page]. @@ -57,3 +60,17 @@ You can install Cerbos binaries using Homebrew as well. brew tap cerbos/tap brew install cerbos ---- + +[id="npm"] +== npm + +You can install Cerbos binaries from the npm registry. This removes a separate setup step for JavaScript projects and allows you to lock Cerbos to a specific version to ensure a consistent development environment. + +link:https://www.npmjs.com/package/cerbos[cerbos] and link:https://www.npmjs.com/package/cerbosctl[cerbosctl] are available as separate packages. + +[source,sh] +---- +npm install --save-dev cerbos cerbosctl +---- + +Note that the npm packages rely on platform-specific optional dependencies, so make sure you don't omit these when installing dependencies (for example, don't pass the `--no-optional` flag to `npm`). diff --git a/docs/modules/ROOT/pages/installation/container.adoc b/docs/modules/ROOT/pages/installation/container.adoc index bd74c3a3cb..f9eadce466 100644 --- a/docs/modules/ROOT/pages/installation/container.adoc +++ b/docs/modules/ROOT/pages/installation/container.adoc @@ -2,11 +2,26 @@ include::partial$attributes.adoc[] = Run from container +include::partial$version-check.adoc[] + + [source,sh,subs="attributes"] ---- docker run --rm --name cerbos -p 3592:3592 {app-docker-img} ---- +[NOTE] +==== + +Cerbos images can be verified using link:https://www.sigstore.dev[sigstore] tools as follows: + +[source,sh,subs="attributes"] +---- +cosign verify --certificate-oidc-issuer="https://token.actions.githubusercontent.com" --certificate-identity-regexp="github.com/cerbos/cerbos" {app-docker-img} +---- + +==== + By default, the container is configured to listen on ports 3592 (HTTP) and 3593 (gRPC) and watch for policy files on the volume mounted at `/policies`. You can override these by creating a new xref:configuration:index.adoc[configuration file]. .Create a directory to hold the config file and policies. @@ -37,3 +52,5 @@ docker run --rm --name cerbos -d -v $(pwd)/cerbos-quickstart:/quickstart -p 3592 ---- NOTE: Cerbos container images are mirrored to Docker Hub and the latest version is available at {app-alternative-docker-img} as well. + + diff --git a/docs/modules/ROOT/pages/installation/helm.adoc b/docs/modules/ROOT/pages/installation/helm.adoc index 56ff8f6891..de5403c32a 100644 --- a/docs/modules/ROOT/pages/installation/helm.adoc +++ b/docs/modules/ROOT/pages/installation/helm.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Install from Helm chart +include::partial$version-check.adoc[] + + Add the Cerbos Helm repository: [source,sh,subs="attributes,macros"] diff --git a/docs/modules/ROOT/pages/quickstart.adoc b/docs/modules/ROOT/pages/quickstart.adoc index a20df8c519..0fb1c0d749 100644 --- a/docs/modules/ROOT/pages/quickstart.adoc +++ b/docs/modules/ROOT/pages/quickstart.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Quickstart +include::partial$version-check.adoc[] + + Create a directory to store the policies. diff --git a/docs/modules/ROOT/pages/tutorial/00_intro.adoc b/docs/modules/ROOT/pages/tutorial/00_intro.adoc index 595e8fe6c7..2c1035326b 100644 --- a/docs/modules/ROOT/pages/tutorial/00_intro.adoc +++ b/docs/modules/ROOT/pages/tutorial/00_intro.adoc @@ -1,6 +1,9 @@ include::partial$attributes.adoc[] = Tutorial + +include::partial$version-check.adoc[] + :page-aliases: ROOT:usage.adoc == Cerbforce diff --git a/docs/modules/ROOT/pages/tutorial/01_running-locally.adoc b/docs/modules/ROOT/pages/tutorial/01_running-locally.adoc index eaa536d333..2ba7ccd14b 100644 --- a/docs/modules/ROOT/pages/tutorial/01_running-locally.adoc +++ b/docs/modules/ROOT/pages/tutorial/01_running-locally.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Running locally +include::partial$version-check.adoc[] + + As the developers of Cerbforce began their investigation of the system, the first step was getting a Cerbos instance up and running locally. == Container diff --git a/docs/modules/ROOT/pages/tutorial/02_resource-definition.adoc b/docs/modules/ROOT/pages/tutorial/02_resource-definition.adoc index e1d21a92bb..b8f9ff93be 100644 --- a/docs/modules/ROOT/pages/tutorial/02_resource-definition.adoc +++ b/docs/modules/ROOT/pages/tutorial/02_resource-definition.adoc @@ -1,6 +1,9 @@ include::partial$attributes.adoc[] -= Policy authoring += Resource definition + +include::partial$version-check.adoc[] + NOTE: The policies for this section can be found link:{tutorial-base}/03-resource-definition/cerbos[on GitHub]. diff --git a/docs/modules/ROOT/pages/tutorial/03_calling-cerbos.adoc b/docs/modules/ROOT/pages/tutorial/03_calling-cerbos.adoc index 96892ffefc..b7b733df15 100644 --- a/docs/modules/ROOT/pages/tutorial/03_calling-cerbos.adoc +++ b/docs/modules/ROOT/pages/tutorial/03_calling-cerbos.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Calling Cerbos +include::partial$version-check.adoc[] + + NOTE: The policies for this section can be found link:{tutorial-base}/04-calling-cerbos/cerbos[on GitHub]. Now that you know the policies are valid, it is time to make your first call to Cerbos to make an authorization check. diff --git a/docs/modules/ROOT/pages/tutorial/04_testing-policies.adoc b/docs/modules/ROOT/pages/tutorial/04_testing-policies.adoc index 63323624b0..3272d1ba5c 100644 --- a/docs/modules/ROOT/pages/tutorial/04_testing-policies.adoc +++ b/docs/modules/ROOT/pages/tutorial/04_testing-policies.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Testing policies +include::partial$version-check.adoc[] + + NOTE: The policies for this section can be found link:{tutorial-base}/05-testing-policies/cerbos[on GitHub]. Cerbos allows you to write xref:policies:compile.adoc[tests for policies] and run them as part of the compilation stage to make sure that the policies do exactly what you expect. This saves the manual effort of running example requests over and over to ensure the policy logic is as you expect. diff --git a/docs/modules/ROOT/pages/tutorial/05_adding-conditions.adoc b/docs/modules/ROOT/pages/tutorial/05_adding-conditions.adoc index 0786f3469f..d322ce19a6 100644 --- a/docs/modules/ROOT/pages/tutorial/05_adding-conditions.adoc +++ b/docs/modules/ROOT/pages/tutorial/05_adding-conditions.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Adding conditions +include::partial$version-check.adoc[] + + NOTE: The policies for this section can be found link:{tutorial-base}/06-adding-conditions/cerbos[on GitHub]. In the previous section, an RBAC policy was created that allowed anyone with a `user` role to update a user resource - this isn't what is intended as it would allow users to update other users' profiles. diff --git a/docs/modules/ROOT/pages/tutorial/06_derived-roles.adoc b/docs/modules/ROOT/pages/tutorial/06_derived-roles.adoc index eaecc62b83..d9332d8830 100644 --- a/docs/modules/ROOT/pages/tutorial/06_derived-roles.adoc +++ b/docs/modules/ROOT/pages/tutorial/06_derived-roles.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Derived roles +include::partial$version-check.adoc[] + + NOTE: The policies for this section can be found link:{tutorial-base}/07-derived-roles/cerbos[on GitHub]. The business requirements for Cerbforce state that only an owner of Contacts and Companies are allowed to delete them from the system. With Cerbos, the aim is to keep policies as simple as possible and not repeat logic across different resources, so in this situation, a xref:policies:derived_roles.adoc[Derived Role] can enable help. diff --git a/docs/modules/ROOT/pages/tutorial/07_principal-policies.adoc b/docs/modules/ROOT/pages/tutorial/07_principal-policies.adoc index 96e45c0609..9c434c4c24 100644 --- a/docs/modules/ROOT/pages/tutorial/07_principal-policies.adoc +++ b/docs/modules/ROOT/pages/tutorial/07_principal-policies.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Principal policies +include::partial$version-check.adoc[] + + NOTE: The policies for this section can be found link:{tutorial-base}/08-principal-policies/cerbos[on GitHub]. The final type of policy that Cerbos supports is a xref:policies:principal_policies.adoc[principal policy] which is a special type that allows user-specific overrides to be defined. diff --git a/docs/modules/ROOT/pages/tutorial/08_attribute-schema.adoc b/docs/modules/ROOT/pages/tutorial/08_attribute-schema.adoc index 77cc504fbe..0c962aa9ce 100644 --- a/docs/modules/ROOT/pages/tutorial/08_attribute-schema.adoc +++ b/docs/modules/ROOT/pages/tutorial/08_attribute-schema.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Attribute schema +include::partial$version-check.adoc[] + + NOTE: The policies for this section can be found link:{tutorial-base}/09-attribute-schema/cerbos[on GitHub]. An additional check bit of business logic has been introduced for the `contact` resource which requires the `active` attribute of a contact to be set to `True` to be able to `update` or `delete` it. This is so that old contacts are kept for reporting purposes and can't be accidentally deleted or updated. diff --git a/docs/modules/ROOT/pages/tutorial/09_integrating-cerbos.adoc b/docs/modules/ROOT/pages/tutorial/09_integrating-cerbos.adoc index 60b7b92feb..762e3f48c1 100644 --- a/docs/modules/ROOT/pages/tutorial/09_integrating-cerbos.adoc +++ b/docs/modules/ROOT/pages/tutorial/09_integrating-cerbos.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = Integrating Cerbos +include::partial$version-check.adoc[] + + With the policies now defined the authorization logic inside the app can be replaced with a call out to a running Cerbos instance. Cerbos has SDKs available for Go, Java, .NET, Node, PHP, Python, Ruby, and Rust. Documentation for these and other examples can be found xref:api:index.adoc[here]. diff --git a/docs/modules/ROOT/pages/what-is-cerbos.adoc b/docs/modules/ROOT/pages/what-is-cerbos.adoc index 3a66db3f66..5245308f4b 100644 --- a/docs/modules/ROOT/pages/what-is-cerbos.adoc +++ b/docs/modules/ROOT/pages/what-is-cerbos.adoc @@ -2,6 +2,9 @@ include::partial$attributes.adoc[] = What is Cerbos? +include::partial$version-check.adoc[] + + == Authorization-as-a-Service One of the key tenants that allows many successful systems to scale is the adoption of a microservices architecture where each component can be scaled to meet the exact demands of the system. diff --git a/docs/modules/ROOT/partials/attributes.adoc b/docs/modules/ROOT/partials/attributes.adoc index b8d62b350b..cb275f25d9 100644 --- a/docs/modules/ROOT/partials/attributes.adoc +++ b/docs/modules/ROOT/partials/attributes.adoc @@ -12,6 +12,3 @@ :cerbosctl-docker-img: {app-container-registry}/cerbos/cerbosctl:{app-version} :tutorial-base: {app-github-url}/tree/main/docs/modules/ROOT/examples/tutorial -ifndef::page-component-version-is-latest[] -NOTE: This documentation is for a previous version of Cerbos. Choose {page-component-latest-version} from the version picker at the top right or navigate to https://docs.cerbos.dev for the latest version. -endif::[] diff --git a/docs/modules/ROOT/partials/version-check.adoc b/docs/modules/ROOT/partials/version-check.adoc new file mode 100644 index 0000000000..ced61d72a1 --- /dev/null +++ b/docs/modules/ROOT/partials/version-check.adoc @@ -0,0 +1,10 @@ +ifndef::page-component-version-is-latest[] +NOTE: This documentation is for +ifeval::["{page-component-version}" > "{page-component-latest-version}"] +an as-yet unreleased +endif::[] +ifeval::["{page-component-version}" < "{page-component-latest-version}"] +a previous +endif::[] +version of Cerbos. Choose {page-component-latest-version} from the version picker at the top right or navigate to https://docs.cerbos.dev for the latest version. +endif::page-component-version-is-latest[] diff --git a/docs/modules/api/pages/admin_api.adoc b/docs/modules/api/pages/admin_api.adoc index 26632e3d84..9a7671ad2a 100644 --- a/docs/modules/api/pages/admin_api.adoc +++ b/docs/modules/api/pages/admin_api.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = The Cerbos Admin API +include::ROOT:partial$version-check.adoc[] + + The Admin API is an optional component of the Cerbos PDP that must be enabled by setting the `server.adminAPI.enabled` to `true` in the configuration. (See xref:configuration:server.adoc#admin-api[Admin API configuration] for details). Authentication is mandatory for the Admin API. Currently only basic authentication with a single admin user is supported. If no credentials are configured using the xref:configuration:server.adoc#admin-api[configuration], the default username and password is `cerbos` and `cerbosAdmin`. @@ -161,6 +164,46 @@ curl -k -u cerbos:cerbosAdmin \ 'https://localhost:3592/admin/policy?id=x.yaml&id=y.yaml' ---- +=== Inspect Policies + +---- +GET /admin/policies/inspect +---- + +Issue a GET request to the endpoint to list actions covered by the policies in the store. If the policy store supports +filtering, you can optionally pass filter parameters to reduce the result set. + +Use `includeDisabled=true` query parameter in order to include disabled policies in the response. + +Use `nameRegexp`, `scopeRegexp` and `versionRegexp` to filter using the policy name, scope or version with +case-insensitive regular expressions. + +[source,shell] +---- +curl -k -u cerbos:cerbosAdmin \ + 'https://localhost:3592/admin/policies/inspect' +---- + +[source,shell] +---- +curl -k -u cerbos:cerbosAdmin \ + 'https://localhost:3592/admin/policies/inspect?includeDisabled=true&nameRegexp=%5Efoo&scopeRegexp=bar%24&versionRegexp=default' +---- + +=== Get Policies + +---- +GET /admin/policy?id=policy_id +---- + +Issue a GET request to the endpoint with the list of IDs (the `id` query parameter can be repeated multiple times) to retrieve. The list of IDs available in the store can be retrieved using the `ListPolicies` API call described above. + +[source,shell] +---- +curl -k -u cerbos:cerbosAdmin \ + 'https://localhost:3592/admin/policy?id=x.yaml&id=y.yaml' +---- + [#disable-policies] === Disable Policies diff --git a/docs/modules/api/pages/index.adoc b/docs/modules/api/pages/index.adoc index 12e50a7092..ad3ce039e5 100644 --- a/docs/modules/api/pages/index.adoc +++ b/docs/modules/api/pages/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = The Cerbos API +include::ROOT:partial$version-check.adoc[] + + The main API endpoint for making policy decisions is the `/api/check/resources` REST endpoint (`cerbos.svc.v1.CerbosService/CheckResources` RPC in the gRPC API). You can view the latest API documentation from a running Cerbos instance by accessing the root directory of the HTTP endpoint using a browser. [source,sh,subs="attributes"] diff --git a/docs/modules/cli/pages/cerbos.adoc b/docs/modules/cli/pages/cerbos.adoc index ac0cc17a9d..0b95a14cf5 100644 --- a/docs/modules/cli/pages/cerbos.adoc +++ b/docs/modules/cli/pages/cerbos.adoc @@ -1,6 +1,9 @@ include::ROOT:partial$attributes.adoc[] = `cerbos` + +include::ROOT:partial$version-check.adoc[] + :page-aliases: compile.adoc, server.adoc See xref:ROOT:installation/binary.adoc[] or xref:ROOT:installation/container.adoc[] for instructions on how to install the `cerbos` binary. @@ -67,7 +70,7 @@ Arguments: Flags: -h, --help Show context-sensitive help. - --version + --version Show cerbos version --ignore-schemas Ignore schemas during compilation --tests=STRING Path to the directory containing tests. Defaults to policy directory. @@ -122,7 +125,7 @@ cerbos healthcheck --kind=http --host-port=10.0.1.5:3592 --no-tls Flags: -h, --help Show context-sensitive help. - --version + --version Show cerbos version --kind="grpc" Healthcheck kind (grpc,http) ($CERBOS_HC_KIND) --insecure Do not verify server certificate ($CERBOS_HC_INSECURE) @@ -293,7 +296,7 @@ Arguments: Flags: -h, --help Show context-sensitive help. - --version + --version Show cerbos version --log-level="info" Log level (debug,info,warn,error) --config=.cerbos.yaml Path to config file @@ -325,7 +328,7 @@ cerbos server --config=/path/to/.cerbos.yaml --set=server.adminAPI.enabled=true Flags: -h, --help Show context-sensitive help. - --version + --version Show cerbos version --debug-listen-addr=:6666 Address to start the gops listener --log-level="info" Log level (debug,info,warn,error) diff --git a/docs/modules/cli/pages/cerbosctl.adoc b/docs/modules/cli/pages/cerbosctl.adoc index b68b2a998c..f1c3ae83d6 100644 --- a/docs/modules/cli/pages/cerbosctl.adoc +++ b/docs/modules/cli/pages/cerbosctl.adoc @@ -1,9 +1,12 @@ include::ROOT:partial$attributes.adoc[] -= `cerbosctl` += `cerbosctl` + +include::ROOT:partial$version-check.adoc[] + :page-aliases: ctl.adoc -This utility can be downloaded as a separate container or a tar archive. It is automatically installed when installing Cerbos through xref:ROOT:installation/binary.adoc#linux-packages[Linux packages or the Homebrew tap]. +This utility can be downloaded as a separate container, tar archive, or link:https://www.npmjs.com/package/cerbosctl[npm package]. It is automatically installed when installing Cerbos through xref:ROOT:installation/binary.adoc#linux-packages[Linux packages or the Homebrew tap]. .Run from the container @@ -13,14 +16,14 @@ docker run -it {cerbosctl-docker-img} \ --server=192.168.1.10:3593 \ --username=user \ --password=password \ - get rp + get rp ---- .Download and run the appropriate binary from {app-github-releases-page} [caption=] [%header,cols=".^1,.^1,3m",grid=rows] |=== -|OS | Arch | Bundle +|OS | Arch | Bundle |Linux | x86-64 | cerbosctl_{app-version}_Linux_x86_64.tar.gz |Linux | arm64 | cerbosctl_{app-version}_Linux_arm64.tar.gz |MacOS | universal | cerbosctl_{app-version}_Darwin_all.tar.gz @@ -33,63 +36,84 @@ Cerbosctl requires the xref:configuration:server.adoc#admin-api[Admin API to be The server address to connect to and the credentials to authenticate can be provided through environment variables or as arguments to the command. -[source,sh] +[source] ---- -Cerbos instance administration commands +Usage: cerbosctl + +A CLI for managing Cerbos + The Cerbos Admin API must be enabled in order for these commands to work. -The Admin API requires credentials. They can be provided using a netrc file, -environment variables or command-line arguments. +The Admin API requires credentials. They can be provided using a netrc file, +environment variables or command-line arguments. Environment variables -CERBOS_SERVER: gRPC address of the Cerbos server -CERBOS_USERNAME: Admin username -CERBOS_PASSWORD: Admin password + - CERBOS_SERVER: gRPC address of the Cerbos server + - CERBOS_USERNAME: Admin username + - CERBOS_PASSWORD: Admin password -When more than one method is used to provide credentials, the precedence from lowest to -highest is: netrc < environment < command line. +When more than one method is used to provide credentials, the precedence from +lowest to highest is: netrc < environment < command line. -Usage: - cerbosctl [command] +Examples -Examples: + # Connect to a TLS enabled server while skipping certificate verification and launch the decisions viewer + cerbosctl --server=localhost:3593 --username=user --password=password --insecure decisions -# Connect to a TLS enabled server while skipping certificate verification and launch the decisions viewer -cerbosctl --server=localhost:3593 --username=user --password=password --insecure decisions + # Connect to a non-TLS server and launch the decisions viewer + cerbosctl --server=localhost:3593 --username=user --password=password --plaintext decisions -# Connect to a non-TLS server and launch the decisions viewer -cerbosctl --server=localhost:3593 --username=user --password=password --plaintext decisions +Flags: + -h, --help Show context-sensitive help. + --server="localhost:3593" Address of the Cerbos server ($CERBOS_SERVER) + --username=STRING Admin username ($CERBOS_USERNAME) + --password=STRING Admin password ($CERBOS_PASSWORD) + --ca-cert=STRING Path to the CA certificate for verifying server identity + --client-cert=STRING Path to the TLS client certificate + --client-key=STRING Path to the TLS client key + --insecure Skip validating server certificate + --plaintext Use plaintext protocol without TLS -Available Commands: - audit View audit logs - completion Generate the autocompletion script for the specified shell - decisions Interactive decision log viewer - disable Disable policies - enable Enable policies - get List or view policies and schemas - help Help about any command - put Put policies or schemas - store Store operations - version Show cerbosctl and PDP version +Commands: + get derived_roles (derived_role,dr) [ ...] -Flags: - --ca-cert string Path to the CA certificate for verifying server identity - --client-cert string Path to the TLS client certificate - --client-key string Path to the TLS client key - -h, --help help for cerbosctl - --insecure Skip validating server certificate - --password string Admin password - --plaintext Use plaintext protocol without TLS - --server string Address of the Cerbos server - --username string Admin username - -v, --version version for cerbosctl + get export_variables (ev) [ ...] + + get principal_policies (principal_policy,pp) [ ...] + + get resource_policies (resource_policy,rp) [ ...] + + get schemas (schema,s) [ ...] + + store export (e) + + store reload (r) + + delete schema (schemas,s) ... + + disable policy (policies,p) ... + + enable policy (policies,p) ... + + put policy (policies,p) ... + + put schema (schemas,s) ... + + decisions + Interactive decision log viewer + + audit + View audit logs + + version + Show cerbosctl and PDP version -Use "cerbosctl [command] --help" for more information about a command. +Run "cerbosctl --help" for more information on a command. ---- [#audit] -== `audit` +== `audit` This command allows you to view the audit logs captured by the Cerbos server. xref:configuration:audit.adoc[Audit logging] must be enabled on the server to obtain the data through this command. @@ -98,7 +122,7 @@ This command allows you to view the audit logs captured by the Cerbos server. xr **** tail:: Get the last N records (e.g. `--tail=10`) -between:: Get records between two ISO-8601 timestamps. If the last timestamp is left out, get records from the first timestamp up to now. +between:: Get records between two ISO-8601 timestamps. If the last timestamp is left out, get records from the first timestamp up to now. + - `--between=2021-07-01T00:00:00Z,2021-07-02T00:00:00Z`: From midnight of 2021-07-01 to midnight of 2021-07-02. - `--between=2021-07-01T00:00:00Z`: From midnight of 2021-07-01 to now. diff --git a/docs/modules/cli/pages/index.adoc b/docs/modules/cli/pages/index.adoc index 8f8bbc21bd..b4aac568eb 100644 --- a/docs/modules/cli/pages/index.adoc +++ b/docs/modules/cli/pages/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Cerbos CLI +include::ROOT:partial$version-check.adoc[] + + Every link:{app-github-releases-page}[Cerbos release] ships with two binaries: xref:cerbos.adoc[`cerbos`]:: The Cerbos server (PDP) and the compiler/test runner diff --git a/docs/modules/configuration/pages/audit.adoc b/docs/modules/configuration/pages/audit.adoc index bc09f9910f..9318a7a06c 100644 --- a/docs/modules/configuration/pages/audit.adoc +++ b/docs/modules/configuration/pages/audit.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Audit block +include::ROOT:partial$version-check.adoc[] + + The `audit` block configures the audit logging settings for the Cerbos instance. Audit logs capture access records and decisions made by the engine along with the associated context data. Cerbos API responses include a `cerbosCallId` field that contains the unique identifier under which the request was logged to the audit log (if enabled) and the Cerbos activity log. It is recommended that applications log this ID as part of their activity logs too so that those log entries can be joined together with Cerbos logs during log analysis to build a complete picture of the authorization decisions. diff --git a/docs/modules/configuration/pages/auxdata.adoc b/docs/modules/configuration/pages/auxdata.adoc index 906dcf3cd8..e38b971cdd 100644 --- a/docs/modules/configuration/pages/auxdata.adoc +++ b/docs/modules/configuration/pages/auxdata.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = AuxData block +include::ROOT:partial$version-check.adoc[] + + The `auxData` block configures the auxiliary data sources that can be referenced in policy conditions. diff --git a/docs/modules/configuration/pages/engine.adoc b/docs/modules/configuration/pages/engine.adoc index 047d32f643..ac6b768288 100644 --- a/docs/modules/configuration/pages/engine.adoc +++ b/docs/modules/configuration/pages/engine.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Engine block +include::ROOT:partial$version-check.adoc[] + + == Default policy version xref:policies:index.adoc[Cerbos policies] have a `version` field to support use cases such as having different policies for different environments (production, staging etc.) or for gradual rollout of a new version of an application. By default, when a request does not explicitly specify the policy version, the Cerbos engine attempts to find a matching policy that has its version set to `default`. You can change this fallback value by setting the `defaultPolicyVersion`. For example, if you have a Cerbos deployment for your staging environment, you may want to set `defaultPolicyVersion: staging` to ensure that the default policies in effect are the ones versioned as `staging`. diff --git a/docs/modules/configuration/pages/index.adoc b/docs/modules/configuration/pages/index.adoc index ae50731b29..ac4b38fa23 100644 --- a/docs/modules/configuration/pages/index.adoc +++ b/docs/modules/configuration/pages/index.adoc @@ -3,6 +3,9 @@ include::ROOT:partial$attributes.adoc[] [[configuration]] = Configuration +include::ROOT:partial$version-check.adoc[] + + The Cerbos server is configured with a YAML file, conventionally named `.cerbos.yaml`. Start the server by passing the configuration file using the `--config` flag. The values defined in the file can be overridden from the command-line by using the `--set` flag. The `--set` flag can be used multiple times. For example, to override `server.httpListenAddr` and `engine.defaultPolicyVersion`, the `--set` flag can be used as follows: [source,sh,subs="attributes"] @@ -13,6 +16,7 @@ The Cerbos server is configured with a YAML file, conventionally named `.cerbos. NOTE: Config values can reference environment variables by enclosing them between `${}`, for example `$$${HOME}$$`. Defaults can be set using `$$${VAR:default}$$`. +[id="minimal-configuration"] == Minimal Configuration At a minimum, Cerbos requires a storage driver to be configured. If no explicit configuration is provided using the `--config` flag, Cerbos defaults to a `disk` driver configured to look for policies in a directory named `policies` in the current working directory. @@ -39,6 +43,7 @@ storage: ---- +[id="full-configuration"] == Full Configuration Cerbos has many configuration options that are either optional or has reasonable defaults built-in. The following section describes all user-configurable options and their defaults. diff --git a/docs/modules/configuration/pages/observability.adoc b/docs/modules/configuration/pages/observability.adoc index 52cbb1153f..c98388b32f 100644 --- a/docs/modules/configuration/pages/observability.adoc +++ b/docs/modules/configuration/pages/observability.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Observability +include::ROOT:partial$version-check.adoc[] + + Cerbos is designed from the ground up to be cloud native and has first-class support for observability via OpenTelemetry metrics and distributed traces. [#metrics] diff --git a/docs/modules/configuration/pages/schema.adoc b/docs/modules/configuration/pages/schema.adoc index 4bd6c97d69..ac5fc3235e 100644 --- a/docs/modules/configuration/pages/schema.adoc +++ b/docs/modules/configuration/pages/schema.adoc @@ -1,6 +1,9 @@ include::ROOT:partial$attributes.adoc[] -= Schema Block += Schema block + +include::ROOT:partial$version-check.adoc[] + See xref:policies:schemas.adoc[] for more information about schemas. @@ -17,4 +20,3 @@ See xref:policies:schemas.adoc[] for more information about schemas. schema: enforcement: reject ---- - diff --git a/docs/modules/configuration/pages/server.adoc b/docs/modules/configuration/pages/server.adoc index 4e9e446b2d..72d28dc175 100644 --- a/docs/modules/configuration/pages/server.adoc +++ b/docs/modules/configuration/pages/server.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Server block +include::ROOT:partial$version-check.adoc[] + + == Listen addresses By default the server will start an HTTP server on port `3592` and a gRPC server on `3593` that will listen on all available interfaces. @@ -126,6 +129,7 @@ server: passwordHash: JDJ5JDEwJE5HYnk4cTY3VTE1bFV1NlR2bmp3ME9QOXdXQXFROGtBb2lWREdEY2xXbzR6WnoxYWtSNWNDCgo= ---- +[#password-hash] === Generating a password hash Cerbos expects the password to be hashed with bcrypt and encoded with base64. This can be achieved using the `htpasswd` and `base64` utilities available on most operating systems. diff --git a/docs/modules/configuration/pages/storage.adoc b/docs/modules/configuration/pages/storage.adoc index f6201a11cc..db75563b58 100644 --- a/docs/modules/configuration/pages/storage.adoc +++ b/docs/modules/configuration/pages/storage.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Storage block +include::ROOT:partial$version-check.adoc[] + + Cerbos supports multiple backends for storing policies. Which storage driver to use is defined by the `driver` setting. [id="disk-driver"] @@ -33,7 +36,7 @@ storage: CAUTION: On some platforms the automatic change detection feature can be inefficient and resource-intensive if the watched directory contains many files or gets updated frequently. [id="disk-driver-archives"] -=== Archive Files +=== Archive files Alternatively, you can opt to archive and/or compress your policies directory into a Zip (`.zip`), Tar (`.tar`) or Gzip file (`.tgz` or `.tar.gz`). The archive is assumed to be laid out like a standard policy directory. It must contain no non-policy YAML files. diff --git a/docs/modules/configuration/pages/telemetry.adoc b/docs/modules/configuration/pages/telemetry.adoc index 4420ca9e20..1d32475c65 100644 --- a/docs/modules/configuration/pages/telemetry.adoc +++ b/docs/modules/configuration/pages/telemetry.adoc @@ -1,6 +1,9 @@ include::ROOT:partial$attributes.adoc[] = Telemetry + +include::ROOT:partial$version-check.adoc[] + :page-aliases: ROOT:telemetry.adoc Cerbos developers rely on anonymous usage data to help prioritise new features and improve the product. The information collected is completely anonymous, never shared with external entities, and you can opt out at any time. diff --git a/docs/modules/configuration/pages/tracing.adoc b/docs/modules/configuration/pages/tracing.adoc index 04941706b5..75722982f3 100644 --- a/docs/modules/configuration/pages/tracing.adoc +++ b/docs/modules/configuration/pages/tracing.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Tracing block +include::ROOT:partial$version-check.adoc[] + + IMPORTANT: The `tracing` block was deprecated in Cerbos 0.32.0 and removed in Cerbos 0.33.0. Refer to xref:observability.adoc#traces[observability configuration] for information about configuring traces. [#migration] diff --git a/docs/modules/configuration/partials/fullconfiguration.adoc b/docs/modules/configuration/partials/fullconfiguration.adoc index f309cea86e..3813d78dc1 100644 --- a/docs/modules/configuration/partials/fullconfiguration.adoc +++ b/docs/modules/configuration/partials/fullconfiguration.adoc @@ -18,6 +18,14 @@ audit: maxFileCount: 10 # MaxFileCount sets the maximum number of files to retain. maxFileSizeMB: 100 # MaxFileSizeMB sets the maximum size of individual log files in megabytes. path: /path/to/file.log # Required. Path to the log file to use as output. The special values stdout and stderr can be used to write to stdout or stderr respectively. + hub: + advanced: + bufferSize: 256 + flushInterval: 1s + gcInterval: 60s + maxBatchSize: 32 + retentionPeriod: 168h # How long to keep records for + storagePath: /path/to/dir # Path to store the data kafka: ack: all # Ack mode for producing messages. Valid values are "none", "leader" or "all" (default). Idempotency is disabled when mode is not "all". authentication: # Authentication @@ -68,6 +76,12 @@ engine: defaultPolicyVersion: "default" # DefaultPolicyVersion defines what version to assume if the request does not specify one. globals: {"environment": "staging"} # Globals are environment-specific variables to be made available to policy conditions. lenientScopeSearch: false # LenientScopeSearch configures the engine to ignore missing scopes and search upwards through the scope tree until it finds a usable policy. +hub: + credentials: # Credentials holds Cerbos Hub client credentials. + clientID: 92B0K05B6HOF # ClientID of the Cerbos Hub credential. Defaults to the value of the CERBOS_HUB_CLIENT_ID environment variable. + clientSecret: ${CERBOS_HUB_CLIENT_SECRET} # ClientSecret of the Cerbos Hub credential. Defaults to the value of the CERBOS_HUB_CLIENT_SECRET environment variable. + pdpID: crb-004 # PDPID is the unique identifier for this Cerbos instance. Defaults to the value of the CERBOS_HUB_PDP_ID environment variable. + workspaceSecret: ${CERBOS_HUB_WORKSPACE_SECRET} # WorkspaceSecret used to decrypt the bundles. Defaults to the value of the CERBOS_HUB_WORKSPACE_SECRET environment variable. schema: cacheSize: 1024 # CacheSize defines the number of schemas to cache in memory. enforcement: reject # Enforcement defines level of the validations. Possible values are none, warn, reject. @@ -120,27 +134,12 @@ storage: bundle: # This section is required only if storage.driver is bundle. cacheSize: 1024 # CacheSize defines the number of policies to cache in memory. - credentials: # Credentials holds bundle source credentials. - clientID: 92B0K05B6HOF # ClientID of the Cerbos Hub credential. Defaults to the value of the CERBOS_HUB_CLIENT_ID environment variable. - clientSecret: ${CERBOS_HUB_CLIENT_SECRET} # ClientSecret of the Cerbos Hub credential. Defaults to the value of the CERBOS_HUB_CLIENT_SECRET environment variable. - pdpID: crb-004 # PDPID is the unique identifier for this Cerbos instance. Defaults to the value of the CERBOS_HUB_PDP_ID environment variable. - workspaceSecret: ${CERBOS_HUB_WORKSPACE_SECRET} # WorkspaceSecret used to decrypt the bundles. Defaults to the value of the CERBOS_HUB_WORKSPACE_SECRET environment variable. local: # Local holds configuration for local bundle source. bundlePath: /path/to/bundle.crbp # Required. BundlePath is the full path to the local bundle file. tempDir: ${TEMP} # TempDir is the directory to use for temporary files. remote: # Remote holds configuration for remote bundle source. Takes precedence over local if both are defined. bundleLabel: latest # Required. BundleLabel to fetch from the server. cacheDir: ${XDG_CACHE_DIR} # CacheDir is the directory to use for caching downloaded bundles. - connection: # Connection defines settings for the remote server connection. - apiEndpoint: https://api.cerbos.cloud # Required. APIEndpoint is the address of the API server. - bootstrapEndpoint: https://cdn.cerbos.cloud # Required. BootstrapEndpoint is the addresses of the server serving the bootstrap configuration. - heartbeatInterval: 2m # HeartbeatInterval is the interval for sending regular heartbeats. - maxRetryWait: 120s # MaxRetryWait is the maximum amount of time to wait between retries. - minRetryWait: 1s # MinRetryWait is the minimum amount of time to wait between retries. - numRetries: 5 # NumRetries is the number of times to retry before giving up. - tls: # TLS defines settings for TLS connections. - authority: domain.tld # Authority overrides the Cerbos PDP server authority if it is different from what is provided in the address. - caCert: /path/to/CA_certificate # CACert is the path to the CA certificate chain to use for certificate verification. disableAutoUpdate: # DisableAutoUpdate sets whether new bundles should be automatically downloaded and applied. tempDir: ${TEMP} # TempDir is the directory to use for temporary files. disk: diff --git a/docs/modules/deployment/nav.adoc b/docs/modules/deployment/nav.adoc index 6b4fa4008e..56840c127b 100644 --- a/docs/modules/deployment/nav.adoc +++ b/docs/modules/deployment/nav.adoc @@ -1,5 +1,6 @@ .xref:index.adoc[Deployment patterns] -- xref:k8s-service.adoc[Kubernetes Service] -- xref:k8s-sidecar.adoc[Kubernetes Sidecar] -- xref:systemd.adoc[Systemd Service] +- xref:cloud-platforms.adoc[Cloud platforms] +- xref:k8s-service.adoc[Kubernetes service] +- xref:k8s-sidecar.adoc[Kubernetes sidecar] - xref:serverless-faas.adoc[Serverless/FaaS environments] +- xref:systemd.adoc[Systemd service] diff --git a/docs/modules/deployment/pages/cloud-platforms.adoc b/docs/modules/deployment/pages/cloud-platforms.adoc new file mode 100644 index 0000000000..15b60120c1 --- /dev/null +++ b/docs/modules/deployment/pages/cloud-platforms.adoc @@ -0,0 +1,334 @@ +include::ROOT:partial$attributes.adoc[] + += Deploy Cerbos to Cloud platforms + +include::ROOT:partial$version-check.adoc[] + +== Fly.io + +You can deploy Cerbos on Fly.io as a link:https://fly.io/docs/apps[Fly Launch] app. The following `fly.toml` file shows +how to deploy Cerbos with healthchecks and metrics: + +[source,toml,linenums,subs="attributes+"] +---- +app = '' <1> +primary_region = '' <2> + +[build] + image = 'ghcr.io/cerbos/cerbos:{app-version}' + +[[mounts]] + source = 'policies' + destination = '/policies' + initial_size = '1GB' + +[[services]] + protocol = '' + internal_port = 3592 + +[[services.ports]] + port = 3592 + handlers = ['tls', 'http'] + +[[services.http_checks]] + interval = '5s' + timeout = '2s' + grace_period = '5s' + method = 'get' + path = '/_cerbos/health' + protocol = 'http' + +[[services]] + protocol = '' + internal_port = 3593 + +[[services.ports]] + port = 3593 + handlers = ['tls'] + + [services.ports.tls_options] + alpn = ['h2'] + +[[vm]] + memory = '1gb' + cpu_kind = 'shared' + cpus = 1 + +[metrics] + port = 3592 + path = "/_cerbos/metrics" +---- +<1> The name of the link:https://fly.io/docs/apps[Fly App] +<2> Pick a Fly.io link:https://fly.io/docs/reference/regions/#fly-io-regions[region] + +The example above launches a Cerbos instance with the xref:configuration:index.adoc#minimal-configuration[minimal configuration] using an empty link:https://fly.io/docs/reference/volumes/[Fly volume] mounted as the policy directory. For production use cases, consider using one of the following methods for policy storage. + +- Cerbos xref:configuration:storage.adoc#git-driver[`git` driver] with a Git provider such as GitHub or GitLab +- Cerbos xref:configuration:storage.adoc#blob-driver[`blob` driver] with link:https://fly.io/docs/reference/tigris/#create-and-manage-a-tigris-storage-bucket[Tigris] +- Cerbos xref:configuration:storage.adoc#sqlite3[`sqlite3` driver] with a standalone SQLite database or link:https://fly.io/docs/litefs/#litefs-cloud[LiteFS] +- Cerbos xref:configuration:storage.adoc#postgres[`postgres` driver] with link:https://fly.io/docs/postgres/[Fly Postgres] +- link:https://www.cerbos.dev/product-cerbos-hub[Cerbos Hub] + + +TIP: Cerbos can be xref:configuration:index.adoc[configured entirely from the command line] using `--set` flags. On the Fly.io platform, they can be set by overriding the `cmd` setting in the link:https://fly.io/docs/reference/configuration/#the-experimental-section[`experimental` section] of the `fly.toml` file. + +=== Using Tigris as a policy repository + +Cerbos `blob` driver can be used with any S3-compatible blob storage backend such as link:https://fly.io/docs/reference/tigris[Tigris]. + + +Create a storage bucket on Tigris. Refer to https://fly.io/docs/reference/tigris/#create-and-manage-a-tigris-storage-bucket for more information about creating storage buckets. + +[source,bash,linenums] +---- +flyctl storage create +---- + +Note down the credentials for accessing the bucket and save them as application secrets. + +[source,bash,linenums] +---- +flyctl apps create <1> +flyctl secrets set --app= AWS_ACCESS_KEY_ID=tid_XXXXXX <2> +flyctl secrets set --app= AWS_SECRET_ACCESS_KEY=tsec_XXXXXX <3> +---- +<1> Your application name on Fly.io +<2> Tigris key ID +<3> Tigris secret access key + + +Create a `fly.toml` file. + +[source,toml,linenums,subs="attributes+"] +---- +app = '' <1> +primary_region = '' <2> + +[build] + image = 'ghcr.io/cerbos/cerbos:{app-version}' + +[experimental] + cmd = [ + 'server', + '--set', 'storage.driver=blob', + '--set', 'storage.blob.bucket=s3://?endpoint=fly.storage.tigris.dev®ion=auto', <3> + '--set', 'storage.blob.downloadTimeout=30s', + '--set', 'storage.blob.prefix=policies', + '--set', 'storage.blob.updatePollInterval=15s', + '--set', 'storage.blob.workDir=/policies' + ] + +[[mounts]] + source = 'policies' + destination = '/policies' + initial_size = '1GB' + +[[services]] + protocol = '' + internal_port = 3592 + auto_stop_machines = true + +[[services.ports]] + port = 3592 + handlers = ['tls', 'http'] + +[[services.http_checks]] + interval = '5s' + timeout = '2s' + grace_period = '5s' + method = 'get' + path = '/_cerbos/health' + protocol = 'http' + +[[services]] + protocol = '' + internal_port = 3593 + auto_stop_machines = true + +[[services.ports]] + port = 3593 + handlers = ['tls'] + + [services.ports.tls_options] + alpn = ['h2'] + +[[vm]] + memory = '1gb' + cpu_kind = 'shared' + cpus = 1 + +[metrics] + port = 3592 + path = "/_cerbos/metrics" +---- +<1> The name of the link:https://fly.io/docs/apps[Fly App] +<2> Pick a Fly.io link:https://fly.io/docs/reference/regions/#fly-io-regions[region] +<3> Storage bucket name + +Deploy the app. + +[source,bash,linenums] +---- +flyctl deploy +---- + +=== Using LiteFS as a policy repository + +Fly.io's distributed SQLite storage layer link:https://fly.io/docs/litefs[LiteFS] can be used for policy storage using +Cerbos' `sqlite3` driver. + +Start by creating an app on Fly.io. + +[source,bash,linenums] +---- +flyctl apps create +---- + +Create a LiteFS configuration file named `litefs.yml`. + +[source,yaml,linenums] +---- +data: + dir: "/var/lib/litefs" + +exec: + - cmd: "/cerbos server --set=storage.driver=sqlite3 --set=storage.sqlite3.dsn=file:/litefs/db --set=server.adminAPI.enabled=true --set=server.adminAPI.adminCredentials.username=$CERBOS_ADMIN_USER --set=server.adminAPI.adminCredentials.passwordHash=$CERBOS_ADMIN_PASSWORD_HASH" + +exit-on-error: false + +fuse: + dir: "/litefs" + +lease: + advertise-url: "http://${FLY_ALLOC_ID}.vm.${FLY_APP_NAME}.internal:20202" + candidate: ${FLY_REGION == PRIMARY_REGION} + consul: + url: "${FLY_CONSUL_URL}" + key: "${FLY_APP_NAME}/primary" + promote: true + type: "consul" +---- + +TIP: Refer to link:https://fly.io/docs/litefs/getting-started-docker/#configuring-litefs[Configuring LiteFS] documentation for other available configuration parameters. + + +Create a Dockerfile. + +[source,Dockerfile,subs="attributes+"] +---- +FROM flyio/litefs:0.5 AS litefs + +FROM ghcr.io/cerbos/cerbos:{app-version} AS cerbos + +FROM alpine:3.16 AS base +RUN apk add fuse3 sqlite +ADD litefs.yml /etc/litefs.yml +COPY --from=cerbos /cerbos /cerbos +COPY --from=litefs /usr/local/bin/litefs /usr/local/bin/litefs + +ENTRYPOINT ["litefs"] +CMD ["mount"] +---- + +Create a `fly.toml` file to launch Cerbos. + +[source,toml,linenums,subs="attributes+"] +---- +app = '' <1> +primary_region = '' <2> + +[build] + dockerfile = "Dockerfile" + +[mounts] + source = "litefs" + destination = "/var/lib/litefs" <3> + +[[services]] + protocol = '' + internal_port = 3592 + +[[services.ports]] + port = 3592 + handlers = ['tls', 'http'] + +[[services.http_checks]] + interval = '5s' + timeout = '2s' + grace_period = '5s' + method = 'get' + path = '/_cerbos/health' + protocol = 'http' + +[[services]] + protocol = '' + internal_port = 3593 + +[[services.ports]] + port = 3593 + handlers = ['tls'] + + [services.ports.tls_options] + alpn = ['h2'] + +[[vm]] + memory = '1gb' + cpu_kind = 'shared' + cpus = 1 + +[metrics] + port = 3592 + path = "/_cerbos/metrics" +---- +<1> The name of the link:https://fly.io/docs/apps[Fly App] +<2> Pick a link:https://fly.io/docs/reference/regions/#fly-io-regions[region] +<3> Destination must be equal to the one specified in the `litefs.yaml` + + +Create secrets to hold Cerbos Admin API credentials. Refer to xref:configuration:server.adoc#password-hash[password hash generation instructions] to learn how to generate the password hash. + +[source,bash] +---- +flyctl secrets set CERBOS_ADMIN_USER= +flyctl secrets set CERBOS_ADMIN_PASSWORD_HASH= +---- + +Attach to Consul to manage LiteFS leases. + +[source,bash] +---- +flyctl consul attach +---- + +TIP: See link:https://fly.io/docs/litefs/getting-started-fly/#lease-configuration[lease configuration] for more information about Consul leases on Fly.io. + +Finally, deploy Cerbos. + +[source,bash] +---- +flyctl deploy +---- + +You can interact with the Cerbos xref:api:admin_api.adoc[Admin API] using one of the Cerbos SDKs or the xref:cli:cerbosctl.adoc[`cerbosctl`] utility to manage the policies stored on LiteFS. + +.List policies with cerbosctl +[source,bash,linenums] +---- +cerbosctl \ + --server=.fly.dev:3593 \ + --username= \ + --password= \ + get rp + +---- + +.Put a policy or a directory consisting of multiple policies with cerbosctl +[source,bash,linenums] +---- +cerbosctl \ + --server=.fly.dev:3593 \ + --username= \ + --password= \ + put policies -R \ + policy_dir +---- diff --git a/docs/modules/deployment/pages/index.adoc b/docs/modules/deployment/pages/index.adoc index ea44980284..2d3484425f 100644 --- a/docs/modules/deployment/pages/index.adoc +++ b/docs/modules/deployment/pages/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Cerbos deployment patterns +include::ROOT:partial$version-check.adoc[] + + Cerbos can be deployed as a service or as a sidecar. Which mode to choose depends on your requirements. == Service model diff --git a/docs/modules/deployment/pages/k8s-service.adoc b/docs/modules/deployment/pages/k8s-service.adoc index ddd21025c5..e005d837d4 100644 --- a/docs/modules/deployment/pages/k8s-service.adoc +++ b/docs/modules/deployment/pages/k8s-service.adoc @@ -2,4 +2,7 @@ include::ROOT:partial$attributes.adoc[] = Deploy Cerbos as a service +include::ROOT:partial$version-check.adoc[] + + You can use the xref:ROOT:installation/helm.adoc[Cerbos Helm chart] to deploy Cerbos as a service inside your Kubernetes cluster. Refer to the xref:ROOT:installation/helm.adoc[Helm chart instructions] for more details. diff --git a/docs/modules/deployment/pages/k8s-sidecar.adoc b/docs/modules/deployment/pages/k8s-sidecar.adoc index 34dec13a06..afa7129904 100644 --- a/docs/modules/deployment/pages/k8s-sidecar.adoc +++ b/docs/modules/deployment/pages/k8s-sidecar.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Deploy Cerbos as a sidecar +include::ROOT:partial$version-check.adoc[] + + The sidecar deployment model might be a preferrable option under the following circumstances: * You have a self-contained application that does not need to share policies with other applications in your environment. diff --git a/docs/modules/deployment/pages/serverless-faas.adoc b/docs/modules/deployment/pages/serverless-faas.adoc index 1522490d7d..11a6877879 100644 --- a/docs/modules/deployment/pages/serverless-faas.adoc +++ b/docs/modules/deployment/pages/serverless-faas.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Deploy Cerbos to Serverless/FaaS environments +include::ROOT:partial$version-check.adoc[] + + == AWS Lambda -You can deploy Cerbos to AWS Lambda by building a special container image that includes the Lambda runtime and the Cerbos binary. See https://github.com/cerbos/cerbos-aws-lambda for an example. The repository also contains an example of an AWS Lambda function that creates an AWS API Gateway endpoint to communicate with Cerbos over the HTTP protocol. \ No newline at end of file +You can deploy Cerbos to AWS Lambda by building a special container image that includes the Lambda runtime and the Cerbos binary. See https://github.com/cerbos/cerbos-aws-lambda for an example. The repository also contains an example of an AWS Lambda function that creates an AWS API Gateway endpoint to communicate with Cerbos over the HTTP protocol. diff --git a/docs/modules/deployment/pages/systemd.adoc b/docs/modules/deployment/pages/systemd.adoc index 34cf360be7..7f84030cf2 100644 --- a/docs/modules/deployment/pages/systemd.adoc +++ b/docs/modules/deployment/pages/systemd.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Deploy Cerbos as a systemd service +include::ROOT:partial$version-check.adoc[] + + The xref:ROOT:installation/binary.adoc#linux-packages[Cerbos Linux packages] will automatically create a systemd service during installation. If you are using the tarballs to create a custom installation, you can modify the following sample systemd service definition to match your requirements. diff --git a/docs/modules/engineering/pages/index.adoc b/docs/modules/engineering/pages/index.adoc index 1bb3ba128b..313ff3b9f8 100644 --- a/docs/modules/engineering/pages/index.adoc +++ b/docs/modules/engineering/pages/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Why we built Cerbos this way +include::ROOT:partial$version-check.adoc[] + + Welcome! The purpose of this section is to give some insight into how decisions were made when designing and building Cerbos, for the more _curious_ of our users. * xref:why_cerbos_runs_as_a_separate_process.adoc[Why Cerbos runs as a separate process] diff --git a/docs/modules/engineering/pages/why_cerbos_runs_as_a_separate_process.adoc b/docs/modules/engineering/pages/why_cerbos_runs_as_a_separate_process.adoc index da20f92d89..e54ec1ef0f 100644 --- a/docs/modules/engineering/pages/why_cerbos_runs_as_a_separate_process.adoc +++ b/docs/modules/engineering/pages/why_cerbos_runs_as_a_separate_process.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Why Cerbos runs as a separate process +include::ROOT:partial$version-check.adoc[] + + If you’re used to traditional authorization approaches, you’d be surprised to find that Cerbos is not a library that you can embed into your application. Instead, Cerbos is designed to be run as a sidecar or a service alongside your application. There are several reasons why we have chosen this approach. To provide a bit of background, let’s consider how modern software development works in the era of cloud native computing. Nowadays, the trend is towards microservice architectures where system functionality is split between multiple services that are fairly independent of each other. They are probably owned by different teams within the organization and even developed using different programming languages and tools. Automated CI/CD pipelines deploy new versions of these services many times a day. diff --git a/docs/modules/glossary/pages/index.adoc b/docs/modules/glossary/pages/index.adoc index 8c139fe035..0ed351e9ef 100644 --- a/docs/modules/glossary/pages/index.adoc +++ b/docs/modules/glossary/pages/index.adoc @@ -3,6 +3,9 @@ include::ROOT:partial$attributes.adoc[] [glossary] = Glossary of Cerbos terms +include::ROOT:partial$version-check.adoc[] + + [glossary] ACTION:: diff --git a/docs/modules/policies/nav.adoc b/docs/modules/policies/nav.adoc index b32dd018db..7e4d6843e7 100644 --- a/docs/modules/policies/nav.adoc +++ b/docs/modules/policies/nav.adoc @@ -1,9 +1,9 @@ .xref:index.adoc[Policies] -* xref:authoring_tips.adoc[Policy Authoring] -* xref:derived_roles.adoc[Derived Roles] -* xref:resource_policies.adoc[Resource Policies] -* xref:principal_policies.adoc[Principal Policies] -* xref:scoped_policies.adoc[Scoped Policies] +* xref:authoring_tips.adoc[Policy authoring] +* xref:derived_roles.adoc[Derived roles] +* xref:resource_policies.adoc[Resource policies] +* xref:principal_policies.adoc[Principal policies] +* xref:scoped_policies.adoc[Scoped policies] * xref:conditions.adoc[Conditions] * xref:variables.adoc[Variables] * xref:outputs.adoc[Outputs] diff --git a/docs/modules/policies/pages/authoring_tips.adoc b/docs/modules/policies/pages/authoring_tips.adoc index 90060624f3..75ca97f6b4 100644 --- a/docs/modules/policies/pages/authoring_tips.adoc +++ b/docs/modules/policies/pages/authoring_tips.adoc @@ -21,6 +21,9 @@ include::ROOT:partial$attributes.adoc[] = Policy authoring +include::ROOT:partial$version-check.adoc[] + + == Tips for working with policies * Policies can be in either YAML or JSON formats. Accepted file extensions are `.yml`, `.yaml` or `.json`. All other extensions are ignored. diff --git a/docs/modules/policies/pages/best_practices.adoc b/docs/modules/policies/pages/best_practices.adoc index a47e9f7ba3..55ae2ea804 100644 --- a/docs/modules/policies/pages/best_practices.adoc +++ b/docs/modules/policies/pages/best_practices.adoc @@ -1,6 +1,9 @@ include::ROOT:partial$attributes.adoc[] -= Best Practices and Recipes += Best practices and recipes + +include::ROOT:partial$version-check.adoc[] + A collection of tips and code snippets designed to help you write cleaner, more optimised Cerbos policies. diff --git a/docs/modules/policies/pages/compile.adoc b/docs/modules/policies/pages/compile.adoc index 983198aba4..e775dbd31d 100644 --- a/docs/modules/policies/pages/compile.adoc +++ b/docs/modules/policies/pages/compile.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Validating and testing policies +include::ROOT:partial$version-check.adoc[] + + == Validating policies You can use the Cerbos compiler to make sure that your policies are valid before pushing them to a production Cerbos instance. We recommend setting up a git hook or a CI step to run the Cerbos compiler before you push any policy changes to production. @@ -79,7 +82,7 @@ tests: <9> actions: <17> - view - delete - auxData: validJWT <17> + auxData: validJWT <18> expected: <19> - principal: alicia <20> resource: alicia_album <21> diff --git a/docs/modules/policies/pages/conditions.adoc b/docs/modules/policies/pages/conditions.adoc index 97735a22d0..f3852b75d0 100644 --- a/docs/modules/policies/pages/conditions.adoc +++ b/docs/modules/policies/pages/conditions.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Conditions +include::ROOT:partial$version-check.adoc[] + + A powerful feature of Cerbos policies is the ability to define conditions that are evaluated against the data provided in the request. Conditions are written using the link:https://github.com/google/cel-spec/blob/master/doc/intro.md[Common Expression Language (CEL)]. TIP: Cerbos ships with an interactive REPL that can be used to experiment with writing CEL conditions. It can be started by running `cerbos repl`. See xref:cli:cerbos.adoc#repl[the REPL documentation] for more information. @@ -316,7 +319,7 @@ NOTE: The hierarchy functions are Cerbos-specific extensions to CEL. |=== -== IP Addresses +== IP addresses NOTE: The IP address functions are Cerbos-specific extensions to CEL. diff --git a/docs/modules/policies/pages/derived_roles.adoc b/docs/modules/policies/pages/derived_roles.adoc index b413ae4ca3..4a2a6999a5 100644 --- a/docs/modules/policies/pages/derived_roles.adoc +++ b/docs/modules/policies/pages/derived_roles.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Derived roles +include::ROOT:partial$version-check.adoc[] + + Traditional RBAC roles are usually broad groupings with no context awareness. They are static and they are provided by the Identity Provider(IDP), not by Cerbos. Cerbos provides derived roles as a way of augmenting those broad roles with contextual data to provide more fine-grained control at runtime. For example, a person with the broad `manager` role can be augmented to `manager_of_scranton_branch` by taking into account the geographic location (or another factor) and giving that derived role bearer extra privileges on resources that belong to the Scranton branch. NOTE: Derived roles are dynamically determined at runtime by matching the principal's `roles` sent in the xref:api:index.adoc#check-resources[API request] to the `parentRoles` specified in the derived roles definitions. Don't use the derived role names as `roles` in the API request as Cerbos only expects that field to contain "normal" roles. diff --git a/docs/modules/policies/pages/index.adoc b/docs/modules/policies/pages/index.adoc index f67d60fe56..476758c834 100644 --- a/docs/modules/policies/pages/index.adoc +++ b/docs/modules/policies/pages/index.adoc @@ -1,6 +1,9 @@ include::ROOT:partial$attributes.adoc[] -= Cerbos Policies += Cerbos policies + +include::ROOT:partial$version-check.adoc[] + There are four kinds of Cerbos policies: diff --git a/docs/modules/policies/pages/outputs.adoc b/docs/modules/policies/pages/outputs.adoc index 21aa0c07fd..bb7df7084f 100644 --- a/docs/modules/policies/pages/outputs.adoc +++ b/docs/modules/policies/pages/outputs.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Outputs +include::ROOT:partial$version-check.adoc[] + + You can define an optional expression to be evaluated when a policy rule is fully activated (`action`, `roles` and `derivedRoles` match and `condition` is satisfied) or partially activated (`condition` is not satisfied). The collected outputs from all the rules are included in the Cerbos API response. diff --git a/docs/modules/policies/pages/principal_policies.adoc b/docs/modules/policies/pages/principal_policies.adoc index 1d8672da3d..1ebb09fca5 100644 --- a/docs/modules/policies/pages/principal_policies.adoc +++ b/docs/modules/policies/pages/principal_policies.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Principal policies +include::ROOT:partial$version-check.adoc[] + + Principal policies define overrides for a specific user. [source,yaml,linenums] @@ -59,4 +62,4 @@ principalPolicy: <8> Actions that can be performed on the resource. Wildcards are supported here. <9> Optional conditions required to match this rule. <10> Optional output for the action rule. You can define optional expressions to be evaluated as output depending on -whether the rule is activated or not activated because of a condition failure. \ No newline at end of file +whether the rule is activated or not activated because of a condition failure. diff --git a/docs/modules/policies/pages/resource_policies.adoc b/docs/modules/policies/pages/resource_policies.adoc index 40f2c48a69..1b20fcf568 100644 --- a/docs/modules/policies/pages/resource_policies.adoc +++ b/docs/modules/policies/pages/resource_policies.adoc @@ -1,7 +1,10 @@ - include::ROOT:partial$attributes.adoc[] +include::ROOT:partial$attributes.adoc[] = Resource policies +include::ROOT:partial$version-check.adoc[] + + Resource policies define rules for actions that can be performed on a given resource. A resource is an application-specific concept that applies to anything that requires access rules. For example, in an HR application, a resource can be as coarse-grained as a full employee record or as fine-grained as a single field in the record. Multiple rules can be defined for the same action on a resource for different roles and/or with different conditions. If more than one rule matches a given input, then a rule specifying `EFFECT_DENY` will take precedence over one specifying `EFFECT_ALLOW`. diff --git a/docs/modules/policies/pages/schemas.adoc b/docs/modules/policies/pages/schemas.adoc index 8f1aceb5d5..575fcaf9d4 100644 --- a/docs/modules/policies/pages/schemas.adoc +++ b/docs/modules/policies/pages/schemas.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Schemas +include::ROOT:partial$version-check.adoc[] + + Cerbos policies rely on context data about the principal and the resource(s) that are submitted through the `attr` fields of the xref:api:index.adoc[API request]. While the free-form nature of these fields gives you maximum flexibility to author policies that work on data of any shape or form, they can become difficult to reason about and make it harder to enforce system-wide standards and conventions. Using the link:http://json-schema.org[JSON Schema] support built into Cerbos, you can define schemas for all your principal and resource attributes on a per-resource basis by specifying them in the resource policy. The Cerbos PDP will validate the incoming requests and either log warnings or completely reject them based on the schema enforcement configuration in effect. diff --git a/docs/modules/policies/pages/scoped_policies.adoc b/docs/modules/policies/pages/scoped_policies.adoc index a3be743d61..ca98554809 100644 --- a/docs/modules/policies/pages/scoped_policies.adoc +++ b/docs/modules/policies/pages/scoped_policies.adoc @@ -1,6 +1,9 @@ include::ROOT:partial$attributes.adoc[] -= Scoped Policies += Scoped policies + +include::ROOT:partial$version-check.adoc[] + TIP: Scoped Policies are optional and are only evaluated if a "scope" is passed in the request, and there are matching "scope" attributes defined in the policies. Read on to find out more. @@ -80,4 +83,3 @@ image::decision_flow.png[] * Variables and derived roles imports are not inherited between policies. Explicitly import any derived roles and re-define any variables in each policy that requires them. * First match wins. As illustrated in the flow chart above, scoped policies are evaluated from the most specific to the least specific. The first policy to produce a decision (ALLOW/DENY) for an action is the winner. The remaining policies cannot override the decision for that particular action (but they will still be evaluated if there are other actions that don't yet have a decision). * Unless xref:configuration:engine.adoc#lenient_scopes[lenient scope search] is enabled, a policy file matching the exact scope requested in the API request must exist in the store. - diff --git a/docs/modules/policies/pages/variables.adoc b/docs/modules/policies/pages/variables.adoc index fdbd0d8c76..1c2990eb93 100644 --- a/docs/modules/policies/pages/variables.adoc +++ b/docs/modules/policies/pages/variables.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] = Variables +include::ROOT:partial$version-check.adoc[] + + You can use variables to reduce duplication in xref:conditions.adoc[policy condition expressions]. Variables may either be defined locally within a policy, or in a standalone `exportVariables` policy file that can be imported by other policies. == Defining local variables diff --git a/docs/modules/recipes/nav.adoc b/docs/modules/recipes/nav.adoc index b086350026..d29123ffe9 100644 --- a/docs/modules/recipes/nav.adoc +++ b/docs/modules/recipes/nav.adoc @@ -1,16 +1,17 @@ .Recipes -* Example Apps +* Example apps ** xref:photo-share/index.adoc[Photo-share application] ** link:https://github.com/cerbos/demo-rest[Demo of securing a REST API with Cerbos] ** link:https://github.com/cerbos/demo-multitenant-saas[Modelling a multi-tenant SaaS with Cerbos] ** link:https://github.com/cerbos/demo-admin-api[Admin API demo with Go and React] -* Authentication Integration +* Authentication integration ** xref:authentication/auth0/index.adoc[Auth0] ** xref:authentication/fusionauth/index.adoc[FusionAuth] ** xref:authentication/jwt/index.adoc[JWT] ** xref:authentication/magic/index.adoc[Magic] ** xref:authentication/okta/index.adoc[Okta] ** xref:authentication/aws-cognito/index.adoc[AWS Cognito] -* ORM Integration +* ORM integration ** xref:orm/prisma/index.adoc[Prisma] ** xref:orm/sqlalchemy/index.adoc[SQLAlchemy] +* xref:ui.adoc[Checking permissions in your UI] diff --git a/docs/modules/recipes/pages/authentication/auth0/index.adoc b/docs/modules/recipes/pages/authentication/auth0/index.adoc index c6c3839184..3a09545753 100644 --- a/docs/modules/recipes/pages/authentication/auth0/index.adoc +++ b/docs/modules/recipes/pages/authentication/auth0/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] [#tutorial-auth-auth0] = Tutorial: Using Cerbos with Auth0 + +include::ROOT:partial$version-check.adoc[] + :page-aliases: tutorials:authentication/auth0/index.adoc @@ -13,7 +16,7 @@ An example application of integrating https://cerbos.dev[Cerbos] with an https:/ * Docker for running the xref:ROOT:installation/container.adoc[Cerbos Policy Decision Point (PDP)] * An https://auth0.com/[Auth0] account if you want to use your own -== Getting Started +== Getting started . Clone the repo + diff --git a/docs/modules/recipes/pages/authentication/aws-cognito/index.adoc b/docs/modules/recipes/pages/authentication/aws-cognito/index.adoc index 03f35911dd..ce63655e81 100644 --- a/docs/modules/recipes/pages/authentication/aws-cognito/index.adoc +++ b/docs/modules/recipes/pages/authentication/aws-cognito/index.adoc @@ -2,13 +2,14 @@ include::ROOT:partial$attributes.adoc[] [#tutorial-auth-aws-cognito] = Tutorial: Using Cerbos with AWS Cognito + +include::ROOT:partial$version-check.adoc[] + :page-aliases: tutorials:authentication/aws-cognito/index.adoc An example application of integrating https://cerbos.dev[Cerbos] with a https://fastapi.tiangolo.com/[FastAPI] server using https://aws.amazon.com/cognito/[AWS Cognito] for authentication. -image:aws-cognito-video.png[role="center-img", link="https://cerbos.dev/video/using-cerbos-with-aws-cognito"] - -https://cerbos.dev/video/using-cerbos-with-aws-cognito[Demo Video] +video::bRknI_B0hcs[youtube,width=640,height=480] == Dependencies @@ -16,7 +17,7 @@ https://cerbos.dev/video/using-cerbos-with-aws-cognito[Demo Video] * Docker for running the https://docs.cerbos.dev/cerbos/latest/installation/container.html[Cerbos Policy Decision Point (PDP)] * A configured AWS Cognito User Pool (https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-with-cognito-user-pools.html[set-up guide]) -== Getting Started +== Getting started . Clone the repo + diff --git a/docs/modules/recipes/pages/authentication/fusionauth/index.adoc b/docs/modules/recipes/pages/authentication/fusionauth/index.adoc index e6e00df682..35832916ee 100644 --- a/docs/modules/recipes/pages/authentication/fusionauth/index.adoc +++ b/docs/modules/recipes/pages/authentication/fusionauth/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] [#tutorial-auth-fusionauth] = Tutorial: Using Cerbos with FusionAuth + +include::ROOT:partial$version-check.adoc[] + :page-aliases: tutorials:authentication/fusionauth/index.adoc @@ -9,15 +12,13 @@ An example stack of integrating https://cerbos.dev[Cerbos] with an https://expre This example is based off the https://github.com/fusionauth/fusionauth-example-node[FusionAuth/fusionauth-example-node] repo. -image:fusionauth-video.png[role="center-img", link="https://cerbos.dev/video/using-cerbos-with-fusionauth"] - -https://cerbos.dev/video/using-cerbos-with-fusionauth[Demo Video] +video::Uf1jmDn4YSE[youtube,width=640,height=480] == Dependencies * docker-compose -== Getting Started +== Getting started . Clone the repo + diff --git a/docs/modules/recipes/pages/authentication/jwt/index.adoc b/docs/modules/recipes/pages/authentication/jwt/index.adoc index 31d776bdcd..f5be2b92d2 100644 --- a/docs/modules/recipes/pages/authentication/jwt/index.adoc +++ b/docs/modules/recipes/pages/authentication/jwt/index.adoc @@ -3,6 +3,9 @@ include::ROOT:partial$attributes.adoc[] [#tutorial-auth-jwt] = Tutorial: Using Cerbos with JWT + +include::ROOT:partial$version-check.adoc[] + :page-aliases: tutorials:authentication/jwt/index.adoc @@ -16,7 +19,7 @@ authentication. * Node.js * Docker for running the xref:ROOT:installation/container.adoc[Cerbos Policy Decision Point (PDP)] -== Getting Started +== Getting started . Clone the repo + diff --git a/docs/modules/recipes/pages/authentication/magic/index.adoc b/docs/modules/recipes/pages/authentication/magic/index.adoc index 13346ffc0e..5a3a411574 100644 --- a/docs/modules/recipes/pages/authentication/magic/index.adoc +++ b/docs/modules/recipes/pages/authentication/magic/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] [#tutorial-auth-magic] = Tutorial: Using Cerbos with Magic + +include::ROOT:partial$version-check.adoc[] + :page-aliases: tutorials:authentication/magic/index.adoc The demise of passwords has https://www.forbes.com/sites/forbestechcouncil/2020/03/06/the-inevitable-death-of-passwords/[long been predicted] due to the ongoing leaks, hacks and breaches in recent years. diff --git a/docs/modules/recipes/pages/authentication/okta/index.adoc b/docs/modules/recipes/pages/authentication/okta/index.adoc index f1f6c986fb..003411e443 100644 --- a/docs/modules/recipes/pages/authentication/okta/index.adoc +++ b/docs/modules/recipes/pages/authentication/okta/index.adoc @@ -2,13 +2,14 @@ include::ROOT:partial$attributes.adoc[] [#tutorial-auth-okta] = Tutorial: Using Cerbos with Okta + +include::ROOT:partial$version-check.adoc[] + :page-aliases: tutorials:authentication/okta/index.adoc An example application of integrating https://cerbos.dev[Cerbos] with an https://expressjs.com/[Express] server using https://okta.com/[Okta] for authentication. -image:okta-video.png[role="center-img", link="https://cerbos.dev/video/using-cerbos-with-okta"] - -https://cerbos.dev/video/using-cerbos-with-okta[Demo Video] +video::9qZ_XC-r33w[youtube,width=640,height=480] == Dependencies diff --git a/docs/modules/recipes/pages/orm/prisma/index.adoc b/docs/modules/recipes/pages/orm/prisma/index.adoc index ba64a80f12..6562574634 100644 --- a/docs/modules/recipes/pages/orm/prisma/index.adoc +++ b/docs/modules/recipes/pages/orm/prisma/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] [#tutorial-orm-prisma] = Tutorial: Using Cerbos with Prisma + +include::ROOT:partial$version-check.adoc[] + :page-aliases: tutorials:orm/prisma/index.adoc https://prisma.io[Prisma] has come onto the Node/Typescript scene recently as a new generation of ORM. With it’s strongly-typed client, schema abstraction and great documentation, it is turning into the natural choice for modern applications. diff --git a/docs/modules/recipes/pages/orm/sqlalchemy/index.adoc b/docs/modules/recipes/pages/orm/sqlalchemy/index.adoc index 071e022a87..c768abf496 100644 --- a/docs/modules/recipes/pages/orm/sqlalchemy/index.adoc +++ b/docs/modules/recipes/pages/orm/sqlalchemy/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] [#tutorial-orm-sqlalchemy] = Tutorial: Using Cerbos with SQLAlchemy + +include::ROOT:partial$version-check.adoc[] + :page-aliases: tutorials:orm/sqlalchemy/index.adoc If you maintain an application that handles any _state_ at all, it's likely that you've had to figure out how to both store that state, as well as how to load it into the application layer and act on it in any which way your business logic requires. diff --git a/docs/modules/recipes/pages/photo-share/index.adoc b/docs/modules/recipes/pages/photo-share/index.adoc index 01b458a13d..88915b802a 100644 --- a/docs/modules/recipes/pages/photo-share/index.adoc +++ b/docs/modules/recipes/pages/photo-share/index.adoc @@ -2,6 +2,9 @@ include::ROOT:partial$attributes.adoc[] [#tutorial-photo-share] = Tutorial: Writing policies for a simple photo-sharing service + +include::ROOT:partial$version-check.adoc[] + :page-aliases: tutorials:photo-share/index.adoc .Getting started diff --git a/docs/modules/recipes/pages/ui.adoc b/docs/modules/recipes/pages/ui.adoc new file mode 100644 index 0000000000..b31a21b2a1 --- /dev/null +++ b/docs/modules/recipes/pages/ui.adoc @@ -0,0 +1,49 @@ +include::ROOT:partial$attributes.adoc[] + += Integrating permission checks into your user interface + +include::ROOT:partial$version-check.adoc[] + +It's a common requirement to make permission checks in the user interface layer of your application. +For example, you might want to hide the "Edit" button if the current user isn't allowed to edit the corresponding resource. + +You can tackle this by checking the user's permissions in the back end of your application and including the results in your API responses, by calling the Cerbos PDP directly from the browser, or by evaluating your policies in the browser. + +NOTE: Checking permissions in the user interface is not a substitute for performing checks in the back end. + +== Including permissions in API responses + +You can add a `permissions` field to relevant API responses, and populate it by calling the Cerbos PDP's xref:api:index.adoc#check-resources[CheckResources] API with multiple actions. +For example, an API response from a blog application might look like this: + +[source,json] +---- +{ + "blog_post": { + "title": "Why are we building Cerbos?", + "author": "Emre Baran & Charith Ellawala", + "permissions": { + "edit": true, + "delete": false + } + } +} +---- + +This pattern can be readily tailored to your requirements. +It's a great way to ensure that the front and back ends of your application agree on your policy rules. + +== Calling the Cerbos PDP from the browser + +The Cerbos PDP API is available via REST, so you can perform permissions checks directly from the browser. +The link:https://www.npmjs.com/package/@cerbos/http[`@cerbos/http` JavaScript SDK] wraps the REST API to make it easier to integrate into your application. + +WARNING: Exposing the PDP to the internet has security and performance implications. +An attacker could use the API to probe your authorization policies much more easily than through your user interface. +You could mitigate this to some extent by keeping the PDP behind a reverse proxy that authenticates and rate-limits API calls. +You might also want to use a separate deployment with only a subset of your policies. + +== Evaluating policies in the browser + +You can use link:https://docs.cerbos.dev/cerbos-hub/decision-points-embedded[Cerbos Hub's embedded PDPs] to evaluate your authorization policies directly in the browser. +This allows you to perform permission checks on the front end without changing the back end. diff --git a/docs/modules/releases/nav.adoc b/docs/modules/releases/nav.adoc index e4ff5f1e9b..5c92e286f3 100644 --- a/docs/modules/releases/nav.adoc +++ b/docs/modules/releases/nav.adoc @@ -1,8 +1,9 @@ .Release Notes +* xref:v0.35.0.adoc[v0.35.0] * xref:v0.34.0.adoc[v0.34.0] * xref:v0.33.0.adoc[v0.33.0] -* xref:v0.32.0.adoc[v0.32.0] * Archives +** xref:v0.32.0.adoc[v0.32.0] ** xref:v0.31.0.adoc[v0.31.0] ** xref:v0.30.0.adoc[v0.30.0] ** xref:v0.29.0.adoc[v0.29.0] diff --git a/docs/modules/releases/pages/v0.35.0.adoc b/docs/modules/releases/pages/v0.35.0.adoc new file mode 100644 index 0000000000..b7da949e2a --- /dev/null +++ b/docs/modules/releases/pages/v0.35.0.adoc @@ -0,0 +1,86 @@ +include::ROOT:partial$attributes.adoc[] + +[#v0.35.0] += Cerbos v0.35.0 + +== Highlights + +This is a bug-fix release to handle a cache invalidation bug with lenient scope search and a common expression that should be simplified by the query planner. + +This release also includes a new work-in-progress Admin API endpoint to inspect the policies in the policy repo and list their properties. Currently it supports listing the actions covered by each policy. + + +== Changelog + + +=== Bug Fixes + +* P.attr.workspaces[R.id].role == "OWNER" must be simplified (link:https://github.com/cerbos/cerbos/pull/2059[#2059]) +* Skip compile cache if first candidate doesn't exist (link:https://github.com/cerbos/cerbos/pull/2074[#2074]) + +=== Features + +* Add `--client` flag to `cerbosctl version` (link:https://github.com/cerbos/cerbos/pull/2013[#2013]) +* Inspect policies in the store (link:https://github.com/cerbos/cerbos/pull/2072[#2072]) + +=== Enhancements + +* Update Otel HTTP semantic conventions (link:https://github.com/cerbos/cerbos/pull/2018[#2018]) + +=== Documentation + +* Add fly.io deploy guide (link:https://github.com/cerbos/cerbos/pull/2039[#2039]) +* Add recipe for permission checks in the UI (link:https://github.com/cerbos/cerbos/pull/2038[#2038]) +* Change wording for prerelease caveat (link:https://github.com/cerbos/cerbos/pull/2029[#2029]) +* Embed tutorial videos (link:https://github.com/cerbos/cerbos/pull/2057[#2057]) +* Fix Go version in CONTRIBUTING.md (link:https://github.com/cerbos/cerbos/pull/2009[#2009]) +* Fix broken callout (link:https://github.com/cerbos/cerbos/pull/2014[#2014]) +* Fix leading space in include directive (link:https://github.com/cerbos/cerbos/pull/1995[#1995]) +* Remove policy version from .NET quickstart (link:https://github.com/cerbos/cerbos/pull/2065[#2065]) + +=== Chores + +* Add keywords to npm packages (link:https://github.com/cerbos/cerbos/pull/2046[#2046]) +* Add redirects for image URLs (link:https://github.com/cerbos/cerbos/pull/2035[#2035]) +* Add test cases for comments inside condition blocks (link:https://github.com/cerbos/cerbos/pull/1994[#1994]) +* Allow Renovate to update npm tests (link:https://github.com/cerbos/cerbos/pull/2081[#2081]) +* Bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible (link:https://github.com/cerbos/cerbos/pull/2062[#2062]) +* Bump github.com/docker/docker from 25.0.4+incompatible to 25.0.5+incompatible in /tools (link:https://github.com/cerbos/cerbos/pull/2063[#2063]) +* Bump github.com/lestrrat-go/jwx/v2 from 2.0.20 to 2.0.21 (link:https://github.com/cerbos/cerbos/pull/2040[#2040]) +* Bump gopkg.in/go-jose/go-jose.v2 from 2.6.1 to 2.6.3 in /tools (link:https://github.com/cerbos/cerbos/pull/2036[#2036]) +* Bump helm.sh/helm/v3 from 3.14.1 to 3.14.2 (link:https://github.com/cerbos/cerbos/pull/1997[#1997]) +* Bump version to 0.35.0 +* Distribute `cerbos` and `cerbosctl` via npm (link:https://github.com/cerbos/cerbos/pull/2011[#2011]) +* Fix Postgres data volume for E2E tests (link:https://github.com/cerbos/cerbos/pull/2061[#2061]) +* Fix disk space problem in Publish Dev Containers job (link:https://github.com/cerbos/cerbos/pull/2037[#2037]) +* Fix disk space problem on E2E tests (link:https://github.com/cerbos/cerbos/pull/2006[#2006]) +* Fix duplicate volume mount for postgres in E2E tests (link:https://github.com/cerbos/cerbos/pull/2077[#2077]) +* Generate cosign bundle for binaries (link:https://github.com/cerbos/cerbos/pull/1993[#1993]) +* Improve documentation accessibility (link:https://github.com/cerbos/cerbos/pull/2069[#2069]) +* InspectPolicies returns FQN instead of policy key (link:https://github.com/cerbos/cerbos/pull/2079[#2079]) +* Move version check below title (link:https://github.com/cerbos/cerbos/pull/2030[#2030]) +* Refactor Cerbos Hub configuration (link:https://github.com/cerbos/cerbos/pull/2047[#2047]) +* Skip flakey cerboshub audit backend test (link:https://github.com/cerbos/cerbos/pull/2010[#2010]) +* Unpin cosign version (link:https://github.com/cerbos/cerbos/pull/2060[#2060]) +* Update Node.js deps (link:https://github.com/cerbos/cerbos/pull/2082[#2082]) +* Update bufbuild/buf-lint-action action to v1.1.1 (link:https://github.com/cerbos/cerbos/pull/2075[#2075]) +* Update bufbuild/buf-setup-action action to v1.30.0 (link:https://github.com/cerbos/cerbos/pull/2042[#2042]) +* Update bufbuild/buf-setup-action action to v1.30.1 (link:https://github.com/cerbos/cerbos/pull/2085[#2085]) +* Update cloud-api usage (link:https://github.com/cerbos/cerbos/pull/2045[#2045]) +* Update dependency verdaccio to v5.30.3 (link:https://github.com/cerbos/cerbos/pull/2086[#2086]) +* Update deprecated `brews.folder` setting in GoReleaser config (link:https://github.com/cerbos/cerbos/pull/2084[#2084]) +* Update dorny/paths-filter action to v3 (link:https://github.com/cerbos/cerbos/pull/2001[#2001]) +* Update go deps (link:https://github.com/cerbos/cerbos/pull/2000[#2000]) +* Update go deps (link:https://github.com/cerbos/cerbos/pull/2007[#2007]) +* Update go deps (link:https://github.com/cerbos/cerbos/pull/2043[#2043]) +* Update go deps (link:https://github.com/cerbos/cerbos/pull/2053[#2053]) +* Update go deps (link:https://github.com/cerbos/cerbos/pull/2068[#2068]) +* Update go deps (link:https://github.com/cerbos/cerbos/pull/2076[#2076]) +* Update go deps to v1 (major) (link:https://github.com/cerbos/cerbos/pull/2002[#2002]) +* Update go deps to v2 (major) (link:https://github.com/cerbos/cerbos/pull/2003[#2003]) +* Update go deps to v2 (major) (link:https://github.com/cerbos/cerbos/pull/2008[#2008]) +* Update go deps to v2 (major) (link:https://github.com/cerbos/cerbos/pull/2054[#2054]) +* Update golangci/golangci-lint-action action to v4 (link:https://github.com/cerbos/cerbos/pull/2055[#2055]) +* Upgrade golang.org/x/net to 0.24 (link:https://github.com/cerbos/cerbos/pull/2080[#2080]) +* Upgrade protobuf to 1.33.0 (link:https://github.com/cerbos/cerbos/pull/2012[#2012]) +* Work around Renovate bug to enable Yarn updates (link:https://github.com/cerbos/cerbos/pull/2083[#2083]) diff --git a/docs/supplemental-ui/css/site-extra.css b/docs/supplemental-ui/css/site-extra.css index 0b2b8201fe..c4f564d40b 100644 --- a/docs/supplemental-ui/css/site-extra.css +++ b/docs/supplemental-ui/css/site-extra.css @@ -2,6 +2,24 @@ background-color: #ffb901 !important; } +.navbar-burger span { + background-color: #000000; +} + +.navbar-link,.navbar-item { + color: #000000 !important; +} + +@media screen and (min-width:1024px) { + .navbar-item:not(.hide-for-print):hover { + background-color: #f5f5f5 !important; + } + + .navbar-item.has-dropdown:hover .navbar-link,.navbar-end .navbar-link:hover,.navbar-end>a.navbar-item:hover { + background-color: #e0a100 !important; + } +} + .footer { background-color: #ffb901 !important; } diff --git a/e2e/kind.yaml b/e2e/kind.yaml index 5d48018e18..5d28fa0321 100644 --- a/e2e/kind.yaml +++ b/e2e/kind.yaml @@ -4,3 +4,4 @@ nodes: - role: control-plane - role: worker - role: worker + - role: worker diff --git a/e2e/postgres/helmfile.yaml b/e2e/postgres/helmfile.yaml index 2f069bb734..14856bdb0d 100644 --- a/e2e/postgres/helmfile.yaml +++ b/e2e/postgres/helmfile.yaml @@ -93,11 +93,11 @@ releases: repository: '{{ env "E2E_CERBOS_IMG_REPO" | default "ghcr.io/cerbos/cerbos" }}' tag: '{{ env "E2E_CERBOS_IMG_TAG" | default "dev" }}' - volumes: - - name: cerbos-auditlog - emptyDir: {} + - name: cerbos-auditlog + emptyDir: {} - volumeMounts: - - name: cerbos-auditlog - mountPath: /audit + - name: cerbos-auditlog + mountPath: /audit - cerbos: tlsSecretName: 'cerbos-certs-{{ requiredEnv "E2E_CONTEXT_ID" }}' logLevel: DEBUG @@ -109,7 +109,7 @@ releases: maxResourcesPerRequest: 5 adminAPI: enabled: true - adminCredentials: + adminCredentials: username: cerbos passwordHash: JDJ5JDEwJC5BYjQyY2RJNG5QR2NWMmJPdnNtQU93c09RYVA0eFFGdHBrbmFEeXh1NnlIVTE1cHJNY05PCgo= auxData: @@ -122,11 +122,11 @@ releases: accessLogsEnabled: true decisionLogsEnabled: true backend: local - local: + local: storagePath: /audit/cerbos storage: driver: "postgres" - postgres: + postgres: url: 'postgres://cerbos_user:changeme@{{ requiredEnv "E2E_CONTEXT_ID" }}.{{ requiredEnv "E2E_NS" }}.svc.cluster.local:5432/postgres?sslmode=disable&search_path=cerbos' telemetry: disabled: true diff --git a/go.mod b/go.mod index 52830ee97a..dfe9f889a0 100644 --- a/go.mod +++ b/go.mod @@ -1,68 +1,67 @@ module github.com/cerbos/cerbos -go 1.21 - -toolchain go1.21.1 +go 1.22.2 require ( github.com/Masterminds/sprig/v3 v3.2.3 github.com/adrg/xdg v0.4.0 - github.com/alecthomas/chroma/v2 v2.12.0 - github.com/alecthomas/kong v0.8.1 + github.com/alecthomas/chroma/v2 v2.13.0 + github.com/alecthomas/kong v0.9.0 github.com/alecthomas/participle/v2 v2.1.1 - github.com/aws/aws-sdk-go v1.50.20 + github.com/aws/aws-sdk-go v1.51.11 github.com/bluele/gcache v0.0.2 - github.com/bufbuild/protovalidate-go v0.5.2 - github.com/cenkalti/backoff/v4 v4.2.1 - github.com/cerbos/cerbos-sdk-go v0.2.2 - github.com/cerbos/cerbos/api/genpb v0.33.0 - github.com/cerbos/cloud-api v0.1.17 + github.com/bufbuild/protovalidate-go v0.6.1 + github.com/cenkalti/backoff/v4 v4.3.0 + github.com/cerbos/cerbos-sdk-go v0.2.4 + github.com/cerbos/cerbos/api/genpb v0.34.0 + github.com/cerbos/cloud-api v0.1.18 github.com/cespare/xxhash v1.1.0 github.com/cespare/xxhash/v2 v2.2.0 github.com/cloudflare/certinel v0.4.1 github.com/dgraph-io/badger/v4 v4.2.0 + github.com/dgraph-io/ristretto v0.1.1 github.com/doug-martin/goqu/v9 v9.19.0 github.com/fatih/color v1.16.0 github.com/fatih/structtag v1.2.0 - github.com/fergusstrange/embedded-postgres v1.25.0 - github.com/gdamore/tcell/v2 v2.7.1 + github.com/fergusstrange/embedded-postgres v1.26.0 + github.com/gdamore/tcell/v2 v2.7.4 github.com/ghodss/yaml v1.0.0 github.com/go-cmd/cmd v1.4.2 - github.com/go-git/go-git/v5 v5.11.0 + github.com/go-git/go-git/v5 v5.12.0 github.com/go-logr/zapr v1.3.0 - github.com/go-sql-driver/mysql v1.7.1 + github.com/go-sql-driver/mysql v1.8.1 github.com/gobwas/glob v0.2.3 github.com/goccy/go-yaml v1.11.3 github.com/golang-migrate/migrate/v4 v4.17.0 - github.com/google/cel-go v0.20.0 + github.com/google/cel-go v0.20.1 github.com/google/go-cmp v0.6.0 github.com/google/gops v0.3.28 github.com/google/uuid v1.6.0 github.com/gorilla/mux v1.8.1 - github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 + github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 github.com/iancoleman/strcase v0.3.0 - github.com/jackc/pgtype v1.14.2 + github.com/jackc/pgtype v1.14.3 github.com/jackc/pgx-zap v0.0.0-20221202020421-94b1cb2f889f - github.com/jackc/pgx/v5 v5.5.3 + github.com/jackc/pgx/v5 v5.5.5 github.com/jmoiron/sqlx v1.3.5 github.com/jwalton/gchalk v1.3.0 github.com/jwalton/go-supportscolor v1.2.0 github.com/kavu/go_reuseport v1.5.0 - github.com/lestrrat-go/httprc v1.0.4 - github.com/lestrrat-go/jwx/v2 v2.0.19 + github.com/lestrrat-go/httprc/v2 v2.0.0 + github.com/lestrrat-go/jwx/v2 v2.0.21 github.com/mattn/go-isatty v0.0.20 - github.com/microsoft/go-mssqldb v1.6.0 - github.com/minio/minio-go/v7 v7.0.67 + github.com/microsoft/go-mssqldb v1.7.0 + github.com/minio/minio-go/v7 v7.0.69 github.com/nlepage/go-tarfs v1.2.1 github.com/oklog/ulid/v2 v2.1.0 github.com/olekukonko/tablewriter v0.0.5 github.com/ory/dockertest/v3 v3.10.0 github.com/peterh/liner v1.2.2 github.com/planetscale/vtprotobuf v0.6.0 - github.com/prometheus/client_golang v1.18.0 + github.com/prometheus/client_golang v1.19.0 github.com/pterm/pterm v0.12.79 - github.com/rivo/tview v0.0.0-20240204151237-861aa94d61c8 + github.com/rivo/tview v0.0.0-20240307173318-e804876934a1 github.com/rjeczalik/notify v0.9.3 github.com/rogpeppe/go-internal v1.12.0 github.com/rs/cors v1.10.1 @@ -72,7 +71,7 @@ require ( github.com/sourcegraph/conc v0.3.0 github.com/spf13/afero v1.11.0 github.com/stoewer/go-strcase v1.3.0 - github.com/stretchr/testify v1.8.4 + github.com/stretchr/testify v1.9.0 github.com/tidwall/gjson v1.17.1 github.com/tidwall/pretty v1.2.1 github.com/tidwall/sjson v1.2.5 @@ -80,84 +79,85 @@ require ( github.com/twmb/franz-go/pkg/kadm v1.11.0 github.com/twmb/franz-go/plugin/kzap v1.1.2 go.elastic.co/ecszap v1.0.2 - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0 - go.opentelemetry.io/contrib/instrumentation/host v0.48.0 - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0 - go.opentelemetry.io/contrib/instrumentation/runtime v0.48.0 - go.opentelemetry.io/contrib/propagators/autoprop v0.48.0 - go.opentelemetry.io/contrib/propagators/b3 v1.23.0 - go.opentelemetry.io/otel v1.23.1 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.45.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.45.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.23.1 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.23.1 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.23.1 - go.opentelemetry.io/otel/exporters/prometheus v0.45.2 - go.opentelemetry.io/otel/metric v1.23.1 - go.opentelemetry.io/otel/sdk v1.23.1 - go.opentelemetry.io/otel/sdk/metric v1.23.1 - go.opentelemetry.io/otel/trace v1.23.1 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 + go.opentelemetry.io/contrib/instrumentation/host v0.49.0 + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 + go.opentelemetry.io/contrib/instrumentation/runtime v0.49.0 + go.opentelemetry.io/contrib/propagators/autoprop v0.49.0 + go.opentelemetry.io/contrib/propagators/b3 v1.24.0 + go.opentelemetry.io/otel v1.24.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.24.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 + go.opentelemetry.io/otel/exporters/prometheus v0.46.0 + go.opentelemetry.io/otel/metric v1.24.0 + go.opentelemetry.io/otel/sdk v1.24.0 + go.opentelemetry.io/otel/sdk/metric v1.24.0 + go.opentelemetry.io/otel/trace v1.24.0 go.uber.org/automaxprocs v1.5.3 go.uber.org/config v1.4.0 go.uber.org/multierr v1.11.0 - go.uber.org/zap v1.26.0 - gocloud.dev v0.36.0 - golang.org/x/crypto v0.19.0 - golang.org/x/exp v0.0.0-20240213143201-ec583247a57a - golang.org/x/net v0.21.0 + go.uber.org/zap v1.27.0 + gocloud.dev v0.37.0 + golang.org/x/crypto v0.22.0 + golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 + golang.org/x/net v0.24.0 golang.org/x/sync v0.6.0 - golang.org/x/tools v0.18.0 - gonum.org/v1/gonum v0.14.0 - google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9 - google.golang.org/grpc v1.61.1 - google.golang.org/protobuf v1.32.0 + golang.org/x/tools v0.19.0 + gonum.org/v1/gonum v0.15.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda + google.golang.org/grpc v1.63.0 + google.golang.org/protobuf v1.33.0 gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/yaml.v3 v3.0.1 - helm.sh/helm/v3 v3.14.1 - modernc.org/sqlite v1.29.1 + helm.sh/helm/v3 v3.14.3 + modernc.org/sqlite v1.29.5 ) require ( atomicgo.dev/cursor v0.2.0 // indirect atomicgo.dev/keyboard v0.2.9 // indirect atomicgo.dev/schedule v0.1.0 // indirect - buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20240212200630-3014d81c3a48.1 // indirect - cloud.google.com/go v0.112.0 // indirect - cloud.google.com/go/compute v1.23.4 // indirect + buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240401165935-b983156c5e99.1 // indirect + cloud.google.com/go v0.112.1 // indirect + cloud.google.com/go/compute v1.25.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.6 // indirect - cloud.google.com/go/storage v1.36.0 // indirect - connectrpc.com/connect v1.15.0 // indirect + cloud.google.com/go/storage v1.39.1 // indirect + connectrpc.com/connect v1.16.0 // indirect connectrpc.com/otelconnect v0.7.0 // indirect dario.cat/mergo v1.0.0 // indirect filippo.io/age v1.1.1 // indirect + filippo.io/edwards25519 v1.1.0 // indirect github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect github.com/OneOfOne/xxhash v1.2.8 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect + github.com/ProtonMail/go-crypto v1.0.0 // indirect github.com/antlr4-go/antlr/v4 v4.13.0 // indirect - github.com/aws/aws-sdk-go-v2 v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4 // indirect - github.com/aws/aws-sdk-go-v2/config v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.16.12 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.7 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 // indirect - github.com/aws/smithy-go v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2 v1.25.3 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 // indirect + github.com/aws/aws-sdk-go-v2/config v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.7 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.9 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 // indirect + github.com/aws/smithy-go v1.20.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect github.com/cloudflare/circl v1.3.7 // indirect @@ -167,11 +167,10 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/denisenkom/go-mssqldb v0.12.3 // indirect - github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect - github.com/dlclark/regexp2 v1.10.0 // indirect + github.com/dlclark/regexp2 v1.11.0 // indirect github.com/docker/cli v25.0.2+incompatible // indirect - github.com/docker/docker v24.0.7+incompatible // indirect + github.com/docker/docker v24.0.9+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect @@ -188,17 +187,17 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect github.com/golang-sql/sqlexp v0.1.0 // indirect - github.com/golang/glog v1.1.2 // indirect + github.com/golang/glog v1.2.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/flatbuffers v2.0.8+incompatible // indirect github.com/google/pprof v0.0.0-20230926050212-f7f687d19a98 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/google/wire v0.5.0 // indirect + github.com/google/wire v0.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.0 // indirect + github.com/googleapis/gax-go/v2 v2.12.2 // indirect github.com/gookit/color v1.5.4 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -217,10 +216,11 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect - github.com/klauspost/compress v1.17.4 // indirect + github.com/klauspost/compress v1.17.6 // indirect github.com/klauspost/cpuid/v2 v2.2.6 // indirect github.com/lestrrat-go/blackmagic v1.0.2 // indirect github.com/lestrrat-go/httpcc v1.0.1 // indirect + github.com/lestrrat-go/httprc v1.0.5 // indirect github.com/lestrrat-go/iter v1.0.2 // indirect github.com/lestrrat-go/option v1.0.1 // indirect github.com/lib/pq v1.10.9 // indirect @@ -229,8 +229,7 @@ require ( github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-runewidth v0.0.15 // indirect - github.com/mattn/go-sqlite3 v1.14.16 // indirect - github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect + github.com/mattn/go-sqlite3 v1.14.22 // indirect github.com/minio/md5-simd v1.1.2 // indirect github.com/minio/sha256-simd v1.0.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect @@ -248,22 +247,22 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_model v0.5.0 // indirect - github.com/prometheus/common v0.45.0 // indirect - github.com/prometheus/procfs v0.12.0 // indirect + github.com/prometheus/client_model v0.6.0 // indirect + github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/procfs v0.13.0 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect - github.com/rivo/uniseg v0.4.7-0.20240127222946-601bbb3750c2 // indirect + github.com/rivo/uniseg v0.4.7 // indirect github.com/rs/xid v1.5.0 // indirect github.com/segmentio/asm v1.2.0 // indirect github.com/segmentio/backo-go v1.0.0 // indirect - github.com/sergi/go-diff v1.2.0 // indirect + github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/shirou/gopsutil/v3 v3.24.1 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/sirupsen/logrus v1.9.3 // indirect - github.com/skeema/knownhosts v1.2.1 // indirect + github.com/skeema/knownhosts v1.2.2 // indirect github.com/spf13/cast v1.5.1 // indirect - github.com/stretchr/objx v0.5.0 // indirect + github.com/stretchr/objx v0.5.2 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect @@ -277,23 +276,23 @@ require ( github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c // indirect github.com/yusufpapurcu/wmi v1.2.3 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/propagators/aws v1.23.0 // indirect - go.opentelemetry.io/contrib/propagators/jaeger v1.23.0 // indirect - go.opentelemetry.io/contrib/propagators/ot v1.23.0 // indirect + go.opentelemetry.io/contrib/propagators/aws v1.24.0 // indirect + go.opentelemetry.io/contrib/propagators/jaeger v1.24.0 // indirect + go.opentelemetry.io/contrib/propagators/ot v1.24.0 // indirect go.opentelemetry.io/proto/otlp v1.1.0 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect - golang.org/x/mod v0.15.0 // indirect - golang.org/x/oauth2 v0.16.0 // indirect - golang.org/x/sys v0.17.0 // indirect - golang.org/x/term v0.17.0 // indirect + golang.org/x/mod v0.16.0 // indirect + golang.org/x/oauth2 v0.18.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/term v0.19.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/api v0.160.0 // indirect + google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20240205150955-31a09d347014 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014 // indirect + google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index b52702f295..1054375b4c 100644 --- a/go.sum +++ b/go.sum @@ -6,21 +6,21 @@ atomicgo.dev/keyboard v0.2.9 h1:tOsIid3nlPLZ3lwgG8KZMp/SFmr7P0ssEN5JUsm78K8= atomicgo.dev/keyboard v0.2.9/go.mod h1:BC4w9g00XkxH/f1HXhW2sXmJFOCWbKn9xrOunSFtExQ= atomicgo.dev/schedule v0.1.0 h1:nTthAbhZS5YZmgYbb2+DH8uQIZcTlIrd4eYr3UQxEjs= atomicgo.dev/schedule v0.1.0/go.mod h1:xeUa3oAkiuHYh8bKiQBRojqAMq3PXXbJujjb0hw8pEU= -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20240212200630-3014d81c3a48.1 h1:rOe/itdO7+9cWOnKqvpn1K7VmTDwp3vI4juPz6aNQbc= -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20240212200630-3014d81c3a48.1/go.mod h1:tiTMKD8j6Pd/D2WzREoweufjzaJKHZg35f/VGcZ2v3I= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240401165935-b983156c5e99.1 h1:2IGhRovxlsOIQgx2ekZWo4wTPAYpck41+18ICxs37is= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240401165935-b983156c5e99.1/go.mod h1:Tgn5bgL220vkFOI0KPStlcClPeOJzAv4uT+V8JXGUnw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= -cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= -cloud.google.com/go/compute v1.23.4 h1:EBT9Nw4q3zyE7G45Wvv3MzolIrCJEuHys5muLY0wvAw= -cloud.google.com/go/compute v1.23.4/go.mod h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI= +cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= +cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= +cloud.google.com/go/compute v1.25.0 h1:H1/4SqSUhjPFE7L5ddzHOfY2bCAvjwNRZPNl6Ni5oYU= +cloud.google.com/go/compute v1.25.0/go.mod h1:GR7F0ZPZH8EhChlMo9FkLd7eUTwEymjqQagxzilIxIE= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= -cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= -cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= -connectrpc.com/connect v1.15.0 h1:lFdeCbZrVVDydAqwr4xGV2y+ULn+0Z73s5JBj2LikWo= -connectrpc.com/connect v1.15.0/go.mod h1:bQmjpDY8xItMnttnurVgOkHUBMRT9cpsNi2O4AjKhmA= +cloud.google.com/go/storage v1.39.1 h1:MvraqHKhogCOTXTlct/9C3K3+Uy2jBmFYb3/Sp6dVtY= +cloud.google.com/go/storage v1.39.1/go.mod h1:xK6xZmxZmo+fyP7+DEF6FhNc24/JAe95OLyOHCXFH1o= +connectrpc.com/connect v1.16.0 h1:rdtfQjZ0OyFkWPTegBNcH7cwquGAN1WzyJy80oFNibg= +connectrpc.com/connect v1.16.0/go.mod h1:XpZAduBQUySsb4/KO5JffORVkDI4B6/EYPi7N8xpNZw= connectrpc.com/grpcreflect v1.2.0 h1:Q6og1S7HinmtbEuBvARLNwYmTbhEGRpHDhqrPNlmK+U= connectrpc.com/grpcreflect v1.2.0/go.mod h1:nwSOKmE8nU5u/CidgHtPYk1PFI3U9ignz7iDMxOYkSY= connectrpc.com/otelconnect v0.7.0 h1:ZH55ZZtcJOTKWWLy3qmL4Pam4RzRWBJFOqTPyAqCXkY= @@ -29,26 +29,29 @@ dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= filippo.io/age v1.1.1 h1:pIpO7l151hCnQ4BdyBujnGP2YlUo0uj6sAVNHGBvXHg= filippo.io/age v1.1.1/go.mod h1:l03SrzDUrBkdBx8+IILdnn2KZysqQdbEBUQ4p3sqEQE= +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 h1:fb8kj/Dh4CSwgsOzHeZY4Xh68cFVbzXx+ONXGMY//4w= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0/go.mod h1:uReU2sSxZExRPBAg3qKzmAucSi51+SP1OhohieR821Q= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.10.0 h1:n1DH8TPV4qqPTje2RcUBYwtrTWlabVp4n46+74X2pn4= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.10.0/go.mod h1:HDcZnuGbiyppErN6lB+idp4CKhjbc8gwjto6OPpyggM= github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 h1:BMAjVKJM0U/CYF27gA0ZMmXGkOcvfFtD0oHVZ1TIPRI= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0/go.mod h1:1fXstnBMas5kzG+S3q8UoJcmyU6nUeunJcMDHcRYHhs= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1 h1:sO0/P7g68FrryJzljemN+6GTssUXdANk6aJ7T1ZxnsQ= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1/go.mod h1:h8hyGFDsU5HMivxiS2iYFZsgDbU9OnnJ163x5UGVKYo= github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI= -github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.0 h1:yfJe15aSwEQ6Oo6J+gdfdulPNoZ3TEhmbhLIoxZcA+U= -github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.0/go.mod h1:Q28U+75mpCaSCDowNEmhIo/rmgdkqmkmzI7N6TGR4UY= -github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v0.8.0 h1:T028gtTPiYt/RMUfs8nVsAL7FDQrfLlrm/NnRG/zcC4= -github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v0.8.0/go.mod h1:cw4zVQgBby0Z5f2v0itn6se2dDP17nTjbZFXW5uPyHA= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 h1:LqbJ/WzJUwBf8UiaSzgX7aMclParm9/5Vgp+TY51uBQ= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2/go.mod h1:yInRyqWXAuaPrgI7p70+lDDgh3mlBohis29jGMISnmc= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.1 h1:MyVTgWR8qd/Jw1Le0NZebGBUCLbtak3bJ3z1OlqZBpw= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.1/go.mod h1:GpPjLhVR9dnUoJMyHWSPy71xY9/lcmpzIPZXmF0FCVY= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.0.0 h1:D3occbWoio4EBLkbkevetNMAVX197GkzbUMtqjGWn80= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.0.0/go.mod h1:bTSOgj05NGRuHHhQwAdPnYr9TOdNmKlZTgGLL6nyAdI= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 h1:hVeq+yCyUi+MsoO/CU95yqCIcdzra5ovzk8Q2BBpV2M= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= +github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= github.com/MarvinJWendt/testza v0.1.0/go.mod h1:7AxNvlfeHP7Z/hDQ5JtE3OKYT3XFUeLCDE2DQninSqs= github.com/MarvinJWendt/testza v0.2.1/go.mod h1:God7bhG8n6uQxwdScay+gjm9/LnO4D3kkcZX4hv9Rp8= github.com/MarvinJWendt/testza v0.2.8/go.mod h1:nwIcjmr0Zz+Rcwfh3/4UhBp7ePKVhuBExvZqnKYWlII= @@ -74,22 +77,22 @@ github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= -github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= -github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= -github.com/Shopify/toxiproxy/v2 v2.7.0 h1:Zz2jdyqtYw1SpihfMWzLFGpOO92p9effjAkURG57ifc= -github.com/Shopify/toxiproxy/v2 v2.7.0/go.mod h1:k0V84e/dLQmVNuI6S0G7TpXCl611OSRYdptoxm0XTzA= +github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78= +github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/Shopify/toxiproxy/v2 v2.9.0 h1:DIaDZG2/r/kv3Em6UxYBUVnnWl1mHlYTGFv+sTPV7VI= +github.com/Shopify/toxiproxy/v2 v2.9.0/go.mod h1:2uPRyxR46fsx2yUr9i8zcejzdkWfK7p6G23jV/X6YNs= github.com/adrg/xdg v0.4.0 h1:RzRqFcjH4nE5C6oTAxhBtoE2IRyjBSa62SCbyPidvls= github.com/adrg/xdg v0.4.0/go.mod h1:N6ag73EX4wyxeaoeHctc1mas01KZgsj5tYiAIwqJE/E= -github.com/alecthomas/assert/v2 v2.3.0 h1:mAsH2wmvjsuvyBvAmCtm7zFsBlb8mIHx5ySLVdDZXL0= -github.com/alecthomas/assert/v2 v2.3.0/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= -github.com/alecthomas/chroma/v2 v2.12.0 h1:Wh8qLEgMMsN7mgyG8/qIpegky2Hvzr4By6gEF7cmWgw= -github.com/alecthomas/chroma/v2 v2.12.0/go.mod h1:4TQu7gdfuPjSh76j78ietmqh9LiurGF0EpseFXdKMBw= -github.com/alecthomas/kong v0.8.1 h1:acZdn3m4lLRobeh3Zi2S2EpnXTd1mOL6U7xVml+vfkY= -github.com/alecthomas/kong v0.8.1/go.mod h1:n1iCIO2xS46oE8ZfYCNDqdR0b0wZNrXAIAqro/2132U= +github.com/alecthomas/assert/v2 v2.6.0 h1:o3WJwILtexrEUk3cUVal3oiQY2tfgr/FHWiz/v2n4FU= +github.com/alecthomas/assert/v2 v2.6.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= +github.com/alecthomas/chroma/v2 v2.13.0 h1:VP72+99Fb2zEcYM0MeaWJmV+xQvz5v5cxRHd+ooU1lI= +github.com/alecthomas/chroma/v2 v2.13.0/go.mod h1:BUGjjsD+ndS6eX37YgTchSEG+Jg9Jv1GiZs9sqPqztk= +github.com/alecthomas/kong v0.9.0 h1:G5diXxc85KvoV2f0ZRVuMsi45IrBgx9zDNGNj165aPA= +github.com/alecthomas/kong v0.9.0/go.mod h1:Y47y5gKfHp1hDc7CH7OeXgLIpp+Q2m1Ni0L5s3bI8Os= github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6icjJvbsmV8= github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= -github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= -github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= +github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= +github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= 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/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= @@ -97,46 +100,46 @@ github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9 github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/atomicgo/cursor v0.0.1/go.mod h1:cBON2QmmrysudxNBFthvMtN32r3jxVRIvzkUiF/RuIk= -github.com/aws/aws-sdk-go v1.50.20 h1:xfAnSDVf/azIWTVQXQODp89bubvCS85r70O3nuQ4dnE= -github.com/aws/aws-sdk-go v1.50.20/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= -github.com/aws/aws-sdk-go-v2 v1.24.0 h1:890+mqQ+hTpNuw0gGP6/4akolQkSToDJgHfQE7AwGuk= -github.com/aws/aws-sdk-go-v2 v1.24.0/go.mod h1:LNh45Br1YAkEKaAqvmE1m8FUx6a5b/V0oAKV7of29b4= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4 h1:OCs21ST2LrepDfD3lwlQiOqIGp6JiEUqG84GzTDoyJs= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4/go.mod h1:usURWEKSNNAcAZuzRn/9ZYPT8aZQkR7xcCtunK/LkJo= -github.com/aws/aws-sdk-go-v2/config v1.26.1 h1:z6DqMxclFGL3Zfo+4Q0rLnAZ6yVkzCRxhRMsiRQnD1o= -github.com/aws/aws-sdk-go-v2/config v1.26.1/go.mod h1:ZB+CuKHRbb5v5F0oJtGdhFTelmrxd4iWO1lf0rQwSAg= -github.com/aws/aws-sdk-go-v2/credentials v1.16.12 h1:v/WgB8NxprNvr5inKIiVVrXPuuTegM+K8nncFkr1usU= -github.com/aws/aws-sdk-go-v2/credentials v1.16.12/go.mod h1:X21k0FjEJe+/pauud82HYiQbEr9jRKY3kXEIQ4hXeTQ= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 h1:w98BT5w+ao1/r5sUuiH6JkVzjowOKeOJRHERyy1vh58= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10/go.mod h1:K2WGI7vUvkIv1HoNbfBA1bvIZ+9kL3YVmWxeKuLQsiw= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.7 h1:FnLf60PtjXp8ZOzQfhJVsqF0OtYKQZWQfqOLshh8YXg= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.7/go.mod h1:tDVvl8hyU6E9B8TrnNrZQEVkQlB8hjJwcgpPhgtlnNg= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 h1:v+HbZaCGmOwnTTVS86Fleq0vPzOd7tnJGbFhP0stNLs= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9/go.mod h1:Xjqy+Nyj7VDLBtCMkQYOw1QYfAEZCVLrfI0ezve8wd4= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 h1:N94sVhRACtXyVcjXxrwK1SKFIJrA9pOJ5yu2eSHnmls= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9/go.mod h1:hqamLz7g1/4EJP+GH5NBhcUMLjW+gKLQabgyz6/7WAU= -github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 h1:GrSw8s0Gs/5zZ0SX+gX4zQjRnRsMJDJ2sLur1gRBhEM= -github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9 h1:ugD6qzjYtB7zM5PN/ZIeaAIyefPaD82G8+SJopgvUpw= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9/go.mod h1:YD0aYBWCrPENpHolhKw2XDlTIWae2GKXT1T4o6N6hiM= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 h1:/b31bi3YVNlkzkBrm9LfpaKoaYZUxIAj4sHfOTmLfqw= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4/go.mod h1:2aGXHFmbInwgP9ZfpmdIfOELL79zhdNYNmReK8qDfdQ= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9 h1:/90OR2XbSYfXucBMJ4U14wrjlfleq/0SB6dZDPncgmo= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9/go.mod h1:dN/Of9/fNZet7UrQQ6kTDo/VSwKPIq94vjlU16bRARc= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 h1:Nf2sHxjMJR8CSImIVCONRi4g0Su3J+TSTbS7G0pUeMU= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9/go.mod h1:idky4TER38YIjr2cADF1/ugFMKvZV7p//pVeV5LZbF0= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9 h1:iEAeF6YC3l4FzlJPP9H3Ko1TXpdjdqWffxXjp8SY6uk= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9/go.mod h1:kjsXoK23q9Z/tLBrckZLLyvjhZoS+AGrzqzUfEClvMM= -github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5 h1:Keso8lIOS+IzI2MkPZyK6G0LYcK3My2LQ+T5bxghEAY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5/go.mod h1:vADO6Jn+Rq4nDtfwNjhgR84qkZwiC6FqCaXdw/kYwjA= -github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 h1:ldSFWz9tEHAwHNmjx2Cvy1MjP5/L9kNoR0skc6wyOOM= -github.com/aws/aws-sdk-go-v2/service/sso v1.18.5/go.mod h1:CaFfXLYL376jgbP7VKC96uFcU8Rlavak0UlAwk1Dlhc= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 h1:2k9KmFawS63euAkY4/ixVNsYYwrwnd5fIvgEKkfZFNM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5/go.mod h1:W+nd4wWDVkSUIox9bacmkBP5NMFQeTJ/xqNabpzSR38= -github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 h1:5UYvv8JUvllZsRnfrcMQ+hJ9jNICmcgKPAO1CER25Wg= -github.com/aws/aws-sdk-go-v2/service/sts v1.26.5/go.mod h1:XX5gh4CB7wAs4KhcF46G6C8a2i7eupU19dcAAE+EydU= -github.com/aws/smithy-go v1.19.0 h1:KWFKQV80DpP3vJrrA9sVAHQ5gc2z8i4EzrLhLlWXcBM= -github.com/aws/smithy-go v1.19.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE= +github.com/aws/aws-sdk-go v1.51.11 h1:El5VypsMIz7sFwAAj/j06JX9UGs4KAbAIEaZ57bNY4s= +github.com/aws/aws-sdk-go v1.51.11/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go-v2 v1.25.3 h1:xYiLpZTQs1mzvz5PaI6uR0Wh57ippuEthxS4iK5v0n0= +github.com/aws/aws-sdk-go-v2 v1.25.3/go.mod h1:35hUlJVYd+M++iLI3ALmVwMOyRYMmRqUXpTtRGW+K9I= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 h1:gTK2uhtAPtFcdRRJilZPx8uJLL2J85xK11nKtWL0wfU= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1/go.mod h1:sxpLb+nZk7tIfCWChfd+h4QwHNUR57d8hA1cleTkjJo= +github.com/aws/aws-sdk-go-v2/config v1.27.7 h1:JSfb5nOQF01iOgxFI5OIKWwDiEXWTyTgg1Mm1mHi0A4= +github.com/aws/aws-sdk-go-v2/config v1.27.7/go.mod h1:PH0/cNpoMO+B04qET699o5W92Ca79fVtbUnvMIZro4I= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7 h1:WJd+ubWKoBeRh7A5iNMnxEOs982SyVKOJD+K8HIezu4= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7/go.mod h1:UQi7LMR0Vhvs+44w5ec8Q+VS+cd10cjwgHwiVkE0YGU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 h1:p+y7FvkK2dxS+FEwRIDHDe//ZX+jDhP8HHE50ppj4iI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3/go.mod h1:/fYB+FZbDlwlAiynK9KDXlzZl3ANI9JkD0Uhz5FjNT4= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.9 h1:vXY/Hq1XdxHBIYgBUmug/AbMyIe1AKulPYS2/VE1X70= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.9/go.mod h1:GyJJTZoHVuENM4TeJEl5Ffs4W9m19u+4wKJcDi/GZ4A= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 h1:ifbIbHZyGl1alsAhPIYsHOg5MuApgqOvVeI8wIugXfs= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3/go.mod h1:oQZXg3c6SNeY6OZrDY+xHcF4VGIEoNotX2B4PrDeoJI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 h1:Qvodo9gHG9F3E8SfYOspPeBt0bjSbsevK8WhRAUHcoY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3/go.mod h1:vCKrdLXtybdf/uQd/YfVR2r5pcbNuEYKzMQpcxmeSJw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 h1:mDnFOE2sVkyphMWtTH+stv0eW3k0OTx94K63xpxHty4= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3/go.mod h1:V8MuRVcCRt5h1S+Fwu8KbC7l/gBGo3yBAyUbJM2IJOk= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 h1:mbWNpfRUTT6bnacmvOTKXZjR/HycibdWzNpfbrbLDIs= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5/go.mod h1:FCOPWGjsshkkICJIn9hq9xr6dLKtyaWpuUojiN3W1/8= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 h1:K/NXvIftOlX+oGgWGIa3jDyYLDNsdVhsjHmsBH2GLAQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5/go.mod h1:cl9HGLV66EnCmMNzq4sYOti+/xo8w34CsgzVtm2GgsY= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 h1:4t+QEX7BsXz98W8W1lNvMAG+NX8qHz2CjLBxQKku40g= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3/go.mod h1:oFcjjUq5Hm09N9rpxTdeMeLeQcxS7mIkBkL8qUKng+A= +github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4 h1:lW5xUzOPGAMY7HPuNF4FdyBwRc3UJ/e8KsapbesVeNU= +github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4/go.mod h1:MGTaf3x/+z7ZGugCGvepnx2DS6+caCYYqKhzVoLNYPk= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 h1:XOPfar83RIRPEzfihnp+U6udOveKZJvPQ76SKWrLRHc= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2/go.mod h1:Vv9Xyk1KMHXrR3vNQe8W5LMFdTjSeWk0gBZBzvf3Qa0= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 h1:pi0Skl6mNl2w8qWZXcdOyg197Zsf4G97U7Sso9JXGZE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2/go.mod h1:JYzLoEVeLXk+L4tn1+rrkfhkxl6mLDEVaDSvGq9og90= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 h1:Ppup1nVNAOWbBOrcoOxaxPeEnSFB2RnnQdguhXpmeQk= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4/go.mod h1:+K1rNPVyGxkRuv9NNiaZ4YhBFuyw2MMA9SlIJ1Zlpz8= +github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw= +github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= @@ -144,20 +147,20 @@ github.com/bluele/gcache v0.0.2 h1:WcbfdXICg7G/DGBh1PFfcirkWOQV+v077yF1pSy3DGw= github.com/bluele/gcache v0.0.2/go.mod h1:m15KV+ECjptwSPxKhOhQoAFQVtUFjTVkc3H8o0t/fp0= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/bufbuild/protovalidate-go v0.5.2 h1:MPNZd6F2ekGWjWVQDv8lEYOX8ndSOzMnmTaGbDZWIcg= -github.com/bufbuild/protovalidate-go v0.5.2/go.mod h1:DWCNjFl/HwtBiHyN5/3lKA+0MgXOlAoc3jk8Ps3iN+s= +github.com/bufbuild/protovalidate-go v0.6.1 h1:uzW8r0CDvqApUChNj87VzZVoQSKhcVdw5UWOE605UIw= +github.com/bufbuild/protovalidate-go v0.6.1/go.mod h1:4BR3rKEJiUiTy+sqsusFn2ladOf0kYmA2Reo6BHSBgQ= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= -github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cerbos/cerbos-sdk-go v0.2.2 h1:EuwegHVIo1s02Te3lNm1d6ySPoh+G7gt5JYHQB7Uls8= -github.com/cerbos/cerbos-sdk-go v0.2.2/go.mod h1:88vPEg5jVX0ORvXBZl31NQDVdL09HAqw/koUeFA5Rfc= -github.com/cerbos/cerbos/api/genpb v0.33.0 h1:oHZrNKpglCOu94Vvai9sOFE2m+RiEEJ8H8GAMOvNsWU= -github.com/cerbos/cerbos/api/genpb v0.33.0/go.mod h1:JekQuzEy8QBoEGbRkE2sKKvF+wqgkKkkClQUpmCso58= -github.com/cerbos/cloud-api v0.1.17 h1:DiiVhrkGQVPfRSipqAOhhmPXwGDjuy8KVE/G5D9ZAyA= -github.com/cerbos/cloud-api v0.1.17/go.mod h1:iXJaWIfuho/FpIhYyonsLDLiDBqNghvj1hgOPlAXCQE= +github.com/cerbos/cerbos-sdk-go v0.2.4 h1:OE0T6728Ry4acFd9pb8vRxizBGDJFvluwxxIHPjLQQg= +github.com/cerbos/cerbos-sdk-go v0.2.4/go.mod h1:q+ORcpV5KLvubtRlPFB39hi5b+pvDE3lC6ZEgNks6rw= +github.com/cerbos/cerbos/api/genpb v0.34.0 h1:HY8k9HVHv000EKU61KrhAia5TmjW4sX2AXNee4I+DZg= +github.com/cerbos/cerbos/api/genpb v0.34.0/go.mod h1:KEUMaRkMsCvEcOI8aptMFscKh6H2bfWgjjjSmRWKg8g= +github.com/cerbos/cloud-api v0.1.18 h1:psD9psLgNq/u1IEOsp8L2mwwvB4umGeA4C4YHw19G9g= +github.com/cerbos/cloud-api v0.1.18/go.mod h1:Fv9gmVBEubgJ0H68wS2hVr69X+eS1W5PuaLUIM09umQ= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -170,8 +173,8 @@ github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUK github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101 h1:7To3pQ+pZo0i3dsWEbinPNFs5gPSBOsJtx3wTT94VBY= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= @@ -199,13 +202,13 @@ github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkz github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dlclark/regexp2 v1.10.0 h1:+/GIL799phkJqYW+3YbOd8LCcbHzT0Pbo8zl70MHsq0= -github.com/dlclark/regexp2 v1.10.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= +github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= +github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/cli v25.0.2+incompatible h1:6GEdvxwEA451/+Y3GtqIGn/MNjujQazUlxC6uGu8Tog= github.com/docker/cli v25.0.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM= -github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.9+incompatible h1:HPGzNmwfLZWdxHqK9/II92pyi1EpYKsAqcl4G0Of9v0= +github.com/docker/docker v24.0.9+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= @@ -222,8 +225,8 @@ github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FM github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM= -github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= +github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI= +github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= @@ -234,20 +237,20 @@ github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4 github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fergusstrange/embedded-postgres v1.25.0 h1:sa+k2Ycrtz40eCRPOzI7Ry7TtkWXXJ+YRsxpKMDhxK0= -github.com/fergusstrange/embedded-postgres v1.25.0/go.mod h1:t/MLs0h9ukYM6FSt99R7InCHs1nW0ordoVCcnzmpTYw= +github.com/fergusstrange/embedded-postgres v1.26.0 h1:mTgUBNST+6zro0TkIb9Fuo9Qg8mSU0ILus9jZKmFmJg= +github.com/fergusstrange/embedded-postgres v1.26.0/go.mod h1:t/MLs0h9ukYM6FSt99R7InCHs1nW0ordoVCcnzmpTYw= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= -github.com/gdamore/tcell/v2 v2.7.1 h1:TiCcmpWHiAU7F0rA2I3S2Y4mmLmO9KHxJ7E1QhYzQbc= -github.com/gdamore/tcell/v2 v2.7.1/go.mod h1:dSXtXTSK0VsW1biw65DZLZ2NKr7j0qP/0J7ONmsraWg= +github.com/gdamore/tcell/v2 v2.7.4 h1:sg6/UnTM9jGpZU+oFYAsDahfchWAFW8Xx2yFinNSAYU= +github.com/gdamore/tcell/v2 v2.7.4/go.mod h1:dSXtXTSK0VsW1biw65DZLZ2NKr7j0qP/0J7ONmsraWg= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= -github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= +github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= +github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= github.com/go-cmd/cmd v1.4.2 h1:pnX38iIJHh4huzBSqfkAZkfXrVwM/5EccAJmrVqMnbg= github.com/go-cmd/cmd v1.4.2/go.mod h1:u3hxg/ry+D5kwh8WvUkHLAMe2zQCaXd00t35WfQaOFk= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -256,8 +259,8 @@ github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+ github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4= -github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= +github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= +github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -276,8 +279,8 @@ github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+ github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= -github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= +github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= +github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= @@ -290,8 +293,8 @@ github.com/goccy/go-yaml v1.11.3/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHv github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v5 v5.1.0 h1:UGKbA/IPjtS6zLcdB7i5TyACMgSbOTiR8qzXgw8HWQU= -github.com/golang-jwt/jwt/v5 v5.1.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= +github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang-migrate/migrate/v4 v4.17.0 h1:rd40H3QXU0AA4IoLllFcEAEo9dYKRHYND2gB4p7xcaU= github.com/golang-migrate/migrate/v4 v4.17.0/go.mod h1:+Cp2mtLP4/aXDTKb9wmXYitdrNx2HGs45rbWAo6OsKM= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= @@ -300,8 +303,8 @@ github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2V github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -317,12 +320,12 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/cel-go v0.20.0 h1:h4n6DOCppEMpWERzllyNkntl7JrDyxoE543KWS6BLpc= -github.com/google/cel-go v0.20.0/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg= +github.com/google/cel-go v0.20.1 h1:nDx9r8S3L4pE61eDdt8igGj8rf5kjYR3ILxWIpWNi84= +github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg= github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM= github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -352,25 +355,25 @@ github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= +github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= -github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= +github.com/google/wire v0.6.0 h1:HBkoIh4BdSxoyo9PveV8giw7ZsaBOvzWKfcg/6MrVwI= +github.com/google/wire v0.6.0/go.mod h1:F4QhpQ9EDIdJ1Mbop/NZBRB+5yrR6qg3BnctaoUk6NA= github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= +github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ= github.com/gookit/color v1.5.0/go.mod h1:43aQb+Zerm/BWh2GnrgOQm7ffz7tvQXEKV6BFMl7wAo= github.com/gookit/color v1.5.4 h1:FZmqs7XOyGgCAxmWyPslpiok1k05wmY3SJTytgvYFs0= github.com/gookit/color v1.5.4/go.mod h1:pZJOeOS8DM43rXbp4AZo1n9zCU2qjpcRko0b6/QJi9w= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 h1:HcUWd006luQPljE73d5sk+/VgYPGUReEVz2y1/qylwY= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1/go.mod h1:w9Y7gY31krpLmrVU5ZPG9H7l9fZuRu5/3R3S3FMtVQ4= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI= github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0QDGLKzqOmktBjT+Is= github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -408,8 +411,8 @@ github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsU github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= -github.com/jackc/pgconn v1.14.0 h1:vrbA9Ud87g6JdFWkHTJXppVce58qPIdP7N8y0Ml/A7Q= -github.com/jackc/pgconn v1.14.0/go.mod h1:9mBNlny0UvkgJdCDvdVHYSjI+8tD2rnKK69Wz8ti++E= +github.com/jackc/pgconn v1.14.3 h1:bVoTr12EGANZz66nZPkMInAV/KHD2TxH9npjXXgiB3w= +github.com/jackc/pgconn v1.14.3/go.mod h1:RZbme4uasqzybK2RK5c65VsHxoyaml09lx3tXOcO/VM= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= @@ -425,8 +428,8 @@ github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvW github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.3.2 h1:7eY55bdBeCz1F2fTzSz69QC+pG46jYq9/jtSPiJ5nn0= -github.com/jackc/pgproto3/v2 v2.3.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.3.3 h1:1HLSx5H+tXR9pW3in3zaztoEwQYRC9SQaYUHjTSUOag= +github.com/jackc/pgproto3/v2 v2.3.3/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= @@ -434,21 +437,23 @@ github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01C github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= -github.com/jackc/pgtype v1.14.2 h1:QBdZQTKpPdBlw2AdKwHEyqUcm/lrl2cwWAHjCMyln/o= -github.com/jackc/pgtype v1.14.2/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= +github.com/jackc/pgtype v1.14.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= +github.com/jackc/pgtype v1.14.3 h1:h6W9cPuHsRWQFTWUZMAKMgG5jSwQI0Zurzdvlx3Plus= +github.com/jackc/pgtype v1.14.3/go.mod h1:aKeozOde08iifGosdJpz9MBZonJOUJxqNpPBcMJTlVA= github.com/jackc/pgx-zap v0.0.0-20221202020421-94b1cb2f889f h1:ahoGnXfh4wiCisojvzq1PzgxzFwJEUHMI26pUY6oluk= github.com/jackc/pgx-zap v0.0.0-20221202020421-94b1cb2f889f/go.mod h1:m9tCxmy1PSUQa5o0aL4rQTowmJD1BK2Zc7dgnK/IrXc= github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= -github.com/jackc/pgx/v4 v4.18.1 h1:YP7G1KABtKpB5IHrO9vYwSrCOhs7p3uqhvhhQBptya0= -github.com/jackc/pgx/v4 v4.18.1/go.mod h1:FydWkUyadDmdNH/mHnGob881GawxeEm7TcMCzkb+qQE= -github.com/jackc/pgx/v5 v5.5.3 h1:Ces6/M3wbDXYpM8JyyPD57ivTtJACFZJd885pdIaV2s= -github.com/jackc/pgx/v5 v5.5.3/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= +github.com/jackc/pgx/v4 v4.18.2 h1:xVpYkNR5pk5bMCZGfClbO962UIqVABcAGt7ha1s/FeU= +github.com/jackc/pgx/v4 v4.18.2/go.mod h1:Ey4Oru5tH5sB6tV7hDmfWFahwF15Eb7DNXlRKx2CkVw= +github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw= +github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= @@ -474,8 +479,8 @@ github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4 github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= -github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= +github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.10/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= @@ -500,12 +505,14 @@ github.com/lestrrat-go/blackmagic v1.0.2 h1:Cg2gVSc9h7sz9NOByczrbUvLopQmXrfFx//N github.com/lestrrat-go/blackmagic v1.0.2/go.mod h1:UrEqBzIR2U6CnzVyUtfM6oZNMt/7O7Vohk2J0OGSAtU= github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= -github.com/lestrrat-go/httprc v1.0.4 h1:bAZymwoZQb+Oq8MEbyipag7iSq6YIga8Wj6GOiJGdI8= -github.com/lestrrat-go/httprc v1.0.4/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= +github.com/lestrrat-go/httprc v1.0.5 h1:bsTfiH8xaKOJPrg1R+E3iE/AWZr/x0Phj9PBTG/OLUk= +github.com/lestrrat-go/httprc v1.0.5/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= +github.com/lestrrat-go/httprc/v2 v2.0.0 h1:dZia9gCSXkYYZN9YUe4U3KU4rvpKXzmGB4QTYDDrOU0= +github.com/lestrrat-go/httprc/v2 v2.0.0/go.mod h1:smhwnjMK58yn+xnN/hxtdSRW2PCi9vNTZDzB85bxj24= github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= -github.com/lestrrat-go/jwx/v2 v2.0.19 h1:ekv1qEZE6BVct89QA+pRF6+4pCpfVrOnEJnTnT4RXoY= -github.com/lestrrat-go/jwx/v2 v2.0.19/go.mod h1:l3im3coce1lL2cDeAjqmaR+Awx+X8Ih+2k8BuHNJ4CU= +github.com/lestrrat-go/jwx/v2 v2.0.21 h1:jAPKupy4uHgrHFEdjVjNkUgoBKtVDgrQPB/h55FHrR0= +github.com/lestrrat-go/jwx/v2 v2.0.21/go.mod h1:09mLW8zto6bWL9GbwnqAli+ArLf+5M33QLQPDggkUWM= github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -541,16 +548,14 @@ github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZ github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= -github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= -github.com/microsoft/go-mssqldb v1.6.0 h1:mM3gYdVwEPFrlg/Dvr2DNVEgYFG7L42l+dGc67NNNpc= -github.com/microsoft/go-mssqldb v1.6.0/go.mod h1:00mDtPbeQCRGC1HwOOR5K/gr30P1NcEG0vx6Kbv2aJU= +github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= +github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/microsoft/go-mssqldb v1.7.0 h1:sgMPW0HA6Ihd37Yx0MzHyKD726C2kY/8KJsQtXHNaAs= +github.com/microsoft/go-mssqldb v1.7.0/go.mod h1:kOvZKUdrhhFQmxLZqbwUV0rHkNkZpthMITIb2Ko1IoA= github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= -github.com/minio/minio-go/v7 v7.0.67 h1:BeBvZWAS+kRJm1vGTMJYVjKUNoo0FoEt/wUWdUtfmh8= -github.com/minio/minio-go/v7 v7.0.67/go.mod h1:+UXocnUeZ3wHvVh5s95gcrA4YjMIbccT6ubB+1m054A= +github.com/minio/minio-go/v7 v7.0.69 h1:l8AnsQFyY1xiwa/DaQskY4NXSLA2yrGsW5iD9nRPVS0= +github.com/minio/minio-go/v7 v7.0.69/go.mod h1:XAvOPJQ5Xlzk5o3o/ArO2NMbhSGkimC+bpW/ngRKDmQ= github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= @@ -596,8 +601,8 @@ github.com/pierrec/lz4/v4 v4.1.19/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFu github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -609,15 +614,15 @@ github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= 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 v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= -github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= +github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= +github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= -github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= -github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= +github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= +github.com/prometheus/common v0.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= +github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= +github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= github.com/pterm/pterm v0.12.27/go.mod h1:PhQ89w4i95rhgE+xedAoqous6K9X+r6aSOI2eFF7DZI= github.com/pterm/pterm v0.12.29/go.mod h1:WI3qxgvoQFFGKGjGnJR849gU0TsEOvKn5Q8LlY1U7lg= github.com/pterm/pterm v0.12.30/go.mod h1:MOqLIyMOgmTDz9yorcYbcw+HsgoZo3BQfg2wtl3HEFE= @@ -629,12 +634,12 @@ github.com/pterm/pterm v0.12.79 h1:lH3yrYMhdpeqX9y5Ep1u7DejyHy7NSQg9qrBjF9dFT4= github.com/pterm/pterm v0.12.79/go.mod h1:1v/gzOF1N0FsjbgTHZ1wVycRkKiatFvJSJC4IGaQAAo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/rivo/tview v0.0.0-20240204151237-861aa94d61c8 h1:aW0ILZ0lkphO/2mUWocSfP1iebWtSFcxL8BiSNR+/8g= -github.com/rivo/tview v0.0.0-20240204151237-861aa94d61c8/go.mod h1:sGSvhfWFNS7FpYxS8K+e22OTOI3UsB5rDs0nRtoZkpA= +github.com/rivo/tview v0.0.0-20240307173318-e804876934a1 h1:bWLHTRekAy497pE7+nXSuzXwwFHI0XauRzz6roUvY+s= +github.com/rivo/tview v0.0.0-20240307173318-e804876934a1/go.mod h1:02iFIz7K/A9jGCvrizLPvoqr4cEIx7q54RH5Qudkrss= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rivo/uniseg v0.4.7-0.20240127222946-601bbb3750c2 h1:tcc3ZFBvjydcgrAxavZRYqFqCKzy0FJ+UY4ATq4QVXk= -github.com/rivo/uniseg v0.4.7-0.20240127222946-601bbb3750c2/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rjeczalik/notify v0.9.3 h1:6rJAzHTGKXGj76sbRgDiDcYj/HniypXmSJo1SWakZeY= github.com/rjeczalik/notify v0.9.3/go.mod h1:gF3zSOrafR9DQEWSE8TjfI9NkooDxbyT4UgRGKZA0lc= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -658,8 +663,9 @@ 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/backo-go v1.0.0 h1:kbOAtGJY2DqOR0jfRkYEorx/b18RgtepGtY3+Cpe6qA= github.com/segmentio/backo-go v1.0.0/go.mod h1:kJ9mm9YmoWSkk+oQ+5Cj8DEoRCX2JT6As4kEtIIOp1M= -github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/shirou/gopsutil/v3 v3.24.1 h1:R3t6ondCEvmARp3wxODhXMTLC/klMa87h2PHUw5m7QI= github.com/shirou/gopsutil/v3 v3.24.1/go.mod h1:UU7a2MSBQa+kW1uuDq8DeEBS8kmrnQwsv2b5O513rwU= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= @@ -675,8 +681,8 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ= -github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= +github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= +github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= github.com/sony/gobreaker v0.5.0 h1:dRCvqm0P490vZPmy7ppEk2qCnCieBooFJ+YoXGYB+yg= github.com/sony/gobreaker v0.5.0/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= @@ -694,8 +700,9 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -706,8 +713,9 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/gjson v1.17.1 h1:wlYEnwqAHgzmhNUFfw7Xalt2JzQvsMx2Se4PcoFCT/U= github.com/tidwall/gjson v1.17.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= @@ -757,46 +765,46 @@ go.elastic.co/ecszap v1.0.2 h1:iW5OGx8IiokiUzx/shD4AJCPFMC9uUtr7ycaiEIU++I= go.elastic.co/ecszap v1.0.2/go.mod h1:dJkSlK3BTiwG/qXhCwe50Mz/jwu854vSip8sIeQhNZg= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0 h1:P+/g8GpuJGYbOp2tAdKrIPUX9JO02q8Q0YNlHolpibA= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0/go.mod h1:tIKj3DbO8N9Y2xo52og3irLsPI4GW02DSMtrVgNMgxg= -go.opentelemetry.io/contrib/instrumentation/host v0.48.0 h1:eVDLR/hletJcctz4rSWwb3QVzRnEQKuTVi6qAm7fsWs= -go.opentelemetry.io/contrib/instrumentation/host v0.48.0/go.mod h1:dWSGvPpaGKwBh/dpLJs6pczyOc82hBnxa1YTQZCic0I= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0 h1:doUP+ExOpH3spVTLS0FcWGLnQrPct/hD/bCPbDRUEAU= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0/go.mod h1:rdENBZMT2OE6Ne/KLwpiXudnAsbdrdBaqBvTN8M8BgA= -go.opentelemetry.io/contrib/instrumentation/runtime v0.48.0 h1:dJlCKeq+zmO5Og4kgxqPvvJrzuD/mygs1g/NYM9dAsU= -go.opentelemetry.io/contrib/instrumentation/runtime v0.48.0/go.mod h1:p+hpBCpLHpuUrR0lHgnHbUnbCBll1IhrcMIlycC+xYs= -go.opentelemetry.io/contrib/propagators/autoprop v0.48.0 h1:sBPzh/5mNVo4yknFgh0iTezFeljhV8FO9mcj79LsdOg= -go.opentelemetry.io/contrib/propagators/autoprop v0.48.0/go.mod h1:Ij+STHaLubeiNHJVgYaRU8XPI1Y7DmlMq0HwJboIc1k= -go.opentelemetry.io/contrib/propagators/aws v1.23.0 h1:pY2NxI5WwbvuUXSnqahpjqdZrA1JI/elKCGwElimPWA= -go.opentelemetry.io/contrib/propagators/aws v1.23.0/go.mod h1:4sNW/xRJ8qpkj7AnStkrjJu0lBQjgiuW4rpEpRfY+dw= -go.opentelemetry.io/contrib/propagators/b3 v1.23.0 h1:aaIGWc5JdfRGpCafLRxMJbD65MfTa206AwSKkvGS0Hg= -go.opentelemetry.io/contrib/propagators/b3 v1.23.0/go.mod h1:Gyz7V7XghvwTq+mIhLFlTgcc03UDroOg8vezs4NLhwU= -go.opentelemetry.io/contrib/propagators/jaeger v1.23.0 h1:KFxfTCTkH1usVFzDaWzbmNdFX7ybUTCtkLsUTww0nG4= -go.opentelemetry.io/contrib/propagators/jaeger v1.23.0/go.mod h1:xU+81opGquQICJGzwscLXAQLnIPWI+q7Zu4AQSrgXf8= -go.opentelemetry.io/contrib/propagators/ot v1.23.0 h1:JCvB5Mg4bPR57nuKbENxzCsUAlTwVggCsLdew3mqyoU= -go.opentelemetry.io/contrib/propagators/ot v1.23.0/go.mod h1:cO0XToAIUsLnIJrrN0jVFH4fJvZPlHvZfsPrcfPwQdg= -go.opentelemetry.io/otel v1.23.1 h1:Za4UzOqJYS+MUczKI320AtqZHZb7EqxO00jAHE0jmQY= -go.opentelemetry.io/otel v1.23.1/go.mod h1:Td0134eafDLcTS4y+zQ26GE8u3dEuRBiBCTUIRHaikA= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.45.0 h1:tfil6di0PoNV7FZdsCS7A5izZoVVQ7AuXtyekbOpG/I= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.45.0/go.mod h1:AKFZIEPOnqB00P63bTjOiah4ZTaRzl1TKwUWpZdYUHI= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.45.0 h1:+RbSCde0ERway5FwKvXR3aRJIFeDu9rtwC6E7BC6uoM= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.45.0/go.mod h1:zcI8u2EJxbLPyoZ3SkVAAcQPgYb1TDRzW93xLFnsggU= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.23.1 h1:o8iWeVFa1BcLtVEV0LzrCxV2/55tB3xLxADr6Kyoey4= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.23.1/go.mod h1:SEVfdK4IoBnbT2FXNM/k8yC08MrfbhWk3U4ljM8B3HE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.23.1 h1:p3A5+f5l9e/kuEBwLOrnpkIDHQFlHmbiVxMURWRK6gQ= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.23.1/go.mod h1:OClrnXUjBqQbInvjJFjYSnMxBSCXBF8r3b34WqjiIrQ= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.23.1 h1:cfuy3bXmLJS7M1RZmAL6SuhGtKUp2KEsrm00OlAXkq4= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.23.1/go.mod h1:22jr92C6KwlwItJmQzfixzQM3oyyuYLCfHiMY+rpsPU= -go.opentelemetry.io/otel/exporters/prometheus v0.45.2 h1:pe2Jqk1K18As0RCw7J08QhgXNqr+6npx0a5W4IgAFA8= -go.opentelemetry.io/otel/exporters/prometheus v0.45.2/go.mod h1:B38pscHKI6bhFS44FDw0eFU3iqG3ASNIvY+fZgR5sAc= -go.opentelemetry.io/otel/metric v1.23.1 h1:PQJmqJ9u2QaJLBOELl1cxIdPcpbwzbkjfEyelTl2rlo= -go.opentelemetry.io/otel/metric v1.23.1/go.mod h1:mpG2QPlAfnK8yNhNJAxDZruU9Y1/HubbC+KyH8FaCWI= -go.opentelemetry.io/otel/sdk v1.23.1 h1:O7JmZw0h76if63LQdsBMKQDWNb5oEcOThG9IrxscV+E= -go.opentelemetry.io/otel/sdk v1.23.1/go.mod h1:LzdEVR5am1uKOOwfBWFef2DCi1nu3SA8XQxx2IerWFk= -go.opentelemetry.io/otel/sdk/metric v1.23.1 h1:T9/8WsYg+ZqIpMWwdISVVrlGb/N0Jr1OHjR/alpKwzg= -go.opentelemetry.io/otel/sdk/metric v1.23.1/go.mod h1:8WX6WnNtHCgUruJ4TJ+UssQjMtpxkpX0zveQC8JG/E0= -go.opentelemetry.io/otel/trace v1.23.1 h1:4LrmmEd8AU2rFvU1zegmvqW7+kWarxtNOPyeL6HmYY8= -go.opentelemetry.io/otel/trace v1.23.1/go.mod h1:4IpnpJFwr1mo/6HL8XIPJaE9y0+u1KcVmuW7dwFSVrI= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= +go.opentelemetry.io/contrib/instrumentation/host v0.49.0 h1:PHK4Cnis16iENFfqnzvuak5vfRl5L0UaTG2Z03vr3iI= +go.opentelemetry.io/contrib/instrumentation/host v0.49.0/go.mod h1:0XQuDAhohvWG6+cdmjX6aFbC4mGMjYf1xILFh5OUcEg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/contrib/instrumentation/runtime v0.49.0 h1:dg9y+7ArpumB6zwImJv47RHfdgOGQ1EMkzP5vLkEnTU= +go.opentelemetry.io/contrib/instrumentation/runtime v0.49.0/go.mod h1:Ul4MtXqu/hJBM+v7a6dCF0nHwckPMLpIpLeCi4+zfdw= +go.opentelemetry.io/contrib/propagators/autoprop v0.49.0 h1:Jbr/9/jv1QpINge/fvJD4kUkW9/TqRNWU7H2GSK/Vb8= +go.opentelemetry.io/contrib/propagators/autoprop v0.49.0/go.mod h1:aZTdrjEnMOr6ODgjCQ955njFMLRDo1IJdTNS+agSPjA= +go.opentelemetry.io/contrib/propagators/aws v1.24.0 h1:cuwQmy9nGJi99fbwUfZSygCL3d347ddnSCWRuiVjhJ8= +go.opentelemetry.io/contrib/propagators/aws v1.24.0/go.mod h1:7HbFx8Hiiuce72QONjbOtU+3QU+Scs9VOHZIrdmi1rw= +go.opentelemetry.io/contrib/propagators/b3 v1.24.0 h1:n4xwCdTx3pZqZs2CjS/CUZAs03y3dZcGhC/FepKtEUY= +go.opentelemetry.io/contrib/propagators/b3 v1.24.0/go.mod h1:k5wRxKRU2uXx2F8uNJ4TaonuEO/V7/5xoz7kdsDACT8= +go.opentelemetry.io/contrib/propagators/jaeger v1.24.0 h1:CKtIfwSgDvJmaWsZROcHzONZgmQdMYn9mVYWypOWT5o= +go.opentelemetry.io/contrib/propagators/jaeger v1.24.0/go.mod h1:Q5JA/Cfdy/ta+5VeEhrMJRWGyS6UNRwFbl+yS3W1h5I= +go.opentelemetry.io/contrib/propagators/ot v1.24.0 h1:6lf4HoYefKDOTUSCatwkpzliUYihAvlN0omfpOn5IDs= +go.opentelemetry.io/contrib/propagators/ot v1.24.0/go.mod h1:A406hNQ7A0EWsOFzWI1p53YaYQXe12C9f6wGHUxfh0g= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0 h1:f2jriWfOdldanBwS9jNBdeOKAQN7b4ugAMaNu1/1k9g= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0/go.mod h1:B+bcQI1yTY+N0vqMpoZbEN7+XU4tNM0DmUiOwebFJWI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.24.0 h1:mM8nKi6/iFQ0iqst80wDHU2ge198Ye/TfN0WBS5U24Y= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.24.0/go.mod h1:0PrIIzDteLSmNyxqcGYRL4mDIo8OTuBAOI/Bn1URxac= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 h1:t6wl9SPayj+c7lEIFgm4ooDBZVb01IhLB4InpomhRw8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0/go.mod h1:iSDOcsnSA5INXzZtwaBPrKp/lWu/V14Dd+llD0oI2EA= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 h1:Mw5xcxMwlqoJd97vwPxA8isEaIoxsta9/Q51+TTJLGE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0/go.mod h1:CQNu9bj7o7mC6U7+CA/schKEYakYXWr79ucDHTMGhCM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM= +go.opentelemetry.io/otel/exporters/prometheus v0.46.0 h1:I8WIFXR351FoLJYuloU4EgXbtNX2URfU/85pUPheIEQ= +go.opentelemetry.io/otel/exporters/prometheus v0.46.0/go.mod h1:ztwVUHe5DTR/1v7PeuGRnU5Bbd4QKYwApWmuutKsJSs= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= +go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= +go.opentelemetry.io/otel/sdk/metric v1.24.0 h1:yyMQrPzF+k88/DbH7o4FMAs80puqd+9osbiBrJrz/w8= +go.opentelemetry.io/otel/sdk/metric v1.24.0/go.mod h1:I6Y5FjH6rvEnTTAYQz3Mmv2kl6Ek5IIrmwTLqMrrOE0= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI= go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -825,10 +833,10 @@ go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= -go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= -gocloud.dev v0.36.0 h1:q5zoXux4xkOZP473e1EZbG8Gq9f0vlg1VNH5Du/ybus= -gocloud.dev v0.36.0/go.mod h1:bLxah6JQVKBaIxzsr5BQLYB4IYdWHkMZdzCXlo6F0gg= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +gocloud.dev v0.37.0 h1:XF1rN6R0qZI/9DYjN16Uy0durAmSlf58DHOcb28GPro= +gocloud.dev v0.37.0/go.mod h1:7/O4kqdInCNsc6LqgmuFnS0GRew4XNNYWpA44yQnwco= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= @@ -846,11 +854,15 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20240213143201-ec583247a57a h1:HinSgX1tJRX3KsL//Gxynpw5CTOAIPhgL4W8PNiIpVE= -golang.org/x/exp v0.0.0-20240213143201-ec583247a57a/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= +golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw= +golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -864,8 +876,10 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= +golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -884,11 +898,15 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= -golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -897,6 +915,7 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -941,9 +960,11 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -952,8 +973,12 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -965,6 +990,7 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= @@ -973,7 +999,6 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -989,8 +1014,10 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= -golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= +golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -999,10 +1026,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -gonum.org/v1/gonum v0.14.0 h1:2NiG67LD1tEH0D7kM+ps2V+fXmsAnpUeec7n8tcr4S0= -gonum.org/v1/gonum v0.14.0/go.mod h1:AoWeoz0becf9QMWtE8iWXNXc27fK4fNeHNf/oMejGfU= -google.golang.org/api v0.160.0 h1:SEspjXHVqE1m5a1fRy8JFB+5jSu+V0GEDKDghF3ttO4= -google.golang.org/api v0.160.0/go.mod h1:0mu0TpK33qnydLvWqbImq2b1eQ5FHRSDCBzAxX9ZHyw= +gonum.org/v1/gonum v0.15.0 h1:2lYxjRbTYyxkJxlhC+LvJIx3SsANPdRybu1tGj9/OrQ= +gonum.org/v1/gonum v0.15.0/go.mod h1:xzZVBJBtS+Mz4q0Yl2LJTk+OxOg4jiXZ7qBoM0uISGo= +google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= +google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= @@ -1010,19 +1037,19 @@ google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20240205150955-31a09d347014 h1:g/4bk7P6TPMkAUbUhquq98xey1slwvuVJPosdBqYJlU= -google.golang.org/genproto v0.0.0-20240205150955-31a09d347014/go.mod h1:xEgQu1e4stdSSsxPDK8Azkrk/ECl5HvdPf6nbZrTS5M= -google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9 h1:4++qSzdWBUy9/2x8L5KZgwZw+mjJZ2yDSCGMVM0YzRs= -google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:PVreiBMirk8ypES6aw9d4p6iiBNSIfZEBqr3UGoAi2E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014 h1:FSL3lRCkhaPFxqi0s9o+V4UI2WTzAVOvkgbd4kVV4Wg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014/go.mod h1:SaPjaZGWb0lPqs6Ittu0spdfrOArqji4ZdeP5IC/9N4= +google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 h1:ImUcDPHjTrAqNhlOkSocDLfG9rrNHH7w7uoKWPaWZ8s= +google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7/go.mod h1:/3XmxOjePkvmKrHuBy4zNFw7IzxJXtAgdpXi8Ll990U= +google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda h1:b6F6WIV4xHHD0FA4oIyzU6mHWg2WI2X1RBehwa5QN38= +google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda/go.mod h1:AHcE/gZH76Bk/ROZhQphlRoWo5xKDEtz3eVEO1LfA8c= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.63.0 h1:WjKe+dnvABXyPJMD7KDNLxtoGk5tgk+YFWN6cBWjZE8= +google.golang.org/grpc v1.63.0/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1034,8 +1061,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1065,11 +1092,13 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= -helm.sh/helm/v3 v3.14.1 h1:4AwRLx+wfzlPtvrsbDmWP5PUokGmf9/nAmEdk21vae8= -helm.sh/helm/v3 v3.14.1/go.mod h1:2itvvDv2WSZXTllknfQo6j7u3VVgMAvm8POCDgYH424= +helm.sh/helm/v3 v3.14.3 h1:HmvRJlwyyt9HjgmAuxHbHv3PhMz9ir/XNWHyXfmnOP4= +helm.sh/helm/v3 v3.14.3/go.mod h1:v6myVbyseSBJTzhmeE39UcPLNv6cQK6qss3dvgAySaE= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE= +modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ= modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 h1:5D53IMaUuA5InSeMu9eJtlQXS2NxAhyWQvkKEgXZhHI= modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4= modernc.org/libc v1.41.0 h1:g9YAc6BkKlgORsUWj+JwqoB1wU3o4DE3bM3yvA3k+Gk= @@ -1078,8 +1107,8 @@ modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4= modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo= modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E= modernc.org/memory v1.7.2/go.mod h1:NO4NVCQy0N7ln+T9ngWqOQfi7ley4vpwvARR+Hjw95E= -modernc.org/sqlite v1.29.1 h1:19GY2qvWB4VPw0HppFlZCPAbmxFU41r+qjKZQdQ1ryA= -modernc.org/sqlite v1.29.1/go.mod h1:hG41jCYxOAOoO6BRK66AdRlmOcDzXf7qnwlwjUIOqa0= +modernc.org/sqlite v1.29.5 h1:8l/SQKAjDtZFo9lkJLdk8g9JEOeYRG4/ghStDCCTiTE= +modernc.org/sqlite v1.29.5/go.mod h1:S02dvcmm7TnTRvGhv8IGYyLnIt7AS2KPaB1F/71p75U= modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA= modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0= modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= diff --git a/go.work b/go.work index 429966f271..da79f021b9 100644 --- a/go.work +++ b/go.work @@ -1,8 +1,9 @@ -go 1.22 +go 1.22.2 use ( . ./api/genpb + ./hack/tools/generate-npm-packages ./hack/tools/testsplit ./tools ) diff --git a/hack/dev/conf.secure.bundle.yaml b/hack/dev/conf.secure.bundle.yaml index 50b50f020a..a9c9de3e3f 100644 --- a/hack/dev/conf.secure.bundle.yaml +++ b/hack/dev/conf.secure.bundle.yaml @@ -30,13 +30,15 @@ audit: file: path: stdout +hub: + credentials: + workspaceSecret: CERBOS-1HDHY70IHFLXD-4SPXE0NZUG25FE5RW5PD7FKGPKP5CZAG53TR6HHAAN7NPMYP0YES4RQFVS + storage: driver: "bundle" bundle: local: bundlePath: internal/test/testdata/bundle/bundle.crbp - credentials: - workspaceSecret: CERBOS-1HDHY70IHFLXD-4SPXE0NZUG25FE5RW5PD7FKGPKP5CZAG53TR6HHAAN7NPMYP0YES4RQFVS schema: enforcement: reject diff --git a/hack/scripts/copy-binary-to-npm-package.sh b/hack/scripts/copy-binary-to-npm-package.sh new file mode 100755 index 0000000000..9d7a37abaf --- /dev/null +++ b/hack/scripts/copy-binary-to-npm-package.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# +# Copyright 2021-2024 Zenauth Ltd. + +set -euo pipefail + +project_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../" && pwd)" + +if [[ "${BINARY_ARCH}" = "amd64" ]]; then + BINARY_ARCH="x64" +fi + +package_name="${BINARY_NAME}-${BINARY_OS}-${BINARY_ARCH}" +package_dir="${project_dir}/npm/packages/${package_name}" + +package_version=$(jq --raw-output .version < "${package_dir}/package.json") + +if [[ "${package_version}" != "${BINARY_VERSION}" ]]; then + printf "The binary version (%s) does not match the npm package version (%s)\n" "${BINARY_VERSION}" "${package_version}" >&2 + exit 1 +fi + +cp "${BINARY_PATH}" "${package_dir}/${package_name}" diff --git a/hack/scripts/download-released-binaries-to-npm-packages.sh b/hack/scripts/download-released-binaries-to-npm-packages.sh new file mode 100755 index 0000000000..b1c84f80da --- /dev/null +++ b/hack/scripts/download-released-binaries-to-npm-packages.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +# +# Copyright 2021-2024 Zenauth Ltd. + +set -euo pipefail + +download_artifact() { + local filename="$1" + curl --fail --silent --show-error --location --output "${filename}" "https://github.com/cerbos/cerbos/releases/download/v${version}/${filename}" +} + +extract_binary() { + local archive="$1" + local binary="${archive%%_*}" + + local os + case "${archive}" in + *Darwin*) + os=darwin + ;; + + *Linux*) + os=linux + ;; + esac + + local arch + case "${archive}" in + *arm64*) + arch=arm64 + ;; + + *x86_64*) + arch=x64 + ;; + esac + + tar --extract --file "${archive}" "${binary}" + mv "${binary}" "${project_dir}/npm/packages/${binary}-${os}-${arch}/${binary}-${os}-${arch}" +} + +project_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../" && pwd)" + +version=$(jq --raw-output .version < "${project_dir}/npm/packages/cerbos/package.json") + +tmp_dir=$(mktemp -d) +trap "rm -rf ${tmp_dir}" EXIT +cd "${tmp_dir}" + +archives=( + "cerbos_${version}_Darwin_arm64.tar.gz" + "cerbos_${version}_Darwin_x86_64.tar.gz" + "cerbos_${version}_Linux_arm64.tar.gz" + "cerbos_${version}_Linux_x86_64.tar.gz" + "cerbosctl_${version}_Darwin_arm64.tar.gz" + "cerbosctl_${version}_Darwin_x86_64.tar.gz" + "cerbosctl_${version}_Linux_arm64.tar.gz" + "cerbosctl_${version}_Linux_x86_64.tar.gz" +) + +for archive in "${archives[@]}"; do + download_artifact "${archive}" +done + +download_artifact checksums.txt +sha256sum --check --ignore-missing --quiet checksums.txt + +for archive in "${archives[@]}"; do + extract_binary "${archive}" +done diff --git a/hack/scripts/prep-release.sh b/hack/scripts/prep-release.sh index f1ad0e6cf1..7c933b649b 100755 --- a/hack/scripts/prep-release.sh +++ b/hack/scripts/prep-release.sh @@ -18,28 +18,62 @@ CHARTS_DIR="${SCRIPT_DIR}/../../deploy/charts/cerbos" update_version() { local VER="$1" + local PRE="${2:-}" echo "Setting version to $VER" # Docs version sed -i -E "s#app\-version: \"[0-9]+\.[0-9]+\.[0-9]+.*\"#app-version: \"${VER}@\"#" "${DOCS_DIR}/antora-playbook.yml" sed -i -E "s#^version: \"[0-9]+\.[0-9]+\.[0-9]+.*\"#version: \"$VER\"#" "${DOCS_DIR}/antora.yml" - sed -i -E "/^prerelease:/d" "${DOCS_DIR}/antora.yml" + + if [[ -z "$PRE" ]]; then + sed -i -E "/^prerelease:/d" "${DOCS_DIR}/antora.yml" + else + sed -i -E "/^version:/a prerelease: ${PRE}" "${DOCS_DIR}/antora.yml" + fi # Helm chart version sed -i -E "s#appVersion: \"[0-9]+\.[0-9]+\.[0-9]+.*\"#appVersion: \"$VER\"#" "${CHARTS_DIR}/Chart.yaml" sed -i -E "s#version: \"[0-9]+\.[0-9]+\.[0-9]+.*\"#version: \"$VER\"#" "${CHARTS_DIR}/Chart.yaml" + + # npm package versions + go run ./hack/tools/generate-npm-packages +} + +add_redirects() { + local VER="$1" + local STANZA=$( + cat < (https://cerbos.dev)", + "license": "Apache-2.0", + "cpu": [ + "{{ .Arch }}" + ], + "os": [ + "{{ .OS }}" + ], + "main": "./{{ .Name }}", + "files": [ + "{{ .Name }}" + ], + "scripts": { + "prepack": "test -f {{ .Name }}" + }, + "preferUnplugged": true +} diff --git a/hack/tools/generate-npm-packages/templates/templates.go b/hack/tools/generate-npm-packages/templates/templates.go new file mode 100644 index 0000000000..ffddf91ece --- /dev/null +++ b/hack/tools/generate-npm-packages/templates/templates.go @@ -0,0 +1,73 @@ +// Copyright 2021-2024 Zenauth Ltd. +// SPDX-License-Identifier: Apache-2.0 + +package templates + +import ( + "embed" + "encoding/json" + "fmt" + "text/template" +) + +func parse(fsys embed.FS) *template.Template { + return template.Must(template.ParseFS(fsys, "*/*")) +} + +var ( + //go:embed binary + binaryPackageFiles embed.FS + + //go:embed wrapper + wrapperPackageFiles embed.FS + + BinaryPackage = parse(binaryPackageFiles) + WrapperPackage = parse(wrapperPackageFiles) +) + +type Platform struct { + OS string + Arch string +} + +func (p Platform) String() string { + return fmt.Sprintf("%s-%s", p.OS, p.Arch) +} + +type BinaryPackageData struct { + Platform + Name string + Binary string + Version string +} + +type WrapperPackageData struct { + Name string + Version string + Platforms []Platform +} + +func (w WrapperPackageData) OptionalDependencies() (string, error) { + optionalDependencies := make(map[string]string, len(w.Platforms)) + + for _, platform := range w.Platforms { + optionalDependencies[fmt.Sprintf("@cerbos/%s-%s", w.Name, platform)] = w.Version + } + + return toJSON(optionalDependencies, " ") +} + +func (w WrapperPackageData) SupportedPlatforms() (string, error) { + supportedPlatforms := make([]string, len(w.Platforms)) + + for i, platform := range w.Platforms { + supportedPlatforms[i] = platform.String() + } + + return toJSON(supportedPlatforms, "") +} + +func toJSON(value any, prefix string) (string, error) { + result, err := json.MarshalIndent(value, prefix, " ") + return string(result), err +} diff --git a/hack/tools/generate-npm-packages/templates/wrapper/README.md b/hack/tools/generate-npm-packages/templates/wrapper/README.md new file mode 100644 index 0000000000..acd4b6b583 --- /dev/null +++ b/hack/tools/generate-npm-packages/templates/wrapper/README.md @@ -0,0 +1,35 @@ +# {{ .Name }} + +[![npm](https://img.shields.io/npm/v/{{ .Name }}?style=flat-square)](https://www.npmjs.com/package/{{ .Name }}) + +[Cerbos](https://cerbos.dev) helps you super-charge your authorization implementation by writing context-aware access control policies for your application resources. +Author access rules using an intuitive YAML configuration language, use your Git-ops infrastructure to test and deploy them, and make simple API requests to the Cerbos policy decision point (PDP) server to evaluate the policies and make dynamic access decisions. + +This package provides the [`{{ .Name }}`](https://docs.cerbos.dev/cerbos/latest/cli/{{ .Name }}) binary in an npm package. +To interact with the Cerbos PDP from your application, you can use [the SDK](https://github.com/cerbos/cerbos-sdk-javascript). + +## Installation + +```console +$ npm install {{ .Name }} +``` + +Note that this package relies on platform-specific optional dependencies, so make sure you don't omit these when installing dependencies (for example, don't pass the `--no-optional` flag to `npm`). + +### Supported platforms + +| OS | Architecture | +|---|---| +{{- range .Platforms }} +| {{ .OS }} | {{ .Arch }} | +{{- end }} + +## Further reading + +- [CLI reference](https://docs.cerbos.dev/cerbos/latest/cli/{{ .Name }}) +- [Cerbos documentation](https://docs.cerbos.dev) + +## Get help + +- [Join the Cerbos community on Slack](http://go.cerbos.io/slack) +- [Email us at help@cerbos.dev](mailto:help@cerbos.dev) diff --git a/hack/tools/generate-npm-packages/templates/wrapper/index.js b/hack/tools/generate-npm-packages/templates/wrapper/index.js new file mode 100644 index 0000000000..429bb40307 --- /dev/null +++ b/hack/tools/generate-npm-packages/templates/wrapper/index.js @@ -0,0 +1,29 @@ +#!/usr/bin/env node + +const { platform: os, arch } = process; +const currentPlatform = `${os}-${arch}`; +const supportedPlatforms = {{ .SupportedPlatforms }}; + +if (!supportedPlatforms.includes(currentPlatform)) { + throw new Error(`Your current operating system (${os}) and architecture (${arch}) is not supported by the {{ .Name }} npm package. + +The following combinations are supported: +${supportedPlatforms.map((platform) => `- ${platform}`).join("\n")} + +Maybe try running in a container instead? +https://docs.cerbos.dev/cerbos/latest/installation/container`); +} + +const binaryPackage = `@cerbos/{{ .Name }}-${os}-${arch}`; + +const binaryPath = (() => { + try { + return require.resolve(binaryPackage); + } catch (error) { + throw new Error(`Couldn't find the "${binaryPackage}" package. + +Make sure optional dependencies are installed.`, { cause: error }); + } +})(); + +require("child_process").execFileSync(binaryPath, process.argv.slice(2), { stdio: "inherit" }); diff --git a/hack/tools/generate-npm-packages/templates/wrapper/package.json b/hack/tools/generate-npm-packages/templates/wrapper/package.json new file mode 100644 index 0000000000..52ca589c30 --- /dev/null +++ b/hack/tools/generate-npm-packages/templates/wrapper/package.json @@ -0,0 +1,39 @@ +{ + "name": "{{ .Name }}", + "version": "{{ .Version }}", + "description": "The {{ .Name }} binary", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/{{ .Name }}" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "bin": { + "{{ .Name }}": "index.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "Cerbos", + "authorization", + "access control", + "roles", + "permissions", + "policy", + "security", + "role-based access control", + "RBAC", + "attribute-based access control", + "ABAC", + "policy decision point", + "PDP" + ], + "scripts": {}, + "optionalDependencies": {{ .OptionalDependencies }} +} diff --git a/hack/tools/testsplit/go.mod b/hack/tools/testsplit/go.mod index d350660da6..e39bd9e4e5 100644 --- a/hack/tools/testsplit/go.mod +++ b/hack/tools/testsplit/go.mod @@ -1,19 +1,19 @@ module github.com/cerbos/cerbos/hack/tools/testsplit -go 1.20 +go 1.21 + +toolchain go1.21.1 require ( - github.com/alecthomas/kong v0.8.1 + github.com/alecthomas/kong v0.9.0 github.com/gobwas/glob v0.2.3 - golang.org/x/tools v0.18.0 + golang.org/x/tools v0.19.0 gopkg.in/yaml.v3 v3.0.1 ) require ( - github.com/alecthomas/assert/v2 v2.3.0 // indirect - github.com/alecthomas/repr v0.2.0 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect - golang.org/x/mod v0.15.0 // indirect + golang.org/x/mod v0.16.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) diff --git a/hack/tools/testsplit/go.sum b/hack/tools/testsplit/go.sum index 839215db13..bb3c852ed1 100644 --- a/hack/tools/testsplit/go.sum +++ b/hack/tools/testsplit/go.sum @@ -1,13 +1,14 @@ -github.com/alecthomas/assert/v2 v2.3.0 h1:mAsH2wmvjsuvyBvAmCtm7zFsBlb8mIHx5ySLVdDZXL0= -github.com/alecthomas/assert/v2 v2.3.0/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= -github.com/alecthomas/kong v0.8.1 h1:acZdn3m4lLRobeh3Zi2S2EpnXTd1mOL6U7xVml+vfkY= -github.com/alecthomas/kong v0.8.1/go.mod h1:n1iCIO2xS46oE8ZfYCNDqdR0b0wZNrXAIAqro/2132U= -github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= -github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= +github.com/alecthomas/assert/v2 v2.6.0 h1:o3WJwILtexrEUk3cUVal3oiQY2tfgr/FHWiz/v2n4FU= +github.com/alecthomas/assert/v2 v2.6.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= +github.com/alecthomas/kong v0.9.0 h1:G5diXxc85KvoV2f0ZRVuMsi45IrBgx9zDNGNj165aPA= +github.com/alecthomas/kong v0.9.0/go.mod h1:Y47y5gKfHp1hDc7CH7OeXgLIpp+Q2m1Ni0L5s3bI8Os= +github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= +github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -19,11 +20,12 @@ github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsK github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= -golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= +golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= -golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= +golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/audit/hub/conf.go b/internal/audit/hub/conf.go new file mode 100644 index 0000000000..4d1514f73b --- /dev/null +++ b/internal/audit/hub/conf.go @@ -0,0 +1,112 @@ +// Copyright 2021-2024 Zenauth Ltd. +// SPDX-License-Identifier: Apache-2.0 + +package hub + +import ( + "errors" + "fmt" + "time" + + "github.com/cerbos/cerbos/internal/audit" + "github.com/cerbos/cerbos/internal/audit/local" + "github.com/cerbos/cerbos/internal/hub" + "go.uber.org/multierr" +) + +const ( + confKey = audit.ConfKey + ".hub" + + defaultMaxBatchSize = 16 + defaultMinFlushInterval = 5 * time.Second + defaultFlushTimeout = 5 * time.Second + defaultNumGoRoutines = 8 + + minMinFlushInterval = 2 * time.Second + maxFlushTimeout = 10 * time.Second +) + +var ( + errInvalidFlushInterval = fmt.Errorf("flushInterval must be at least %s", minMinFlushInterval) + errInvalidFlushTimeout = fmt.Errorf("flushTimeout cannot be more than %s", maxFlushTimeout) +) + +type Conf struct { + Ingest IngestConf `yaml:"ingest" conf:",ignore"` + local.Conf `yaml:",inline"` +} + +type IngestConf struct { + // Credentials holds bundle source credentials. + Credentials *hub.CredentialsConf `yaml:"credentials" conf:",ignore"` + // Connection defines settings for the remote server connection. + Connection *hub.ConnectionConf `yaml:"connection" conf:",ignore"` + // MaxBatchSize defines the max number of log entries to send in each Ingest request. + MaxBatchSize uint `yaml:"maxBatchSize" conf:",example=32"` + // MinFlushInterval is the minimal duration between Ingest requests. + MinFlushInterval time.Duration `yaml:"minFlushInterval" conf:",example=3s"` + // FlushTimeout defines the max allowable timeout for each Ingest request. + FlushTimeout time.Duration `yaml:"flushTimeout" conf:",example=5s"` + // NumGoRoutines defines the max number of goroutines used when streaming log entries from the local DB. + NumGoRoutines uint `yaml:"numGoRoutines" conf:",example=8"` +} + +func (c *Conf) Key() string { + return confKey +} + +func (c *Conf) SetDefaults() { + c.Conf.SetDefaults() + + c.Ingest.MaxBatchSize = defaultMaxBatchSize + c.Ingest.MinFlushInterval = defaultMinFlushInterval + c.Ingest.FlushTimeout = defaultFlushTimeout + c.Ingest.NumGoRoutines = defaultNumGoRoutines +} + +func (c *Conf) Validate() (outErr error) { + if err := c.Conf.Validate(); err != nil { + outErr = multierr.Append(outErr, err) + } + + if c.Ingest.MaxBatchSize < 1 { + outErr = multierr.Append(outErr, errors.New("maxBatchSize must be at least 1")) + } + + if c.Ingest.MinFlushInterval < minMinFlushInterval { + outErr = multierr.Append(outErr, errInvalidFlushInterval) + } + + if c.Ingest.FlushTimeout > maxFlushTimeout { + outErr = multierr.Append(outErr, errInvalidFlushTimeout) + } + + if c.Ingest.MinFlushInterval >= c.Conf.Advanced.FlushInterval { + outErr = multierr.Append(outErr, errors.New("ingest.minFlushInterval must be less than advanced.flushInterval")) + } + + if err := c.loadHubConf(); err != nil { + outErr = multierr.Append(outErr, err) + } + + return outErr +} + +func (c *Conf) loadHubConf() (outErr error) { + hubConf, err := hub.GetConf() + if err != nil { + outErr = multierr.Append(outErr, fmt.Errorf("failed to read Cerbos Hub configuration: %w", err)) + } + + c.Ingest.Connection = &hubConf.Connection + if err := c.Ingest.Connection.Validate(); err != nil { + outErr = multierr.Append(outErr, err) + } + + c.Ingest.Credentials = &hubConf.Credentials + if err := c.Ingest.Credentials.Validate(); err != nil { + outErr = multierr.Append(outErr, err) + } + + return outErr +} diff --git a/internal/audit/hub/hub.go b/internal/audit/hub/hub.go new file mode 100644 index 0000000000..afb6f45480 --- /dev/null +++ b/internal/audit/hub/hub.go @@ -0,0 +1,351 @@ +// Copyright 2021-2024 Zenauth Ltd. +// SPDX-License-Identifier: Apache-2.0 + +package hub + +import ( + "context" + "errors" + "fmt" + "sync" + "time" + + auditv1 "github.com/cerbos/cerbos/api/genpb/cerbos/audit/v1" + "github.com/cerbos/cerbos/internal/audit" + "github.com/cerbos/cerbos/internal/audit/local" + "github.com/cerbos/cerbos/internal/config" + logsv1 "github.com/cerbos/cloud-api/genpb/cerbos/cloud/logs/v1" + badgerv4 "github.com/dgraph-io/badger/v4" + "github.com/dgraph-io/ristretto/z" + "github.com/sourcegraph/conc/pool" + "go.uber.org/zap" +) + +const ( + Backend = "hub" +) + +var ( + SyncStatusPrefix = []byte("bs") // "b" for contiguity with audit log keys in LSM, "s" because "sync" + AccessSyncPrefix = []byte("bsac") // these need to be len(4) to correctly reuse `local.GenKey` + DecisionSyncPrefix = []byte("bsde") +) + +func init() { + audit.RegisterBackend(Backend, func(_ context.Context, confW *config.Wrapper, decisionFilter audit.DecisionLogEntryFilter) (audit.Log, error) { + conf := new(Conf) + if err := confW.GetSection(conf); err != nil { + return nil, fmt.Errorf("failed to read hub audit log configuration: %w", err) + } + + logger := zap.L().Named("auditlog").With(zap.String("backend", Backend)) + + syncer, err := NewIngestSyncer(conf, logger) + if err != nil { + return nil, err + } + + return NewLog(conf, decisionFilter, syncer, logger) + }) +} + +type Log struct { + *local.Log +} + +func NewLog(conf *Conf, decisionFilter audit.DecisionLogEntryFilter, syncer IngestSyncer, logger *zap.Logger) (*Log, error) { + localLog, err := local.NewLog(&conf.Conf, decisionFilter) + if err != nil { + return nil, err + } + + logger.Info("Extending audit log") + + minFlushInterval := conf.Ingest.MinFlushInterval + maxBatchSize := int(conf.Ingest.MaxBatchSize) + flushTimeout := conf.Ingest.FlushTimeout + numGo := int(conf.Ingest.NumGoRoutines) + + localLog.RegisterCallback(func(waitCh chan<- struct{}) { + schedule(localLog.Db, newMutexTimer(), syncer, minFlushInterval, flushTimeout, maxBatchSize, numGo, logger, waitCh) + }) + + return &Log{ + localLog, + }, nil +} + +func (l *Log) WriteAccessLogEntry(ctx context.Context, record audit.AccessLogEntryMaker) error { + rec, err := record() + if err != nil { + return err + } + + if err := l.Log.WriteAccessLogEntry(ctx, func() (*auditv1.AccessLogEntry, error) { + return rec, nil + }); err != nil { + return err + } + + callID, err := audit.ID(rec.CallId).Repr() + if err != nil { + return fmt.Errorf("invalid call ID: %w", err) + } + + key := local.GenKey(AccessSyncPrefix, callID) + // TODO(saml) retrieve key generated in embedded call above to avoid recalc? + value := local.GenKey(local.AccessLogPrefix, callID) + + return l.Write(ctx, key, value) +} + +func (l *Log) WriteDecisionLogEntry(ctx context.Context, record audit.DecisionLogEntryMaker) error { + rec, err := record() + if err != nil { + return err + } + + if err := l.Log.WriteDecisionLogEntry(ctx, func() (*auditv1.DecisionLogEntry, error) { + return rec, nil + }); err != nil { + return err + } + + callID, err := audit.ID(rec.CallId).Repr() + if err != nil { + return fmt.Errorf("invalid call ID: %w", err) + } + + key := local.GenKey(DecisionSyncPrefix, callID) + // TODO(saml) retrieve key generated in embedded call above to avoid recalc? + value := local.GenKey(local.DecisionLogPrefix, callID) + + return l.Write(ctx, key, value) +} + +type mutexTimer struct { + expireCh chan struct{} + t *time.Timer + mu sync.RWMutex +} + +func newMutexTimer() *mutexTimer { + return &mutexTimer{ + expireCh: make(chan struct{}, 1), + } +} + +func (mt *mutexTimer) set(waitDuration time.Duration) { + mt.mu.Lock() + defer mt.mu.Unlock() + + if mt.t == nil { + mt.t = time.AfterFunc(waitDuration, func() { + mt.expireCh <- struct{}{} + + mt.mu.Lock() + mt.t = nil + mt.mu.Unlock() + }) + } +} + +func (mt *mutexTimer) wait() { + { + mt.mu.RLock() + defer mt.mu.RUnlock() + if mt.t == nil { + return + } + } + + <-mt.expireCh +} + +func schedule(db *badgerv4.DB, muTimer *mutexTimer, syncer IngestSyncer, minFlushInterval, flushTimeout time.Duration, maxBatchSize, numGo int, logger *zap.Logger, waitCh chan<- struct{}) { + muTimer.wait() + + if err := streamLogs(db, syncer, maxBatchSize, numGo, flushTimeout); err != nil { + var ingestErr ErrIngestBackoff + if errors.As(err, &ingestErr) { + logger.Warn("svc-ingest issued backoff", zap.Error(err)) + muTimer.set(ingestErr.Backoff) + go schedule(db, muTimer, syncer, minFlushInterval, flushTimeout, maxBatchSize, numGo, logger, waitCh) + return + } + logger.Warn("Failed sync", zap.Error(err)) + } + + // Set a min wait duration regardless of if events are pending. + // This prevents a retry completion occurring immediately before the next sync + // (and therefore burdening the backend). + muTimer.set(minFlushInterval) + + waitCh <- struct{}{} +} + +func streamLogs(db *badgerv4.DB, syncer IngestSyncer, maxBatchSize, numGo int, flushTimeout time.Duration) error { + // We use two streams: one for access logs, and one for decision logs, as this allows us to + // avoid the penalty of per-key string inspection when inferring the type down the line. + ctx := context.Background() + + p := pool.New().WithContext(ctx).WithCancelOnError().WithFirstError() + p.Go(func(ctx context.Context) error { + return streamPrefix(ctx, db, syncer, maxBatchSize, numGo, flushTimeout, logsv1.IngestBatch_ENTRY_KIND_ACCESS_LOG, AccessSyncPrefix) + }) + p.Go(func(ctx context.Context) error { + return streamPrefix(ctx, db, syncer, maxBatchSize, numGo, flushTimeout, logsv1.IngestBatch_ENTRY_KIND_DECISION_LOG, DecisionSyncPrefix) + }) + + return p.Wait() +} + +func streamPrefix(ctx context.Context, db *badgerv4.DB, syncer IngestSyncer, maxBatchSize, numGo int, flushTimeout time.Duration, kind logsv1.IngestBatch_EntryKind, prefix []byte) error { + // BadgerDB transactions work with snapshot isolation so we only take a view of the DB. + // Subsequent writes aren't blocked. + stream := db.NewStream() + stream.NumGo = numGo + stream.Prefix = prefix + + stream.Send = func(buf *z.Buffer) error { + kvList, err := badgerv4.BufferToKVList(buf) + if err != nil { + return err + } + + keys := make([][]byte, len(kvList.Kv)) + for i, kv := range kvList.Kv { + keys[i] = kv.Key + } + + for i := 0; i < len(keys); i += maxBatchSize { + end := i + maxBatchSize + if end > len(keys) { + end = len(keys) + } + + if err := syncThenDelete(ctx, db, syncer, kind, keys[i:end], flushTimeout); err != nil { + return err + } + } + + return nil + } + + return stream.Orchestrate(ctx) +} + +func syncThenDelete(ctx context.Context, db *badgerv4.DB, syncer IngestSyncer, kind logsv1.IngestBatch_EntryKind, syncKeys [][]byte, flushTimeout time.Duration) error { + entries, err := getIngestBatchEntries(db, syncKeys, kind) + if err != nil { + return err + } + + batchID, err := audit.NewID() + if err != nil { + return err + } + + { + ctx, cancelFn := context.WithTimeout(ctx, flushTimeout) + defer cancelFn() + + if err := syncer.Sync(ctx, &logsv1.IngestBatch{ + Id: string(batchID), + Entries: entries, + }); err != nil { + return err + } + } + + wb := db.NewWriteBatch() + defer wb.Cancel() + + for _, k := range syncKeys { + if err := wb.Delete(k); err != nil { + if errors.Is(err, badgerv4.ErrDiscardedTxn) { + wb = db.NewWriteBatch() + _ = wb.Delete(k) + } else { + return err + } + } + } + + return wb.Flush() +} + +func getIngestBatchEntries(db *badgerv4.DB, syncKeys [][]byte, kind logsv1.IngestBatch_EntryKind) ([]*logsv1.IngestBatch_Entry, error) { + entries := make([]*logsv1.IngestBatch_Entry, len(syncKeys)) + if err := db.Update(func(txn *badgerv4.Txn) error { + for i, k := range syncKeys { + syncItem, err := txn.Get(k) + if err != nil { + return err + } + + var logKey []byte + if err := syncItem.Value(func(v []byte) error { + logKey = v + return nil + }); err != nil { + return err + } + + logItem, err := txn.Get(logKey) + if err != nil { + return err + } + + var entry *logsv1.IngestBatch_Entry + if err := logItem.Value(func(v []byte) error { + switch kind { + case logsv1.IngestBatch_ENTRY_KIND_ACCESS_LOG: + accessLog := &auditv1.AccessLogEntry{} + if err := accessLog.UnmarshalVT(v); err != nil { + return err + } + + entry = &logsv1.IngestBatch_Entry{ + Kind: logsv1.IngestBatch_ENTRY_KIND_ACCESS_LOG, + Entry: &logsv1.IngestBatch_Entry_AccessLogEntry{ + AccessLogEntry: accessLog, + }, + Timestamp: accessLog.Timestamp, + } + case logsv1.IngestBatch_ENTRY_KIND_DECISION_LOG: + decisionLog := &auditv1.DecisionLogEntry{} + if err := decisionLog.UnmarshalVT(v); err != nil { + return err + } + + entry = &logsv1.IngestBatch_Entry{ + Kind: logsv1.IngestBatch_ENTRY_KIND_DECISION_LOG, + Entry: &logsv1.IngestBatch_Entry_DecisionLogEntry{ + DecisionLogEntry: decisionLog, + }, + Timestamp: decisionLog.Timestamp, + } + case logsv1.IngestBatch_ENTRY_KIND_UNSPECIFIED: + return errors.New("unspecified IngestBatch_EntryKind") + } + + return nil + }); err != nil { + return err + } + + entries[i] = entry + } + + return nil + }); err != nil { + return nil, err + } + + return entries, nil +} + +func (l *Log) Backend() string { + return Backend +} diff --git a/internal/audit/hub/hub_test.go b/internal/audit/hub/hub_test.go new file mode 100644 index 0000000000..e9c04dfecd --- /dev/null +++ b/internal/audit/hub/hub_test.go @@ -0,0 +1,302 @@ +// Copyright 2021-2024 Zenauth Ltd. +// SPDX-License-Identifier: Apache-2.0 + +//go:build !race +// +build !race + +package hub_test + +import ( + "context" + "errors" + "math" + "strconv" + "sync" + "testing" + "time" + + "github.com/stretchr/testify/mock" + "github.com/stretchr/testify/require" + "go.uber.org/zap" + + badgerv4 "github.com/dgraph-io/badger/v4" + "google.golang.org/protobuf/types/known/timestamppb" + + auditv1 "github.com/cerbos/cerbos/api/genpb/cerbos/audit/v1" + effectv1 "github.com/cerbos/cerbos/api/genpb/cerbos/effect/v1" + enginev1 "github.com/cerbos/cerbos/api/genpb/cerbos/engine/v1" + "github.com/cerbos/cerbos/internal/audit" + "github.com/cerbos/cerbos/internal/audit/hub" + "github.com/cerbos/cerbos/internal/audit/local" + "github.com/cerbos/cerbos/internal/test/mocks" + logsv1 "github.com/cerbos/cloud-api/genpb/cerbos/cloud/logs/v1" +) + +const ( + numRecords = 2000 + batchSize = uint(32) +) + +type mockSyncer struct { + *mocks.IngestSyncer + synced map[string]struct{} + t *testing.T + mu sync.RWMutex +} + +func newMockSyncer(t *testing.T) *mockSyncer { + t.Helper() + + return &mockSyncer{ + IngestSyncer: mocks.NewIngestSyncer(t), + synced: make(map[string]struct{}), + t: t, + } +} + +func (m *mockSyncer) Sync(ctx context.Context, batch *logsv1.IngestBatch) error { + if err := m.IngestSyncer.Sync(ctx, batch); err != nil { + return err + } + + m.mu.Lock() + defer m.mu.Unlock() + + for _, e := range batch.Entries { + var key []byte + switch e.Kind { + case logsv1.IngestBatch_ENTRY_KIND_ACCESS_LOG: + key = keyFromCallID(m.t, e.GetAccessLogEntry().CallId, hub.AccessSyncPrefix) + case logsv1.IngestBatch_ENTRY_KIND_DECISION_LOG: + key = keyFromCallID(m.t, e.GetDecisionLogEntry().CallId, hub.DecisionSyncPrefix) + case logsv1.IngestBatch_ENTRY_KIND_UNSPECIFIED: + return errors.New("unspecified IngestBatch_EntryKind") + } + + m.synced[string(key)] = struct{}{} + } + + return nil +} + +func keyFromCallID(t *testing.T, callID string, prefix []byte) []byte { + t.Helper() + + callIDbytes, err := audit.ID(callID).Repr() + require.NoError(t, err) + + return local.GenKey(prefix, callIDbytes) +} + +func (m *mockSyncer) hasKeys(keys [][]byte) bool { + m.t.Helper() + + m.mu.RLock() + defer m.mu.RUnlock() + + for _, k := range keys { + if _, ok := m.synced[string(k)]; !ok { + return false + } + } + + return true +} + +func TestHubLog(t *testing.T) { + if testing.Short() { + t.SkipNow() + } + + conf := &hub.Conf{ + hub.IngestConf{ + MaxBatchSize: batchSize, + MinFlushInterval: 2 * time.Second, + FlushTimeout: 1 * time.Second, + NumGoRoutines: 8, + }, + local.Conf{ + StoragePath: t.TempDir(), + RetentionPeriod: 24 * time.Hour, + Advanced: local.AdvancedConf{ + BufferSize: 1, + MaxBatchSize: 32, + FlushInterval: 10 * time.Second, + }, + }, + } + + require.NoError(t, conf.Validate()) + + startDate, err := time.Parse(time.RFC3339, "2021-01-01T10:00:00Z") + require.NoError(t, err) + + decisionFilter := audit.NewDecisionLogEntryFilterFromConf(&audit.Conf{}) + syncer := newMockSyncer(t) + db, err := hub.NewLog(conf, decisionFilter, syncer, zap.L().Named("auditlog")) + require.NoError(t, err) + defer db.Close() + + require.Equal(t, hub.Backend, db.Backend()) + require.True(t, db.Enabled()) + + purgeKeys := func() { + err := db.Db.DropAll() + require.NoError(t, err, "failed to purge keys") + } + + getLocalKeys := func() [][]byte { + t.Helper() + + keys := [][]byte{} + err := db.Db.View(func(txn *badgerv4.Txn) error { + opts := badgerv4.DefaultIteratorOptions + opts.PrefetchValues = false + it := txn.NewIterator(opts) + defer it.Close() + for it.Seek(hub.SyncStatusPrefix); it.ValidForPrefix(hub.SyncStatusPrefix); it.Next() { + item := it.Item() + key := make([]byte, len(item.Key())) + copy(key, item.Key()) + keys = append(keys, key) + } + return nil + }) + require.NoError(t, err) + + return keys + } + + // We use two streams (access + decision log scans). Each independent stream ends up with a partial page, therefore + // we treat each batch separately (hence the /2 -> *2 below). + wantNumBatches := int(math.Ceil((numRecords/2)/float64(batchSize))) * 2 + + t.Run("insertsAndDeletesKeys", func(t *testing.T) { + t.Cleanup(purgeKeys) + + loadedKeys := loadData(t, db, startDate) + + syncer.EXPECT().Sync(mock.Anything, mock.AnythingOfType("*logsv1.IngestBatch")).Return(nil).Times(wantNumBatches) + + db.ForceWrite() + + require.True(t, syncer.hasKeys(loadedKeys), "keys should have been synced") + require.Empty(t, getLocalKeys(), "keys should have been deleted") + }) + + t.Run("partiallyDeletesBeforeError", func(t *testing.T) { + t.Cleanup(purgeKeys) + + loadData(t, db, startDate) + + initialNBatches := int(math.Ceil(float64(wantNumBatches) * 0.2)) + + // Server responds with unrecoverable error after first N pages + syncer.EXPECT().Sync(mock.Anything, mock.AnythingOfType("*logsv1.IngestBatch")).Return(nil).Times(initialNBatches) + syncer.EXPECT().Sync(mock.Anything, mock.AnythingOfType("*logsv1.IngestBatch")).Return(errors.New("some error")).Once() + // the other concurrent stream exits with context cancellation + syncer.EXPECT().Sync(mock.Anything, mock.AnythingOfType("*logsv1.IngestBatch")).Return(context.Canceled).Once() + + db.ForceWrite() + + require.Len(t, getLocalKeys(), (numRecords)-(initialNBatches*int(batchSize)), "some keys should have been deleted") + }) + + t.Run("deletesSyncKeysAfterBackoff", func(t *testing.T) { + t.Cleanup(purgeKeys) + + loadedKeys := loadData(t, db, startDate) + + initialNBatches := int(math.Ceil(float64(wantNumBatches) * 0.2)) + + // Server responds with backoff after first N pages + syncer.EXPECT().Sync(mock.Anything, mock.AnythingOfType("*logsv1.IngestBatch")).Return(nil).Times(initialNBatches) + syncer.EXPECT().Sync(mock.Anything, mock.AnythingOfType("*logsv1.IngestBatch")).Return(hub.ErrIngestBackoff{ + Backoff: 0, + }).Twice() // two concurrent streams receive the same backoff response + syncer.EXPECT().Sync(mock.Anything, mock.AnythingOfType("*logsv1.IngestBatch")).Return(nil).Times(wantNumBatches - initialNBatches) + + db.ForceWrite() + + require.True(t, syncer.hasKeys(loadedKeys), "keys should have been synced") + require.Empty(t, getLocalKeys(), "keys should have been deleted") + }) +} + +func loadData(t *testing.T, db *hub.Log, startDate time.Time) [][]byte { + t.Helper() + + ctx := context.Background() + syncKeys := make([][]byte, numRecords) + for i := 0; i < (numRecords / 2); i++ { + ts := startDate.Add(time.Duration(i) * time.Second) + id, err := audit.NewIDForTime(ts) + require.NoError(t, err) + + callID, err := audit.ID(string(id)).Repr() + require.NoError(t, err) + // We insert decision sync logs in the latter half as this is the same + // order that Badger retrieves keys from the LSM + syncKeys[i] = local.GenKey(hub.AccessSyncPrefix, callID) + syncKeys[i+(numRecords/2)] = local.GenKey(hub.DecisionSyncPrefix, callID) + + err = db.WriteAccessLogEntry(ctx, mkAccessLogEntry(t, id, i, ts)) + require.NoError(t, err) + + err = db.WriteDecisionLogEntry(ctx, mkDecisionLogEntry(t, id, i, ts)) + require.NoError(t, err) + } + + return syncKeys +} + +func mkAccessLogEntry(t *testing.T, id audit.ID, i int, ts time.Time) audit.AccessLogEntryMaker { + t.Helper() + + return func() (*auditv1.AccessLogEntry, error) { + return &auditv1.AccessLogEntry{ + CallId: string(id), + Timestamp: timestamppb.New(ts), + Peer: &auditv1.Peer{ + Address: "1.1.1.1", + }, + Metadata: map[string]*auditv1.MetaValues{"Num": {Values: []string{strconv.Itoa(i)}}}, + Method: "/cerbos.svc.v1.CerbosService/Check", + }, nil + } +} + +func mkDecisionLogEntry(t *testing.T, id audit.ID, i int, ts time.Time) audit.DecisionLogEntryMaker { + t.Helper() + + return func() (*auditv1.DecisionLogEntry, error) { + return &auditv1.DecisionLogEntry{ + CallId: string(id), + Timestamp: timestamppb.New(ts), + Inputs: []*enginev1.CheckInput{ + { + RequestId: strconv.Itoa(i), + Resource: &enginev1.Resource{ + Kind: "test:kind", + Id: "test", + }, + Principal: &enginev1.Principal{ + Id: "test", + Roles: []string{"a", "b"}, + }, + Actions: []string{"a1", "a2"}, + }, + }, + Outputs: []*enginev1.CheckOutput{ + { + RequestId: strconv.Itoa(i), + ResourceId: "test", + Actions: map[string]*enginev1.CheckOutput_ActionEffect{ + "a1": {Effect: effectv1.Effect_EFFECT_ALLOW, Policy: "resource.test.v1"}, + "a2": {Effect: effectv1.Effect_EFFECT_ALLOW, Policy: "resource.test.v1"}, + }, + }, + }, + }, nil + } +} diff --git a/internal/audit/hub/ingest.go b/internal/audit/hub/ingest.go new file mode 100644 index 0000000000..dca8ec5140 --- /dev/null +++ b/internal/audit/hub/ingest.go @@ -0,0 +1,102 @@ +// Copyright 2021-2024 Zenauth Ltd. +// SPDX-License-Identifier: Apache-2.0 + +package hub + +import ( + "context" + "crypto/tls" + "crypto/x509" + "errors" + "fmt" + "os" + "time" + + "github.com/cerbos/cerbos/internal/util" + "github.com/cerbos/cloud-api/base" + logsv1 "github.com/cerbos/cloud-api/genpb/cerbos/cloud/logs/v1" + "github.com/cerbos/cloud-api/logcap" + "github.com/go-logr/zapr" + "go.uber.org/zap" +) + +type ErrIngestBackoff struct { + underlying error + Backoff time.Duration +} + +func (e ErrIngestBackoff) Error() string { + return e.underlying.Error() +} + +type IngestSyncer interface { + Sync(context.Context, *logsv1.IngestBatch) error +} + +type Impl struct { + client *logcap.Client + log *zap.Logger +} + +func NewIngestSyncer(conf *Conf, logger *zap.Logger) (*Impl, error) { + pdpID := util.PDPIdentifier(conf.Ingest.Credentials.PDPID) + + logger = logger.Named("ingest").With(zap.String("instance", pdpID.Instance)) + + creds, err := conf.Ingest.Credentials.ToCredentials() + if err != nil { + return nil, errors.New("failed to generate credentials from config") + } + + tlsConf := &tls.Config{ + MinVersion: tls.VersionTLS13, + ServerName: conf.Ingest.Connection.TLS.Authority, + } + + caCertPath := conf.Ingest.Connection.TLS.CACert + if caCertPath != "" { + caCert, err := os.ReadFile(caCertPath) + if err != nil { + return nil, fmt.Errorf("failed to read CA cert from %q: %w", caCertPath, err) + } + + tlsConf.RootCAs = x509.NewCertPool() + if !tlsConf.RootCAs.AppendCertsFromPEM(caCert) { + return nil, fmt.Errorf("failed to parse CA certs") + } + } + + clientConf := logcap.ClientConf{ + ClientConf: base.ClientConf{ + Logger: zapr.NewLogger(logger), + PDPIdentifier: pdpID, + TLS: tlsConf, + Credentials: creds, + APIEndpoint: conf.Ingest.Connection.APIEndpoint, + BootstrapEndpoint: conf.Ingest.Connection.BootstrapEndpoint, + RetryWaitMin: conf.Ingest.Connection.MinRetryWait, + RetryWaitMax: conf.Ingest.Connection.MaxRetryWait, + RetryMaxAttempts: int(conf.Ingest.Connection.NumRetries), + HeartbeatInterval: conf.Ingest.Connection.HeartbeatInterval, + }, + } + + client, err := logcap.NewClient(clientConf) + if err != nil { + return nil, err + } + + return &Impl{ + client: client, + log: logger, + }, nil +} + +func (i *Impl) Sync(ctx context.Context, batch *logsv1.IngestBatch) error { + if err := i.client.Ingest(ctx, batch); err != nil { + i.log.Error("Failed to sync batch", zap.Error(err)) + return err + } + + return nil +} diff --git a/internal/audit/local/badgerdb.go b/internal/audit/local/badgerdb.go index 740359b658..292b79e1e3 100644 --- a/internal/audit/local/badgerdb.go +++ b/internal/audit/local/badgerdb.go @@ -30,8 +30,8 @@ const ( ) var ( - accessLogPrefix = []byte("aacc") - decisionLogPrefix = []byte("adec") + AccessLogPrefix = []byte("aacc") + DecisionLogPrefix = []byte("adec") ) func init() { @@ -47,14 +47,17 @@ func init() { // Log implements the decisionlog interface with Badger as the backing store. type Log struct { - logger *zap.Logger - db *badgerv4.DB - buffer chan *badgerv4.Entry - stopChan chan struct{} - decisionFilter audit.DecisionLogEntryFilter - wg sync.WaitGroup - ttl time.Duration - stopOnce sync.Once + logger *zap.Logger + Db *badgerv4.DB + buffer chan *badgerv4.Entry + stopChan chan struct{} + callbackFn func(chan<- struct{}) + decisionFilter audit.DecisionLogEntryFilter + wg sync.WaitGroup + ttl time.Duration + stopOnce sync.Once + bufferSize, maxBatchSize int + flushInterval time.Duration } func NewLog(conf *Conf, decisionFilter audit.DecisionLogEntryFilter) (*Log, error) { @@ -78,11 +81,14 @@ func NewLog(conf *Conf, decisionFilter audit.DecisionLogEntryFilter) (*Log, erro l := &Log{ logger: logger, - db: db, + Db: db, buffer: make(chan *badgerv4.Entry, bufferSize), stopChan: make(chan struct{}), ttl: ttl, decisionFilter: decisionFilter, + bufferSize: bufferSize, + maxBatchSize: maxBatchSize, + flushInterval: flushInterval, } l.wg.Add(1) @@ -96,22 +102,36 @@ func NewLog(conf *Conf, decisionFilter audit.DecisionLogEntryFilter) (*Log, erro return l, nil } +func (l *Log) RegisterCallback(fn func(chan<- struct{})) { + l.callbackFn = fn +} + func (l *Log) batchWriter(maxBatchSize int, flushInterval time.Duration) { + batch := newBatcher(l.Db, maxBatchSize) + logger := l.logger.With(zap.String("component", "batcher")) + ticker := time.NewTicker(flushInterval) defer ticker.Stop() - batch := newBatcher(l.db, maxBatchSize) - logger := l.logger.With(zap.String("component", "batcher")) + awaitCallbackFn := func() { + if l.callbackFn != nil { + ch := make(chan struct{}) + go l.callbackFn(ch) + <-ch + } + } for i := 0; i < goroutineResetThreshold; i++ { select { case <-l.stopChan: batch.flush() + awaitCallbackFn() l.wg.Done() return case entry, ok := <-l.buffer: if !ok { batch.flush() + awaitCallbackFn() l.wg.Done() return } @@ -122,6 +142,9 @@ func (l *Log) batchWriter(maxBatchSize int, flushInterval time.Duration) { } case <-ticker.C: batch.flush() + if l.callbackFn != nil { + go l.callbackFn(make(chan struct{}, 1)) + } } } @@ -142,7 +165,7 @@ func (l *Log) gc(gcInterval time.Duration) { return case <-ticker.C: logger.Debug("Running value log GC") - if err := l.db.RunValueLogGC(badgerDiscardRatio); err != nil { + if err := l.Db.RunValueLogGC(badgerDiscardRatio); err != nil { if !errors.Is(err, badgerv4.ErrNoRewrite) { logger.Error("Failed to run value log GC", zap.Error(err)) } @@ -163,6 +186,17 @@ func (l *Log) Enabled() bool { return true } +// ForceWrite forces a write operation and blocks until completion. It is used only by tests. +func (l *Log) ForceWrite() { + close(l.buffer) + l.wg.Wait() + + // Restart the batching goroutine + l.buffer = make(chan *badgerv4.Entry, l.bufferSize) + l.wg.Add(1) + go l.batchWriter(l.maxBatchSize, l.flushInterval) +} + func (l *Log) WriteAccessLogEntry(ctx context.Context, record audit.AccessLogEntryMaker) error { rec, err := record() if err != nil { @@ -179,9 +213,9 @@ func (l *Log) WriteAccessLogEntry(ctx context.Context, record audit.AccessLogEnt return fmt.Errorf("invalid call ID: %w", err) } - key := genKey(accessLogPrefix, callID) + key := GenKey(AccessLogPrefix, callID) - return l.write(ctx, key, value) + return l.Write(ctx, key, value) } func (l *Log) WriteDecisionLogEntry(ctx context.Context, record audit.DecisionLogEntryMaker) error { @@ -207,12 +241,12 @@ func (l *Log) WriteDecisionLogEntry(ctx context.Context, record audit.DecisionLo return fmt.Errorf("invalid call ID: %w", err) } - key := genKey(decisionLogPrefix, callID) + key := GenKey(DecisionLogPrefix, callID) - return l.write(ctx, key, value) + return l.Write(ctx, key, value) } -func (l *Log) write(ctx context.Context, key, value []byte) error { +func (l *Log) Write(ctx context.Context, key, value []byte) error { select { case l.buffer <- badgerv4.NewEntry(key, value).WithTTL(l.ttl): return nil @@ -223,20 +257,20 @@ func (l *Log) write(ctx context.Context, key, value []byte) error { func (l *Log) LastNAccessLogEntries(ctx context.Context, n uint) audit.AccessLogIterator { c := newAccessLogEntryCollector() - go l.listLastN(ctx, accessLogPrefix, n, c) + go l.listLastN(ctx, AccessLogPrefix, n, c) return c } func (l *Log) LastNDecisionLogEntries(ctx context.Context, n uint) audit.DecisionLogIterator { c := newDecisionLogEntryCollector() - go l.listLastN(ctx, decisionLogPrefix, n, c) + go l.listLastN(ctx, DecisionLogPrefix, n, c) return c } func (l *Log) listLastN(ctx context.Context, prefix []byte, n uint, c collector) { - err := l.db.View(func(txn *badgerv4.Txn) error { + err := l.Db.View(func(txn *badgerv4.Txn) error { opts := badgerv4.DefaultIteratorOptions opts.Reverse = true @@ -270,14 +304,14 @@ func (l *Log) listLastN(ctx context.Context, prefix []byte, n uint, c collector) func (l *Log) AccessLogEntriesBetween(ctx context.Context, fromTS, toTS time.Time) audit.AccessLogIterator { c := newAccessLogEntryCollector() - go l.listBetweenTimestamps(ctx, accessLogPrefix, fromTS, toTS, c) + go l.listBetweenTimestamps(ctx, AccessLogPrefix, fromTS, toTS, c) return c } func (l *Log) DecisionLogEntriesBetween(ctx context.Context, fromTS, toTS time.Time) audit.DecisionLogIterator { c := newDecisionLogEntryCollector() - go l.listBetweenTimestamps(ctx, decisionLogPrefix, fromTS, toTS, c) + go l.listBetweenTimestamps(ctx, DecisionLogPrefix, fromTS, toTS, c) return c } @@ -295,7 +329,7 @@ func (l *Log) listBetweenTimestamps(ctx context.Context, prefix []byte, fromTS, return } - err = l.db.View(func(txn *badgerv4.Txn) error { + err = l.Db.View(func(txn *badgerv4.Txn) error { opts := badgerv4.DefaultIteratorOptions it := txn.NewIterator(opts) @@ -327,13 +361,13 @@ func (l *Log) listBetweenTimestamps(ctx context.Context, prefix []byte, fromTS, func (l *Log) AccessLogEntryByID(ctx context.Context, id audit.ID) audit.AccessLogIterator { c := newAccessLogEntryCollector() - l.getByID(ctx, accessLogPrefix, id, c) + l.getByID(ctx, AccessLogPrefix, id, c) return c } func (l *Log) DecisionLogEntryByID(ctx context.Context, id audit.ID) audit.DecisionLogIterator { c := newDecisionLogEntryCollector() - l.getByID(ctx, decisionLogPrefix, id, c) + l.getByID(ctx, DecisionLogPrefix, id, c) return c } @@ -349,8 +383,8 @@ func (l *Log) getByID(ctx context.Context, prefix []byte, id audit.ID, c collect return } - key := genKey(prefix, idBytes) - err = l.db.View(func(txn *badgerv4.Txn) error { + key := GenKey(prefix, idBytes) + err = l.Db.View(func(txn *badgerv4.Txn) error { item, err := txn.Get(key) if err != nil { if errors.Is(err, badgerv4.ErrKeyNotFound) { @@ -371,12 +405,12 @@ func (l *Log) Close() error { l.stopOnce.Do(func() { close(l.stopChan) l.wg.Wait() - err = l.db.Close() + err = l.Db.Close() }) return err } -func genKey(prefix []byte, id audit.IDBytes) []byte { +func GenKey(prefix []byte, id audit.IDBytes) []byte { var key [keyLen]byte copy(key[:keyTSStart], prefix) copy(key[keyTSStart:], id[:]) @@ -395,7 +429,7 @@ func genKeyForTime(prefix []byte, ts time.Time) ([]byte, error) { return nil, err } - return genKey(prefix, idBytes), nil + return GenKey(prefix, idBytes), nil } func minScanKeyForTime(prefix []byte, ts time.Time) ([]byte, error) { diff --git a/internal/audit/local/badgerdb_test.go b/internal/audit/local/badgerdb_test.go index 6c8de09b85..780e748f77 100644 --- a/internal/audit/local/badgerdb_test.go +++ b/internal/audit/local/badgerdb_test.go @@ -47,18 +47,13 @@ func TestBadgerLog(t *testing.T) { decisionFilter := audit.NewDecisionLogEntryFilterFromConf(&audit.Conf{}) db, err := local.NewLog(conf, decisionFilter) require.NoError(t, err) + defer db.Close() require.Equal(t, local.Backend, db.Backend()) require.True(t, db.Enabled()) loadData(t, db, startDate) - db.Close() - - // re-open the db - db, err = local.NewLog(conf, decisionFilter) - require.NoError(t, err) - - defer db.Close() + db.ForceWrite() t.Run("lastNAccessLogEntries", func(t *testing.T) { n := 100 diff --git a/internal/auxdata/jwt.go b/internal/auxdata/jwt.go index 25b7388ba5..75f16358ed 100644 --- a/internal/auxdata/jwt.go +++ b/internal/auxdata/jwt.go @@ -11,7 +11,7 @@ import ( "strings" "time" - "github.com/lestrrat-go/httprc" + "github.com/lestrrat-go/httprc/v2" "github.com/lestrrat-go/jwx/v2/jwk" "github.com/lestrrat-go/jwx/v2/jws" "github.com/lestrrat-go/jwx/v2/jwt" diff --git a/internal/compile/manager.go b/internal/compile/manager.go index bf135cb8cb..b47c76814c 100644 --- a/internal/compile/manager.go +++ b/internal/compile/manager.go @@ -7,7 +7,6 @@ import ( "context" "errors" "fmt" - "strings" "time" "go.uber.org/zap" @@ -190,18 +189,16 @@ func (c *Manager) evict(modID namer.ModuleID) { } func (c *Manager) GetFirstMatch(ctx context.Context, candidates []namer.ModuleID) (*runtimev1.RunnablePolicySet, error) { - keyBuilder := new(strings.Builder) - for _, modID := range candidates { - rps, ok := c.cache.Get(modID) - if ok && rps != nil { - return rps, nil - } + if len(candidates) == 0 { + return nil, errors.New("candidates list must contain at least one candidate") + } - keyBuilder.WriteString(modID.String()) - keyBuilder.WriteRune('|') + // If the first candidate is not in the cache, we need to fallback to the store to avoid false positive cache hits when lenient scope search is enabled. + if rps, ok := c.cache.Get(candidates[0]); ok && rps != nil { + return rps, nil } - key := keyBuilder.String() + key := candidates[0].String() defer c.sf.Forget(key) rpsVal, err, _ := c.sf.Do(key, func() (any, error) { diff --git a/internal/compile/manager_test.go b/internal/compile/manager_test.go index e6e8818fe4..5b67b2529d 100644 --- a/internal/compile/manager_test.go +++ b/internal/compile/manager_test.go @@ -12,6 +12,8 @@ import ( "testing" "time" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" + "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" @@ -239,6 +241,82 @@ func TestManager(t *testing.T) { }) } +func TestGetFirstMatch(t *testing.T) { + t.Run("happy_path", func(t *testing.T) { + mgr, mockStore, cancel := mkManager() + defer cancel() + + rp := policy.Wrap(test.GenResourcePolicy(test.NoMod())) + rpFoo := policy.Wrap(test.GenScopedResourcePolicy("foo", test.NoMod())) + rpFooBar := policy.Wrap(test.GenScopedResourcePolicy("foo.bar", test.NoMod())) + ev := policy.Wrap(test.GenExportVariables(test.NoMod())) + dr := policy.Wrap(test.GenDerivedRoles(test.NoMod())) + + mockStore. + On("GetFirstMatch", mock.MatchedBy(anyCtx), []namer.ModuleID{rpFooBar.ID, rpFoo.ID, rp.ID}). + Return(&policy.CompilationUnit{ + ModID: rpFooBar.ID, + Definitions: map[namer.ModuleID]*policyv1.Policy{ + rpFooBar.ID: rpFooBar.Policy, + rpFoo.ID: rpFoo.Policy, + rp.ID: rp.Policy, + dr.ID: dr.Policy, + ev.ID: ev.Policy, + }, + }, nil). + Once() + + rps1, err := mgr.GetFirstMatch(context.Background(), []namer.ModuleID{rpFooBar.ID, rpFoo.ID, rp.ID}) + require.NoError(t, err) + require.NotNil(t, rps1) + + // should be read from the cache this time + rps2, err := mgr.GetFirstMatch(context.Background(), []namer.ModuleID{rpFooBar.ID, rpFoo.ID, rp.ID}) + require.NoError(t, err) + require.NotNil(t, rps2) + require.Equal(t, rps1, rps2) + + mockStore.AssertExpectations(t) + }) + + t.Run("first_scope_missing", func(t *testing.T) { + mgr, mockStore, cancel := mkManager() + defer cancel() + + rp := policy.Wrap(test.GenResourcePolicy(test.NoMod())) + rpFoo := policy.Wrap(test.GenScopedResourcePolicy("foo", test.NoMod())) + rpFooBar := policy.Wrap(test.GenScopedResourcePolicy("foo.bar", test.NoMod())) + ev := policy.Wrap(test.GenExportVariables(test.NoMod())) + dr := policy.Wrap(test.GenDerivedRoles(test.NoMod())) + + // pretend that scope foo.bar doesn't exist + mockStore. + On("GetFirstMatch", mock.MatchedBy(anyCtx), []namer.ModuleID{rpFooBar.ID, rpFoo.ID, rp.ID}). + Return(&policy.CompilationUnit{ + ModID: rpFoo.ID, + Definitions: map[namer.ModuleID]*policyv1.Policy{ + rpFoo.ID: rpFoo.Policy, + rp.ID: rp.Policy, + dr.ID: dr.Policy, + ev.ID: ev.Policy, + }, + }, nil). + Twice() + + rps1, err := mgr.GetFirstMatch(context.Background(), []namer.ModuleID{rpFooBar.ID, rpFoo.ID, rp.ID}) + require.NoError(t, err) + require.NotNil(t, rps1) + + // should skip the cache because the first candidate doesn't exist + rps2, err := mgr.GetFirstMatch(context.Background(), []namer.ModuleID{rpFooBar.ID, rpFoo.ID, rp.ID}) + require.NoError(t, err) + require.NotNil(t, rps2) + require.Equal(t, rps1, rps2) + + mockStore.AssertExpectations(t) + }) +} + func yield() { runtime.Gosched() time.Sleep(200 * time.Millisecond) @@ -328,6 +406,14 @@ func (ms *MockStore) Delete(ctx context.Context, ids ...namer.ModuleID) error { return args.Error(0) } +func (ms *MockStore) InspectPolicies(ctx context.Context, _ storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + args := ms.MethodCalled("InspectPolicies", ctx) + if res := args.Get(0); res == nil { + return nil, args.Error(0) + } + return args.Get(0).(map[string]*responsev1.InspectPoliciesResponse_Result), args.Error(0) +} + func (ms *MockStore) ListPolicyIDs(ctx context.Context, _ storage.ListPolicyIDsParams) ([]string, error) { args := ms.MethodCalled("ListPolicyIDs", ctx) if res := args.Get(0); res == nil { diff --git a/internal/engine/planner/internal/utils.go b/internal/engine/planner/internal/utils.go index 4a5d355672..eb867851db 100644 --- a/internal/engine/planner/internal/utils.go +++ b/internal/engine/planner/internal/utils.go @@ -60,3 +60,14 @@ func MkCallExpr(op string, args ...*exprpb.Expr) *exprpb.Expr { } return e } + +func MkSelectExpr(operand *exprpb.Expr, field string) *exprpb.Expr { + return &exprpb.Expr{ + ExprKind: &exprpb.Expr_SelectExpr{ + SelectExpr: &exprpb.Expr_Select{ + Operand: operand, + Field: field, + }, + }, + } +} diff --git a/internal/engine/planner/matchers/struct_matcher.go b/internal/engine/planner/matchers/struct_matcher.go index 541956350f..4ee7ba30f6 100644 --- a/internal/engine/planner/matchers/struct_matcher.go +++ b/internal/engine/planner/matchers/struct_matcher.go @@ -16,7 +16,7 @@ type exprMatcherFunc func(e *exprpb.Expr) (bool, []*exprpb.Expr) type exprMatcher struct { f exprMatcherFunc - ns []*exprMatcher + ns []*exprMatcher // argument matchers } type ExpressionProcessor interface { @@ -68,7 +68,12 @@ func getConstExprMatcher(s *structMatcher) *exprMatcher { func getStructIndexerExprMatcher(s *structMatcher) *exprMatcher { return &exprMatcher{ f: func(e *exprpb.Expr) (bool, []*exprpb.Expr) { - if indexExpr := e.GetCallExpr(); indexExpr != nil && indexExpr.Function == operators.Index { + ex := e + if selExpr := ex.GetSelectExpr(); selExpr != nil { + s.field = selExpr.Field + ex = selExpr.Operand + } + if indexExpr := ex.GetCallExpr(); indexExpr != nil && indexExpr.Function == operators.Index { return true, indexExpr.Args } return false, nil @@ -104,47 +109,49 @@ type structMatcher struct { constExpr *exprpb.Constant rootMatch *exprMatcher function string + field string // optional field. E.g. P.attr[R.id].role == "OWNER" } func (s *structMatcher) Process(e *exprpb.Expr) (bool, *exprpb.Expr, error) { r, err := s.rootMatch.run(e) - if err != nil { + if err != nil || !r { return false, nil, err } - if r { - var opts []*exprpb.Expr - type entry struct { - key *exprpb.Constant - value *exprpb.Expr - } - entries := make([]entry, 0, len(s.structExpr.Entries)) - for _, item := range s.structExpr.Entries { - if key := item.GetMapKey().GetConstExpr(); key != nil { - entries = append(entries, entry{key: key, value: item.GetValue()}) - } - } - sort.Slice(entries, func(i, j int) bool { - return entries[i].key.String() < entries[j].key.String() - }) - for _, item := range entries { - opts = append(opts, mkOption(s.function, item.key, item.value, s.indexerExpr, s.constExpr)) - } - n := len(opts) - if n == 0 { - return false, e, nil - } - var output *exprpb.Expr - if n == 1 { - output = opts[0] - } else { - output = mkLogicalOr(opts) + type entry struct { + key *exprpb.Constant + value *exprpb.Expr + } + entries := make([]entry, 0, len(s.structExpr.Entries)) + for _, item := range s.structExpr.Entries { + if key := item.GetMapKey().GetConstExpr(); key != nil { + entries = append(entries, entry{key: key, value: item.GetValue()}) + } + } + sort.Slice(entries, func(i, j int) bool { + return entries[i].key.String() < entries[j].key.String() + }) + opts := make([]*exprpb.Expr, 0, len(entries)) + for _, item := range entries { + v := item.value + if s.field != "" { + v = internal.MkSelectExpr(item.value, s.field) } - internal.UpdateIDs(output) - return true, output, nil + opts = append(opts, mkOption(s.function, item.key, v, s.indexerExpr, s.constExpr)) } + n := len(opts) + if n == 0 { + return false, e, nil + } + var output *exprpb.Expr - return false, nil, nil + if n == 1 { + output = opts[0] + } else { + output = mkLogicalOr(opts) + } + internal.UpdateIDs(output) + return true, output, nil } var supportedOps = map[string]struct{}{ diff --git a/internal/engine/planner/matchers/struct_matcher_test.go b/internal/engine/planner/matchers/struct_matcher_test.go index 9d062d7792..17fd2ca954 100644 --- a/internal/engine/planner/matchers/struct_matcher_test.go +++ b/internal/engine/planner/matchers/struct_matcher_test.go @@ -27,6 +27,10 @@ func TestStructMatcher(t *testing.T) { { expr: "P.attr.anyMap[R.attr.Id] == R.attr.value", }, + { + expr: `{"a1": {"role": "OWNER"}}[R.id].role == "OWNER"`, + res: true, + }, { expr: "P.attr.anyMap[R.attr.Id][R.attr.value]", }, diff --git a/internal/hub/conf.go b/internal/hub/conf.go new file mode 100644 index 0000000000..fb03fb5740 --- /dev/null +++ b/internal/hub/conf.go @@ -0,0 +1,214 @@ +// Copyright 2021-2024 Zenauth Ltd. +// SPDX-License-Identifier: Apache-2.0 + +package hub + +import ( + "os" + "time" + + "github.com/cerbos/cerbos/internal/config" + "github.com/cerbos/cerbos/internal/util" + "github.com/cerbos/cloud-api/credentials" +) + +type EnvVarKey int + +const ( + BundleLabelKey EnvVarKey = iota + ClientIDKey + ClientSecretKey + OfflineKey + PDPIDKey + WorkspaceSecretKey +) + +var envVars = map[EnvVarKey][]string{ + BundleLabelKey: {"CERBOS_HUB_BUNDLE", "CERBOS_CLOUD_BUNDLE"}, + ClientIDKey: {"CERBOS_HUB_CLIENT_ID", "CERBOS_CLOUD_CLIENT_ID"}, + ClientSecretKey: {"CERBOS_HUB_CLIENT_SECRET", "CERBOS_CLOUD_CLIENT_SECRET"}, + OfflineKey: {"CERBOS_HUB_OFFLINE", "CERBOS_CLOUD_OFFLINE"}, + PDPIDKey: {"CERBOS_HUB_PDP_ID", "CERBOS_PDP_ID"}, + WorkspaceSecretKey: {"CERBOS_HUB_WORKSPACE_SECRET", "CERBOS_CLOUD_SECRET_KEY"}, +} + +func GetEnv(key EnvVarKey) string { + varNames, ok := envVars[key] + if !ok { + return "" + } + + for i, v := range varNames { + val, ok := os.LookupEnv(v) + if ok { + if i > 0 { + util.DeprecationWarning(v, varNames[0]) + } + return val + } + } + + return "" +} + +const ( + confKey = "hub" + defaultAPIEndpoint = "https://api.cerbos.cloud" + defaultBootstrapHost = "https://cdn.cerbos.cloud" + defaultHeartbeatInterval = 180 * time.Second + defaultMaxRetryWait = 120 * time.Second + defaultMinRetryWait = 1 * time.Second + defaultNumRetries = 5 + minHeartbeatInterval = 30 * time.Second +) + +type Conf struct { + // Credentials holds Cerbos Hub client credentials. + Credentials CredentialsConf `yaml:"credentials"` + // Connection holds advanced connection settings for Cerbos Hub. + Connection ConnectionConf `yaml:"connection" conf:",ignore"` +} + +func (conf *Conf) Key() string { + return confKey +} + +func (conf *Conf) SetDefaults() { + conf.Credentials = CredentialsConf{ + ClientID: GetEnv(ClientIDKey), + ClientSecret: GetEnv(ClientSecretKey), + PDPID: GetEnv(PDPIDKey), + WorkspaceSecret: GetEnv(WorkspaceSecretKey), + } +} + +func (conf *Conf) Validate() (outErr error) { + _ = conf.Connection.Validate() + return conf.Credentials.Validate() +} + +// CredentialsConf holds credentials for accessing Cerbos Hub. +type CredentialsConf struct { + // PDPID is the unique identifier for this Cerbos instance. Defaults to the value of the CERBOS_HUB_PDP_ID environment variable. + PDPID string `yaml:"pdpID" conf:",example=crb-004"` + // ClientID of the Cerbos Hub credential. Defaults to the value of the CERBOS_HUB_CLIENT_ID environment variable. + ClientID string `yaml:"clientID" conf:",example=92B0K05B6HOF"` + // ClientSecret of the Cerbos Hub credential. Defaults to the value of the CERBOS_HUB_CLIENT_SECRET environment variable. + ClientSecret string `yaml:"clientSecret" conf:",example=${CERBOS_HUB_CLIENT_SECRET}"` + // WorkspaceSecret used to decrypt the bundles. Defaults to the value of the CERBOS_HUB_WORKSPACE_SECRET environment variable. + WorkspaceSecret string `yaml:"workspaceSecret" conf:",example=${CERBOS_HUB_WORKSPACE_SECRET}"` + // Deprecated: Use PDPID + InstanceID string `yaml:"instanceID" conf:",ignore"` + // Deprecated: Use WorkspaceSecret + SecretKey string `yaml:"secretKey" conf:",ignore"` +} + +func (cc *CredentialsConf) Validate() (outErr error) { + // SecretKey was renamed to WorkspaceSecret in Cerbos 0.31.0 + if cc.WorkspaceSecret == "" && cc.SecretKey != "" { + util.DeprecationWarning("credentials.secretKey", "credentials.workspaceSecret") + cc.WorkspaceSecret = cc.SecretKey + } + + // InstanceID was renamed to PDPID in Cerbos 0.31.0 + if cc.PDPID == "" && cc.InstanceID != "" { + util.DeprecationWarning("credentials.instanceID", "credentials.pdpID") + cc.PDPID = cc.InstanceID + } + + // We don't do any validation here because some fields are optional depending on the use case. + + return nil +} + +func (cc *CredentialsConf) LoadFromEnv() { + if cc.ClientID == "" { + cc.ClientID = GetEnv(ClientIDKey) + } + + if cc.ClientSecret == "" { + cc.ClientSecret = GetEnv(ClientSecretKey) + } + + if cc.PDPID == "" { + cc.PDPID = GetEnv(PDPIDKey) + } + + if cc.WorkspaceSecret == "" { + cc.WorkspaceSecret = GetEnv(WorkspaceSecretKey) + } +} + +func (cc CredentialsConf) ToCredentials() (*credentials.Credentials, error) { + return credentials.New(cc.ClientID, cc.ClientSecret, cc.WorkspaceSecret) +} + +// ConnectionConf holds configuration for the remote connection. +type ConnectionConf struct { + // TLS defines settings for TLS connections. + TLS TLSConf `yaml:"tls"` + // APIEndpoint is the address of the API server. + APIEndpoint string `yaml:"apiEndpoint" conf:"required,example=https://api.cerbos.cloud"` + // BootstrapEndpoint is the addresses of the server serving the bootstrap configuration. + BootstrapEndpoint string `yaml:"bootstrapEndpoint" conf:"required,example=https://cdn.cerbos.cloud"` + // MinRetryWait is the minimum amount of time to wait between retries. + MinRetryWait time.Duration `yaml:"minRetryWait" conf:",example=1s"` + // MaxRetryWait is the maximum amount of time to wait between retries. + MaxRetryWait time.Duration `yaml:"maxRetryWait" conf:",example=120s"` + // NumRetries is the number of times to retry before giving up. + NumRetries uint `yaml:"numRetries" conf:",example=5"` + // HeartbeatInterval is the interval for sending regular heartbeats. + HeartbeatInterval time.Duration `yaml:"heartbeatInterval" conf:",example=2m"` +} + +func (cc ConnectionConf) IsUnset() bool { + return cc == ConnectionConf{} +} + +func (cc *ConnectionConf) Validate() error { + if cc.APIEndpoint == "" { + cc.APIEndpoint = defaultAPIEndpoint + } + + if cc.BootstrapEndpoint == "" { + cc.BootstrapEndpoint = defaultBootstrapHost + } + + if cc.MinRetryWait == 0 { + cc.MinRetryWait = defaultMinRetryWait + } + + if cc.MaxRetryWait == 0 { + cc.MaxRetryWait = defaultMaxRetryWait + } + + if cc.NumRetries == 0 { + cc.NumRetries = defaultNumRetries + } + + switch { + case cc.HeartbeatInterval < 0: + cc.HeartbeatInterval = 0 + case cc.HeartbeatInterval == 0: + cc.HeartbeatInterval = defaultHeartbeatInterval + case cc.HeartbeatInterval > 0 && cc.HeartbeatInterval < minHeartbeatInterval: + cc.HeartbeatInterval = minHeartbeatInterval + } + + return nil +} + +// TLSConf holds TLS configuration for the remote connection. +type TLSConf struct { + // Authority overrides the Cerbos Hub server authority if it is different from what is provided in the API and bootstrap endpoints. + Authority string `yaml:"authority" conf:",example=domain.tld"` + // CACert is the path to the CA certificate chain to use for certificate verification. + CACert string `yaml:"caCert" conf:",example=/path/to/CA_certificate"` +} + +func GetConf() (*Conf, error) { + conf := &Conf{} + err := config.GetSection(conf) + + return conf, err +} diff --git a/internal/observability/otel/metrics.go b/internal/observability/otel/metrics.go index c11e484758..735a6b1fcc 100644 --- a/internal/observability/otel/metrics.go +++ b/internal/observability/otel/metrics.go @@ -109,17 +109,17 @@ func dropHighCardinalityLabels() sdkmetric.View { attributeFilter := func(attr attribute.KeyValue) bool { attrStr := string(attr.Key) switch { - case attrStr == "http.client_ip": + case attrStr == "client.address": return false - case attrStr == "http.user_agent": + case attrStr == "user_agent.original": return false - case attrStr == "http.flavor": + case attrStr == "network.protocol.version": return false - case attrStr == "http.scheme": + case attrStr == "url.scheme": return false - case strings.HasPrefix(attrStr, "net.peer."): + case strings.HasPrefix(attrStr, "server."): return false - case strings.HasPrefix(attrStr, "net.sock.peer."): + case strings.HasPrefix(attrStr, "network.peer."): return false } return true diff --git a/internal/policy/policy.go b/internal/policy/policy.go index 06ef31326f..8fb36df1c2 100644 --- a/internal/policy/policy.go +++ b/internal/policy/policy.go @@ -5,9 +5,12 @@ package policy import ( "fmt" + "sort" "strings" "time" + runtimev1 "github.com/cerbos/cerbos/api/genpb/cerbos/runtime/v1" + "google.golang.org/protobuf/types/known/structpb" "google.golang.org/protobuf/types/known/wrapperspb" @@ -356,6 +359,76 @@ type Wrapper struct { Kind Kind } +// ListPolicySetActions returns unique list of actions in a policy set. +func ListPolicySetActions(ps *runtimev1.RunnablePolicySet) []string { + var actions []string + if ps == nil { + return actions + } + + lut := make(map[string]struct{}) + switch set := ps.PolicySet.(type) { + case *runtimev1.RunnablePolicySet_ResourcePolicy: + for _, p := range set.ResourcePolicy.Policies { + for _, r := range p.Rules { + for a := range r.Actions { + if _, ok := lut[a]; !ok { + lut[a] = struct{}{} + actions = append(actions, a) + } + } + } + } + case *runtimev1.RunnablePolicySet_PrincipalPolicy: + for _, p := range set.PrincipalPolicy.Policies { + for _, r := range p.ResourceRules { + for _, ar := range r.ActionRules { + if _, ok := lut[ar.Action]; !ok { + lut[ar.Action] = struct{}{} + actions = append(actions, ar.Action) + } + } + } + } + } + + sort.Strings(actions) + return actions +} + +// ListActions returns unique list of actions in a policy. +func ListActions(p *policyv1.Policy) []string { + var actions []string + if p == nil { + return actions + } + + lut := make(map[string]struct{}) + switch p := p.PolicyType.(type) { + case *policyv1.Policy_ResourcePolicy: + for _, r := range p.ResourcePolicy.Rules { + for _, a := range r.Actions { + if _, ok := lut[a]; !ok { + lut[a] = struct{}{} + actions = append(actions, a) + } + } + } + case *policyv1.Policy_PrincipalPolicy: + for _, r := range p.PrincipalPolicy.Rules { + for _, a := range r.Actions { + if _, ok := lut[a.Action]; !ok { + lut[a.Action] = struct{}{} + actions = append(actions, a.Action) + } + } + } + } + + sort.Strings(actions) + return actions +} + // Wrap augments a policy with useful information about itself. func Wrap(p *policyv1.Policy) Wrapper { w := Wrapper{Policy: p} diff --git a/internal/policy/policy_test.go b/internal/policy/policy_test.go index 53a859f45a..3d3c5928a1 100644 --- a/internal/policy/policy_test.go +++ b/internal/policy/policy_test.go @@ -11,6 +11,12 @@ import ( "strconv" "testing" + policyv1 "github.com/cerbos/cerbos/api/genpb/cerbos/policy/v1" + runtimev1 "github.com/cerbos/cerbos/api/genpb/cerbos/runtime/v1" + "github.com/cerbos/cerbos/internal/compile" + "github.com/cerbos/cerbos/internal/parser" + "github.com/cerbos/cerbos/internal/schema" + "github.com/stretchr/testify/require" "google.golang.org/protobuf/types/known/wrapperspb" @@ -152,3 +158,84 @@ func TestRequiredAncestors(t *testing.T) { }) } } + +func TestActions(t *testing.T) { + dr := test.GenDerivedRoles(test.NoMod()) + ev := test.GenExportVariables(test.NoMod()) + rp := test.NewResourcePolicyBuilder("leave_request", "default"). + WithRules( + test. + NewResourceRule("a", "b"). + WithRoles("user"). + Build(), + test. + NewResourceRule("a"). + WithRoles("admin"). + Build(), + ).Build() + pp := test.NewPrincipalPolicyBuilder("john", "default"). + WithRules( + test.NewPrincipalRuleBuilder("leave_request"). + AllowAction("a"). + AllowAction("b"). + DenyAction("c"). + Build(), + test.NewPrincipalRuleBuilder("purchase_order"). + AllowAction("a"). + DenyAction("c"). + Build(), + ).Build() + testCases := []struct { + p *policyv1.Policy + pset *runtimev1.RunnablePolicySet + expectedActions []string + }{ + { + p: dr, + pset: compilePolicy(t, dr), + expectedActions: []string{}, + }, + { + p: ev, + pset: compilePolicy(t, ev), + expectedActions: []string{}, + }, + { + p: rp, + pset: compilePolicy(t, rp), + expectedActions: []string{"a", "b"}, + }, + { + p: pp, + pset: compilePolicy(t, pp), + expectedActions: []string{"a", "b", "c"}, + }, + } + + t.Run("ListActions", func(t *testing.T) { + for _, testCase := range testCases { + haveActions := policy.ListActions(testCase.p) + require.ElementsMatch(t, testCase.expectedActions, haveActions) + } + }) + + t.Run("ListPolicySetActions", func(t *testing.T) { + for _, testCase := range testCases { + haveActions := policy.ListPolicySetActions(testCase.pset) + require.ElementsMatch(t, testCase.expectedActions, haveActions) + } + }) +} + +func compilePolicy(t *testing.T, p *policyv1.Policy) *runtimev1.RunnablePolicySet { + t.Helper() + + cu := &policy.CompilationUnit{} + mID := namer.GenModuleID(p) + cu.ModID = mID + cu.AddDefinition(mID, p, parser.NewEmptySourceCtx()) + rps, err := compile.Compile(cu, schema.NewNopManager()) + require.NoError(t, err) + + return rps +} diff --git a/internal/server/server.go b/internal/server/server.go index de0703f5ce..7181216395 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -55,6 +55,8 @@ import ( _ "github.com/cerbos/cerbos/internal/audit/file" // Import to register the kafka audit log backend. _ "github.com/cerbos/cerbos/internal/audit/kafka" + // Import to register the hub audit log backend. + _ "github.com/cerbos/cerbos/internal/audit/hub" "github.com/cerbos/cerbos/internal/auxdata" "github.com/cerbos/cerbos/internal/compile" "github.com/cerbos/cerbos/internal/engine" @@ -464,7 +466,7 @@ func (s *Server) mkGRPCServer(log *zap.Logger, auditLog audit.Log) (*grpc.Server func (s *Server) startHTTPServer(ctx context.Context, l net.Listener, grpcSrv *grpc.Server) (*http.Server, error) { log := zap.S().Named("http") - grpcConn, err := s.mkGRPCConn(ctx) + grpcConn, err := s.mkGRPCConn() if err != nil { return nil, err } @@ -560,7 +562,7 @@ func defaultGRPCDialOpts() []grpc.DialOption { } } -func (s *Server) mkGRPCConn(ctx context.Context) (*grpc.ClientConn, error) { +func (s *Server) mkGRPCConn() (*grpc.ClientConn, error) { opts := defaultGRPCDialOpts() if s.tlsConfig != nil { @@ -571,7 +573,7 @@ func (s *Server) mkGRPCConn(ctx context.Context) (*grpc.ClientConn, error) { opts = append(opts, grpc.WithTransportCredentials(local.NewCredentials())) } - grpcConn, err := grpc.DialContext(ctx, s.conf.GRPCListenAddr, opts...) + grpcConn, err := grpc.NewClient(s.conf.GRPCListenAddr, opts...) if err != nil { return nil, fmt.Errorf("failed to dial gRPC: %w", err) } diff --git a/internal/server/server_test.go b/internal/server/server_test.go index e17d0d360d..527964f829 100644 --- a/internal/server/server_test.go +++ b/internal/server/server_test.go @@ -26,6 +26,7 @@ import ( "github.com/cerbos/cerbos/internal/auxdata" "github.com/cerbos/cerbos/internal/compile" "github.com/cerbos/cerbos/internal/engine" + "github.com/cerbos/cerbos/internal/hub" "github.com/cerbos/cerbos/internal/observability/logging" "github.com/cerbos/cerbos/internal/schema" "github.com/cerbos/cerbos/internal/storage" @@ -86,7 +87,7 @@ func TestServer(t *testing.T) { conf := &bundle.Conf{ CacheSize: 1024, - Credentials: bundle.CredentialsConf{WorkspaceSecret: string(bytes.TrimSpace(keyBytes))}, + Credentials: &hub.CredentialsConf{WorkspaceSecret: string(bytes.TrimSpace(keyBytes))}, Local: &bundle.LocalSourceConf{ BundlePath: filepath.Join(dir, "bundle.crbp"), TempDir: t.TempDir(), diff --git a/internal/server/tests.go b/internal/server/tests.go index 7be0ef70d9..e00d4949e0 100644 --- a/internal/server/tests.go +++ b/internal/server/tests.go @@ -118,7 +118,7 @@ func mkGRPCConn(t *testing.T, addr string, opts ...grpc.DialOption) *grpc.Client dialOpts := append(defaultGRPCDialOpts(), opts...) - grpcConn, err := grpc.Dial(addr, dialOpts...) + grpcConn, err := grpc.NewClient(addr, dialOpts...) require.NoError(t, err, "Failed to dial gRPC server") return grpcConn diff --git a/internal/storage/blob/store.go b/internal/storage/blob/store.go index ab22e1f29f..cb7c0e9ea3 100644 --- a/internal/storage/blob/store.go +++ b/internal/storage/blob/store.go @@ -14,6 +14,8 @@ import ( "os" "time" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" + "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "go.uber.org/zap" @@ -319,6 +321,10 @@ func (s *Store) GetDependents(_ context.Context, ids ...namer.ModuleID) (map[nam return s.idx.GetDependents(ids...) } +func (s *Store) InspectPolicies(ctx context.Context, _ storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + return s.idx.InspectPolicies(ctx) +} + func (s *Store) ListPolicyIDs(ctx context.Context, _ storage.ListPolicyIDsParams) ([]string, error) { return s.idx.ListPolicyIDs(ctx) } diff --git a/internal/storage/bundle/bundle.go b/internal/storage/bundle/bundle.go index 7b379b7b38..756a8f5c6c 100644 --- a/internal/storage/bundle/bundle.go +++ b/internal/storage/bundle/bundle.go @@ -13,11 +13,13 @@ import ( "os" "strings" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" runtimev1 "github.com/cerbos/cerbos/api/genpb/cerbos/runtime/v1" "github.com/cerbos/cerbos/internal/cache" "github.com/cerbos/cerbos/internal/compile" "github.com/cerbos/cerbos/internal/namer" "github.com/cerbos/cerbos/internal/observability/metrics" + "github.com/cerbos/cerbos/internal/policy" "github.com/cerbos/cerbos/internal/storage" "github.com/cerbos/cloud-api/credentials" bundlev1 "github.com/cerbos/cloud-api/genpb/cerbos/cloud/bundle/v1" @@ -233,6 +235,38 @@ func (b *Bundle) loadPolicySet(idHex, fileName string) (*runtimev1.RunnablePolic return rps, nil } +func (b *Bundle) InspectPolicies(ctx context.Context, listParams storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + policyIDs, err := b.ListPolicyIDs(ctx, listParams) + if err != nil { + return nil, fmt.Errorf("failed to list policies: %w", err) + } + + if len(policyIDs) == 0 { + return nil, nil + } + + results := make(map[string]*responsev1.InspectPoliciesResponse_Result) + for _, policyID := range policyIDs { + id := namer.GenModuleIDFromFQN(policyID) + idHex := id.HexStr() + fileName := policyDir + idHex + + pset, err := b.loadPolicySet(idHex, fileName) + if err != nil { + return nil, fmt.Errorf("failed to load policy %s: %w", policyID, err) + } + + actions := policy.ListPolicySetActions(pset) + if len(actions) > 0 { + results[namer.PolicyKeyFromFQN(pset.Fqn)] = &responsev1.InspectPoliciesResponse_Result{ + Actions: actions, + } + } + } + + return results, nil +} + func (b *Bundle) ListPolicyIDs(_ context.Context, _ storage.ListPolicyIDsParams) ([]string, error) { output := make([]string, len(b.manifest.PolicyIndex)) diff --git a/internal/storage/bundle/conf.go b/internal/storage/bundle/conf.go index 18797c1343..aa0c6df986 100644 --- a/internal/storage/bundle/conf.go +++ b/internal/storage/bundle/conf.go @@ -9,65 +9,22 @@ import ( "os" "path/filepath" "strings" - "time" + + "go.uber.org/multierr" "github.com/cerbos/cerbos/internal/config" + "github.com/cerbos/cerbos/internal/hub" "github.com/cerbos/cerbos/internal/storage" - "github.com/cerbos/cloud-api/credentials" - "go.uber.org/multierr" + "github.com/cerbos/cerbos/internal/util" ) const ( - confKey = storage.ConfKey + "." + DriverName - - defaultAPIEndpoint = "https://api.cerbos.cloud" - defaultBootstrapHost = "https://cdn.cerbos.cloud" - defaultCacheSize = 1024 - defaultHeartbeatInterval = 180 * time.Second - defaultMaxRetryWait = 120 * time.Second - defaultMinRetryWait = 1 * time.Second - defaultNumRetries = 5 - minHeartbeatInterval = 30 * time.Second + confKey = storage.ConfKey + "." + DriverName + defaultCacheSize = 1024 ) var ErrNoSource = errors.New("at least one of local or remote sources must be defined") -type envVarKey int - -const ( - bundleLabelKey envVarKey = iota - clientIDKey - clientSecretKey - offlineKey - pdpIDKey - workspaceSecretKey -) - -var envVars = map[envVarKey][]string{ - bundleLabelKey: {"CERBOS_HUB_BUNDLE", "CERBOS_CLOUD_BUNDLE"}, - clientIDKey: {"CERBOS_HUB_CLIENT_ID", "CERBOS_CLOUD_CLIENT_ID"}, - clientSecretKey: {"CERBOS_HUB_CLIENT_SECRET", "CERBOS_CLOUD_CLIENT_SECRET"}, - offlineKey: {"CERBOS_HUB_OFFLINE", "CERBOS_CLOUD_OFFLINE"}, - pdpIDKey: {"CERBOS_HUB_PDP_ID", "CERBOS_PDP_ID"}, - workspaceSecretKey: {"CERBOS_HUB_WORKSPACE_SECRET", "CERBOS_CLOUD_SECRET_KEY"}, -} - -func getEnv(key envVarKey) string { - varNames, ok := envVars[key] - if !ok { - return "" - } - - for _, v := range varNames { - val, ok := os.LookupEnv(v) - if ok { - return val - } - } - - return "" -} - // Conf is required (if driver is set to 'bundle') configuration for bundle storage driver. // +desc=This section is required only if storage.driver is bundle. type Conf struct { @@ -76,31 +33,11 @@ type Conf struct { // Local holds configuration for local bundle source. Local *LocalSourceConf `yaml:"local"` // Credentials holds bundle source credentials. - Credentials CredentialsConf `yaml:"credentials"` + Credentials *hub.CredentialsConf `yaml:"credentials" conf:",ignore"` // CacheSize defines the number of policies to cache in memory. CacheSize uint `yaml:"cacheSize" conf:",example=1024"` } -// CredentialsConf holds credentials for accessing the bundle service. -type CredentialsConf struct { - // PDPID is the unique identifier for this Cerbos instance. Defaults to the value of the CERBOS_HUB_PDP_ID environment variable. - PDPID string `yaml:"pdpID" conf:",example=crb-004"` - // ClientID of the Cerbos Hub credential. Defaults to the value of the CERBOS_HUB_CLIENT_ID environment variable. - ClientID string `yaml:"clientID" conf:",example=92B0K05B6HOF"` - // ClientSecret of the Cerbos Hub credential. Defaults to the value of the CERBOS_HUB_CLIENT_SECRET environment variable. - ClientSecret string `yaml:"clientSecret" conf:",example=${CERBOS_HUB_CLIENT_SECRET}"` - // WorkspaceSecret used to decrypt the bundles. Defaults to the value of the CERBOS_HUB_WORKSPACE_SECRET environment variable. - WorkspaceSecret string `yaml:"workspaceSecret" conf:",example=${CERBOS_HUB_WORKSPACE_SECRET}"` - // Deprecated: Use PDPID - InstanceID string `yaml:"instanceID" conf:",ignore"` - // Deprecated: Use WorkspaceSecret - SecretKey string `yaml:"secretKey" conf:",ignore"` -} - -func (cc CredentialsConf) ToCredentials() (*credentials.Credentials, error) { - return credentials.New(cc.ClientID, cc.ClientSecret, cc.WorkspaceSecret) -} - // LocalSourceConf holds configuration for local bundle store. type LocalSourceConf struct { // BundlePath is the full path to the local bundle file. @@ -111,57 +48,24 @@ type LocalSourceConf struct { // RemoteSourceConf holds configuration for remote bundle store. type RemoteSourceConf struct { + // Connection defines settings for the remote server connection. + Connection *hub.ConnectionConf `yaml:"connection" conf:",ignore"` // BundleLabel to fetch from the server. BundleLabel string `yaml:"bundleLabel" conf:"required,example=latest"` // CacheDir is the directory to use for caching downloaded bundles. CacheDir string `yaml:"cacheDir" conf:",example=${XDG_CACHE_DIR}"` // TempDir is the directory to use for temporary files. TempDir string `yaml:"tempDir" conf:",example=${TEMP}"` - // Connection defines settings for the remote server connection. - Connection ConnectionConf `yaml:"connection"` // DisableAutoUpdate sets whether new bundles should be automatically downloaded and applied. DisableAutoUpdate bool `yaml:"disableAutoUpdate"` } -// ConnectionConf holds configuration for the remote connection. -type ConnectionConf struct { - // TLS defines settings for TLS connections. - TLS TLSConf `yaml:"tls"` - // APIEndpoint is the address of the API server. - APIEndpoint string `yaml:"apiEndpoint" conf:"required,example=https://api.cerbos.cloud"` - // BootstrapEndpoint is the addresses of the server serving the bootstrap configuration. - BootstrapEndpoint string `yaml:"bootstrapEndpoint" conf:"required,example=https://cdn.cerbos.cloud"` - // MinRetryWait is the minimum amount of time to wait between retries. - MinRetryWait time.Duration `yaml:"minRetryWait" conf:",example=1s"` - // MaxRetryWait is the maximum amount of time to wait between retries. - MaxRetryWait time.Duration `yaml:"maxRetryWait" conf:",example=120s"` - // NumRetries is the number of times to retry before giving up. - NumRetries uint `yaml:"numRetries" conf:",example=5"` - // HeartbeatInterval is the interval for sending regular heartbeats. - HeartbeatInterval time.Duration `yaml:"heartbeatInterval" conf:",example=2m"` -} - -// TLSConf holds TLS configuration for the remote connection. -type TLSConf struct { - // Authority overrides the Cerbos PDP server authority if it is different from what is provided in the address. - Authority string `yaml:"authority" conf:",example=domain.tld"` - // CACert is the path to the CA certificate chain to use for certificate verification. - CACert string `yaml:"caCert" conf:",example=/path/to/CA_certificate"` -} - func (conf *Conf) Key() string { return confKey } func (conf *Conf) SetDefaults() { conf.CacheSize = defaultCacheSize - - conf.Credentials = CredentialsConf{ - ClientID: getEnv(clientIDKey), - ClientSecret: getEnv(clientSecretKey), - PDPID: getEnv(pdpIDKey), - WorkspaceSecret: getEnv(workspaceSecretKey), - } } func (conf *Conf) Validate() (outErr error) { @@ -181,17 +85,27 @@ func (conf *Conf) Validate() (outErr error) { outErr = multierr.Append(outErr, err) } - // SecretKey was renamed to WorkspaceSecret in Cerbos 0.31.0 - if conf.Credentials.WorkspaceSecret == "" && conf.Credentials.SecretKey != "" { - conf.Credentials.WorkspaceSecret = conf.Credentials.SecretKey + if err := conf.validateCredentials(); err != nil { + outErr = multierr.Append(outErr, err) + } + + return outErr +} + +func (conf *Conf) validateCredentials() error { + if conf.Credentials != nil { + util.DeprecationWarning("storage.bundle.credentials section", "hub.credentials") + conf.Credentials.LoadFromEnv() + return conf.Credentials.Validate() } - // InstanceID was renamed to PDPID in Cerbos 0.31.0 - if conf.Credentials.PDPID == "" && conf.Credentials.InstanceID != "" { - conf.Credentials.PDPID = conf.Credentials.InstanceID + hubConf, err := hub.GetConf() + if err != nil { + return fmt.Errorf("failed to read Cerbos Hub configuration: %w", err) } - return outErr + conf.Credentials = &hubConf.Credentials + return conf.Credentials.Validate() } func (lc *LocalSourceConf) validate() error { @@ -211,7 +125,7 @@ func (lc *LocalSourceConf) validate() error { return nil } -func (lc *LocalSourceConf) setDefaults() error { +func (lc *LocalSourceConf) setDefaultsForUnsetFields() error { if lc == nil { return errors.New("configuration is undefined") } @@ -233,23 +147,23 @@ func (rc *RemoteSourceConf) validate() error { } if rc.BundleLabel == "" { - rc.BundleLabel = getEnv(bundleLabelKey) + rc.BundleLabel = hub.GetEnv(hub.BundleLabelKey) } if strings.TrimSpace(rc.BundleLabel) == "" { return errors.New("bundleLabel must be specified") } - return nil + return rc.setDefaultsForUnsetFields() } -func (rc *RemoteSourceConf) setDefaults() error { +func (rc *RemoteSourceConf) setDefaultsForUnsetFields() error { if rc == nil { return errors.New("configuration is undefined") } if rc.BundleLabel == "" { - rc.BundleLabel = getEnv(bundleLabelKey) + rc.BundleLabel = hub.GetEnv(hub.BundleLabelKey) } if rc.TempDir == "" { @@ -275,36 +189,18 @@ func (rc *RemoteSourceConf) setDefaults() error { rc.CacheDir = dir } - if rc.Connection.APIEndpoint == "" { - rc.Connection.APIEndpoint = defaultAPIEndpoint - } - - if rc.Connection.BootstrapEndpoint == "" { - rc.Connection.BootstrapEndpoint = defaultBootstrapHost + if rc.Connection != nil { + util.DeprecationWarning("storage.bundle.remote.connection section", "hub.connection") + return rc.Connection.Validate() } - if rc.Connection.MinRetryWait == 0 { - rc.Connection.MinRetryWait = defaultMinRetryWait - } - - if rc.Connection.MaxRetryWait == 0 { - rc.Connection.MaxRetryWait = defaultMaxRetryWait - } - - if rc.Connection.NumRetries == 0 { - rc.Connection.NumRetries = defaultNumRetries - } - - switch { - case rc.Connection.HeartbeatInterval < 0: - rc.Connection.HeartbeatInterval = 0 - case rc.Connection.HeartbeatInterval == 0: - rc.Connection.HeartbeatInterval = defaultHeartbeatInterval - case rc.Connection.HeartbeatInterval > 0 && rc.Connection.HeartbeatInterval < minHeartbeatInterval: - rc.Connection.HeartbeatInterval = minHeartbeatInterval + hubConf, err := hub.GetConf() + if err != nil { + return fmt.Errorf("failed to read Cerbos Hub configuration: %w", err) } - return nil + rc.Connection = &hubConf.Connection + return rc.Connection.Validate() } func GetConf() (*Conf, error) { diff --git a/internal/storage/bundle/conf_test.go b/internal/storage/bundle/conf_test.go index f8d94c9b9e..1eefd33241 100644 --- a/internal/storage/bundle/conf_test.go +++ b/internal/storage/bundle/conf_test.go @@ -5,12 +5,14 @@ package bundle_test import ( "testing" + "time" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/stretchr/testify/require" "github.com/cerbos/cerbos/internal/config" + "github.com/cerbos/cerbos/internal/hub" "github.com/cerbos/cerbos/internal/storage/bundle" ) @@ -37,6 +39,10 @@ func TestConfig(t *testing.T) { "bundleLabel": "latest", "tempDir": "/tmp", "cacheDir": "/tmp", + "connection": map[string]any{ + "apiEndpoint": "https://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "https://cdn.stg-spitfire.cerbos.tech", + }, }, }, }, @@ -58,6 +64,10 @@ func TestConfig(t *testing.T) { "bundleLabel": "latest", "tempDir": "/tmp", "cacheDir": "/tmp", + "connection": map[string]any{ + "apiEndpoint": "https://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "https://cdn.stg-spitfire.cerbos.tech", + }, }, }, }, @@ -78,12 +88,107 @@ func TestConfig(t *testing.T) { "remote": map[string]any{ "tempDir": "/tmp", "cacheDir": "/tmp", + "connection": map[string]any{ + "apiEndpoint": "https://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "https://cdn.stg-spitfire.cerbos.tech", + }, }, }, }, }, wantErr: true, }, + { + name: "file/valid-config-from-hub", + conf: map[string]any{ + "hub": map[string]any{ + "credentials": map[string]any{ + "pdpID": "pdp-id", + "clientID": "client-id", + "clientSecret": "client-secret", + "workspaceSecret": "workspace-secret", + }, + "connection": map[string]any{ + "apiEndpoint": "https://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "https://cdn.stg-spitfire.cerbos.tech", + }, + }, + "storage": map[string]any{ + "bundle": map[string]any{ + "cacheSize": 1024, + "remote": map[string]any{ + "bundleLabel": "latest", + "tempDir": "/tmp", + "cacheDir": "/tmp", + }, + }, + }, + }, + }, + { + name: "file/duplicate-credentials", + conf: map[string]any{ + "hub": map[string]any{ + "credentials": map[string]any{ + "pdpID": "Xpdp-id", + "clientID": "Xclient-id", + "clientSecret": "Xclient-secret", + "workspaceSecret": "Xworkspace-secret", + }, + "connection": map[string]any{ + "apiEndpoint": "https://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "https://cdn.stg-spitfire.cerbos.tech", + }, + }, + "storage": map[string]any{ + "bundle": map[string]any{ + "cacheSize": 1024, + "credentials": map[string]any{ + "pdpID": "pdp-id", + "clientID": "client-id", + "clientSecret": "client-secret", + "workspaceSecret": "workspace-secret", + }, + "remote": map[string]any{ + "bundleLabel": "latest", + "tempDir": "/tmp", + "cacheDir": "/tmp", + }, + }, + }, + }, + }, + { + name: "file/duplicate-connection", + conf: map[string]any{ + "hub": map[string]any{ + "credentials": map[string]any{ + "pdpID": "pdp-id", + "clientID": "client-id", + "clientSecret": "client-secret", + "workspaceSecret": "workspace-secret", + }, + "connection": map[string]any{ + "apiEndpoint": "Xhttps://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "Xhttps://cdn.stg-spitfire.cerbos.tech", + }, + }, + "storage": map[string]any{ + "bundle": map[string]any{ + "cacheSize": 1024, + "remote": map[string]any{ + "bundleLabel": "latest", + "tempDir": "/tmp", + "cacheDir": "/tmp", + "connection": map[string]any{ + "apiEndpoint": "https://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "https://cdn.stg-spitfire.cerbos.tech", + }, + }, + }, + }, + }, + }, { name: "env/valid-config", conf: map[string]any{ @@ -93,6 +198,10 @@ func TestConfig(t *testing.T) { "remote": map[string]any{ "tempDir": "/tmp", "cacheDir": "/tmp", + "connection": map[string]any{ + "apiEndpoint": "https://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "https://cdn.stg-spitfire.cerbos.tech", + }, }, }, }, @@ -114,6 +223,10 @@ func TestConfig(t *testing.T) { "remote": map[string]any{ "tempDir": "/tmp", "cacheDir": "/tmp", + "connection": map[string]any{ + "apiEndpoint": "https://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "https://cdn.stg-spitfire.cerbos.tech", + }, }, }, }, @@ -135,6 +248,10 @@ func TestConfig(t *testing.T) { "remote": map[string]any{ "tempDir": "/tmp", "cacheDir": "/tmp", + "connection": map[string]any{ + "apiEndpoint": "https://api.stg-spitfire.cerbos.tech", + "bootstrapEndpoint": "https://cdn.stg-spitfire.cerbos.tech", + }, }, }, }, @@ -151,7 +268,7 @@ func TestConfig(t *testing.T) { want := &bundle.Conf{ CacheSize: 1024, - Credentials: bundle.CredentialsConf{ + Credentials: &hub.CredentialsConf{ PDPID: "pdp-id", ClientID: "client-id", ClientSecret: "client-secret", @@ -161,6 +278,14 @@ func TestConfig(t *testing.T) { BundleLabel: "latest", TempDir: "/tmp", CacheDir: "/tmp", + Connection: &hub.ConnectionConf{ + APIEndpoint: "https://api.stg-spitfire.cerbos.tech", + BootstrapEndpoint: "https://cdn.stg-spitfire.cerbos.tech", + MinRetryWait: 1 * time.Second, + MaxRetryWait: 120 * time.Second, + NumRetries: 5, + HeartbeatInterval: 180 * time.Second, + }, }, } @@ -180,7 +305,7 @@ func TestConfig(t *testing.T) { return } require.NoError(t, err) - require.Empty(t, cmp.Diff(want, have, cmpopts.IgnoreFields(bundle.CredentialsConf{}, "InstanceID", "SecretKey"))) + require.Empty(t, cmp.Diff(want, have, cmpopts.IgnoreFields(hub.CredentialsConf{}, "InstanceID", "SecretKey"))) }) } } diff --git a/internal/storage/bundle/local_source.go b/internal/storage/bundle/local_source.go index a36cbac7fc..4f8c62c7b4 100644 --- a/internal/storage/bundle/local_source.go +++ b/internal/storage/bundle/local_source.go @@ -10,6 +10,7 @@ import ( "os" "sync" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" runtimev1 "github.com/cerbos/cerbos/api/genpb/cerbos/runtime/v1" "github.com/cerbos/cerbos/internal/namer" "github.com/cerbos/cerbos/internal/storage" @@ -33,7 +34,7 @@ type LocalSource struct { } func NewLocalSourceFromConf(_ context.Context, conf *Conf) (*LocalSource, error) { - if err := conf.Local.setDefaults(); err != nil { + if err := conf.Local.setDefaultsForUnsetFields(); err != nil { return nil, err } @@ -127,6 +128,17 @@ func (ls *LocalSource) Driver() string { return DriverName } +func (ls *LocalSource) InspectPolicies(ctx context.Context, params storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + ls.mu.RLock() + defer ls.mu.RUnlock() + + if ls.bundle == nil { + return nil, ErrBundleNotLoaded + } + + return ls.bundle.InspectPolicies(ctx, params) +} + func (ls *LocalSource) ListPolicyIDs(ctx context.Context, params storage.ListPolicyIDsParams) (ids []string, err error) { ls.mu.RLock() ids, err = ls.bundle.ListPolicyIDs(ctx, params) diff --git a/internal/storage/bundle/local_source_test.go b/internal/storage/bundle/local_source_test.go index 0a6b1b0f97..6c08aed2ec 100644 --- a/internal/storage/bundle/local_source_test.go +++ b/internal/storage/bundle/local_source_test.go @@ -11,6 +11,7 @@ import ( "testing" "github.com/cerbos/cerbos/internal/namer" + "github.com/cerbos/cerbos/internal/policy" "github.com/cerbos/cerbos/internal/storage" "github.com/cerbos/cerbos/internal/storage/bundle" "github.com/cerbos/cerbos/internal/test" @@ -54,6 +55,20 @@ func runTests(have *bundle.LocalSource, manifest *bundlev1.Manifest) func(*testi } }) + t.Run("inspectPolicies", func(t *testing.T) { + results, err := have.InspectPolicies(context.Background(), storage.ListPolicyIDsParams{IncludeDisabled: true}) + require.NoError(t, err) + + for policyKey, h := range results { + mID := namer.GenModuleIDFromFQN(namer.FQNFromPolicyKey(policyKey)) + ps, err := have.GetFirstMatch(context.Background(), []namer.ModuleID{mID}) + require.NoError(t, err) + + expected := policy.ListPolicySetActions(ps) + require.ElementsMatch(t, expected, h.Actions) + } + }) + t.Run("listSchemaIDs", func(t *testing.T) { haveSchemas, err := have.ListSchemaIDs(context.Background()) require.NoError(t, err) diff --git a/internal/storage/bundle/remote_source.go b/internal/storage/bundle/remote_source.go index d1b299e69b..f1c1899409 100644 --- a/internal/storage/bundle/remote_source.go +++ b/internal/storage/bundle/remote_source.go @@ -16,11 +16,14 @@ import ( "time" "github.com/cenkalti/backoff/v4" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" runtimev1 "github.com/cerbos/cerbos/api/genpb/cerbos/runtime/v1" + "github.com/cerbos/cerbos/internal/hub" "github.com/cerbos/cerbos/internal/namer" "github.com/cerbos/cerbos/internal/observability/metrics" "github.com/cerbos/cerbos/internal/storage" "github.com/cerbos/cerbos/internal/util" + "github.com/cerbos/cloud-api/base" cloudapi "github.com/cerbos/cloud-api/bundle" "github.com/cerbos/cloud-api/credentials" "github.com/go-logr/zapr" @@ -60,10 +63,6 @@ type RemoteSource struct { } func NewRemoteSource(conf *Conf) (*RemoteSource, error) { - if err := conf.Remote.setDefaults(); err != nil { - return nil, err - } - credentials, err := conf.Credentials.ToCredentials() if err != nil { return nil, fmt.Errorf("invalid credentials: %w", err) @@ -97,18 +96,20 @@ func (s *RemoteSource) Init(ctx context.Context) error { } clientConf := cloudapi.ClientConf{ - Logger: zapr.NewLogger(s.log), - PDPIdentifier: pdpID, - TLS: tlsConf, - Credentials: s.credentials, - APIEndpoint: s.conf.Remote.Connection.APIEndpoint, - BootstrapEndpoint: s.conf.Remote.Connection.BootstrapEndpoint, - RetryWaitMin: s.conf.Remote.Connection.MinRetryWait, - RetryWaitMax: s.conf.Remote.Connection.MaxRetryWait, - RetryMaxAttempts: int(s.conf.Remote.Connection.NumRetries), - HeartbeatInterval: s.conf.Remote.Connection.HeartbeatInterval, - CacheDir: s.conf.Remote.CacheDir, - TempDir: s.conf.Remote.TempDir, + ClientConf: base.ClientConf{ + Logger: zapr.NewLogger(s.log), + PDPIdentifier: pdpID, + TLS: tlsConf, + Credentials: s.credentials, + APIEndpoint: s.conf.Remote.Connection.APIEndpoint, + BootstrapEndpoint: s.conf.Remote.Connection.BootstrapEndpoint, + RetryWaitMin: s.conf.Remote.Connection.MinRetryWait, + RetryWaitMax: s.conf.Remote.Connection.MaxRetryWait, + RetryMaxAttempts: int(s.conf.Remote.Connection.NumRetries), + HeartbeatInterval: s.conf.Remote.Connection.HeartbeatInterval, + }, + CacheDir: s.conf.Remote.CacheDir, + TempDir: s.conf.Remote.TempDir, } client, err := cloudapi.NewClient(clientConf) @@ -153,7 +154,7 @@ func (s *RemoteSource) InitWithClient(ctx context.Context, client CloudAPIClient } func shouldWorkOffline() bool { - v := getEnv(offlineKey) + v := hub.GetEnv(hub.OfflineKey) offline, err := strconv.ParseBool(v) if err != nil { return false @@ -311,7 +312,7 @@ func (s *RemoteSource) startWatch(ctx context.Context) (time.Duration, error) { s.mu.Unlock() incEventMetric("error") - if errors.Is(err, cloudapi.ErrAuthenticationFailed) { + if errors.Is(err, base.ErrAuthenticationFailed) { s.log.Error("Failed to authenticate to Cerbos Hub", zap.Error(err)) s.removeBundle(false) return backoff.Permanent(err) @@ -420,6 +421,17 @@ func (s *RemoteSource) GetFirstMatch(ctx context.Context, candidates []namer.Mod return s.bundle.GetFirstMatch(ctx, candidates) } +func (s *RemoteSource) InspectPolicies(ctx context.Context, params storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + s.mu.RLock() + defer s.mu.RUnlock() + + if s.bundle == nil { + return nil, ErrBundleNotLoaded + } + + return s.bundle.InspectPolicies(ctx, params) +} + func (s *RemoteSource) ListPolicyIDs(ctx context.Context, params storage.ListPolicyIDsParams) ([]string, error) { s.mu.RLock() defer s.mu.RUnlock() diff --git a/internal/storage/bundle/remote_source_test.go b/internal/storage/bundle/remote_source_test.go index 34d0cb4491..0c948c1630 100644 --- a/internal/storage/bundle/remote_source_test.go +++ b/internal/storage/bundle/remote_source_test.go @@ -11,10 +11,12 @@ import ( "testing" "time" + "github.com/cerbos/cerbos/internal/hub" "github.com/cerbos/cerbos/internal/storage" "github.com/cerbos/cerbos/internal/storage/bundle" "github.com/cerbos/cerbos/internal/test" "github.com/cerbos/cerbos/internal/test/mocks" + "github.com/cerbos/cloud-api/base" cloudapi "github.com/cerbos/cloud-api/bundle" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" @@ -115,7 +117,7 @@ func TestRemoteSource(t *testing.T) { Run(func(_ context.Context, _ string) { close(callsDone) }). - Return(nil, cloudapi.ErrAuthenticationFailed). + Return(nil, base.ErrAuthenticationFailed). Once() rs, err := bundle.NewRemoteSource(mkConf(t, false)) @@ -307,9 +309,9 @@ func TestRemoteSource(t *testing.T) { func mkConf(t *testing.T, disableAutoUpdate bool) *bundle.Conf { t.Helper() - return &bundle.Conf{ + conf := &bundle.Conf{ CacheSize: 1024, - Credentials: bundle.CredentialsConf{ + Credentials: &hub.CredentialsConf{ ClientID: "client-id", ClientSecret: "client-secret", WorkspaceSecret: loadKey(t), @@ -320,6 +322,9 @@ func mkConf(t *testing.T, disableAutoUpdate bool) *bundle.Conf { DisableAutoUpdate: disableAutoUpdate, }, } + + require.NoError(t, conf.Validate()) + return conf } func waitForCallsDone(t *testing.T, callsDone <-chan struct{}) { diff --git a/internal/storage/bundle/source_wrappers.go b/internal/storage/bundle/source_wrappers.go index e4acafe5ca..d21f4889bb 100644 --- a/internal/storage/bundle/source_wrappers.go +++ b/internal/storage/bundle/source_wrappers.go @@ -11,6 +11,7 @@ import ( "go.opentelemetry.io/otel/metric" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" runtimev1 "github.com/cerbos/cerbos/api/genpb/cerbos/runtime/v1" "github.com/cerbos/cerbos/internal/namer" "github.com/cerbos/cerbos/internal/observability/metrics" @@ -33,6 +34,12 @@ func (instrumentedSource) Driver() string { return DriverName } +func (is instrumentedSource) InspectPolicies(ctx context.Context, params storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + return measureBinaryOp(ctx, is.name, "InspectPolicies", func(ctx context.Context) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + return is.source.InspectPolicies(ctx, params) + }) +} + func (is instrumentedSource) ListPolicyIDs(ctx context.Context, params storage.ListPolicyIDsParams) ([]string, error) { return measureBinaryOp(ctx, is.name, "ListPolicyIDs", func(ctx context.Context) ([]string, error) { return is.source.ListPolicyIDs(ctx, params) diff --git a/internal/storage/bundle/store.go b/internal/storage/bundle/store.go index 8cc24aa909..2d284eaaf9 100644 --- a/internal/storage/bundle/store.go +++ b/internal/storage/bundle/store.go @@ -12,6 +12,7 @@ import ( "go.uber.org/multierr" "go.uber.org/zap" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" runtimev1 "github.com/cerbos/cerbos/api/genpb/cerbos/runtime/v1" "github.com/cerbos/cerbos/internal/config" "github.com/cerbos/cerbos/internal/namer" @@ -106,6 +107,10 @@ func (hs *HybridStore) withActiveSource() storage.BinaryStore { return hs.local } +func (hs *HybridStore) InspectPolicies(ctx context.Context, params storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + return hs.withActiveSource().InspectPolicies(ctx, params) +} + func (hs *HybridStore) ListPolicyIDs(ctx context.Context, params storage.ListPolicyIDsParams) ([]string, error) { return hs.withActiveSource().ListPolicyIDs(ctx, params) } diff --git a/internal/storage/db/internal/db.go b/internal/storage/db/internal/db.go index 665ce2ea5a..fb41723ea8 100644 --- a/internal/storage/db/internal/db.go +++ b/internal/storage/db/internal/db.go @@ -20,6 +20,7 @@ import ( "github.com/jackc/pgtype" "go.uber.org/zap" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" schemav1 "github.com/cerbos/cerbos/api/genpb/cerbos/schema/v1" "github.com/cerbos/cerbos/internal/namer" "github.com/cerbos/cerbos/internal/observability/metrics" @@ -45,6 +46,7 @@ type DBStorage interface { GetDependents(ctx context.Context, ids ...namer.ModuleID) (map[namer.ModuleID][]namer.ModuleID, error) HasDescendants(ctx context.Context, ids ...namer.ModuleID) (map[namer.ModuleID]bool, error) Delete(ctx context.Context, ids ...namer.ModuleID) error + InspectPolicies(ctx context.Context, params storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) ListPolicyIDs(ctx context.Context, params storage.ListPolicyIDsParams) ([]string, error) ListSchemaIDs(ctx context.Context) ([]string, error) AddOrUpdateSchema(ctx context.Context, schemas ...*schemav1.Schema) error @@ -652,6 +654,33 @@ func (s *dbStorage) Delete(ctx context.Context, ids ...namer.ModuleID) error { return nil } +func (s *dbStorage) InspectPolicies(ctx context.Context, listParams storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + policyIDs, err := s.ListPolicyIDs(ctx, listParams) + if err != nil { + return nil, fmt.Errorf("failed to list policies: %w", err) + } + + if len(policyIDs) == 0 { + return nil, nil + } + + results := make(map[string]*responsev1.InspectPoliciesResponse_Result, len(policyIDs)) + if err := storage.BatchLoadPolicy(ctx, storage.MaxPoliciesInBatch, s.LoadPolicy, func(p *policy.Wrapper) error { + actions := policy.ListActions(p.Policy) + if len(actions) > 0 { + results[namer.PolicyKeyFromFQN(p.FQN)] = &responsev1.InspectPoliciesResponse_Result{ + Actions: actions, + } + } + + return nil + }, policyIDs...); err != nil { + return nil, fmt.Errorf("failed to load policies: %w", err) + } + + return results, nil +} + func (s *dbStorage) ListPolicyIDs(ctx context.Context, listParams storage.ListPolicyIDsParams) ([]string, error) { var policyCoords []namer.PolicyCoords var whereExprs []exp.Expression diff --git a/internal/storage/db/internal/tests.go b/internal/storage/db/internal/tests.go index f8982844cf..08e0d4071f 100644 --- a/internal/storage/db/internal/tests.go +++ b/internal/storage/db/internal/tests.go @@ -62,6 +62,10 @@ func TestSuite(store DBStorage) func(*testing.T) { evDupe2 := policy.Wrap(test.GenExportVariables(test.Suffix("@@foo"))) policyList := []policy.Wrapper{rp, pp, dr, ev, rpx, drx, rpAcme, rpAcmeHR, rpAcmeHRUK, ppAcme, ppAcmeHR, drImportVariables, rpImportDerivedRolesThatImportVariables, rpDupe1, ppDupe1, drDupe1, evDupe1} + policyMap := make(map[string]policy.Wrapper) + for _, p := range policyList { + policyMap[namer.PolicyKeyFromFQN(p.FQN)] = p + } sch := test.ReadSchemaFromFile(t, test.PathToDir(t, "store/_schemas/resources/leave_request.json")) const schID = "leave_request" @@ -233,6 +237,18 @@ func TestSuite(store DBStorage) func(*testing.T) { }) }) + t.Run("inspect_policies", func(t *testing.T) { + t.Run("list of actions should match", func(t *testing.T) { + results, err := store.InspectPolicies(ctx, storage.ListPolicyIDsParams{IncludeDisabled: true}) + require.NoError(t, err) + + for fqn, have := range results { + expected := policy.ListActions(policyMap[fqn].Policy) + require.ElementsMatch(t, expected, have.Actions) + } + }) + }) + t.Run("filter_policies", func(t *testing.T) { testCases := []struct { name string diff --git a/internal/storage/disk/disk.go b/internal/storage/disk/disk.go index 57b3c9b1e7..ba8899d0c1 100644 --- a/internal/storage/disk/disk.go +++ b/internal/storage/disk/disk.go @@ -9,13 +9,15 @@ import ( "io" "path/filepath" + "go.uber.org/zap" + + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" "github.com/cerbos/cerbos/internal/config" "github.com/cerbos/cerbos/internal/namer" "github.com/cerbos/cerbos/internal/policy" "github.com/cerbos/cerbos/internal/storage" "github.com/cerbos/cerbos/internal/storage/index" "github.com/cerbos/cerbos/internal/util" - "go.uber.org/zap" ) const DriverName = "disk" @@ -103,6 +105,10 @@ func (s *Store) GetDependents(_ context.Context, ids ...namer.ModuleID) (map[nam return s.idx.GetDependents(ids...) } +func (s *Store) InspectPolicies(ctx context.Context, _ storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + return s.idx.InspectPolicies(ctx) +} + func (s *Store) ListPolicyIDs(ctx context.Context, _ storage.ListPolicyIDsParams) ([]string, error) { return s.idx.ListPolicyIDs(ctx) } diff --git a/internal/storage/git/store.go b/internal/storage/git/store.go index bacc41ccda..26070bbc9c 100644 --- a/internal/storage/git/store.go +++ b/internal/storage/git/store.go @@ -20,6 +20,7 @@ import ( "google.golang.org/protobuf/types/known/structpb" policyv1 "github.com/cerbos/cerbos/api/genpb/cerbos/policy/v1" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" "github.com/cerbos/cerbos/internal/config" "github.com/cerbos/cerbos/internal/namer" "github.com/cerbos/cerbos/internal/observability/metrics" @@ -148,6 +149,10 @@ func (s *Store) GetDependents(_ context.Context, ids ...namer.ModuleID) (map[nam return s.idx.GetDependents(ids...) } +func (s *Store) InspectPolicies(ctx context.Context, _ storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + return s.idx.InspectPolicies(ctx) +} + func (s *Store) ListPolicyIDs(ctx context.Context, _ storage.ListPolicyIDsParams) ([]string, error) { return s.idx.ListPolicyIDs(ctx) } diff --git a/internal/storage/index/index.go b/internal/storage/index/index.go index 6639201ab5..2510c999e2 100644 --- a/internal/storage/index/index.go +++ b/internal/storage/index/index.go @@ -16,6 +16,7 @@ import ( "golang.org/x/sync/singleflight" policyv1 "github.com/cerbos/cerbos/api/genpb/cerbos/policy/v1" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" "github.com/cerbos/cerbos/internal/namer" "github.com/cerbos/cerbos/internal/observability/logging" "github.com/cerbos/cerbos/internal/observability/metrics" @@ -51,6 +52,7 @@ type Index interface { GetFiles() []string GetAllCompilationUnits(context.Context) <-chan *policy.CompilationUnit Clear() error + InspectPolicies(context.Context) (map[string]*responsev1.InspectPoliciesResponse_Result, error) ListPolicyIDs(context.Context) ([]string, error) ListSchemaIDs(context.Context) ([]string, error) LoadSchema(context.Context, string) (io.ReadCloser, error) @@ -447,6 +449,32 @@ func (idx *index) Inspect() map[string]meta { return entries } +func (idx *index) InspectPolicies(ctx context.Context) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + policyIDs, err := idx.ListPolicyIDs(ctx) + if err != nil { + return nil, fmt.Errorf("failed to list policies: %w", err) + } + if len(policyIDs) == 0 { + return nil, nil + } + + results := make(map[string]*responsev1.InspectPoliciesResponse_Result, len(policyIDs)) + if err := storage.BatchLoadPolicy(ctx, 1, idx.LoadPolicy, func(p *policy.Wrapper) error { + actions := policy.ListActions(p.Policy) + if len(actions) > 0 { + results[namer.PolicyKeyFromFQN(p.FQN)] = &responsev1.InspectPoliciesResponse_Result{ + Actions: actions, + } + } + + return nil + }, policyIDs...); err != nil { + return nil, fmt.Errorf("failed to load policy: %w", err) + } + + return results, nil +} + func (idx *index) ListPolicyIDs(_ context.Context) ([]string, error) { idx.mu.RLock() defer idx.mu.RUnlock() diff --git a/internal/storage/overlay/store.go b/internal/storage/overlay/store.go index 614edd5b84..6aaf72de0f 100644 --- a/internal/storage/overlay/store.go +++ b/internal/storage/overlay/store.go @@ -9,14 +9,13 @@ import ( "fmt" "io" + "github.com/sony/gobreaker" + "github.com/sourcegraph/conc/pool" "go.uber.org/multierr" "go.uber.org/zap" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" runtimev1 "github.com/cerbos/cerbos/api/genpb/cerbos/runtime/v1" - - "github.com/sony/gobreaker" - "github.com/sourcegraph/conc/pool" - "github.com/cerbos/cerbos/internal/compile" "github.com/cerbos/cerbos/internal/config" "github.com/cerbos/cerbos/internal/engine" @@ -191,6 +190,18 @@ func (s *Store) ListPolicyIDs(ctx context.Context, params storage.ListPolicyIDsP ) } +func (s *Store) InspectPolicies(ctx context.Context, params storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + return withCircuitBreaker( + s, + func() (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + return s.baseStore.InspectPolicies(ctx, params) + }, + func() (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + return s.fallbackStore.InspectPolicies(ctx, params) + }, + ) +} + func (s *Store) ListSchemaIDs(ctx context.Context) ([]string, error) { return withCircuitBreaker( s, diff --git a/internal/storage/overlay/store_test.go b/internal/storage/overlay/store_test.go index 7d62b04aac..b3d222ac2e 100644 --- a/internal/storage/overlay/store_test.go +++ b/internal/storage/overlay/store_test.go @@ -9,6 +9,8 @@ import ( "io" "testing" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" + "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" "go.uber.org/zap" @@ -253,6 +255,14 @@ func (ms *MockStore) Driver() string { return args.String(0) } +func (ms *MockStore) InspectPolicies(ctx context.Context, _ storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + args := ms.Called(ctx) + if res := args.Get(0); res == nil { + return nil, args.Error(0) + } + return args.Get(0).(map[string]*responsev1.InspectPoliciesResponse_Result), args.Error(0) +} + func (ms *MockStore) ListPolicyIDs(ctx context.Context, _ storage.ListPolicyIDsParams) ([]string, error) { args := ms.Called(ctx) if res := args.Get(0); res == nil { diff --git a/internal/storage/store.go b/internal/storage/store.go index 8d30ea41df..f59d4c0a01 100644 --- a/internal/storage/store.go +++ b/internal/storage/store.go @@ -10,6 +10,7 @@ import ( "io" "sync" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" runtimev1 "github.com/cerbos/cerbos/api/genpb/cerbos/runtime/v1" schemav1 "github.com/cerbos/cerbos/api/genpb/cerbos/schema/v1" "github.com/cerbos/cerbos/internal/config" @@ -118,6 +119,8 @@ type ListPolicyIDsParams struct { type Store interface { // Driver is the name of the storage backend implementation. Driver() string + // InspectPolicies returns inspection results for the policies in the store + InspectPolicies(context.Context, ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) // ListPolicyIDs returns the policy IDs in the store ListPolicyIDs(context.Context, ListPolicyIDsParams) ([]string, error) // ListSchemaIDs returns the schema ids in the store diff --git a/internal/storage/util.go b/internal/storage/util.go new file mode 100644 index 0000000000..3632a97c58 --- /dev/null +++ b/internal/storage/util.go @@ -0,0 +1,46 @@ +// Copyright 2021-2024 Zenauth Ltd. +// SPDX-License-Identifier: Apache-2.0 + +package storage + +import ( + "context" + + "github.com/cerbos/cerbos/internal/policy" +) + +const MaxPoliciesInBatch = 25 + +func minInt(a, b int) int { + if a < b { + return a + } + return b +} + +func BatchLoadPolicy( + ctx context.Context, + maxPoliciesInBatch int, + loadPolicyFn func(context.Context, ...string) ([]*policy.Wrapper, error), + processPolicyFn func(*policy.Wrapper) error, + ids ...string, +) error { + for idx := range ids { + if idx%maxPoliciesInBatch == 0 { + idxEnd := minInt(idx+maxPoliciesInBatch, len(ids)) + var err error + policies, err := loadPolicyFn(ctx, ids[idx:idxEnd]...) + if err != nil { + return err + } + + for _, p := range policies { + if err := processPolicyFn(p); err != nil { + return err + } + } + } + } + + return nil +} diff --git a/internal/svc/admin_svc.go b/internal/svc/admin_svc.go index 8594bb6755..e41abb28e5 100644 --- a/internal/svc/admin_svc.go +++ b/internal/svc/admin_svc.go @@ -14,6 +14,8 @@ import ( "strings" "time" + "golang.org/x/sync/singleflight" + "go.uber.org/zap" "golang.org/x/crypto/bcrypt" "google.golang.org/grpc/codes" @@ -42,6 +44,7 @@ var ( // CerbosAdminService implements the Cerbos administration service. type CerbosAdminService struct { + sfGroup singleflight.Group store storage.Store auditLog audit.Log *svcv1.UnimplementedCerbosAdminServiceServer @@ -116,6 +119,45 @@ func (cas *CerbosAdminService) AddOrUpdateSchema(ctx context.Context, req *reque return &responsev1.AddOrUpdateSchemaResponse{}, nil } +func (cas *CerbosAdminService) InspectPolicies(ctx context.Context, req *requestv1.InspectPoliciesRequest) (*responsev1.InspectPoliciesResponse, error) { + if err := cas.checkCredentials(ctx); err != nil { + return nil, err + } + + if cas.store == nil { + return nil, status.Error(codes.NotFound, "store is not configured") + } + + // Filters are not scalable for non-mutable stores. + if _, ok := cas.store.(storage.MutableStore); !ok && (req.NameRegexp != "" || req.ScopeRegexp != "" || req.VersionRegexp != "") { + return nil, status.Error(codes.Unimplemented, "Store does not support regexp filters") + } + + res, err, _ := cas.sfGroup.Do("inspect_policies", func() (any, error) { + filterParams := storage.ListPolicyIDsParams{ + NameRegexp: req.NameRegexp, + ScopeRegexp: req.ScopeRegexp, + VersionRegexp: req.VersionRegexp, + IncludeDisabled: req.IncludeDisabled, + } + + res, err := cas.store.InspectPolicies(ctx, filterParams) + if err != nil { + logging.ReqScopeLog(ctx).Error("Could not inspect policies", zap.Error(err)) + return nil, status.Error(codes.Internal, "could not inspect policies") + } + + return res, nil + }) + + results, ok := res.(map[string]*responsev1.InspectPoliciesResponse_Result) + if !ok { + return nil, fmt.Errorf("failed to type assert during inspect policies") + } + + return &responsev1.InspectPoliciesResponse{Results: results}, err +} + func (cas *CerbosAdminService) ListPolicies(ctx context.Context, req *requestv1.ListPoliciesRequest) (*responsev1.ListPoliciesResponse, error) { if err := cas.checkCredentials(ctx); err != nil { return nil, err diff --git a/internal/test/e2e/setup.go b/internal/test/e2e/setup.go index 845bd03528..3b5cdcb837 100644 --- a/internal/test/e2e/setup.go +++ b/internal/test/e2e/setup.go @@ -20,6 +20,13 @@ func Setup(ctx Ctx) error { // `helmfile apply` requires `helm diff`. `helmfile init` checks for required plugins if err := Cmd(ctx, "helmfile", "apply"); err != nil { ctx.Logf("Deployment failed: %v", err) + if err := CmdWithOutput(ctx, "kubectl", "describe", "pods", fmt.Sprintf("--namespace=%s", ctx.Namespace())); err != nil { + ctx.Logf("Failed to describe pods: %v", err) + } + + if err := CmdWithOutput(ctx, "stern", ".*", fmt.Sprintf("--namespace=%s", ctx.Namespace()), "--no-follow"); err != nil { + ctx.Logf("Failed to grab logs: %v", err) + } return err } diff --git a/internal/test/mocks/CloudAPIClient.go b/internal/test/mocks/CloudAPIClient.go index 918805d522..6ff45cc28c 100644 --- a/internal/test/mocks/CloudAPIClient.go +++ b/internal/test/mocks/CloudAPIClient.go @@ -1,7 +1,7 @@ // Copyright 2021-2024 Zenauth Ltd. // SPDX-License-Identifier: Apache-2.0 -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.42.1. DO NOT EDIT. package mocks diff --git a/internal/test/mocks/Index.go b/internal/test/mocks/Index.go index 552d2accea..3cbc007467 100644 --- a/internal/test/mocks/Index.go +++ b/internal/test/mocks/Index.go @@ -1,7 +1,7 @@ // Copyright 2021-2024 Zenauth Ltd. // SPDX-License-Identifier: Apache-2.0 -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.42.1. DO NOT EDIT. package mocks @@ -17,6 +17,8 @@ import ( policy "github.com/cerbos/cerbos/internal/policy" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" + storage "github.com/cerbos/cerbos/internal/storage" ) @@ -530,6 +532,64 @@ func (_c *Index_GetFirstMatch_Call) RunAndReturn(run func([]namer.ModuleID) (*po return _c } +// InspectPolicies provides a mock function with given fields: _a0 +func (_m *Index) InspectPolicies(_a0 context.Context) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + ret := _m.Called(_a0) + + if len(ret) == 0 { + panic("no return value specified for InspectPolicies") + } + + var r0 map[string]*responsev1.InspectPoliciesResponse_Result + var r1 error + if rf, ok := ret.Get(0).(func(context.Context) (map[string]*responsev1.InspectPoliciesResponse_Result, error)); ok { + return rf(_a0) + } + if rf, ok := ret.Get(0).(func(context.Context) map[string]*responsev1.InspectPoliciesResponse_Result); ok { + r0 = rf(_a0) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(map[string]*responsev1.InspectPoliciesResponse_Result) + } + } + + if rf, ok := ret.Get(1).(func(context.Context) error); ok { + r1 = rf(_a0) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// Index_InspectPolicies_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'InspectPolicies' +type Index_InspectPolicies_Call struct { + *mock.Call +} + +// InspectPolicies is a helper method to define mock.On call +// - _a0 context.Context +func (_e *Index_Expecter) InspectPolicies(_a0 interface{}) *Index_InspectPolicies_Call { + return &Index_InspectPolicies_Call{Call: _e.mock.On("InspectPolicies", _a0)} +} + +func (_c *Index_InspectPolicies_Call) Run(run func(_a0 context.Context)) *Index_InspectPolicies_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context)) + }) + return _c +} + +func (_c *Index_InspectPolicies_Call) Return(_a0 map[string]*responsev1.InspectPoliciesResponse_Result, _a1 error) *Index_InspectPolicies_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *Index_InspectPolicies_Call) RunAndReturn(run func(context.Context) (map[string]*responsev1.InspectPoliciesResponse_Result, error)) *Index_InspectPolicies_Call { + _c.Call.Return(run) + return _c +} + // ListPolicyIDs provides a mock function with given fields: _a0 func (_m *Index) ListPolicyIDs(_a0 context.Context) ([]string, error) { ret := _m.Called(_a0) diff --git a/internal/test/mocks/IngestSyncer.go b/internal/test/mocks/IngestSyncer.go new file mode 100644 index 0000000000..ca41be216a --- /dev/null +++ b/internal/test/mocks/IngestSyncer.go @@ -0,0 +1,88 @@ +// Copyright 2021-2024 Zenauth Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Code generated by mockery v2.42.1. DO NOT EDIT. + +package mocks + +import ( + context "context" + + logsv1 "github.com/cerbos/cloud-api/genpb/cerbos/cloud/logs/v1" + + mock "github.com/stretchr/testify/mock" +) + +// IngestSyncer is an autogenerated mock type for the IngestSyncer type +type IngestSyncer struct { + mock.Mock +} + +type IngestSyncer_Expecter struct { + mock *mock.Mock +} + +func (_m *IngestSyncer) EXPECT() *IngestSyncer_Expecter { + return &IngestSyncer_Expecter{mock: &_m.Mock} +} + +// Sync provides a mock function with given fields: _a0, _a1 +func (_m *IngestSyncer) Sync(_a0 context.Context, _a1 *logsv1.IngestBatch) error { + ret := _m.Called(_a0, _a1) + + if len(ret) == 0 { + panic("no return value specified for Sync") + } + + var r0 error + if rf, ok := ret.Get(0).(func(context.Context, *logsv1.IngestBatch) error); ok { + r0 = rf(_a0, _a1) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// IngestSyncer_Sync_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Sync' +type IngestSyncer_Sync_Call struct { + *mock.Call +} + +// Sync is a helper method to define mock.On call +// - _a0 context.Context +// - _a1 *logsv1.IngestBatch +func (_e *IngestSyncer_Expecter) Sync(_a0 interface{}, _a1 interface{}) *IngestSyncer_Sync_Call { + return &IngestSyncer_Sync_Call{Call: _e.mock.On("Sync", _a0, _a1)} +} + +func (_c *IngestSyncer_Sync_Call) Run(run func(_a0 context.Context, _a1 *logsv1.IngestBatch)) *IngestSyncer_Sync_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(*logsv1.IngestBatch)) + }) + return _c +} + +func (_c *IngestSyncer_Sync_Call) Return(_a0 error) *IngestSyncer_Sync_Call { + _c.Call.Return(_a0) + return _c +} + +func (_c *IngestSyncer_Sync_Call) RunAndReturn(run func(context.Context, *logsv1.IngestBatch) error) *IngestSyncer_Sync_Call { + _c.Call.Return(run) + return _c +} + +// NewIngestSyncer creates a new instance of IngestSyncer. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewIngestSyncer(t interface { + mock.TestingT + Cleanup(func()) +}) *IngestSyncer { + mock := &IngestSyncer{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/internal/test/mocks/Store.go b/internal/test/mocks/Store.go index 7dd2facf93..b08dc1d42d 100644 --- a/internal/test/mocks/Store.go +++ b/internal/test/mocks/Store.go @@ -1,7 +1,7 @@ // Copyright 2021-2024 Zenauth Ltd. // SPDX-License-Identifier: Apache-2.0 -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.42.1. DO NOT EDIT. package mocks @@ -11,6 +11,8 @@ import ( mock "github.com/stretchr/testify/mock" + responsev1 "github.com/cerbos/cerbos/api/genpb/cerbos/response/v1" + storage "github.com/cerbos/cerbos/internal/storage" ) @@ -72,6 +74,65 @@ func (_c *Store_Driver_Call) RunAndReturn(run func() string) *Store_Driver_Call return _c } +// InspectPolicies provides a mock function with given fields: _a0, _a1 +func (_m *Store) InspectPolicies(_a0 context.Context, _a1 storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error) { + ret := _m.Called(_a0, _a1) + + if len(ret) == 0 { + panic("no return value specified for InspectPolicies") + } + + var r0 map[string]*responsev1.InspectPoliciesResponse_Result + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error)); ok { + return rf(_a0, _a1) + } + if rf, ok := ret.Get(0).(func(context.Context, storage.ListPolicyIDsParams) map[string]*responsev1.InspectPoliciesResponse_Result); ok { + r0 = rf(_a0, _a1) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(map[string]*responsev1.InspectPoliciesResponse_Result) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, storage.ListPolicyIDsParams) error); ok { + r1 = rf(_a0, _a1) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// Store_InspectPolicies_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'InspectPolicies' +type Store_InspectPolicies_Call struct { + *mock.Call +} + +// InspectPolicies is a helper method to define mock.On call +// - _a0 context.Context +// - _a1 storage.ListPolicyIDsParams +func (_e *Store_Expecter) InspectPolicies(_a0 interface{}, _a1 interface{}) *Store_InspectPolicies_Call { + return &Store_InspectPolicies_Call{Call: _e.mock.On("InspectPolicies", _a0, _a1)} +} + +func (_c *Store_InspectPolicies_Call) Run(run func(_a0 context.Context, _a1 storage.ListPolicyIDsParams)) *Store_InspectPolicies_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(storage.ListPolicyIDsParams)) + }) + return _c +} + +func (_c *Store_InspectPolicies_Call) Return(_a0 map[string]*responsev1.InspectPoliciesResponse_Result, _a1 error) *Store_InspectPolicies_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *Store_InspectPolicies_Call) RunAndReturn(run func(context.Context, storage.ListPolicyIDsParams) (map[string]*responsev1.InspectPoliciesResponse_Result, error)) *Store_InspectPolicies_Call { + _c.Call.Return(run) + return _c +} + // ListPolicyIDs provides a mock function with given fields: _a0, _a1 func (_m *Store) ListPolicyIDs(_a0 context.Context, _a1 storage.ListPolicyIDsParams) ([]string, error) { ret := _m.Called(_a0, _a1) diff --git a/internal/test/mocks/WatchHandle.go b/internal/test/mocks/WatchHandle.go index 42cdb77737..2aab8ba8b7 100644 --- a/internal/test/mocks/WatchHandle.go +++ b/internal/test/mocks/WatchHandle.go @@ -1,7 +1,7 @@ // Copyright 2021-2024 Zenauth Ltd. // SPDX-License-Identifier: Apache-2.0 -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.42.1. DO NOT EDIT. package mocks diff --git a/internal/test/policy.go b/internal/test/policy.go index cba371d3e7..ee4d5de15d 100644 --- a/internal/test/policy.go +++ b/internal/test/policy.go @@ -126,6 +126,12 @@ func GenDisabledResourcePolicy(mod NameMod) *policyv1.Policy { return p } +func GenScopedResourcePolicy(scope string, mod NameMod) *policyv1.Policy { + p := GenResourcePolicy(mod) + p.GetResourcePolicy().Scope = scope + return p +} + // GenResourcePolicy generates a sample resource policy with some names modified by the NameMod. func GenResourcePolicy(mod NameMod) *policyv1.Policy { return &policyv1.Policy{ diff --git a/internal/test/testdata/compile/simple_valid_policy_set.yaml.golden b/internal/test/testdata/compile/simple_valid_policy_set.yaml.golden index b7756ac47d..6919f033fa 100644 --- a/internal/test/testdata/compile/simple_valid_policy_set.yaml.golden +++ b/internal/test/testdata/compile/simple_valid_policy_set.yaml.golden @@ -777,7 +777,7 @@ }, "condition": { "expr": { - "original": "request.resource.attr.status == \"PENDING_APPROVAL\"", + "original": "// Comment\nrequest.resource.attr.status == \"PENDING_APPROVAL\"", "checked": { "referenceMap": { "1": { @@ -819,15 +819,16 @@ "sourceInfo": { "location": "", "lineOffsets": [ - 51 + 11, + 62 ], "positions": { - "1": 0, - "2": 7, - "3": 16, - "4": 21, - "5": 29, - "6": 32 + "1": 11, + "2": 18, + "3": 27, + "4": 32, + "5": 40, + "6": 43 } }, "expr": { diff --git a/internal/test/testdata/compile/simple_valid_policy_set.yaml.input b/internal/test/testdata/compile/simple_valid_policy_set.yaml.input index e49e5384d5..c905c5b91a 100644 --- a/internal/test/testdata/compile/simple_valid_policy_set.yaml.input +++ b/internal/test/testdata/compile/simple_valid_policy_set.yaml.input @@ -47,7 +47,9 @@ resourcePolicy: - actions: ["approve"] condition: match: - expr: request.resource.attr.status == "PENDING_APPROVAL" + expr: |- + // Comment + request.resource.attr.status == "PENDING_APPROVAL" derivedRoles: - direct_manager effect: EFFECT_ALLOW diff --git a/internal/test/testdata/compile/yaml_comment_in_condition.yaml b/internal/test/testdata/compile/yaml_comment_in_condition.yaml new file mode 100644 index 0000000000..b8c33f7492 --- /dev/null +++ b/internal/test/testdata/compile/yaml_comment_in_condition.yaml @@ -0,0 +1,15 @@ +# yaml-language-server: $schema=../.jsonschema/CompileTestCase.schema.json +--- +mainDef: "resource_policies/leave_request_20210210.yaml" +wantErrors: + - file: resource_policies/leave_request_20210210.yaml + error: |- + failed to compile `# YAML comment + request.resource.attr.status == "PENDING_APPROVAL"` [Syntax error: token recognition error at: '#', Syntax error: mismatched input 'comment' expecting ] + description: |- + Invalid expression: `# YAML comment + request.resource.attr.status == "PENDING_APPROVAL"` + position: + line: 15 + column: 11 + path: "$.resourcePolicy.rules[1].condition.match.expr" diff --git a/internal/test/testdata/compile/yaml_comment_in_condition.yaml.input b/internal/test/testdata/compile/yaml_comment_in_condition.yaml.input new file mode 100644 index 0000000000..7faba59ba1 --- /dev/null +++ b/internal/test/testdata/compile/yaml_comment_in_condition.yaml.input @@ -0,0 +1,21 @@ +-- resource_policies/leave_request_20210210.yaml -- +--- +apiVersion: api.cerbos.dev/v1 +resourcePolicy: + resource: leave_request + version: "20210210" + rules: + - actions: ['*'] + effect: EFFECT_ALLOW + roles: + - admin + name: wildcard + - actions: ["approve"] + condition: + match: + expr: |- + # YAML comment + request.resource.attr.status == "PENDING_APPROVAL" + roles: + - direct_manager + effect: EFFECT_ALLOW diff --git a/internal/test/testdata/parser/case_001.json b/internal/test/testdata/parser/case_001.json index 2739527c57..26dc29aff2 100644 --- a/internal/test/testdata/parser/case_001.json +++ b/internal/test/testdata/parser/case_001.json @@ -107,7 +107,7 @@ ], "condition": { "match": { - "expr": "request.resource.attr.geography == variables.principal_location" + "expr": "// Some comment\nrequest.resource.attr.geography == variables.principal_location\n" } }, "derivedRoles": [ diff --git a/internal/test/testdata/parser/case_001.json.input b/internal/test/testdata/parser/case_001.json.input index fd5e663ef3..8c8bb9ae86 100644 --- a/internal/test/testdata/parser/case_001.json.input +++ b/internal/test/testdata/parser/case_001.json.input @@ -64,7 +64,9 @@ resourcePolicy: - actions: ["delete"] condition: match: - expr: request.resource.attr.geography == variables.principal_location + expr: | + // Some comment + request.resource.attr.geography == variables.principal_location derivedRoles: - direct_manager effect: EFFECT_ALLOW diff --git a/internal/test/testdata/query_planner/policies/resource_policy_report_with_map.yaml b/internal/test/testdata/query_planner/policies/resource_policy_report_with_map.yaml index 2cab8449f5..6216ed5cab 100644 --- a/internal/test/testdata/query_planner/policies/resource_policy_report_with_map.yaml +++ b/internal/test/testdata/query_planner/policies/resource_policy_report_with_map.yaml @@ -62,6 +62,14 @@ resourcePolicy: condition: match: expr: P.attr.workspaceMap[R.attr.workspaceId] == "MANAGER" + - actions: + - edit_easily + effect: EFFECT_ALLOW + roles: + - USER + condition: + match: + expr: P.attr.workspaceMapRoles[R.attr.workspaceId].role == "MANAGER" - actions: - delete effect: EFFECT_ALLOW diff --git a/internal/test/testdata/query_planner/suite/report_with_map.yaml b/internal/test/testdata/query_planner/suite/report_with_map.yaml index def640b613..4bcf03a584 100644 --- a/internal/test/testdata/query_planner/suite/report_with_map.yaml +++ b/internal/test/testdata/query_planner/suite/report_with_map.yaml @@ -15,6 +15,10 @@ principal: { "A": "MANAGER", "B": "MEMBER", }, + "workspaceMapRoles": { + "A": { "role": "MANAGER" }, + "B": { "role": "MEMBER"}, + }, "workspaces": [ { "name": "workspaceA", @@ -114,6 +118,18 @@ tests: operands: - variable: request.resource.attr.workspaceId - value: "A" + - action: edit_easily + resource: + kind: report_with_map + policyVersion: default + want: + kind: KIND_CONDITIONAL + condition: + expression: + operator: eq + operands: + - variable: request.resource.attr.workspaceId + - value: "A" - action: delete resource: kind: report_with_map diff --git a/internal/test/testdata/store/resource_policies/policy_01.yaml b/internal/test/testdata/store/resource_policies/policy_01.yaml index 5626c356cc..752b07e4cb 100644 --- a/internal/test/testdata/store/resource_policies/policy_01.yaml +++ b/internal/test/testdata/store/resource_policies/policy_01.yaml @@ -17,7 +17,7 @@ resourcePolicy: ref: cerbos:///resources/leave_request.json resource: leave_request rules: - - actions: ['*'] + - actions: ["*"] effect: EFFECT_ALLOW roles: - admin @@ -63,7 +63,9 @@ resourcePolicy: - actions: ["delete"] condition: match: - expr: request.resource.attr.geography == variables.principal_location + expr: | + // comment + request.resource.attr.geography == variables.principal_location derivedRoles: - direct_manager effect: EFFECT_ALLOW diff --git a/internal/util/app.go b/internal/util/app.go index 6550c57572..f9972f073a 100644 --- a/internal/util/app.go +++ b/internal/util/app.go @@ -9,9 +9,11 @@ import ( "os" "runtime/debug" "strings" + "sync" pdpv1 "github.com/cerbos/cloud-api/genpb/cerbos/cloud/pdp/v1" "github.com/google/uuid" + "go.uber.org/zap" ) var ( @@ -59,11 +61,15 @@ func AppShortVersion() string { return sb.String() } +var getPdpID = sync.OnceValue(func() string { + //nolint:gosec + nodeID := md5.Sum(uuid.NodeID()) + return fmt.Sprintf("%X-%d", nodeID, os.Getpid()) +}) + func PDPIdentifier(pdpID string) *pdpv1.Identifier { if pdpID == "" { - //nolint:gosec - nodeID := md5.Sum(uuid.NodeID()) - pdpID = fmt.Sprintf("%X-%d", nodeID, os.Getpid()) + pdpID = getPdpID() } return &pdpv1.Identifier{ @@ -71,3 +77,7 @@ func PDPIdentifier(pdpID string) *pdpv1.Identifier { Version: AppShortVersion(), } } + +func DeprecationWarning(deprecated, replacement string) { + zap.S().Warnf("[DEPRECATED CONFIG] %s is deprecated and will be removed in a future release. Please use %s instead.", deprecated, replacement) +} diff --git a/netlify.toml b/netlify.toml index fdb3c1837a..be75fd2fbe 100644 --- a/netlify.toml +++ b/netlify.toml @@ -15,8 +15,73 @@ to = "/cerbos/prerelease/:module/_images/:splat" status = 302 force = true + +# Version-specific redirects because Netlify creates a redirect loop if we try to use a version wildcard. + +[[redirects]] +from = "/cerbos/0.31.0/_images/*" +to = "/cerbos/prerelease/_images/:splat" +status = 302 +force = true + +[[redirects]] +from = "/cerbos/0.31.0/:module/_images/*" +to = "/cerbos/prerelease/:module/_images/:splat" +status = 302 +force = true + +[[redirects]] +from = "/cerbos/0.32.0/_images/*" +to = "/cerbos/prerelease/_images/:splat" +status = 302 +force = true + +[[redirects]] +from = "/cerbos/0.32.0/:module/_images/*" +to = "/cerbos/prerelease/:module/_images/:splat" +status = 302 +force = true + +[[redirects]] +from = "/cerbos/0.33.0/_images/*" +to = "/cerbos/prerelease/_images/:splat" +status = 302 +force = true + +[[redirects]] +from = "/cerbos/0.33.0/:module/_images/*" +to = "/cerbos/prerelease/:module/_images/:splat" +status = 302 +force = true + +[[redirects]] +from = "/cerbos/0.34.0/_images/*" +to = "/cerbos/prerelease/_images/:splat" +status = 302 +force = true + +[[redirects]] +from = "/cerbos/0.34.0/:module/_images/*" +to = "/cerbos/prerelease/:module/_images/:splat" +status = 302 +force = true + + +[[redirects]] +from = "/cerbos/0.35.0/_images/*" +to = "/cerbos/prerelease/_images/:splat" +status = 302 +force = true + +[[redirects]] +from = "/cerbos/0.35.0/:module/_images/*" +to = "/cerbos/prerelease/:module/_images/:splat" +status = 302 +force = true +# IMG_REDIRECTS_END + +# This has to be at the bottom for the above redirects to work [[redirects]] from = "/cerbos/:version/*" to = "/cerbos/latest/:splat" status = 404 - diff --git a/npm/.npmrc b/npm/.npmrc new file mode 100644 index 0000000000..e489755084 --- /dev/null +++ b/npm/.npmrc @@ -0,0 +1 @@ +//localhost:4873/:_authToken=none diff --git a/npm/package.json b/npm/package.json new file mode 100644 index 0000000000..18904b24c2 --- /dev/null +++ b/npm/package.json @@ -0,0 +1,10 @@ +{ + "private": true, + "workspaces": [ + "packages/*" + ], + "packageManager": "npm@10.5.1", + "scripts": { + "test": "test/run.sh" + } +} diff --git a/npm/packages/cerbos-darwin-arm64/README.md b/npm/packages/cerbos-darwin-arm64/README.md new file mode 100644 index 0000000000..03471ce1bc --- /dev/null +++ b/npm/packages/cerbos-darwin-arm64/README.md @@ -0,0 +1,5 @@ +# @cerbos/cerbos-darwin-arm64 + +[![npm](https://img.shields.io/npm/v/@cerbos/cerbos-darwin-arm64?style=flat-square)](https://www.npmjs.com/package/@cerbos/cerbos-darwin-arm64) + +The **darwin-arm64** binary for [`cerbos`](https://docs.cerbos.dev/cerbos/latest/cli/cerbos). diff --git a/npm/packages/cerbos-darwin-arm64/package.json b/npm/packages/cerbos-darwin-arm64/package.json new file mode 100644 index 0000000000..8f6642acd5 --- /dev/null +++ b/npm/packages/cerbos-darwin-arm64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@cerbos/cerbos-darwin-arm64", + "version": "0.35.0", + "description": "The darwin-arm64 binary for cerbos", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbos-darwin-arm64" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "cpu": [ + "arm64" + ], + "os": [ + "darwin" + ], + "main": "./cerbos-darwin-arm64", + "files": [ + "cerbos-darwin-arm64" + ], + "scripts": { + "prepack": "test -f cerbos-darwin-arm64" + }, + "preferUnplugged": true +} diff --git a/npm/packages/cerbos-darwin-x64/README.md b/npm/packages/cerbos-darwin-x64/README.md new file mode 100644 index 0000000000..3811ff9555 --- /dev/null +++ b/npm/packages/cerbos-darwin-x64/README.md @@ -0,0 +1,5 @@ +# @cerbos/cerbos-darwin-x64 + +[![npm](https://img.shields.io/npm/v/@cerbos/cerbos-darwin-x64?style=flat-square)](https://www.npmjs.com/package/@cerbos/cerbos-darwin-x64) + +The **darwin-x64** binary for [`cerbos`](https://docs.cerbos.dev/cerbos/latest/cli/cerbos). diff --git a/npm/packages/cerbos-darwin-x64/package.json b/npm/packages/cerbos-darwin-x64/package.json new file mode 100644 index 0000000000..00a91c422a --- /dev/null +++ b/npm/packages/cerbos-darwin-x64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@cerbos/cerbos-darwin-x64", + "version": "0.35.0", + "description": "The darwin-x64 binary for cerbos", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbos-darwin-x64" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "cpu": [ + "x64" + ], + "os": [ + "darwin" + ], + "main": "./cerbos-darwin-x64", + "files": [ + "cerbos-darwin-x64" + ], + "scripts": { + "prepack": "test -f cerbos-darwin-x64" + }, + "preferUnplugged": true +} diff --git a/npm/packages/cerbos-linux-arm64/README.md b/npm/packages/cerbos-linux-arm64/README.md new file mode 100644 index 0000000000..297d7d051f --- /dev/null +++ b/npm/packages/cerbos-linux-arm64/README.md @@ -0,0 +1,5 @@ +# @cerbos/cerbos-linux-arm64 + +[![npm](https://img.shields.io/npm/v/@cerbos/cerbos-linux-arm64?style=flat-square)](https://www.npmjs.com/package/@cerbos/cerbos-linux-arm64) + +The **linux-arm64** binary for [`cerbos`](https://docs.cerbos.dev/cerbos/latest/cli/cerbos). diff --git a/npm/packages/cerbos-linux-arm64/package.json b/npm/packages/cerbos-linux-arm64/package.json new file mode 100644 index 0000000000..34050b27f6 --- /dev/null +++ b/npm/packages/cerbos-linux-arm64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@cerbos/cerbos-linux-arm64", + "version": "0.35.0", + "description": "The linux-arm64 binary for cerbos", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbos-linux-arm64" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "cpu": [ + "arm64" + ], + "os": [ + "linux" + ], + "main": "./cerbos-linux-arm64", + "files": [ + "cerbos-linux-arm64" + ], + "scripts": { + "prepack": "test -f cerbos-linux-arm64" + }, + "preferUnplugged": true +} diff --git a/npm/packages/cerbos-linux-x64/README.md b/npm/packages/cerbos-linux-x64/README.md new file mode 100644 index 0000000000..43bb4337ac --- /dev/null +++ b/npm/packages/cerbos-linux-x64/README.md @@ -0,0 +1,5 @@ +# @cerbos/cerbos-linux-x64 + +[![npm](https://img.shields.io/npm/v/@cerbos/cerbos-linux-x64?style=flat-square)](https://www.npmjs.com/package/@cerbos/cerbos-linux-x64) + +The **linux-x64** binary for [`cerbos`](https://docs.cerbos.dev/cerbos/latest/cli/cerbos). diff --git a/npm/packages/cerbos-linux-x64/package.json b/npm/packages/cerbos-linux-x64/package.json new file mode 100644 index 0000000000..00fc26bbed --- /dev/null +++ b/npm/packages/cerbos-linux-x64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@cerbos/cerbos-linux-x64", + "version": "0.35.0", + "description": "The linux-x64 binary for cerbos", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbos-linux-x64" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "cpu": [ + "x64" + ], + "os": [ + "linux" + ], + "main": "./cerbos-linux-x64", + "files": [ + "cerbos-linux-x64" + ], + "scripts": { + "prepack": "test -f cerbos-linux-x64" + }, + "preferUnplugged": true +} diff --git a/npm/packages/cerbos/README.md b/npm/packages/cerbos/README.md new file mode 100644 index 0000000000..970ac34722 --- /dev/null +++ b/npm/packages/cerbos/README.md @@ -0,0 +1,36 @@ +# cerbos + +[![npm](https://img.shields.io/npm/v/cerbos?style=flat-square)](https://www.npmjs.com/package/cerbos) + +[Cerbos](https://cerbos.dev) helps you super-charge your authorization implementation by writing context-aware access control policies for your application resources. +Author access rules using an intuitive YAML configuration language, use your Git-ops infrastructure to test and deploy them, and make simple API requests to the Cerbos policy decision point (PDP) server to evaluate the policies and make dynamic access decisions. + +This package provides the [`cerbos`](https://docs.cerbos.dev/cerbos/latest/cli/cerbos) binary in an npm package. +To interact with the Cerbos PDP from your application, you can use [the SDK](https://github.com/cerbos/cerbos-sdk-javascript). + +## Installation + +```console +$ npm install cerbos +``` + +Note that this package relies on platform-specific optional dependencies, so make sure you don't omit these when installing dependencies (for example, don't pass the `--no-optional` flag to `npm`). + +### Supported platforms + +| OS | Architecture | +|---|---| +| darwin | arm64 | +| darwin | x64 | +| linux | arm64 | +| linux | x64 | + +## Further reading + +- [CLI reference](https://docs.cerbos.dev/cerbos/latest/cli/cerbos) +- [Cerbos documentation](https://docs.cerbos.dev) + +## Get help + +- [Join the Cerbos community on Slack](http://go.cerbos.io/slack) +- [Email us at help@cerbos.dev](mailto:help@cerbos.dev) diff --git a/npm/packages/cerbos/index.js b/npm/packages/cerbos/index.js new file mode 100644 index 0000000000..196a92f8df --- /dev/null +++ b/npm/packages/cerbos/index.js @@ -0,0 +1,34 @@ +#!/usr/bin/env node + +const { platform: os, arch } = process; +const currentPlatform = `${os}-${arch}`; +const supportedPlatforms = [ + "darwin-arm64", + "darwin-x64", + "linux-arm64", + "linux-x64" +]; + +if (!supportedPlatforms.includes(currentPlatform)) { + throw new Error(`Your current operating system (${os}) and architecture (${arch}) is not supported by the cerbos npm package. + +The following combinations are supported: +${supportedPlatforms.map((platform) => `- ${platform}`).join("\n")} + +Maybe try running in a container instead? +https://docs.cerbos.dev/cerbos/latest/installation/container`); +} + +const binaryPackage = `@cerbos/cerbos-${os}-${arch}`; + +const binaryPath = (() => { + try { + return require.resolve(binaryPackage); + } catch (error) { + throw new Error(`Couldn't find the "${binaryPackage}" package. + +Make sure optional dependencies are installed.`, { cause: error }); + } +})(); + +require("child_process").execFileSync(binaryPath, process.argv.slice(2), { stdio: "inherit" }); diff --git a/npm/packages/cerbos/package.json b/npm/packages/cerbos/package.json new file mode 100644 index 0000000000..b58837e6a0 --- /dev/null +++ b/npm/packages/cerbos/package.json @@ -0,0 +1,44 @@ +{ + "name": "cerbos", + "version": "0.35.0", + "description": "The cerbos binary", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbos" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "bin": { + "cerbos": "index.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "Cerbos", + "authorization", + "access control", + "roles", + "permissions", + "policy", + "security", + "role-based access control", + "RBAC", + "attribute-based access control", + "ABAC", + "policy decision point", + "PDP" + ], + "scripts": {}, + "optionalDependencies": { + "@cerbos/cerbos-darwin-arm64": "0.35.0", + "@cerbos/cerbos-darwin-x64": "0.35.0", + "@cerbos/cerbos-linux-arm64": "0.35.0", + "@cerbos/cerbos-linux-x64": "0.35.0" + } +} diff --git a/npm/packages/cerbosctl-darwin-arm64/README.md b/npm/packages/cerbosctl-darwin-arm64/README.md new file mode 100644 index 0000000000..451a32cfa3 --- /dev/null +++ b/npm/packages/cerbosctl-darwin-arm64/README.md @@ -0,0 +1,5 @@ +# @cerbos/cerbosctl-darwin-arm64 + +[![npm](https://img.shields.io/npm/v/@cerbos/cerbosctl-darwin-arm64?style=flat-square)](https://www.npmjs.com/package/@cerbos/cerbosctl-darwin-arm64) + +The **darwin-arm64** binary for [`cerbosctl`](https://docs.cerbos.dev/cerbos/latest/cli/cerbosctl). diff --git a/npm/packages/cerbosctl-darwin-arm64/package.json b/npm/packages/cerbosctl-darwin-arm64/package.json new file mode 100644 index 0000000000..f352bd133b --- /dev/null +++ b/npm/packages/cerbosctl-darwin-arm64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@cerbos/cerbosctl-darwin-arm64", + "version": "0.35.0", + "description": "The darwin-arm64 binary for cerbosctl", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbosctl-darwin-arm64" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "cpu": [ + "arm64" + ], + "os": [ + "darwin" + ], + "main": "./cerbosctl-darwin-arm64", + "files": [ + "cerbosctl-darwin-arm64" + ], + "scripts": { + "prepack": "test -f cerbosctl-darwin-arm64" + }, + "preferUnplugged": true +} diff --git a/npm/packages/cerbosctl-darwin-x64/README.md b/npm/packages/cerbosctl-darwin-x64/README.md new file mode 100644 index 0000000000..9e6819f862 --- /dev/null +++ b/npm/packages/cerbosctl-darwin-x64/README.md @@ -0,0 +1,5 @@ +# @cerbos/cerbosctl-darwin-x64 + +[![npm](https://img.shields.io/npm/v/@cerbos/cerbosctl-darwin-x64?style=flat-square)](https://www.npmjs.com/package/@cerbos/cerbosctl-darwin-x64) + +The **darwin-x64** binary for [`cerbosctl`](https://docs.cerbos.dev/cerbos/latest/cli/cerbosctl). diff --git a/npm/packages/cerbosctl-darwin-x64/package.json b/npm/packages/cerbosctl-darwin-x64/package.json new file mode 100644 index 0000000000..32755ea8ee --- /dev/null +++ b/npm/packages/cerbosctl-darwin-x64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@cerbos/cerbosctl-darwin-x64", + "version": "0.35.0", + "description": "The darwin-x64 binary for cerbosctl", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbosctl-darwin-x64" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "cpu": [ + "x64" + ], + "os": [ + "darwin" + ], + "main": "./cerbosctl-darwin-x64", + "files": [ + "cerbosctl-darwin-x64" + ], + "scripts": { + "prepack": "test -f cerbosctl-darwin-x64" + }, + "preferUnplugged": true +} diff --git a/npm/packages/cerbosctl-linux-arm64/README.md b/npm/packages/cerbosctl-linux-arm64/README.md new file mode 100644 index 0000000000..619dd47c34 --- /dev/null +++ b/npm/packages/cerbosctl-linux-arm64/README.md @@ -0,0 +1,5 @@ +# @cerbos/cerbosctl-linux-arm64 + +[![npm](https://img.shields.io/npm/v/@cerbos/cerbosctl-linux-arm64?style=flat-square)](https://www.npmjs.com/package/@cerbos/cerbosctl-linux-arm64) + +The **linux-arm64** binary for [`cerbosctl`](https://docs.cerbos.dev/cerbos/latest/cli/cerbosctl). diff --git a/npm/packages/cerbosctl-linux-arm64/package.json b/npm/packages/cerbosctl-linux-arm64/package.json new file mode 100644 index 0000000000..ca58fdc0a2 --- /dev/null +++ b/npm/packages/cerbosctl-linux-arm64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@cerbos/cerbosctl-linux-arm64", + "version": "0.35.0", + "description": "The linux-arm64 binary for cerbosctl", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbosctl-linux-arm64" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "cpu": [ + "arm64" + ], + "os": [ + "linux" + ], + "main": "./cerbosctl-linux-arm64", + "files": [ + "cerbosctl-linux-arm64" + ], + "scripts": { + "prepack": "test -f cerbosctl-linux-arm64" + }, + "preferUnplugged": true +} diff --git a/npm/packages/cerbosctl-linux-x64/README.md b/npm/packages/cerbosctl-linux-x64/README.md new file mode 100644 index 0000000000..421280c630 --- /dev/null +++ b/npm/packages/cerbosctl-linux-x64/README.md @@ -0,0 +1,5 @@ +# @cerbos/cerbosctl-linux-x64 + +[![npm](https://img.shields.io/npm/v/@cerbos/cerbosctl-linux-x64?style=flat-square)](https://www.npmjs.com/package/@cerbos/cerbosctl-linux-x64) + +The **linux-x64** binary for [`cerbosctl`](https://docs.cerbos.dev/cerbos/latest/cli/cerbosctl). diff --git a/npm/packages/cerbosctl-linux-x64/package.json b/npm/packages/cerbosctl-linux-x64/package.json new file mode 100644 index 0000000000..19c0ebace5 --- /dev/null +++ b/npm/packages/cerbosctl-linux-x64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@cerbos/cerbosctl-linux-x64", + "version": "0.35.0", + "description": "The linux-x64 binary for cerbosctl", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbosctl-linux-x64" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "cpu": [ + "x64" + ], + "os": [ + "linux" + ], + "main": "./cerbosctl-linux-x64", + "files": [ + "cerbosctl-linux-x64" + ], + "scripts": { + "prepack": "test -f cerbosctl-linux-x64" + }, + "preferUnplugged": true +} diff --git a/npm/packages/cerbosctl/README.md b/npm/packages/cerbosctl/README.md new file mode 100644 index 0000000000..f38370f33b --- /dev/null +++ b/npm/packages/cerbosctl/README.md @@ -0,0 +1,36 @@ +# cerbosctl + +[![npm](https://img.shields.io/npm/v/cerbosctl?style=flat-square)](https://www.npmjs.com/package/cerbosctl) + +[Cerbos](https://cerbos.dev) helps you super-charge your authorization implementation by writing context-aware access control policies for your application resources. +Author access rules using an intuitive YAML configuration language, use your Git-ops infrastructure to test and deploy them, and make simple API requests to the Cerbos policy decision point (PDP) server to evaluate the policies and make dynamic access decisions. + +This package provides the [`cerbosctl`](https://docs.cerbos.dev/cerbos/latest/cli/cerbosctl) binary in an npm package. +To interact with the Cerbos PDP from your application, you can use [the SDK](https://github.com/cerbos/cerbos-sdk-javascript). + +## Installation + +```console +$ npm install cerbosctl +``` + +Note that this package relies on platform-specific optional dependencies, so make sure you don't omit these when installing dependencies (for example, don't pass the `--no-optional` flag to `npm`). + +### Supported platforms + +| OS | Architecture | +|---|---| +| darwin | arm64 | +| darwin | x64 | +| linux | arm64 | +| linux | x64 | + +## Further reading + +- [CLI reference](https://docs.cerbos.dev/cerbos/latest/cli/cerbosctl) +- [Cerbos documentation](https://docs.cerbos.dev) + +## Get help + +- [Join the Cerbos community on Slack](http://go.cerbos.io/slack) +- [Email us at help@cerbos.dev](mailto:help@cerbos.dev) diff --git a/npm/packages/cerbosctl/index.js b/npm/packages/cerbosctl/index.js new file mode 100644 index 0000000000..3e8ddec1fd --- /dev/null +++ b/npm/packages/cerbosctl/index.js @@ -0,0 +1,34 @@ +#!/usr/bin/env node + +const { platform: os, arch } = process; +const currentPlatform = `${os}-${arch}`; +const supportedPlatforms = [ + "darwin-arm64", + "darwin-x64", + "linux-arm64", + "linux-x64" +]; + +if (!supportedPlatforms.includes(currentPlatform)) { + throw new Error(`Your current operating system (${os}) and architecture (${arch}) is not supported by the cerbosctl npm package. + +The following combinations are supported: +${supportedPlatforms.map((platform) => `- ${platform}`).join("\n")} + +Maybe try running in a container instead? +https://docs.cerbos.dev/cerbos/latest/installation/container`); +} + +const binaryPackage = `@cerbos/cerbosctl-${os}-${arch}`; + +const binaryPath = (() => { + try { + return require.resolve(binaryPackage); + } catch (error) { + throw new Error(`Couldn't find the "${binaryPackage}" package. + +Make sure optional dependencies are installed.`, { cause: error }); + } +})(); + +require("child_process").execFileSync(binaryPath, process.argv.slice(2), { stdio: "inherit" }); diff --git a/npm/packages/cerbosctl/package.json b/npm/packages/cerbosctl/package.json new file mode 100644 index 0000000000..69acb86be6 --- /dev/null +++ b/npm/packages/cerbosctl/package.json @@ -0,0 +1,44 @@ +{ + "name": "cerbosctl", + "version": "0.35.0", + "description": "The cerbosctl binary", + "repository": { + "type": "git", + "url": "git+https://github.com/cerbos/cerbos.git", + "directory": "npm/packages/cerbosctl" + }, + "homepage": "https://cerbos.dev", + "bugs": { + "url": "https://github.com/cerbos/cerbos/issues" + }, + "author": "Cerbos (https://cerbos.dev)", + "license": "Apache-2.0", + "bin": { + "cerbosctl": "index.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "Cerbos", + "authorization", + "access control", + "roles", + "permissions", + "policy", + "security", + "role-based access control", + "RBAC", + "attribute-based access control", + "ABAC", + "policy decision point", + "PDP" + ], + "scripts": {}, + "optionalDependencies": { + "@cerbos/cerbosctl-darwin-arm64": "0.35.0", + "@cerbos/cerbosctl-darwin-x64": "0.35.0", + "@cerbos/cerbosctl-linux-arm64": "0.35.0", + "@cerbos/cerbosctl-linux-x64": "0.35.0" + } +} diff --git a/npm/test/cases/npm@10/.npmrc b/npm/test/cases/npm@10/.npmrc new file mode 100644 index 0000000000..b20b0327e3 --- /dev/null +++ b/npm/test/cases/npm@10/.npmrc @@ -0,0 +1,2 @@ +cache=.npm +registry=http://localhost:4873 diff --git a/npm/test/cases/npm@10/package.json b/npm/test/cases/npm@10/package.json new file mode 100644 index 0000000000..af5429577e --- /dev/null +++ b/npm/test/cases/npm@10/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "npm@10.5.1", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/cases/npm@7/.npmrc b/npm/test/cases/npm@7/.npmrc new file mode 100644 index 0000000000..b20b0327e3 --- /dev/null +++ b/npm/test/cases/npm@7/.npmrc @@ -0,0 +1,2 @@ +cache=.npm +registry=http://localhost:4873 diff --git a/npm/test/cases/npm@7/package.json b/npm/test/cases/npm@7/package.json new file mode 100644 index 0000000000..f1f036e6f3 --- /dev/null +++ b/npm/test/cases/npm@7/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "npm@7.24.2", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/cases/npm@8/.npmrc b/npm/test/cases/npm@8/.npmrc new file mode 100644 index 0000000000..b20b0327e3 --- /dev/null +++ b/npm/test/cases/npm@8/.npmrc @@ -0,0 +1,2 @@ +cache=.npm +registry=http://localhost:4873 diff --git a/npm/test/cases/npm@8/package.json b/npm/test/cases/npm@8/package.json new file mode 100644 index 0000000000..5db13e581d --- /dev/null +++ b/npm/test/cases/npm@8/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "npm@8.19.4", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/cases/npm@9/.npmrc b/npm/test/cases/npm@9/.npmrc new file mode 100644 index 0000000000..b20b0327e3 --- /dev/null +++ b/npm/test/cases/npm@9/.npmrc @@ -0,0 +1,2 @@ +cache=.npm +registry=http://localhost:4873 diff --git a/npm/test/cases/npm@9/package.json b/npm/test/cases/npm@9/package.json new file mode 100644 index 0000000000..b22347f32e --- /dev/null +++ b/npm/test/cases/npm@9/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "npm@9.9.3", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/cases/pnpm@7/.npmrc b/npm/test/cases/pnpm@7/.npmrc new file mode 100644 index 0000000000..00d2401f69 --- /dev/null +++ b/npm/test/cases/pnpm@7/.npmrc @@ -0,0 +1,4 @@ +cache-dir=.pnpm/cache +registry=http://localhost:4873 +state-dir=.pnpm/state +store-dir=.pnpm/store diff --git a/npm/test/cases/pnpm@7/package.json b/npm/test/cases/pnpm@7/package.json new file mode 100644 index 0000000000..679a5f2bc1 --- /dev/null +++ b/npm/test/cases/pnpm@7/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "pnpm@7.33.7", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/cases/pnpm@8/.npmrc b/npm/test/cases/pnpm@8/.npmrc new file mode 100644 index 0000000000..00d2401f69 --- /dev/null +++ b/npm/test/cases/pnpm@8/.npmrc @@ -0,0 +1,4 @@ +cache-dir=.pnpm/cache +registry=http://localhost:4873 +state-dir=.pnpm/state +store-dir=.pnpm/store diff --git a/npm/test/cases/pnpm@8/package.json b/npm/test/cases/pnpm@8/package.json new file mode 100644 index 0000000000..feaa4f7c9c --- /dev/null +++ b/npm/test/cases/pnpm@8/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "pnpm@8.15.6", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/cases/yarn@1/.npmrc b/npm/test/cases/yarn@1/.npmrc new file mode 100644 index 0000000000..dadfd9b3d1 --- /dev/null +++ b/npm/test/cases/yarn@1/.npmrc @@ -0,0 +1,2 @@ +cache=.yarn +registry=http://localhost:4873 diff --git a/npm/test/cases/yarn@1/package.json b/npm/test/cases/yarn@1/package.json new file mode 100644 index 0000000000..a5d35ac70a --- /dev/null +++ b/npm/test/cases/yarn@1/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "yarn@1.22.22", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/cases/yarn@2/.yarnrc.yml b/npm/test/cases/yarn@2/.yarnrc.yml new file mode 100644 index 0000000000..b2cf0d8813 --- /dev/null +++ b/npm/test/cases/yarn@2/.yarnrc.yml @@ -0,0 +1,9 @@ +enableGlobalCache: false +enableMirror: false +enableTelemetry: false +npmRegistryServer: http://localhost:4873 +npmScopes: + yarnpkg: + npmRegistryServer: https://registry.yarnpkg.com +unsafeHttpWhitelist: + - localhost diff --git a/npm/test/cases/yarn@2/package.json b/npm/test/cases/yarn@2/package.json new file mode 100644 index 0000000000..f24c724023 --- /dev/null +++ b/npm/test/cases/yarn@2/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "yarn@2.4.2", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/cases/yarn@3/.yarnrc.yml b/npm/test/cases/yarn@3/.yarnrc.yml new file mode 100644 index 0000000000..114f99d94a --- /dev/null +++ b/npm/test/cases/yarn@3/.yarnrc.yml @@ -0,0 +1,10 @@ +enableGlobalCache: false +enableImmutableInstalls: false +enableMirror: false +enableTelemetry: false +npmRegistryServer: http://localhost:4873 +npmScopes: + yarnpkg: + npmRegistryServer: https://registry.yarnpkg.com +unsafeHttpWhitelist: + - localhost diff --git a/npm/test/cases/yarn@3/package.json b/npm/test/cases/yarn@3/package.json new file mode 100644 index 0000000000..02f0826864 --- /dev/null +++ b/npm/test/cases/yarn@3/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "yarn@3.8.1", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/cases/yarn@4/.yarnrc.yml b/npm/test/cases/yarn@4/.yarnrc.yml new file mode 100644 index 0000000000..114f99d94a --- /dev/null +++ b/npm/test/cases/yarn@4/.yarnrc.yml @@ -0,0 +1,10 @@ +enableGlobalCache: false +enableImmutableInstalls: false +enableMirror: false +enableTelemetry: false +npmRegistryServer: http://localhost:4873 +npmScopes: + yarnpkg: + npmRegistryServer: https://registry.yarnpkg.com +unsafeHttpWhitelist: + - localhost diff --git a/npm/test/cases/yarn@4/package.json b/npm/test/cases/yarn@4/package.json new file mode 100644 index 0000000000..44d58595af --- /dev/null +++ b/npm/test/cases/yarn@4/package.json @@ -0,0 +1,8 @@ +{ + "private": true, + "packageManager": "yarn@4.1.1", + "dependencies": { + "cerbos": "latest", + "cerbosctl": "latest" + } +} diff --git a/npm/test/registry/.npmrc b/npm/test/registry/.npmrc new file mode 100644 index 0000000000..cffe8cdef1 --- /dev/null +++ b/npm/test/registry/.npmrc @@ -0,0 +1 @@ +save-exact=true diff --git a/npm/test/registry/config.yaml b/npm/test/registry/config.yaml new file mode 100644 index 0000000000..fbdaac7870 --- /dev/null +++ b/npm/test/registry/config.yaml @@ -0,0 +1,15 @@ +auth: + +log: + type: file + path: ./storage/.verdaccio.log + level: debug + +max_body_size: 100mb + +packages: + "**": + access: $all + publish: $all + +storage: ./storage diff --git a/npm/test/registry/package-lock.json b/npm/test/registry/package-lock.json new file mode 100644 index 0000000000..ec87fa7d3a --- /dev/null +++ b/npm/test/registry/package-lock.json @@ -0,0 +1,2644 @@ +{ + "name": "registry", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "verdaccio": "5.30.3" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@cypress/request": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "6.10.4", + "safe-buffer": "^5.1.2", + "tough-cookie": "^4.1.3", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "node_modules/@verdaccio/commons-api": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@verdaccio/commons-api/-/commons-api-10.2.0.tgz", + "integrity": "sha512-F/YZANu4DmpcEV0jronzI7v2fGVWkQ5Mwi+bVmV+ACJ+EzR0c9Jbhtbe5QyLUuzR97t8R5E/Xe53O0cc2LukdQ==", + "dependencies": { + "http-errors": "2.0.0", + "http-status-codes": "2.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/commons-api/node_modules/http-status-codes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.2.0.tgz", + "integrity": "sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng==" + }, + "node_modules/@verdaccio/config": { + "version": "7.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/@verdaccio/config/-/config-7.0.0-next-7.13.tgz", + "integrity": "sha512-QM0uvbLoK8IJMXCr9yYTlR9ZfoO26/sPt0ZGtzEp6yLZ4CZnI4C+eC6KlV/jPTSYf3s8GFAE9ZPvhnQyhX2DoA==", + "dependencies": { + "@verdaccio/core": "7.0.0-next-7.13", + "@verdaccio/utils": "7.0.0-next-7.13", + "debug": "4.3.4", + "js-yaml": "4.1.0", + "lodash": "4.17.21", + "minimatch": "7.4.6", + "yup": "0.32.11" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/core": { + "version": "7.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-7.0.0-next-7.13.tgz", + "integrity": "sha512-95cSbuXc3GMaDjlSAEOkDIbN8YaYVq0E4yj/M6oIu4N4XK7DdbuB6k7YAr/TeUJU+2KFPHk3caDEj2a129jNCA==", + "dependencies": { + "ajv": "8.12.0", + "core-js": "3.35.0", + "http-errors": "2.0.0", + "http-status-codes": "2.3.0", + "process-warning": "1.0.0", + "semver": "7.6.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/file-locking": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-10.3.1.tgz", + "integrity": "sha512-oqYLfv3Yg3mAgw9qhASBpjD50osj2AX4IwbkUtyuhhKGyoFU9eZdrbeW6tpnqUnj6yBMtAPm2eGD4BwQuX400g==", + "dependencies": { + "lockfile": "1.0.4" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/local-storage-legacy": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@verdaccio/local-storage-legacy/-/local-storage-legacy-11.0.2.tgz", + "integrity": "sha512-7AXG7qlcVFmF+Nue2oKaraprGRtaBvrQIOvc/E89+7hAe399V01KnZI6E/ET56u7U9fq0MSlp92HBcdotlpUXg==", + "dependencies": { + "@verdaccio/commons-api": "10.2.0", + "@verdaccio/file-locking": "10.3.1", + "@verdaccio/streams": "10.2.1", + "async": "3.2.4", + "debug": "4.3.4", + "lodash": "4.17.21", + "lowdb": "1.0.0", + "mkdirp": "1.0.4" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/local-storage-legacy/node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/@verdaccio/logger-7": { + "version": "7.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-7/-/logger-7-7.0.0-next-7.13.tgz", + "integrity": "sha512-uiKIC6rSarSdYVdGKSw1JnDC04xCv6kKvqCjVV4GN9QeIaMzMBpPUZRwEEmq7Emc6tm+VPURVtbUy1aLRxWsmQ==", + "dependencies": { + "@verdaccio/logger-commons": "7.0.0-next-7.13", + "pino": "7.11.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/logger-commons": { + "version": "7.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-commons/-/logger-commons-7.0.0-next-7.13.tgz", + "integrity": "sha512-C45E+e/yMc54hXzRkiUZjl/fXObfcAGE1EMXxZjIqjPUx4gnAWEuTpT1NVRxZbMU6HdpOOKrgijwYkBpo5pgCg==", + "dependencies": { + "@verdaccio/core": "7.0.0-next-7.13", + "@verdaccio/logger-prettify": "7.0.0-next-7.2", + "colorette": "2.0.20", + "debug": "4.3.4" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/logger-prettify": { + "version": "7.0.0-next-7.2", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-prettify/-/logger-prettify-7.0.0-next-7.2.tgz", + "integrity": "sha512-vGIcXW8DkVBsk0g/iufMZWKBMgC774Vz0zT0g+3NErBUmAhvCby+rrrNDy64jJ8XfJEn+eMiXq7wM/tRWbwYKQ==", + "dependencies": { + "colorette": "2.0.20", + "dayjs": "1.11.10", + "lodash": "4.17.21", + "pino-abstract-transport": "1.1.0", + "sonic-boom": "3.8.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/middleware": { + "version": "7.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/@verdaccio/middleware/-/middleware-7.0.0-next-7.13.tgz", + "integrity": "sha512-SwStOZeOJ9GFgJEeOhXP3AZpx35HNl66Ru8zKUb0VrOw8mna/4d+/wL+5bAaYfG/k5uO1eOJoTBMQLJkFfQyZA==", + "dependencies": { + "@verdaccio/config": "7.0.0-next-7.13", + "@verdaccio/core": "7.0.0-next-7.13", + "@verdaccio/url": "12.0.0-next-7.13", + "@verdaccio/utils": "7.0.0-next-7.13", + "debug": "4.3.4", + "express": "4.18.3", + "express-rate-limit": "5.5.1", + "lodash": "4.17.21", + "lru-cache": "7.18.3", + "mime": "2.6.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/middleware/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@verdaccio/search-indexer": { + "version": "7.0.0-next-7.2", + "resolved": "https://registry.npmjs.org/@verdaccio/search-indexer/-/search-indexer-7.0.0-next-7.2.tgz", + "integrity": "sha512-ZkhqHHWP530dFr8EuicAa5sXFDlAYqiSgpNDPIyMaz1FkfqngeffhWdydXQgVb60d1OeJkpaf3utPE2kQwIXxQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/signature": { + "version": "7.0.0-next.3", + "resolved": "https://registry.npmjs.org/@verdaccio/signature/-/signature-7.0.0-next.3.tgz", + "integrity": "sha512-egs1VmEe+COUUZ83I6gzDy79Jo3b/AExPvp9EDuJHkmwxJj+9gb231Rv4wk+UoNPrQRNLljUepQwVrDmbqP5DQ==", + "dependencies": { + "debug": "4.3.4", + "jsonwebtoken": "9.0.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/streams": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@verdaccio/streams/-/streams-10.2.1.tgz", + "integrity": "sha512-OojIG/f7UYKxC4dYX8x5ax8QhRx1b8OYUAMz82rUottCuzrssX/4nn5QE7Ank0DUSX3C9l/HPthc4d9uKRJqJQ==", + "engines": { + "node": ">=12", + "npm": ">=5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/tarball": { + "version": "12.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/@verdaccio/tarball/-/tarball-12.0.0-next-7.13.tgz", + "integrity": "sha512-O74anmOdpeUL52LtYRso8UQMKKRqDsnEaTLRACOEQevhyBp/ySs2XwVLPoHymDaXiUQfKUP06HekujdedTpO+A==", + "dependencies": { + "@verdaccio/core": "7.0.0-next-7.13", + "@verdaccio/url": "12.0.0-next-7.13", + "@verdaccio/utils": "7.0.0-next-7.13", + "debug": "4.3.4", + "lodash": "4.17.21" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/ui-theme": { + "version": "7.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-7.0.0-next-7.13.tgz", + "integrity": "sha512-qRIGVahav3y70fIX35iqUxvyzhJ6fQmGZP+b0ODu0zCOn3zFCwS5bkTXuRITIACo26pZIMauw9LTqqsb1GPmLA==" + }, + "node_modules/@verdaccio/url": { + "version": "12.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/@verdaccio/url/-/url-12.0.0-next-7.13.tgz", + "integrity": "sha512-Ag2sF4Q6DewKJtFIayo21KCgp9azdfsgvgjM8nlQkuWduHYgack5w/paTX5z2hfyFtbXyO648DvBBvmkjcBjbA==", + "dependencies": { + "@verdaccio/core": "7.0.0-next-7.13", + "debug": "4.3.4", + "lodash": "4.17.21", + "validator": "13.11.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/@verdaccio/utils": { + "version": "7.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/@verdaccio/utils/-/utils-7.0.0-next-7.13.tgz", + "integrity": "sha512-ZtQZjUyxHZHQSjbajncdPLuJt5D0k3r6RQ8Wg0jM5LAoAJM5L+ISC0lcDZI3VRY6mq/LhU6hKfUygBK8o7VQmQ==", + "dependencies": { + "@verdaccio/core": "7.0.0-next-7.13", + "lodash": "4.17.21", + "minimatch": "7.4.6", + "semver": "7.6.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/apache-md5": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz", + "integrity": "sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/clipanion": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/clipanion/-/clipanion-3.2.1.tgz", + "integrity": "sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==", + "workspaces": [ + "website" + ], + "dependencies": { + "typanion": "^3.8.0" + }, + "peerDependencies": { + "typanion": "*" + } + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cookies": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz", + "integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==", + "dependencies": { + "depd": "~2.0.0", + "keygrip": "~1.1.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/core-js": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.0.tgz", + "integrity": "sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/envinfo": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", + "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/express": { + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-rate-limit": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-5.5.1.tgz", + "integrity": "sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==" + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-redact": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", + "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/http-status-codes": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz", + "integrity": "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keygrip": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", + "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", + "dependencies": { + "tsscmp": "1.0.6" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "dependencies": { + "signal-exit": "^3.0.2" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/lowdb": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", + "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", + "dependencies": { + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mv": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", + "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", + "dependencies": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/mv/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/nanoclone": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" + }, + "node_modules/ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", + "bin": { + "ncp": "bin/ncp" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-exit-leak-free": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", + "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pino": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", + "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.0.0", + "on-exit-leak-free": "^0.2.0", + "pino-abstract-transport": "v0.5.0", + "pino-std-serializers": "^4.0.0", + "process-warning": "^1.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.1.0", + "safe-stable-stringify": "^2.1.0", + "sonic-boom": "^2.2.1", + "thread-stream": "^0.15.1" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", + "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", + "dependencies": { + "readable-stream": "^4.0.0", + "split2": "^4.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", + "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" + }, + "node_modules/pino/node_modules/pino-abstract-transport": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", + "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", + "dependencies": { + "duplexify": "^4.1.2", + "split2": "^4.0.0" + } + }, + "node_modules/pino/node_modules/sonic-boom": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", + "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/pkginfo": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", + "integrity": "sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-warning": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" + }, + "node_modules/property-expr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/real-require": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", + "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/rimraf": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", + "dependencies": { + "glob": "^6.0.1" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sonic-boom": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz", + "integrity": "sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/steno": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", + "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", + "dependencies": { + "graceful-fs": "^4.1.3" + } + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/thread-stream": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", + "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", + "dependencies": { + "real-require": "^0.1.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", + "engines": { + "node": ">=0.6.x" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/typanion": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/typanion/-/typanion-3.14.0.tgz", + "integrity": "sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==", + "workspaces": [ + "website" + ] + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unix-crypt-td-js": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", + "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validator": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verdaccio": { + "version": "5.30.3", + "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-5.30.3.tgz", + "integrity": "sha512-s/ZhSRBusW2o+ZkERyzEIbVL3zo8QLpTQPVoB/pn/Yv6+ngflP+anK4xCYiXXQJhqEdBz3cwApa8UgOEaNSS4Q==", + "dependencies": { + "@cypress/request": "3.0.1", + "@verdaccio/config": "7.0.0-next-7.13", + "@verdaccio/core": "7.0.0-next-7.13", + "@verdaccio/local-storage-legacy": "11.0.2", + "@verdaccio/logger-7": "7.0.0-next-7.13", + "@verdaccio/middleware": "7.0.0-next-7.13", + "@verdaccio/search-indexer": "7.0.0-next-7.2", + "@verdaccio/signature": "7.0.0-next.3", + "@verdaccio/streams": "10.2.1", + "@verdaccio/tarball": "12.0.0-next-7.13", + "@verdaccio/ui-theme": "7.0.0-next-7.13", + "@verdaccio/url": "12.0.0-next-7.13", + "@verdaccio/utils": "7.0.0-next-7.13", + "async": "3.2.5", + "clipanion": "3.2.1", + "compression": "1.7.4", + "cookies": "0.9.1", + "cors": "2.8.5", + "debug": "^4.3.4", + "envinfo": "7.11.1", + "express": "4.18.3", + "express-rate-limit": "5.5.1", + "fast-safe-stringify": "2.1.1", + "handlebars": "4.7.8", + "js-yaml": "4.1.0", + "JSONStream": "1.3.5", + "jsonwebtoken": "9.0.2", + "kleur": "4.1.5", + "lodash": "4.17.21", + "lru-cache": "7.18.3", + "mime": "3.0.0", + "mkdirp": "1.0.4", + "mv": "2.1.1", + "pkginfo": "0.4.1", + "semver": "7.6.0", + "validator": "13.11.0", + "verdaccio-audit": "12.0.0-next-7.13", + "verdaccio-htpasswd": "12.0.0-next-7.13" + }, + "bin": { + "verdaccio": "bin/verdaccio" + }, + "engines": { + "node": ">=12.18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/verdaccio-audit": { + "version": "12.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/verdaccio-audit/-/verdaccio-audit-12.0.0-next-7.13.tgz", + "integrity": "sha512-vmq0DQjgieEV0oXmNKeQQKLxNSOlWmDP3o4tDSH39o54aDLZLfQ9+xUpZjguJxWvDjZyWmBCpHnJdjAyp2VAiA==", + "dependencies": { + "@verdaccio/config": "7.0.0-next-7.13", + "@verdaccio/core": "7.0.0-next-7.13", + "express": "4.18.3", + "https-proxy-agent": "5.0.1", + "node-fetch": "cjs" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/verdaccio-htpasswd": { + "version": "12.0.0-next-7.13", + "resolved": "https://registry.npmjs.org/verdaccio-htpasswd/-/verdaccio-htpasswd-12.0.0-next-7.13.tgz", + "integrity": "sha512-1xhKuDYRTPHv1NPeTb83thkApmM1zrvKz9pZk4F6rjlWfkIO1pBslaRXO/Qo6VrvCRSIaw+Qqbci86GCyFaLKg==", + "dependencies": { + "@verdaccio/core": "7.0.0-next-7.13", + "@verdaccio/file-locking": "12.0.0-next.1", + "apache-md5": "1.1.8", + "bcryptjs": "2.4.3", + "core-js": "3.35.0", + "debug": "4.3.4", + "http-errors": "2.0.0", + "unix-crypt-td-js": "1.1.4" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/verdaccio-htpasswd/node_modules/@verdaccio/file-locking": { + "version": "12.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-12.0.0-next.1.tgz", + "integrity": "sha512-Zb5G2HEhVRB0jCq4z7QA4dqTdRv/2kIsw2Nkm3j2HqC1OeJRxas3MJAF/OxzbAb1IN32lbg1zycMSk6NcbQkgQ==", + "dependencies": { + "lockfile": "1.0.4" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/verdaccio" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yup": { + "version": "0.32.11", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz", + "integrity": "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@types/lodash": "^4.14.175", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "nanoclone": "^0.2.1", + "property-expr": "^2.0.4", + "toposort": "^2.0.2" + }, + "engines": { + "node": ">=10" + } + } + } +} diff --git a/npm/test/registry/package.json b/npm/test/registry/package.json new file mode 100644 index 0000000000..d77c94ad3f --- /dev/null +++ b/npm/test/registry/package.json @@ -0,0 +1,10 @@ +{ + "private": true, + "packageManager": "npm@10.5.1", + "scripts": { + "start": "verdaccio" + }, + "dependencies": { + "verdaccio": "5.30.3" + } +} diff --git a/npm/test/run.sh b/npm/test/run.sh new file mode 100755 index 0000000000..e2460bdfe0 --- /dev/null +++ b/npm/test/run.sh @@ -0,0 +1,115 @@ +#!/usr/bin/env bash +# Copyright 2021-2024 Zenauth Ltd. + +set -euo pipefail + +log_heading() { + printf "\n\n\e[1;36m==> %s\e[0m\n\n" "$1" +} + +log_subheading() { + printf "\n\n\e[35m==> %s\e[0m\n\n" "$1" +} + +log_error() { + printf "\n\e[31m%s\e[0m\n" "$1" +} + +start_registry() { + log_heading "Starting local registry" + + cd test/registry + rm -rf storage + mkdir storage + corepack npm install + corepack npm --silent start & + registry_pid=$! + trap stop_registry EXIT + + log_subheading "Waiting for local registry to be ready" + + local attempts=0 + while ! ping_registry; do + if [[ $((attempts++)) -gt 100 ]]; then + log_error "Timed out" + log_subheading "Dumping logs" + cat storage/.verdaccio.log + exit 1 + fi + + printf "." + sleep 0.1 + done + + printf "\n" + cd ~- +} + +ping_registry() { + curl --fail --max-time 0.2 --silent http://localhost:4873/-/ping > /dev/null +} + +stop_registry() { + local exit_status=$? + trap - EXIT + kill $registry_pid + wait $registry_pid || true + exit $exit_status +} + +print_version() { + local version + version=$(corepack "${package_manager}" --version) + printf "Using %s %s\n" "${package_manager}" "${version}" +} + +install_dependencies() { + log_subheading "Installing dependencies" + + if [[ "${package_manager}" = "yarn" ]]; then + touch yarn.lock + fi + + corepack "${package_manager}" install +} + +execute_binary() { + local binary + binary="$1" + + local command + command=(exec --) + + if [[ "${test_case}" = "yarn@2" ]]; then + command=(run) + fi + + log_subheading "Executing ${binary}" + corepack "${package_manager}" "${command[@]}" "$@" +} + +export FORCE_COLOR=true +export NPM_CONFIG_COLOR=always + +cd "$(dirname "${BASH_SOURCE[0]}")/.." + +start_registry + +log_heading "Publishing packages to local registry" +corepack npm publish --workspaces --registry=http://localhost:4873 + +cd test/cases + +log_heading "Cleaning up any previous runs" +git clean -dX --force + +for test_case in *; do + log_heading "Testing ${test_case}" + cd "${test_case}" + package_manager="${test_case%@*}" + print_version + install_dependencies + execute_binary cerbos --version + execute_binary cerbosctl version --client + cd ~- +done diff --git a/schema/jsonschema/cerbos/request/v1/InspectPoliciesRequest.schema.json b/schema/jsonschema/cerbos/request/v1/InspectPoliciesRequest.schema.json new file mode 100644 index 0000000000..b5e94c8c7d --- /dev/null +++ b/schema/jsonschema/cerbos/request/v1/InspectPoliciesRequest.schema.json @@ -0,0 +1,20 @@ +{ + "$id": "https://api.cerbos.dev/cerbos/request/v1/InspectPoliciesRequest.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "additionalProperties": false, + "properties": { + "includeDisabled": { + "type": "boolean" + }, + "nameRegexp": { + "type": "string" + }, + "scopeRegexp": { + "type": "string" + }, + "versionRegexp": { + "type": "string" + } + } +} diff --git a/schema/jsonschema/cerbos/response/v1/InspectPoliciesResponse.schema.json b/schema/jsonschema/cerbos/response/v1/InspectPoliciesResponse.schema.json new file mode 100644 index 0000000000..edf58db66e --- /dev/null +++ b/schema/jsonschema/cerbos/response/v1/InspectPoliciesResponse.schema.json @@ -0,0 +1,28 @@ +{ + "$id": "https://api.cerbos.dev/cerbos/response/v1/InspectPoliciesResponse.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "cerbos.response.v1.InspectPoliciesResponse.Result": { + "type": "object", + "additionalProperties": false, + "properties": { + "actions": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "results": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/cerbos.response.v1.InspectPoliciesResponse.Result" + } + } + } +} diff --git a/schema/jsonschema/cerbos/response/v1/InspectPoliciesResponse/Result.schema.json b/schema/jsonschema/cerbos/response/v1/InspectPoliciesResponse/Result.schema.json new file mode 100644 index 0000000000..d8844acb8b --- /dev/null +++ b/schema/jsonschema/cerbos/response/v1/InspectPoliciesResponse/Result.schema.json @@ -0,0 +1,14 @@ +{ + "$id": "https://api.cerbos.dev/cerbos/response/v1/InspectPoliciesResponse/Result.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "additionalProperties": false, + "properties": { + "actions": { + "type": "array", + "items": { + "type": "string" + } + } + } +} diff --git a/schema/openapiv2/cerbos/svc/v1/svc.swagger.json b/schema/openapiv2/cerbos/svc/v1/svc.swagger.json index 01ed990fb8..6585ff61e6 100644 --- a/schema/openapiv2/cerbos/svc/v1/svc.swagger.json +++ b/schema/openapiv2/cerbos/svc/v1/svc.swagger.json @@ -177,6 +177,64 @@ ] } }, + "/admin/policies/inspect": { + "get": { + "summary": "Inspect policies in the store", + "operationId": "CerbosAdminService_InspectPolicies", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1InspectPoliciesResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "includeDisabled", + "description": "Include disabled policies", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "nameRegexp", + "description": "Filter policies by name with regexp", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "scopeRegexp", + "description": "Filter policies by scope with regexp", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "versionRegexp", + "description": "Filter policies by version with regexp", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CerbosAdminService" + ], + "security": [ + { + "BasicAuth": [] + } + ] + } + }, "/admin/policy": { "get": { "summary": "Get policy", @@ -1329,7 +1387,7 @@ "type": "object", "properties": { "result": { - "$ref": "#/definitions/TestResultsResult" + "$ref": "#/definitions/v1TestResultsResult" }, "failure": { "$ref": "#/definitions/TestResultsFailure" @@ -1381,17 +1439,6 @@ } } }, - "TestResultsResult": { - "type": "string", - "enum": [ - "RESULT_UNSPECIFIED", - "RESULT_SKIPPED", - "RESULT_PASSED", - "RESULT_FAILED", - "RESULT_ERRORED" - ], - "default": "RESULT_UNSPECIFIED" - }, "TestResultsSuccess": { "type": "object", "properties": { @@ -1445,7 +1492,7 @@ "type": "object", "properties": { "overallResult": { - "$ref": "#/definitions/TestResultsResult" + "$ref": "#/definitions/v1TestResultsResult" }, "testsCount": { "type": "integer", @@ -1464,7 +1511,7 @@ "type": "object", "properties": { "result": { - "$ref": "#/definitions/TestResultsResult" + "$ref": "#/definitions/v1TestResultsResult" }, "count": { "type": "integer", @@ -2518,6 +2565,29 @@ }, "description": "Get schema(s) response" }, + "v1InspectPoliciesResponse": { + "type": "object", + "properties": { + "results": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/v1InspectPoliciesResponseResult" + } + } + }, + "description": "Inspect policies response" + }, + "v1InspectPoliciesResponseResult": { + "type": "object", + "properties": { + "actions": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "v1ListAuditLogEntriesRequestKind": { "type": "string", "enum": [ @@ -3277,6 +3347,17 @@ } } }, + "v1TestResultsResult": { + "type": "string", + "enum": [ + "RESULT_UNSPECIFIED", + "RESULT_SKIPPED", + "RESULT_PASSED", + "RESULT_FAILED", + "RESULT_ERRORED" + ], + "default": "RESULT_UNSPECIFIED" + }, "v1Trace": { "type": "object", "properties": { diff --git a/tools/go.mod b/tools/go.mod index 9a55ffe62e..7e8543de82 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -5,31 +5,31 @@ go 1.22 toolchain go1.22.0 require ( - github.com/bufbuild/buf v1.29.0 - github.com/cerbos/protoc-gen-go-hashpb v0.2.0 + github.com/bufbuild/buf v1.30.0 + github.com/cerbos/protoc-gen-go-hashpb v0.3.1 github.com/cerbos/protoc-gen-jsonschema v0.1.2 github.com/fullstorydev/grpcurl v1.8.9 github.com/google/go-licenses v1.6.0 github.com/goreleaser/goreleaser v1.24.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 github.com/planetscale/vtprotobuf v0.6.0 - github.com/vektra/mockery/v2 v2.42.0 + github.com/vektra/mockery/v2 v2.42.1 go.elastic.co/go-licence-detector v0.6.0 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 - google.golang.org/protobuf v1.32.0 + google.golang.org/protobuf v1.33.0 gotest.tools/gotestsum v1.11.0 ) require ( - buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20231115204500-e097f827e652.1 // indirect - cloud.google.com/go v0.111.0 // indirect + buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240221180331-f05a6f4403ce.1 // indirect + cloud.google.com/go v0.112.0 // indirect cloud.google.com/go/compute v1.23.3 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.5 // indirect cloud.google.com/go/kms v1.15.5 // indirect - cloud.google.com/go/storage v1.35.1 // indirect + cloud.google.com/go/storage v1.36.0 // indirect code.gitea.io/sdk/gitea v0.17.1 // indirect - connectrpc.com/connect v1.14.0 // indirect + connectrpc.com/connect v1.15.0 // indirect connectrpc.com/otelconnect v0.7.0 // indirect dario.cat/mergo v1.0.0 // indirect github.com/AlekSi/pointer v1.2.0 // indirect @@ -89,9 +89,9 @@ require ( github.com/bahlo/generic-list-go v0.2.0 // indirect github.com/bitfield/gotestdox v0.2.1 // indirect github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb // indirect - github.com/bufbuild/protocompile v0.8.0 // indirect - github.com/bufbuild/protovalidate-go v0.5.0 // indirect - github.com/bufbuild/protoyaml-go v0.1.7 // indirect + github.com/bufbuild/protocompile v0.9.0 // indirect + github.com/bufbuild/protovalidate-go v0.6.0 // indirect + github.com/bufbuild/protoyaml-go v0.1.8 // indirect github.com/buger/jsonparser v1.1.1 // indirect github.com/caarlos0/ctrlc v1.2.0 // indirect github.com/caarlos0/env/v9 v9.0.0 // indirect @@ -109,7 +109,7 @@ require ( github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 // indirect github.com/cloudflare/circl v1.3.7 // indirect github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe // indirect - github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101 // indirect + github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa // indirect github.com/containerd/stargz-snapshotter/estargz v0.15.1 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect @@ -120,22 +120,22 @@ require ( github.com/dimchansky/utfbom v1.1.1 // indirect github.com/distribution/reference v0.5.0 // indirect github.com/dnephin/pflag v1.0.7 // indirect - github.com/docker/cli v24.0.7+incompatible // indirect + github.com/docker/cli v25.0.4+incompatible // indirect github.com/docker/distribution v2.8.3+incompatible // indirect - github.com/docker/docker v25.0.0+incompatible // indirect + github.com/docker/docker v25.0.5+incompatible // indirect github.com/docker/docker-credential-helpers v0.8.1 // indirect github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/elliotchance/orderedmap/v2 v2.2.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect - github.com/envoyproxy/go-control-plane v0.11.1 // indirect + github.com/envoyproxy/go-control-plane v0.12.0 // indirect github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect github.com/evanphx/json-patch/v5 v5.6.0 // indirect github.com/fatih/color v1.15.0 // indirect - github.com/felixge/fgprof v0.9.3 // indirect + github.com/felixge/fgprof v0.9.4 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/go-chi/chi/v5 v5.0.11 // indirect + github.com/go-chi/chi/v5 v5.0.12 // indirect github.com/go-fed/httpsig v1.1.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect @@ -160,14 +160,14 @@ require ( github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang-jwt/jwt/v5 v5.1.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/cel-go v0.19.0 // indirect + github.com/golang/protobuf v1.5.4 // indirect + github.com/google/cel-go v0.20.1 // indirect github.com/google/go-containerregistry v0.19.0 // indirect github.com/google/go-github/v57 v57.0.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/ko v0.15.1 // indirect github.com/google/licenseclassifier v0.0.0-20210722185704-3043a050f148 // indirect - github.com/google/pprof v0.0.0-20240117000934-35fc243c5815 // indirect + github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7 // indirect github.com/google/rpmpack v0.5.0 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2 // indirect @@ -193,13 +193,13 @@ require ( github.com/invopop/jsonschema v0.12.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jdx/go-netrc v1.0.0 // indirect - github.com/jhump/protoreflect v1.15.4 // indirect + github.com/jhump/protoreflect v1.15.6 // indirect github.com/jinzhu/copier v0.3.5 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/karrick/godirwalk v1.16.1 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect - github.com/klauspost/compress v1.17.5 // indirect + github.com/klauspost/compress v1.17.7 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/letsencrypt/boulder v0.0.0-20231026200631-000cd05d5491 // indirect @@ -226,7 +226,7 @@ require ( github.com/muesli/termenv v0.15.2 // indirect github.com/oklog/ulid v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0-rc5 // indirect + github.com/opencontainers/image-spec v1.1.0 // indirect github.com/otiai10/copy v1.6.0 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.1.0 // indirect @@ -259,7 +259,6 @@ require ( github.com/stoewer/go-strcase v1.3.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/technoweenie/multipartstreamer v1.0.1 // indirect - github.com/tetratelabs/wazero v1.6.0 // indirect github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 // indirect github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 // indirect github.com/ulikunitz/xz v0.5.11 // indirect @@ -271,38 +270,39 @@ require ( gitlab.com/digitalxero/go-conventional-commit v1.0.7 // indirect go.mongodb.org/mongo-driver v1.12.1 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 // indirect - go.opentelemetry.io/otel v1.22.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0 // indirect - go.opentelemetry.io/otel/metric v1.22.0 // indirect - go.opentelemetry.io/otel/sdk v1.22.0 // indirect - go.opentelemetry.io/otel/trace v1.22.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/sdk v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect go.opentelemetry.io/proto/otlp v1.1.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/automaxprocs v1.5.3 // indirect go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.26.0 // indirect + go.uber.org/zap v1.27.0 // indirect gocloud.dev v0.36.0 // indirect - golang.org/x/crypto v0.18.0 // indirect - golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect - golang.org/x/mod v0.14.0 // indirect - golang.org/x/net v0.20.0 // indirect + golang.org/x/crypto v0.22.0 // indirect + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect + golang.org/x/mod v0.16.0 // indirect + golang.org/x/net v0.24.0 // indirect golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.6.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/term v0.19.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/time v0.4.0 // indirect - golang.org/x/tools v0.17.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.19.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/api v0.151.0 // indirect + google.golang.org/api v0.155.0 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe // indirect - google.golang.org/grpc v1.61.0 // indirect + google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240304212257-790db918fca8 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240304212257-790db918fca8 // indirect + google.golang.org/grpc v1.62.0 // indirect gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect - gopkg.in/go-jose/go-jose.v2 v2.6.1 // indirect + gopkg.in/go-jose/go-jose.v2 v2.6.3 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/mail.v2 v2.3.1 // indirect gopkg.in/src-d/go-billy.v4 v4.3.2 // indirect diff --git a/tools/go.sum b/tools/go.sum index 504c4da1d6..d3f23d60ae 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -1,5 +1,5 @@ -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20231115204500-e097f827e652.1 h1:u0olL4yf2p7Tl5jfsAK5keaFi+JFJuv1CDHrbiXkxkk= -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.32.0-20231115204500-e097f827e652.1/go.mod h1:tiTMKD8j6Pd/D2WzREoweufjzaJKHZg35f/VGcZ2v3I= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240221180331-f05a6f4403ce.1 h1:0nWhrRcnkgw1kwJ7xibIO8bqfOA7pBzBjGCDBxIHch8= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240221180331-f05a6f4403ce.1/go.mod h1:Tgn5bgL220vkFOI0KPStlcClPeOJzAv4uT+V8JXGUnw= 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= @@ -34,8 +34,8 @@ cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2Z cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= -cloud.google.com/go v0.111.0 h1:YHLKNupSD1KqjDbQ3+LVdQ81h/UJbJyZG203cEfnQgM= -cloud.google.com/go v0.111.0/go.mod h1:0mibmpKP1TyOOFYQY5izo0LnT+ecvOQ0Sg3OdmMiNRU= +cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= +cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -71,12 +71,12 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= -cloud.google.com/go/storage v1.35.1 h1:B59ahL//eDfx2IIKFBeT5Atm9wnNmj3+8xG/W4WB//w= -cloud.google.com/go/storage v1.35.1/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= +cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= +cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= code.gitea.io/sdk/gitea v0.17.1 h1:3jCPOG2ojbl8AcfaUCRYLT5MUcBMFwS0OSK2mA5Zok8= code.gitea.io/sdk/gitea v0.17.1/go.mod h1:aCnBqhHpoEWA180gMbaCtdX9Pl6BWBAuuP2miadoTNM= -connectrpc.com/connect v1.14.0 h1:PDS+J7uoz5Oui2VEOMcfz6Qft7opQM9hPiKvtGC01pA= -connectrpc.com/connect v1.14.0/go.mod h1:uoAq5bmhhn43TwhaKdGKN/bZcGtzPW1v+ngDTn5u+8s= +connectrpc.com/connect v1.15.0 h1:lFdeCbZrVVDydAqwr4xGV2y+ULn+0Z73s5JBj2LikWo= +connectrpc.com/connect v1.15.0/go.mod h1:bQmjpDY8xItMnttnurVgOkHUBMRT9cpsNi2O4AjKhmA= connectrpc.com/otelconnect v0.7.0 h1:ZH55ZZtcJOTKWWLy3qmL4Pam4RzRWBJFOqTPyAqCXkY= connectrpc.com/otelconnect v0.7.0/go.mod h1:Bt2ivBymHZHqxvo4HkJ0EwHuUzQN6k2l0oH+mp/8nwc= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= @@ -234,14 +234,14 @@ github.com/bitfield/gotestdox v0.2.1 h1:Zj8IMLAO5/oiAKoMmtN96eyFiPZraJRTH2p0zDgt github.com/bitfield/gotestdox v0.2.1/go.mod h1:D+gwtS0urjBrzguAkTM2wodsTQYFHdpx8eqRJ3N+9pY= github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4= github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI= -github.com/bufbuild/buf v1.29.0 h1:llP6HqOcCaSGBxOfnrp/mwvcY1O/dciEOl1QaMEOB3M= -github.com/bufbuild/buf v1.29.0/go.mod h1:UTjvPXTObvKQiGqxod32wt9zRz70TJsMpaigpbIZGuc= -github.com/bufbuild/protocompile v0.8.0 h1:9Kp1q6OkS9L4nM3FYbr8vlJnEwtbpDPQlQOVXfR+78s= -github.com/bufbuild/protocompile v0.8.0/go.mod h1:+Etjg4guZoAqzVk2czwEQP12yaxLJ8DxuqCJ9qHdH94= -github.com/bufbuild/protovalidate-go v0.5.0 h1:xFery2RlLh07FQTvB7hlasKqPrDK2ug+uw6DUiuadjo= -github.com/bufbuild/protovalidate-go v0.5.0/go.mod h1:3XAwFeJ2x9sXyPLgkxufH9sts1tQRk8fdt1AW93NiUU= -github.com/bufbuild/protoyaml-go v0.1.7 h1:3uKIoNb/l5zrZ93u+Xzsg6cdAO06lveZE/K7UUbUQLw= -github.com/bufbuild/protoyaml-go v0.1.7/go.mod h1:R8vE2+l49bSiIExP4VJpxOXleHE+FDzZ6HVxr3cYunw= +github.com/bufbuild/buf v1.30.0 h1:V/Gir+aVKukqI/w2Eqoiv4tqUs01KBWP9t3Hz/9/25I= +github.com/bufbuild/buf v1.30.0/go.mod h1:vfr2bN0OlblcfLHKJNMixj7WohlMlFX4yB4L3VZq7A8= +github.com/bufbuild/protocompile v0.9.0 h1:DI8qLG5PEO0Mu1Oj51YFPqtx6I3qYXUAhJVJ/IzAVl0= +github.com/bufbuild/protocompile v0.9.0/go.mod h1:s89m1O8CqSYpyE/YaSGtg1r1YFMF5nLTwh4vlj6O444= +github.com/bufbuild/protovalidate-go v0.6.0 h1:Jgs1kFuZ2LHvvdj8SpCLA1W/+pXS8QSM3F/E2l3InPY= +github.com/bufbuild/protovalidate-go v0.6.0/go.mod h1:1LamgoYHZ2NdIQH0XGczGTc6Z8YrTHjcJVmiBaar4t4= +github.com/bufbuild/protoyaml-go v0.1.8 h1:X9QDLfl9uEllh4gsXUGqPanZYCOKzd92uniRtW2OnAQ= +github.com/bufbuild/protoyaml-go v0.1.8/go.mod h1:R8vE2+l49bSiIExP4VJpxOXleHE+FDzZ6HVxr3cYunw= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= @@ -269,8 +269,8 @@ github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cerbos/protoc-gen-go-hashpb v0.2.0 h1:gX4qkTH3T5ut5F2+v/q4cvJAnAdnuyZZ0SHCM2JoGJo= -github.com/cerbos/protoc-gen-go-hashpb v0.2.0/go.mod h1:S0KZ2KHS5353Rmha7gK8IbG5Wu6uinnIyT9GXbde7OU= +github.com/cerbos/protoc-gen-go-hashpb v0.3.1 h1:L4hCTPoDJBGGj1jO19Wx/rQggJTgE04dsmJnMX4hROs= +github.com/cerbos/protoc-gen-go-hashpb v0.3.1/go.mod h1:GTbNeq3ZisMx/dp38AkYjehv1uFq+/H8hYbdKfDz3yM= github.com/cerbos/protoc-gen-jsonschema v0.1.2 h1:k74/s1t8qQ6oygBUUpwgh8fCgopz4eWMxx0JznZZAmo= github.com/cerbos/protoc-gen-jsonschema v0.1.2/go.mod h1:xkGt1u9lHlAgNdZRuQXVz7B+JZBhDbmT2JG7E7lOsAo= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= @@ -287,9 +287,15 @@ github.com/chigopher/pathlib v0.19.1 h1:RoLlUJc0CqBGwq239cilyhxPNLXTK+HXoASGyGzn github.com/chigopher/pathlib v0.19.1/go.mod h1:tzC1dZLW8o33UQpWkNkhvPwL5n4yyFRFm/jL1YGWFvY= github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 h1:krfRl01rzPzxSxyLyrChD+U+MzsBXbm0OwYYB67uF+4= github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589/go.mod h1:OuDyvmLnMCwa2ep4Jkm6nyA0ocJuZlGyk2gGseVzERM= +github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= +github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs= +github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= @@ -305,8 +311,8 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101 h1:7To3pQ+pZo0i3dsWEbinPNFs5gPSBOsJtx3wTT94VBY= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= @@ -347,12 +353,12 @@ github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/dnephin/pflag v1.0.7 h1:oxONGlWxhmUct0YzKTgrpQv9AUA1wtPBn7zuSjJqptk= github.com/dnephin/pflag v1.0.7/go.mod h1:uxE91IoWURlOiTUIA8Mq5ZZkAv3dPUfZNaT80Zm7OQE= -github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1xfI36MSkFg= -github.com/docker/cli v24.0.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v25.0.4+incompatible h1:DatRkJ+nrFoYL2HZUzjM5Z5sAmcA5XGp+AW0oEw2+cA= +github.com/docker/cli v25.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v25.0.0+incompatible h1:g9b6wZTblhMgzOT2tspESstfw6ySZ9kdm94BLDKaZac= -github.com/docker/docker v25.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v25.0.5+incompatible h1:UmQydMduGkrD5nQde1mecF/YnSbTOaPeFIeP5C4W+DE= +github.com/docker/docker v25.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.8.1 h1:j/eKUktUltBtMzKqmfLB0PAgqYyMHOp5vfsD1807oKo= github.com/docker/docker-credential-helpers v0.8.1/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= @@ -377,8 +383,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= -github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM= -github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= +github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI= +github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= @@ -386,8 +392,9 @@ github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJ github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= -github.com/felixge/fgprof v0.9.3 h1:VvyZxILNuCiUCSXtPtYmmtGvb65nqXh2QFWc0Wpf2/g= github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= +github.com/felixge/fgprof v0.9.4 h1:ocDNwMFlnA0NU0zSB3I52xkO4sFXk80VK9lXjLClu88= +github.com/felixge/fgprof v0.9.4/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= @@ -402,8 +409,8 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= -github.com/go-chi/chi/v5 v5.0.11 h1:BnpYbFZ3T3S1WMpD79r7R5ThWX40TaFB7L31Y8xqSwA= -github.com/go-chi/chi/v5 v5.0.11/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-chi/chi/v5 v5.0.12 h1:9euLV5sTrTNTRUU9POmDUvfxyj6LAABLUcEWO+JJb4s= +github.com/go-chi/chi/v5 v5.0.12/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI= github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -496,6 +503,9 @@ github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/V github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= @@ -541,14 +551,14 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/cel-go v0.19.0 h1:vVgaZoHPBDd1lXCYGQOh5A06L4EtuIfmqQ/qnSXSKiU= -github.com/google/cel-go v0.19.0/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg= +github.com/google/cel-go v0.20.1 h1:nDx9r8S3L4pE61eDdt8igGj8rf5kjYR3ILxWIpWNi84= +github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -608,8 +618,8 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe 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-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= -github.com/google/pprof v0.0.0-20240117000934-35fc243c5815 h1:WzfWbQz/Ze8v6l++GGbGNFZnUShVpP/0xffCPLL+ax8= -github.com/google/pprof v0.0.0-20240117000934-35fc243c5815/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7 h1:y3N7Bm7Y9/CtpiVkw/ZWj6lSlDF3F74SfKwfTCer72Q= +github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/rpmpack v0.5.0 h1:L16KZ3QvkFGpYhmp23iQip+mx1X39foEsqszjMNBm8A= github.com/google/rpmpack v0.5.0/go.mod h1:uqVAUVQLq8UY2hCDfmJ/+rtO3aw7qyhc90rCVEabEfI= @@ -687,6 +697,7 @@ github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= @@ -703,8 +714,8 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i github.com/jdx/go-netrc v1.0.0 h1:QbLMLyCZGj0NA8glAhxUpf1zDg6cxnWgMBbjq40W0gQ= github.com/jdx/go-netrc v1.0.0/go.mod h1:Gh9eFQJnoTNIRHXl2j5bJXA1u84hQWJWgGh569zF3v8= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.15.4 h1:mrwJhfQGGljwvR/jPEocli8KA6G9afbQpH8NY2wORcI= -github.com/jhump/protoreflect v1.15.4/go.mod h1:2B+zwrnMY3TTIqEK01OG/d3pyUycQBfDf+bx8fE2DNg= +github.com/jhump/protoreflect v1.15.6 h1:WMYJbw2Wo+KOWwZFvgY0jMoVHM6i4XIvRs2RcBj5VmI= +github.com/jhump/protoreflect v1.15.6/go.mod h1:jCHoyYQIJnaabEYnbGwyo9hUqfyUMTbJw/tAut5t97E= github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= @@ -731,8 +742,8 @@ github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -749,6 +760,7 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= github.com/letsencrypt/boulder v0.0.0-20231026200631-000cd05d5491 h1:WGrKdjHtWC67RX96eTkYD2f53NDHhrq/7robWTAfk4s= github.com/letsencrypt/boulder v0.0.0-20231026200631-000cd05d5491/go.mod h1:o158RFmdEbYyIZmXAbrvmJWesbyxlLKee6X64VPVuOc= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= @@ -820,10 +832,11 @@ github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= -github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= +github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= +github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= github.com/opencontainers/runc v1.1.12 h1:BOIssBaW1La0/qbNZHXOOa71dZfZEQOzW7dqQf3phss= github.com/opencontainers/runc v1.1.12/go.mod h1:S+lQwSfncpBha7XTy/5lBwWgm5+y5Ma/O44Ekby9FK8= +github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= github.com/ory/dockertest/v3 v3.10.0 h1:4K3z2VMe8Woe++invjaTB7VRyQXQy5UY+loujO4aNE4= github.com/ory/dockertest/v3 v3.10.0/go.mod h1:nr57ZbRWMqfsdGdFNLHz5jjNdDb7VVFnzAeW1n5N1Lg= github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= @@ -954,14 +967,13 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/technoweenie/multipartstreamer v1.0.1 h1:XRztA5MXiR1TIRHxH2uNxXxaIkKQDeX7m2XsSOlQEnM= github.com/technoweenie/multipartstreamer v1.0.1/go.mod h1:jNVxdtShOxzAsukZwTSw6MDx5eUJoiEBsSvzDU9uzog= -github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g= -github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0= github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs= @@ -971,8 +983,8 @@ github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts= github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk= -github.com/vektra/mockery/v2 v2.42.0 h1:xnP1KXjpcc1GD8jHRjgdpRIW4LDK5MdSMrhbJizAmaI= -github.com/vektra/mockery/v2 v2.42.0/go.mod h1:XNTE9RIu3deGAGQRVjP1VZxGpQNm0YedZx4oDs3prr8= +github.com/vektra/mockery/v2 v2.42.1 h1:z7l3O4jCzRZat3rm9jpHc8lzpR8bs1VBii7bYtl3KQs= +github.com/vektra/mockery/v2 v2.42.1/go.mod h1:XNTE9RIu3deGAGQRVjP1VZxGpQNm0YedZx4oDs3prr8= github.com/withfig/autocomplete-tools/integrations/cobra v1.2.1 h1:+dBg5k7nuTE38VVdoroRsT0Z88fmvdYrI2EjzJst35I= github.com/withfig/autocomplete-tools/integrations/cobra v1.2.1/go.mod h1:nmuySobZb4kFgFy6BptpXp/BBw+xFSyvVPP6auoJB4k= github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= @@ -1022,22 +1034,24 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= -go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= -go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 h1:SpGay3w+nEwMpfVnbqOLH5gY52/foP8RE8UzTZ1pdSE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0 h1:9M3+rhx7kZCIQQhQRYaZCdNu1V73tm4TvXs2ntl98C4= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0/go.mod h1:noq80iT8rrHP1SfybmPiRGc9dc5M8RPmGvtwo7Oo7tc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 h1:FyjCyI9jVEfqhUh2MoSkmolPjfh5fp2hnV0b0irxH4Q= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0/go.mod h1:hYwym2nDEeZfG/motx0p7L7J1N1vyzIThemQsb4g2qY= -go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= -go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= -go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= -go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= +go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= go.opentelemetry.io/otel/sdk/metric v1.19.0 h1:EJoTO5qysMsYCa+w4UghwFV/ptQgqSL/8Ni+hx+8i1k= go.opentelemetry.io/otel/sdk/metric v1.19.0/go.mod h1:XjG0jQyFJrv2PbMvwND7LwCEhsJzCzV5210euduKcKY= -go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= -go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI= go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY= @@ -1049,8 +1063,8 @@ 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/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.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= -go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= gocloud.dev v0.36.0 h1:q5zoXux4xkOZP473e1EZbG8Gq9f0vlg1VNH5Du/ybus= gocloud.dev v0.36.0/go.mod h1:bLxah6JQVKBaIxzsr5BQLYB4IYdWHkMZdzCXlo6F0gg= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1076,8 +1090,8 @@ golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58 golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1088,8 +1102,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= 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-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o= -golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= 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= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1120,8 +1134,8 @@ golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= +golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1175,8 +1189,8 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1285,6 +1299,7 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1304,8 +1319,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1316,8 +1331,8 @@ golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1339,8 +1354,8 @@ golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.4.0 h1:Z81tqI5ddIoXDPvVQ7/7CC9TnLM7ubaFG2qXYd5BbYY= -golang.org/x/time v0.4.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -1405,8 +1420,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= -golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= -golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= +golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1457,8 +1472,8 @@ google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6r google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.151.0 h1:FhfXLO/NFdJIzQtCqjpysWwqKk8AzGWBUhMIx67cVDU= -google.golang.org/api v0.151.0/go.mod h1:ccy+MJ6nrYFgE3WgRx/AMXOxOmU8Q4hSa+jjibzhxcg= +google.golang.org/api v0.155.0 h1:vBmGhCYs0djJttDNynWo44zosHlPvHmA0XiN2zP2DtA= +google.golang.org/api v0.155.0/go.mod h1:GI5qK5f40kCpHfPn6+YzGAByIKWv8ujFnmoWm7Igduk= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1553,12 +1568,12 @@ google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljW google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac h1:ZL/Teoy/ZGnzyrqK/Optxxp2pmVh+fmJ97slxSRyzUg= -google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe h1:0poefMBYvYbs7g5UkjS6HcxBPaTRAmznle9jnxYoAI8= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe h1:bQnxqljG/wqi4NTXu2+DJ3n7APcEA882QZ1JvhQAq9o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= +google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= +google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= +google.golang.org/genproto/googleapis/api v0.0.0-20240304212257-790db918fca8 h1:8eadJkXbwDEMNwcB5O0s5Y5eCfyuCLdvaiOIaGTrWmQ= +google.golang.org/genproto/googleapis/api v0.0.0-20240304212257-790db918fca8/go.mod h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240304212257-790db918fca8 h1:IR+hp6ypxjH24bkMfEJ0yHR21+gwPWdV+/IBrPQyn3k= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240304212257-790db918fca8/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1591,8 +1606,8 @@ google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= -google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= @@ -1611,8 +1626,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1623,8 +1638,8 @@ gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/go-jose/go-jose.v2 v2.6.1 h1:qEzJlIDmG9q5VO0M/o8tGS65QMHMS1w01TQJB1VPJ4U= -gopkg.in/go-jose/go-jose.v2 v2.6.1/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= +gopkg.in/go-jose/go-jose.v2 v2.6.3 h1:nt80fvSDlhKWQgSWyHyy5CfmlQr+asih51R8PTWNKKs= +gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mail.v2 v2.3.1 h1:WYFn/oANrAGP2C0dcV6/pbkPzv8yGzqTjPmTeO7qoXk=