diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 441ff4bdf..251b4b525 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -47,7 +47,7 @@ jobs: - name: Set up Go uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 with: - go-version: "1.23.6" + go-version: "1.24.2" # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 0279b259d..00b16c310 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -26,23 +26,23 @@ jobs: steps: - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 with: - go-version: "1.23.6" + go-version: "1.24.2" - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Lint main module - uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0 + uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd # 7.0.0 if: ${{ matrix.app == 'main-module' }} with: - version: v1.60.3 + version: v2.0.2 only-new-issues: 'true' - name: Lint ${{ matrix.app }} - uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0 + uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd # 7.0.0 if: ${{ matrix.app != 'main-module' }} with: working-directory: app/${{ matrix.app }} - version: v1.60.3 + version: v2.0.2 only-new-issues: 'true' lint-protos: @@ -62,11 +62,11 @@ jobs: run: | mkdir -p ~/.local/bin cd ~/.local - curl -L https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.15.1 sh + curl -L https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.18.1 sh - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 with: - go-version: "1.23.6" + go-version: "1.24.2" - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -75,8 +75,8 @@ jobs: make -C extras/dagger module-init - name: Lint - uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0 + uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd # 7.0.0 with: working-directory: extras/dagger - version: v1.60.3 + version: v2.0.2 only-new-issues: 'true' diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 97bcf10e4..53c859059 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -74,7 +74,7 @@ jobs: - name: Set up Go uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 with: - go-version: "1.23.6" + go-version: "1.24.2" # install qemu binaries for multiarch builds (needed by goreleaser/buildx) - name: Setup qemu diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1d491f573..b83c27676 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 with: - go-version: "1.23.6" + go-version: "1.24.2" cache: true cache-dependency-path: go.sum diff --git a/.golangci.yml b/.golangci.yml index 2373696f8..2e2dd3330 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,85 +1,91 @@ -run: - timeout: 10m - +version: "2" linters: - # Note that there are some linters enabled by default, see golang-ci linters enable: - - goheader - - dupl - - gofmt - - goimports - - misspell - - nakedret - - revive - - gosec - asciicheck - - whitespace + - copyloopvar + - dogsled + - dupl - errorlint - forbidigo + - goconst - gocritic + - gocyclo + - goheader + - goprintffuncname + - gosec - importas + - misspell + - nakedret - prealloc - - stylecheck + - revive + - staticcheck - unconvert - - dogsled - - goconst - - copyloopvar - - gocyclo - - goprintffuncname - # Can't enable it for now, it crashes https://github.com/ent/ent/pull/3315 - # - unparam - -linters-settings: - gosec: - excludes: - # https://github.com/moby/moby/issues/48358 - - G115 - # We have the endpoint enabled on demand - - G108 - gofmt: - simplify: true - dupl: - threshold: 400 - goheader: - template: |- - Copyright {{copyright-year}} The Chainloop Authors. + - whitespace + settings: + dupl: + threshold: 400 + forbidigo: + forbid: + - pattern: ^print.*$ + - pattern: ^t\.Error.*$(# forbid t.Error in favor of using testify\.)? + - pattern: ^t\.Fatal.*$(# forbid t.Fatal in favor of using testify\.)? + goheader: + values: + regexp: + copyright-year: 202[0-9](-202[0-9])? + template: |- + Copyright {{copyright-year}} The Chainloop Authors. - 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 + 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 + 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. - values: - regexp: - # support of single or range-based years i.e 2024 2024-2025 2024-2026 - copyright-year: "202[0-9](-202[0-9])?" - forbidigo: - forbid: - - ^print.*$ - - '^t\.Error.*$(# forbid t.Error in favor of using testify\.)?' - - '^t\.Fatal.*$(# forbid t.Fatal in favor of using testify\.)?' - staticcheck: - # SAxxxx checks in https://staticcheck.io/docs/configuration/options/#checks - # Disable deprecation checks, note that we need to deprecate it because golangci-lint doesn't support - # setting a non-error exit code on info severity (setup below) - # https://github.com/golangci/golangci-lint/issues/1981 - checks: ["all", "-SA1019"] + 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. + gosec: + excludes: + - G115 + - G108 + staticcheck: + checks: + - -SA1019 + - all + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + rules: + - path: _test\.go + text: Potential hardcoded credentials + paths: + - third_party$ + - builtin$ + - examples$ severity: - default-severity: error - # NOTE: this still makes the CLI exit with 1 hence the fact that we disabled the rule above as well - # https://github.com/golangci/golangci-lint/issues/1981 + default: error rules: - linters: - staticcheck - text: "SA1019:" + text: 'SA1019:' severity: info -issues: - exclude-rules: - - path: _test\.go - text: "Potential hardcoded credentials" \ No newline at end of file +formatters: + enable: + - gofmt + - goimports + settings: + gofmt: + simplify: true + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ diff --git a/app/artifact-cas/Dockerfile b/app/artifact-cas/Dockerfile index f39f10ff8..2e988cfd9 100644 --- a/app/artifact-cas/Dockerfile +++ b/app/artifact-cas/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.23@sha256:927112936d6b496ed95f55f362cc09da6e3e624ef868814c56d55bd7323e0959 AS builder +FROM golang:1.24@sha256:991aa6a6e4431f2f01e869a812934bd60fbc87fb939e4a1ea54b8494ab9d2fc6 AS builder # Not linked libraries since it will be injected into a scratch container ENV CGO_ENABLED=0 diff --git a/app/artifact-cas/Dockerfile.goreleaser b/app/artifact-cas/Dockerfile.goreleaser index e21d537af..3c8a0d313 100644 --- a/app/artifact-cas/Dockerfile.goreleaser +++ b/app/artifact-cas/Dockerfile.goreleaser @@ -1,4 +1,4 @@ -FROM golang:1.23@sha256:927112936d6b496ed95f55f362cc09da6e3e624ef868814c56d55bd7323e0959 AS builder +FROM golang:1.24@sha256:991aa6a6e4431f2f01e869a812934bd60fbc87fb939e4a1ea54b8494ab9d2fc6 AS builder FROM scratch diff --git a/app/cli/Dockerfile.goreleaser b/app/cli/Dockerfile.goreleaser index a189a2f4f..1e48f31dd 100644 --- a/app/cli/Dockerfile.goreleaser +++ b/app/cli/Dockerfile.goreleaser @@ -1,4 +1,4 @@ -FROM golang:1.23@sha256:927112936d6b496ed95f55f362cc09da6e3e624ef868814c56d55bd7323e0959 AS builder +FROM golang:1.24@sha256:991aa6a6e4431f2f01e869a812934bd60fbc87fb939e4a1ea54b8494ab9d2fc6 AS builder RUN mkdir -p /.config/chainloop FROM scratch diff --git a/app/controlplane/Dockerfile b/app/controlplane/Dockerfile index 556f4cd4b..4ab38b434 100644 --- a/app/controlplane/Dockerfile +++ b/app/controlplane/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.23@sha256:927112936d6b496ed95f55f362cc09da6e3e624ef868814c56d55bd7323e0959 AS builder +FROM golang:1.24@sha256:991aa6a6e4431f2f01e869a812934bd60fbc87fb939e4a1ea54b8494ab9d2fc6 AS builder # Not linked libraries since it will be injected into a scratch container ENV CGO_ENABLED=0 diff --git a/app/controlplane/Dockerfile.goreleaser b/app/controlplane/Dockerfile.goreleaser index 43fd71aa3..f70408c2c 100644 --- a/app/controlplane/Dockerfile.goreleaser +++ b/app/controlplane/Dockerfile.goreleaser @@ -1,4 +1,4 @@ -FROM golang:1.23@sha256:927112936d6b496ed95f55f362cc09da6e3e624ef868814c56d55bd7323e0959 AS builder +FROM golang:1.24@sha256:991aa6a6e4431f2f01e869a812934bd60fbc87fb939e4a1ea54b8494ab9d2fc6 AS builder FROM scratch diff --git a/app/controlplane/internal/service/attestationstate.go b/app/controlplane/internal/service/attestationstate.go index 119533cb5..28bd19ee9 100644 --- a/app/controlplane/internal/service/attestationstate.go +++ b/app/controlplane/internal/service/attestationstate.go @@ -97,7 +97,7 @@ func (s *AttestationStateService) Save(ctx context.Context, req *cpAPI.Attestati err = s.attestationStateUseCase.Save(ctx, wf.ID.String(), req.WorkflowRunId, req.AttestationState, encryptionPassphrase, biz.WithAttStateBaseDigest(req.GetBaseDigest())) if err != nil { if biz.IsErrAttestationStateConflict(err) { - return nil, cpAPI.ErrorAttestationStateErrorConflict(err.Error()) + return nil, cpAPI.ErrorAttestationStateErrorConflict("saving attestation: %s", err.Error()) } return nil, handleUseCaseErr(err, s.log) diff --git a/app/controlplane/internal/usercontext/allowlist_middleware.go b/app/controlplane/internal/usercontext/allowlist_middleware.go index 0c5f21beb..9a12f4415 100644 --- a/app/controlplane/internal/usercontext/allowlist_middleware.go +++ b/app/controlplane/internal/usercontext/allowlist_middleware.go @@ -65,7 +65,7 @@ func CheckUserInAllowList(allowList *conf.Auth_AllowList) middleware.Middleware msg = allowList.GetCustomMessage() } - return nil, v1.ErrorAllowListErrorNotInList(msg) + return nil, v1.ErrorAllowListErrorNotInList("%s", msg) } return handler(ctx, req) diff --git a/dagger.json b/dagger.json index 99aaddb50..ab48294ba 100644 --- a/dagger.json +++ b/dagger.json @@ -1,6 +1,8 @@ { "name": "chainloop", - "engineVersion": "v0.15.1", - "sdk": "go", + "engineVersion": "v0.18.1", + "sdk": { + "source": "go" + }, "source": "extras/dagger" } diff --git a/docs/docs/getting-started/attestation-crafting.md b/docs/docs/getting-started/attestation-crafting.md index eb9c3487f..aabec67d4 100644 --- a/docs/docs/getting-started/attestation-crafting.md +++ b/docs/docs/getting-started/attestation-crafting.md @@ -291,7 +291,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: "1.23.6" + go-version: "1.24.2" - name: Configure AWS credentials to push container images uses: aws-actions/configure-aws-credentials@v1 diff --git a/docs/examples/ci-workflows/github.yaml b/docs/examples/ci-workflows/github.yaml index d5ab9f662..e9953fb84 100644 --- a/docs/examples/ci-workflows/github.yaml +++ b/docs/examples/ci-workflows/github.yaml @@ -41,7 +41,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: "1.23.6" + go-version: "1.24.2" # Generate SBOM using syft in cycloneDX format - uses: anchore/sbom-action@v0 diff --git a/extras/dagger/.golangci.yml b/extras/dagger/.golangci.yml index 255c460a3..0cb3db035 100644 --- a/extras/dagger/.golangci.yml +++ b/extras/dagger/.golangci.yml @@ -1,29 +1,43 @@ -run: - skip-dirs: - internal - skip-files: - dagger.gen.go - +version: "2" linters: enable: - - dupl - - gofmt - - goimports - - misspell - - nakedret - - revive - - gosec - asciicheck - - whitespace + - dogsled + - dupl - errorlint - forbidigo + - goconst - gocritic + - gocyclo + - goprintffuncname + - gosec - importas + - misspell + - nakedret - prealloc - - stylecheck + - revive + - staticcheck - unconvert - - dogsled - - goconst - - exportloopref - - gocyclo - - goprintffuncname \ No newline at end of file + - whitespace + exclusions: + paths-except: + - internal + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ diff --git a/extras/dagger/go.mod b/extras/dagger/go.mod index 9fb813b53..7a2ce74db 100644 --- a/extras/dagger/go.mod +++ b/extras/dagger/go.mod @@ -1,12 +1,12 @@ module main -go 1.23.2 +go 1.23.6 -require github.com/Khan/genqlient v0.7.0 +require github.com/Khan/genqlient v0.8.0 require ( - github.com/vektah/gqlparser/v2 v2.5.19 - go.opentelemetry.io/otel/metric v1.27.0 + github.com/vektah/gqlparser/v2 v2.5.23 + go.opentelemetry.io/otel/metric v1.34.0 go.opentelemetry.io/proto/otlp v1.3.1 ) @@ -14,43 +14,42 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/text v0.21.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/protobuf v1.35.2 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 // indirect + golang.org/x/net v0.38.0 // indirect + golang.org/x/sys v0.31.0 // indirect + golang.org/x/text v0.23.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect + google.golang.org/protobuf v1.36.6 // indirect ) require ( - github.com/99designs/gqlgen v0.17.57 + github.com/99designs/gqlgen v0.17.70 github.com/google/uuid v1.6.0 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/sosodev/duration v1.3.1 // indirect - github.com/stretchr/testify v1.10.0 // indirect - go.opentelemetry.io/otel v1.27.0 - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.0.0-20240518090000-14441aefdf88 - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.3.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.27.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.27.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0 - go.opentelemetry.io/otel/log v0.3.0 - go.opentelemetry.io/otel/sdk v1.27.0 - go.opentelemetry.io/otel/sdk/log v0.3.0 - go.opentelemetry.io/otel/sdk/metric v1.27.0 - go.opentelemetry.io/otel/trace v1.27.0 - golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa - golang.org/x/sync v0.10.0 - google.golang.org/grpc v1.68.0 + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/otel v1.34.0 + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0 + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.8.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0 + go.opentelemetry.io/otel/log v0.8.0 + go.opentelemetry.io/otel/sdk v1.34.0 + go.opentelemetry.io/otel/sdk/log v0.8.0 + go.opentelemetry.io/otel/sdk/metric v1.34.0 + go.opentelemetry.io/otel/trace v1.34.0 + golang.org/x/sync v0.12.0 + google.golang.org/grpc v1.71.0 ) -replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.0.0-20240518090000-14441aefdf88 +replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0 -replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.3.0 +replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.8.0 -replace go.opentelemetry.io/otel/log => go.opentelemetry.io/otel/log v0.3.0 +replace go.opentelemetry.io/otel/log => go.opentelemetry.io/otel/log v0.8.0 -replace go.opentelemetry.io/otel/sdk/log => go.opentelemetry.io/otel/sdk/log v0.3.0 +replace go.opentelemetry.io/otel/sdk/log => go.opentelemetry.io/otel/sdk/log v0.8.0 diff --git a/extras/dagger/go.sum b/extras/dagger/go.sum index 070f357d3..b02fec5e2 100644 --- a/extras/dagger/go.sum +++ b/extras/dagger/go.sum @@ -1,7 +1,7 @@ -github.com/99designs/gqlgen v0.17.57 h1:Ak4p60BRq6QibxY0lEc0JnQhDurfhxA67sp02lMjmPc= -github.com/99designs/gqlgen v0.17.57/go.mod h1:Jx61hzOSTcR4VJy/HFIgXiQ5rJ0Ypw8DxWLjbYDAUw0= -github.com/Khan/genqlient v0.7.0 h1:GZ1meyRnzcDTK48EjqB8t3bcfYvHArCUUvgOwpz1D4w= -github.com/Khan/genqlient v0.7.0/go.mod h1:HNyy3wZvuYwmW3Y7mkoQLZsa/R5n5yIRajS1kPBvSFM= +github.com/99designs/gqlgen v0.17.70 h1:xgLIgQuG+Q2L/AE9cW595CT7xCWCe/bpPIFGSfsGSGs= +github.com/99designs/gqlgen v0.17.70/go.mod h1:fvCiqQAu2VLhKXez2xFvLmE47QgAPf/KTPN5XQ4rsHQ= +github.com/Khan/genqlient v0.8.0 h1:Hd1a+E1CQHYbMEKakIkvBH3zW0PWEeiX6Hp1i2kP2WE= +github.com/Khan/genqlient v0.8.0/go.mod h1:hn70SpYjWteRGvxTwo0kfaqg4wxvndECGkfa1fdDdYI= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -20,8 +20,8 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 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/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 h1:ad0vkEBuk23VJzZR9nkLVG0YAoN9coASF1GusYX6AlU= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0/go.mod h1:igFoXX2ELCW06bol23DWPB5BEWfZISOzSP5K2sbLea0= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -35,58 +35,58 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/vektah/gqlparser/v2 v2.5.19 h1:bhCPCX1D4WWzCDvkPl4+TP1N8/kLrWnp43egplt7iSg= -github.com/vektah/gqlparser/v2 v2.5.19/go.mod h1:y7kvl5bBlDeuWIvLtA9849ncyvx6/lj06RsMrEjVy3U= -go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg= -go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.0.0-20240518090000-14441aefdf88 h1:oM0GTNKGlc5qHctWeIGTVyda4iFFalOzMZ3Ehj5rwB4= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.0.0-20240518090000-14441aefdf88/go.mod h1:JGG8ebaMO5nXOPnvKEl+DiA4MGwFjCbjsxT1WHIEBPY= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.3.0 h1:ccBrA8nCY5mM0y5uO7FT0ze4S0TuFcWdDB2FxGMTjkI= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.3.0/go.mod h1:/9pb6634zi2Lk8LYg9Q0X8Ar6jka4dkFOylBLbVQPCE= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.27.0 h1:bFgvUr3/O4PHj3VQcFEuYKvRZJX1SJDQ+11JXuSB3/w= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.27.0/go.mod h1:xJntEd2KL6Qdg5lwp97HMLQDVeAhrYxmzFseAMDPQ8I= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.27.0 h1:CIHWikMsN3wO+wq1Tp5VGdVRTcON+DmOJSfDjXypKOc= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.27.0/go.mod h1:TNupZ6cxqyFEpLXAZW7On+mLFL0/g0TE3unIYL91xWc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0 h1:R9DE4kQ4k+YtfLI2ULwX82VtNQ2J8yZmA7ZIF/D+7Mc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0/go.mod h1:OQFyQVrDlbe+R7xrEyDr/2Wr67Ol0hRUgsfA+V5A95s= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0 h1:QY7/0NeRPKlzusf40ZE4t1VlMKbqSNT7cJRYzWuja0s= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0/go.mod h1:HVkSiDhTM9BoUJU8qE6j2eSWLLXvi1USXjyd2BXT8PY= -go.opentelemetry.io/otel/log v0.3.0 h1:kJRFkpUFYtny37NQzL386WbznUByZx186DpEMKhEGZs= -go.opentelemetry.io/otel/log v0.3.0/go.mod h1:ziCwqZr9soYDwGNbIL+6kAvQC+ANvjgG367HVcyR/ys= -go.opentelemetry.io/otel/metric v1.27.0 h1:hvj3vdEKyeCi4YaYfNjv2NUje8FqKqUY8IlF0FxV/ik= -go.opentelemetry.io/otel/metric v1.27.0/go.mod h1:mVFgmRlhljgBiuk/MP/oKylr4hs85GZAylncepAX/ak= -go.opentelemetry.io/otel/sdk v1.27.0 h1:mlk+/Y1gLPLn84U4tI8d3GNJmGT/eXe3ZuOXN9kTWmI= -go.opentelemetry.io/otel/sdk v1.27.0/go.mod h1:Ha9vbLwJE6W86YstIywK2xFfPjbWlCuwPtMkKdz/Y4A= -go.opentelemetry.io/otel/sdk/log v0.3.0 h1:GEjJ8iftz2l+XO1GF2856r7yYVh74URiF9JMcAacr5U= -go.opentelemetry.io/otel/sdk/log v0.3.0/go.mod h1:BwCxtmux6ACLuys1wlbc0+vGBd+xytjmjajwqqIul2g= -go.opentelemetry.io/otel/sdk/metric v1.27.0 h1:5uGNOlpXi+Hbo/DRoI31BSb1v+OGcpv2NemcCrOL8gI= -go.opentelemetry.io/otel/sdk/metric v1.27.0/go.mod h1:we7jJVrYN2kh3mVBlswtPU22K0SA+769l93J6bsyvqw= -go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw= -go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4= +github.com/vektah/gqlparser/v2 v2.5.23 h1:PurJ9wpgEVB7tty1seRUwkIDa/QH5RzkzraiKIjKLfA= +github.com/vektah/gqlparser/v2 v2.5.23/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0 h1:WzNab7hOOLzdDF/EoWCt4glhrbMPVMOO5JYTmpz36Ls= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0/go.mod h1:hKvJwTzJdp90Vh7p6q/9PAOd55dI6WA6sWj62a/JvSs= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.8.0 h1:S+LdBGiQXtJdowoJoQPEtI52syEP/JYBUpjO49EQhV8= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.8.0/go.mod h1:5KXybFvPGds3QinJWQT7pmXf+TN5YIa7CNYObWRkj50= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0 h1:j7ZSD+5yn+lo3sGV69nW04rRR0jhYnBwjuX3r0HvnK0= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0/go.mod h1:WXbYJTUaZXAbYd8lbgGuvih0yuCfOFC5RJoYnoLcGz8= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0 h1:t/Qur3vKSkUCcDVaSumWF2PKHt85pc7fRvFuoVT8qFU= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0/go.mod h1:Rl61tySSdcOJWoEgYZVtmnKdA0GeKrSqkHC1t+91CH8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 h1:IJFEoHiytixx8cMiVAO+GmHR6Frwu+u5Ur8njpFO6Ac= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0/go.mod h1:3rHrKNtLIoS0oZwkY2vxi+oJcwFRWdtUyRII+so45p8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 h1:9kV11HXBHZAvuPUZxmMWrH8hZn/6UnHX4K0mu36vNsU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0/go.mod h1:JyA0FHXe22E1NeNiHmVp7kFHglnexDQ7uRWDiiJ1hKQ= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0 h1:cMyu9O88joYEaI47CnQkxO1XZdpoTF9fEnW2duIddhw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0/go.mod h1:6Am3rn7P9TVVeXYG+wtcGE7IE1tsQ+bP3AuWcKt/gOI= +go.opentelemetry.io/otel/log v0.8.0 h1:egZ8vV5atrUWUbnSsHn6vB8R21G2wrKqNiDt3iWertk= +go.opentelemetry.io/otel/log v0.8.0/go.mod h1:M9qvDdUTRCopJcGRKg57+JSQ9LgLBrwwfC32epk5NX8= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/log v0.8.0 h1:zg7GUYXqxk1jnGF/dTdLPrK06xJdrXgqgFLnI4Crxvs= +go.opentelemetry.io/otel/sdk/log v0.8.0/go.mod h1:50iXr0UVwQrYS45KbruFrEt4LvAdCaWWgIrsN3ZQggo= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= -golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 h1:hjSy6tcFQZ171igDaN5QHOw2n6vx40juYbC/x67CEhc= -google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= -google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= -google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= -google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= +golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= +google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/go.mod b/go.mod index 0f699a754..a81f112fd 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/chainloop-dev/chainloop -go 1.23.6 +go 1.24.2 require ( cloud.google.com/go/secretmanager v1.14.0 diff --git a/pkg/credentials/gcp/testdata/test_gcp_key.json b/pkg/credentials/gcp/testdata/test_gcp_key.json index 42436c209..e563ec3f4 100644 --- a/pkg/credentials/gcp/testdata/test_gcp_key.json +++ b/pkg/credentials/gcp/testdata/test_gcp_key.json @@ -1,5 +1,6 @@ { - "comment": "this is not a valid service account key, it is meant for unit tests only", "type": "service_account", - "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDTJ2KDLgiBjoNm\nfEkbZvBJvLSCXKBol5NYJXsqmyZNPoWWcvRlMsBUn5u1+ibucXPmjDtaekr1j3n5\nnnLY1HgMmS6BX7wE7f2aiHouIafTSHT04kw6khxkuYc7qpFTUKrwkH5rBsDsu3S9\nkZs1pv2PAc9Qr2FA3g9gGv+jtAhIk5vaqskGfsndtIpnx0IxCvfelwGERZ/XUrlD\nHkfAlA6tkLO+WbP76qez3d/qPh1ftIgVw+hOUSLLc8S9xoT41hkCyXqiA+ELzam7\nMrQr1jY6NX4ttVQt1+mad3v1nYnzJ4G91Ty7S80Mp8cVDtdWJM4aBeI4Q3/PyqBM\n5Ir8OP+BAgMBAAECggEAMJvdetNrE+Ap8brk3ZEJ+f+eEnCeYNWcDuu5+enznE6r\nVCIsjutrCVAg+XiX48ZsZwObWk3S2croyoUmbTIkXMoawZ+3We8rtZp7fgkzaFlC\ny2kZIVangKyRLDQs9mAYqf6pi5vnZ9gTnNxbPbOupXBGOI3XNqaoJXixpw735TTi\nk6qP85U6zYHCI+2QFD7cLt7CE2r/2yV61rSTByDY+uowq1R0kjNqX0J0XW529Rdh\nSlyzvjuBqzYuOM/0JpRwPXFbw6WK5MsRNkkDbjS2vyhM+1l9FDQG03ealx0FvnSb\nA8i93Dt7io+6yB7TDAhJAdHMNEXRVXD79fiKox8oUQKBgQD6LE2kjQ2N4+MtFwYL\nsoA9BRela0XEruyCxFCZl7YTka9A28G62hu0B+NW/VlgSjBzv0dxy0avlL+5xmrl\n4ISI0QJKuK/2ZSr00YU2OBoMN3UokA2mxVvtoKLgybZK5Lt7Nocq2V7b2o2epdcp\nAYK/O4wckvHOKnduuwFFluf+/QKBgQDYEmxaPord5DDVeROK7nuE4M/S+Wc9LlDD\n59R0hgZhZcZFzwKadH6zAuSZ7fLMdv4o1wD7smDE66wYJpPa2R5si9GEbiISWdaC\nu1ENxXF0JbApTPrdjWNynAooLrWq4adfWciEzxXBMRixXuruRPc4l5pEDtx74tAB\nWMxNfs5j1QKBgQCYc2EJMo+c9M9ejdY4UJmHFdBYFKvadIJaGcnIH0RsXm3+xywi\ncoFJTzlBrHfHjs5B6sFd3fMAUlQXoItJ9Gyvdza/VBaevv3TXM6hwMRWx4DUrBw1\nkbU4dJhtBV7Z+tMo/YyXFwmQTnnYwNUB/xKu+FmknANQkF5hkwHuZ0yO/QKBgQDR\nvDhe9PyY3IqmfIuCvXE6j3pMAPm8gnu1XhB1Ny90VXU7h/Cv+sqNew5peHbJD+wv\nulvi9chG/bikDLZSpZSJqsKqeLkr9PZrGeZYpsI1CuxPesC8VCUnN94IGScQg0+T\nF7SzbcxhJgYhDdCfjmQnE8mTrJVKz+Q2mnpd8uvmLQKBgQDdtpUdf5gmY8l8E8x/\nV3qRQt3+bVPn6wzVj/MtEmaqSxESQmXwoBxxabrhvZjjjjeeEYm0FO7l9yCs/rCM\nf8LnTEHtOKEJ3DjirfreVB6KRBNTIrJLdWQr0A7VO4dqDnAHQlVrXGor0df7VO+u\nwoPesVoQ3NZgLdVmdMdSDF0xlA==\n-----END PRIVATE KEY-----\n" -} \ No newline at end of file + "private_key_id": "c5e224c31b0705cacfbb9929ee56d0664a76438e", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCaDRmlS/b+/Uld\nmq3/+qEwVGfGOR/TR3o6CkJG+LeEh4st8h0/pMM7j0SJKJLEh2vKZNYr9FJv2cUS\npPNkJTp6dTYERL09nnD8m6DAKoBcl04T1ExVtEpJDT+wzmUAEW1WCfzCWAHIWicH\nxwbt0rwEciY/htuAKCc/w32VTT84jBCpFmePrCKkBj7A7BSEtuGoCk+Op4P9J3Zc\nEGHSLHL/1GvZmQd81AehzYjerDTcNdhQDZEueteY2sDn/J6Tj1Eqq8SbPxiHPLye\nZfPUa76ivhkm9GdP7q02A/qkM+TzTC344dzvvEeX3Xz1vKcDdySrPgaojDsFL+0m\nHg6mVbedAgMBAAECggEAFyMOjf/5ydRa138q0P5ghTS4HVJpED91ARCXYbdrQLFm\n2vC5KdziIajj30HDwVahftVkQVfBpeDsM1+o2oqo3MmL4lo8neuVBquNGi+H9eAX\nruy8xkZ8vboKrdBh5P+5DyoS11GGewPnRsjCpqd266gFTJdBkl71fiMrUmg2rZRH\n71drgtm2NAkEqMntQyEPXfGtyUmxHzJiUjqXvijPaou8QVynSjN3l/sMjLSR3DB3\n65Z1XGzIdgcLUwY5hX4+5t4Jf87V5mIUmOnkH61GyW/U8OVRGmE8yxy0rYgQ41al\nVteADs/yMssk7WLqPV+jUCvz0QuiKBct8TlkjlwvwQKBgQDYpUPWCcbs99j8SZ7c\nKxbk4Tq4iWpSNdpkpPBGcLMwVPSOEXBKy4tK1yrG4OKZJrD2yxo6M14l7NTGCZSO\nTPZAZ3EtEes6aX/hdWJ1JpvykwolVSGpujG9oX3ZN4eDs3iR/zisW6ykaZ7si31a\nO+PRzIL+sjgsEr627h4Z1zrN8QKBgQC2CP0shpDWVSWsUy/UUhL7vHVZGHJe7o97\nIx0/LLbinAUQPEnoIVWXRqB0i4D6cArSLEc+dUT74O/qbgKd7KrK+rTLqUHTUSgd\nbfmcVvWgjo40WnbaaPgFtERjEDhsgBr1YRL+h7un/7uKmfNdhX3Srg/lhvmYncbA\nmTx7vySIbQKBgQCNRbemq1l8zWJBogBlsfOL7RNNos4iLdvsJWJJjNRMgBm5SsXf\nADwk4YqThbI+DGz5ghfoO/b45CcbvMOSx70M4md67GRoAsPRUaqSmkq3NAs5rPn2\no+QrtFNMgllsGGxXSAa83ksGK5nmxk9HuCYneSUy0SSwGMkkoMIgN6mxAQKBgQCl\nfHiE0PS9FP1BswJpWA/P8N0RmSroaKHhxONiukisrD/iKZzavessslVOfkBL7C26\nMey2uC91eGFDUq1oWm5ORyqzd3TTIhWA46inW1rDkrVunMst9X182gvNr0JMSQ25\nA34cDNMpgFBDSX+4BpKDRCBJfrJL7ytvjh8xNGyG5QKBgEVeyiIEm5KNQSFwVO0M\n522bqce+pal2RXeAV0MQPbACFnS/Yyn0PFwQyx0q0IRBvvbkukSbLlSR8chzv7Iv\nN43jJgG5C6eKRG/ks3vOHuE0jHISz31Hd5I1YfCEORLHioX1BHqebnlGkyoQURbx\nAkSPuqqytSjZxzBxDe28tMz5\n-----END PRIVATE KEY-----\n", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs" +}