Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package conftest for openSUSE:Factory checked in at 2023-12-01 21:26:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/conftest (Old) and /work/SRC/openSUSE:Factory/.conftest.new.25432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "conftest" Fri Dec 1 21:26:12 2023 rev:11 rq:1130171 version:0.47.0 Changes: -------- --- /work/SRC/openSUSE:Factory/conftest/conftest.changes 2023-10-06 21:13:26.033667147 +0200 +++ /work/SRC/openSUSE:Factory/.conftest.new.25432/conftest.changes 2023-12-01 21:26:53.921250518 +0100 @@ -1,0 +2,25 @@ +Fri Dec 01 05:59:23 UTC 2023 - ka...@b1-systems.de + +- Update to version 0.47.0: + * build(deps): bump github.com/open-policy-agent/opa from 0.58.0 + to 0.59.0 (#891) + * ci: Bump Go to 1.21.x (#890) + * ci: Bump setup-go and checkout to v4 (#889) + * ci: Have Dependabot auto-update upstream parser libraries + (#886) + * fix: Unmarshal error for Dockerfile in parse_config builtins + (#887) + * build(deps): bump golang from 1.21.3-alpine to 1.21.4-alpine + (#884) + * docts: update install.md (#883) + * build(deps): bump github.com/open-policy-agent/opa from 0.57.1 + to 0.58.0 (#882) + * feat: Implement option for custom output destinations (#877) + * build(deps): bump github.com/open-policy-agent/opa from 0.57.0 + to 0.57.1 (#880) + * feat: Use Regal for Rego linting (#881) + * build(deps): bump golang from 1.21.1-alpine to 1.21.3-alpine + (#878) + * build(deps): bump alpine from 3.18.3 to 3.18.4 (#875) + +------------------------------------------------------------------- Old: ---- conftest-0.46.0.obscpio New: ---- conftest-0.47.0.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ conftest.spec ++++++ --- /var/tmp/diff_new_pack.MWCXdR/_old 2023-12-01 21:26:55.153295768 +0100 +++ /var/tmp/diff_new_pack.MWCXdR/_new 2023-12-01 21:26:55.153295768 +0100 @@ -17,7 +17,7 @@ Name: conftest -Version: 0.46.0 +Version: 0.47.0 Release: 0 Summary: Tool to write tests against structured configuration data License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.MWCXdR/_old 2023-12-01 21:26:55.181296796 +0100 +++ /var/tmp/diff_new_pack.MWCXdR/_new 2023-12-01 21:26:55.185296943 +0100 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">v0.46.0</param> + <param name="revision">v0.47.0</param> <param name="changesgenerate">enable</param> </service> <service name="set_version" mode="manual"> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.MWCXdR/_old 2023-12-01 21:26:55.201297531 +0100 +++ /var/tmp/diff_new_pack.MWCXdR/_new 2023-12-01 21:26:55.201297531 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/open-policy-agent/conftest.git</param> - <param name="changesrevision">79220b5b2de5fb851aaaacebb2568353251432cb</param></service></servicedata> + <param name="changesrevision">6667f0336875761a10086107039679bfb5fc83e2</param></service></servicedata> (No newline at EOF) ++++++ conftest-0.46.0.obscpio -> conftest-0.47.0.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/.github/dependabot.yml new/conftest-0.47.0/.github/dependabot.yml --- old/conftest-0.46.0/.github/dependabot.yml 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/.github/dependabot.yml 2023-12-01 05:14:18.000000000 +0100 @@ -6,7 +6,19 @@ - package-ecosystem: "gomod" directory: "/" allow: + # OPA - dependency-name: "github.com/open-policy-agent/opa" + # Upstream Parsers + - dependency-name: "cuelang.org/go" + - dependency-name: "github.com/BurntSushi/toml" + - dependency-name: "github.com/CycloneDX/cyclonedx-go" + - dependency-name: "github.com/cpuguy83/dockercfg" + - dependency-name: "github.com/go-ini/ini" + - dependency-name: "github.com/google/go-jsonnet" + - dependency-name: "github.com/hashicorp/hcl" + - dependency-name: "github.com/magiconair/properties" + - dependency-name: "github.com/spdx/tools-golang" + - dependency-name: "github.com/subosito/gotenv" schedule: interval: "daily" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/.github/workflows/pr.yaml new/conftest-0.47.0/.github/workflows/pr.yaml --- old/conftest-0.46.0/.github/workflows/pr.yaml 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/.github/workflows/pr.yaml 2023-12-01 05:14:18.000000000 +0100 @@ -32,12 +32,12 @@ runs-on: ubuntu-latest steps: - name: checkout source - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: setup go - uses: actions/setup-go@v2 + uses: actions/setup-go@v4 with: - go-version: "1.21.0" + go-version: "1.21.x" - name: golangci-lint uses: golangci/golangci-lint-action@v3 @@ -56,6 +56,14 @@ - name: test examples run: make test-examples + - name: setup regal + uses: StyraInc/setup-regal@v0.2.0 + with: + version: v0.11.0 + + - name: lint examples + run: regal lint --format github examples + - name: acceptance run: make test-acceptance diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/.github/workflows/release.yaml new/conftest-0.47.0/.github/workflows/release.yaml --- old/conftest-0.46.0/.github/workflows/release.yaml 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/.github/workflows/release.yaml 2023-12-01 05:14:18.000000000 +0100 @@ -10,7 +10,7 @@ runs-on: ubuntu-latest steps: - name: checkout source - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -41,9 +41,9 @@ run: make push TAG=$VERSION - name: setup go - uses: actions/setup-go@v2 + uses: actions/setup-go@v4 with: - go-version: "1.21.0" + go-version: "1.21.x" - name: release uses: goreleaser/goreleaser-action@v2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/.regal/config.yaml new/conftest-0.47.0/.regal/config.yaml --- old/conftest-0.46.0/.regal/config.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/conftest-0.47.0/.regal/config.yaml 2023-12-01 05:14:18.000000000 +0100 @@ -0,0 +1,19 @@ +rules: + idiomatic: + no-defined-entrypoint: + level: ignore + imports: + prefer-package-imports: + level: error + ignore-import-paths: + - data.services + style: + line-length: + non-breakable-word-threshold: 80 + opa-fmt: + level: ignore + prefer-some-in-iteration: + level: ignore + testing: + test-outside-test-package: + level: ignore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/Dockerfile new/conftest-0.47.0/Dockerfile --- old/conftest-0.46.0/Dockerfile 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/Dockerfile 2023-12-01 05:14:18.000000000 +0100 @@ -1,4 +1,4 @@ -FROM golang:1.21.1-alpine as base +FROM golang:1.21.4-alpine as base ARG TARGETARCH ARG VERSION ARG COMMIT @@ -51,7 +51,7 @@ WORKDIR /examples ## RELEASE ## -FROM alpine:3.18.3 +FROM alpine:3.18.4 # Install git for protocols that depend on it when using conftest pull RUN apk add --no-cache git diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/acceptance.bats new/conftest-0.47.0/acceptance.bats --- old/conftest-0.46.0/acceptance.bats 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/acceptance.bats 2023-12-01 05:14:18.000000000 +0100 @@ -176,7 +176,7 @@ @test "Supports print() output" { run ./conftest test -p examples/report/policy_print/labels.rego examples/kubernetes/deployment.yaml --no-color [ "$status" -eq 1 ] - [[ "${lines[0]}" == "PRNT examples/report/policy_print/labels.rego:12: hello-kubernetes" ]] + [[ "${lines[0]}" == "PRNT examples/report/policy_print/labels.rego:13: hello-kubernetes" ]] } @test "Can parse hcl1 files" { @@ -282,7 +282,7 @@ } @test "Can parse newly introduced keywords for docker" { - run bash -c "cat <<EOF | ./conftest parse --parser dockerfile - + run bash -c "cat <<EOF | ./conftest parse --parser dockerfile - # syntax=docker/dockerfile:1.4 FROM alpine COPY --link /foo /bar @@ -415,14 +415,14 @@ } @test "Can combine yaml files" { - run ./conftest test -p examples/combine/policy examples/combine/team.yaml examples/combine/user1.yaml examples/combine/user2.yaml --combine + run ./conftest test -p examples/combine/policy examples/combine/team.yaml examples/combine/user1.yaml examples/combine/user2.yaml --combine [ "$status" -eq 1 ] [[ "$output" =~ "2 tests, 1 passed, 0 warnings, 1 failure" ]] } @test "Combining multi-document yaml file has same result" { - run ./conftest test -p examples/combine/policy examples/combine/team.yaml examples/combine/users.yaml --combine + run ./conftest test -p examples/combine/policy examples/combine/team.yaml examples/combine/users.yaml --combine [ "$status" -eq 1 ] [[ "$output" =~ "2 tests, 1 passed, 0 warnings, 1 failure" ]] @@ -438,7 +438,7 @@ run ./conftest test -p examples/spdx/policy examples/spdx/sbom.spdx [ "$status" -eq 0 ] - [[ "$output" =~ "1 test, 1 passed, 0 warnings, 0 failures, 0 exceptions" ]] + [[ "$output" =~ "1 test, 1 passed, 0 warnings, 0 failures, 0 exceptions" ]] } @test "Can test cyclonedx against policy" { @@ -499,7 +499,7 @@ } @test "Should show output because of failure" { - run ./conftest test -p examples/kubernetes/policy/ examples/kubernetes/deployment.yaml --all-namespaces --quiet + run ./conftest test -p examples/kubernetes/policy/ examples/kubernetes/deployment.yaml --all-namespaces --quiet [ "$status" -eq 1 ] [[ "$output" =~ "5 tests, 1 passed, 0 warnings, 4 failures, 0 exceptions" ]] } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/builtins/parse_config.go new/conftest-0.47.0/builtins/parse_config.go --- old/conftest-0.46.0/builtins/parse_config.go 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/builtins/parse_config.go 2023-12-01 05:14:18.000000000 +0100 @@ -66,7 +66,7 @@ if err != nil { return nil, fmt.Errorf("create config parser: %w", err) } - var cfg map[string]any + var cfg any if err := parser.Unmarshal([]byte(config), &cfg); err != nil { return nil, fmt.Errorf("unmarshal config: %w", err) } @@ -92,7 +92,7 @@ return nil, fmt.Errorf("read config file %s: %w", filePath, err) } - var cfg map[string]any + var cfg any if err := parser.Unmarshal(contents, &cfg); err != nil { return nil, fmt.Errorf("unmarshal config: %w", err) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/docs/install.md new/conftest-0.47.0/docs/install.md --- old/conftest-0.46.0/docs/install.md 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/docs/install.md 2023-12-01 05:14:18.000000000 +0100 @@ -6,8 +6,10 @@ ```console LATEST_VERSION=$(wget -O - "https://api.github.com/repos/open-policy-agent/conftest/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c 2-) -wget "https://github.com/open-policy-agent/conftest/releases/download/v${LATEST_VERSION}/conftest_${LATEST_VERSION}_Linux_x86_64.tar.gz" -tar xzf conftest_${LATEST_VERSION}_Linux_x86_64.tar.gz +ARCH=$(arch) +SYSTEM=$(uname) +wget "https://github.com/open-policy-agent/conftest/releases/download/v${LATEST_VERSION}/conftest_${LATEST_VERSION}_${SYSTEM}_${ARCH}.tar.gz" +tar xzf conftest_${LATEST_VERSION}_${SYSTEM}_${ARCH}.tar.gz sudo mv conftest /usr/local/bin ``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/awssam/policy/policy.rego new/conftest-0.47.0/examples/awssam/policy/policy.rego --- old/conftest-0.46.0/examples/awssam/policy/policy.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/awssam/policy/policy.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,15 +1,15 @@ package main -denylist = ["*"] +denylist := ["*"] -sensitive_denylist = [ +sensitive_denylist := [ "password", "Password", "Pass", "pass", ] -runtime_denylist = [ +runtime_denylist := [ "python2.7", "node4.3", ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/combine/policy/duplicate.rego new/conftest-0.47.0/examples/combine/policy/duplicate.rego --- old/conftest-0.46.0/examples/combine/policy/duplicate.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/combine/policy/duplicate.rego 2023-12-01 05:14:18.000000000 +0100 @@ -3,7 +3,7 @@ # Check that no name attribute exists twice among all resources deny[msg] { name := input[_].contents.metadata.name - occurrences := [name | input[i].contents.metadata.name == name; name := input[i].metadata.name] + occurrences := [name | some i; input[i].contents.metadata.name == name; name := input[i].metadata.name] count(occurrences) > 1 msg = sprintf("Error duplicate name : %s", [name]) } @@ -13,8 +13,10 @@ name := input[_].contents.metadata.name kind == "team" + some i, j + # list all existing users - existing_users = {email | input[i].contents.kind == "user"; email := input[i].contents.metadata.email} + existing_users = {email | some i; input[i].contents.kind == "user"; email := input[i].contents.metadata.email} # gather all configured users in teams configured_owner_users_array = [user | input[i].contents.kind == "team"; user := input[i].contents.spec.owner] @@ -31,5 +33,8 @@ # missing users are the ones configured in teams but not in Github count(missing_users) > 0 - msg = sprintf("Existing users %s | Configured users %s | Missing users %s", [sort(existing_users), sort(configured_users), sort(missing_users)]) + msg = sprintf( + "Existing users %s | Configured users %s | Missing users %s", + [sort(existing_users), sort(configured_users), sort(missing_users)], + ) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/cyclonedx/policy/policy.rego new/conftest-0.47.0/examples/cyclonedx/policy/policy.rego --- old/conftest-0.46.0/examples/cyclonedx/policy/policy.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/cyclonedx/policy/policy.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,7 +1,9 @@ package main deny[msg] { - expectedSHAS256 := "sha256:d7ec60cf8390612b360c857688b383068b580d9a6ab78417c9493170ad3f1616" - input.metadata.component.version != expectedSHAS256 - msg := sprintf("current SHA256 %s is not equal to expected SHA256 %s", [input.metadata.component.version, expectedSHAS256]) + expected_shas256 := "sha256:d7ec60cf8390612b360c857688b383068b580d9a6ab78417c9493170ad3f1616" + input.metadata.component.version != expected_shas256 + msg := sprintf( + "current SHA256 %s is not equal to expected SHA256 %s", [input.metadata.component.version, expected_shas256] + ) } \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/docker/policy/commands.rego new/conftest-0.47.0/examples/docker/policy/commands.rego --- old/conftest-0.46.0/examples/docker/policy/commands.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/docker/policy/commands.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,6 +1,6 @@ package commands -denylist = [ +denylist := [ "apk", "apt", "pip", @@ -9,9 +9,10 @@ ] deny[msg] { + some i input[i].Cmd == "run" val := input[i].Value contains(val[_], denylist[_]) - msg = sprintf("unallowed commands found %s", [val]) + msg := sprintf("unallowed commands found %s", [val]) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/docker/policy/images.rego new/conftest-0.47.0/examples/docker/policy/images.rego --- old/conftest-0.46.0/examples/docker/policy/images.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/docker/policy/images.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,8 +1,9 @@ package main -denylist = ["openjdk"] +denylist := ["openjdk"] deny[msg] { + some i input[i].Cmd == "from" val := input[i].Value contains(val[i], denylist[_]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/hcl1/policy/base.rego new/conftest-0.47.0/examples/hcl1/policy/base.rego --- old/conftest-0.46.0/examples/hcl1/policy/base.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/hcl1/policy/base.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,6 +1,6 @@ package main -denylist = [ +denylist := [ "google_iam", "google_container", ] @@ -8,7 +8,7 @@ deny[msg] { check_resources(input.resource_changes, denylist) banned := concat(", ", denylist) - msg = sprintf("Terraform plan will change prohibited resources in the following namespaces: %v", [banned]) + msg := sprintf("Terraform plan will change prohibited resources in the following namespaces: %v", [banned]) } # Checks whether the plan will cause resources with certain prefixes to change diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/hcl2/policy/deny.rego new/conftest-0.47.0/examples/hcl2/policy/deny.rego --- old/conftest-0.46.0/examples/hcl2/policy/deny.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/hcl2/policy/deny.rego 2023-12-01 05:14:18.000000000 +0100 @@ -5,12 +5,14 @@ } deny[msg] { + some lb proto := input.resource.aws_alb_listener[lb].protocol proto == "HTTP" msg = sprintf("ALB `%v` is using HTTP rather than HTTPS", [lb]) } deny[msg] { + some name rule := input.resource.aws_security_group_rule[name] rule.type == "ingress" contains(rule.cidr_blocks[_], "0.0.0.0/0") @@ -18,6 +20,7 @@ } deny[msg] { + some name disk = input.resource.azurerm_managed_disk[name] has_field(disk, "encryption_settings") disk.encryption_settings.enabled != true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/hcl2/policy/deny_test.rego new/conftest-0.47.0/examples/hcl2/policy/deny_test.rego --- old/conftest-0.46.0/examples/hcl2/policy/deny_test.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/hcl2/policy/deny_test.rego 2023-12-01 05:14:18.000000000 +0100 @@ -13,7 +13,9 @@ } test_correctly_encrypted_azure_disk { - no_violations with input as {"resource": {"azurerm_managed_disk": {"sample": {"encryption_settings": {"enabled": true}}}}} + no_violations with input as { + "resource": {"azurerm_managed_disk": {"sample": {"encryption_settings": {"enabled": true}}}} + } } test_unencrypted_azure_disk { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/ignore/dockerignore/policy/deny.rego new/conftest-0.47.0/examples/ignore/dockerignore/policy/deny.rego --- old/conftest-0.46.0/examples/ignore/dockerignore/policy/deny.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/ignore/dockerignore/policy/deny.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,7 +1,7 @@ package main any_git_ignored { - entry := input[o] + entry := input[_] entry.Kind == "Path" entry.Value == ".git" @@ -9,5 +9,5 @@ deny[msg] { not any_git_ignored - msg = ".git directories should be ignored" + msg := ".git directories should be ignored" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/ignore/gitignore/policy/deny.rego new/conftest-0.47.0/examples/ignore/gitignore/policy/deny.rego --- old/conftest-0.46.0/examples/ignore/gitignore/policy/deny.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/ignore/gitignore/policy/deny.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,7 +1,7 @@ package main any_id_rsa_ignored { - entry := input[i] + entry := input[_] entry.Kind == "Path" entry.Value == "id_rsa" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/kubernetes/combine/combine.rego new/conftest-0.47.0/examples/kubernetes/combine/combine.rego --- old/conftest-0.46.0/examples/kubernetes/combine/combine.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/kubernetes/combine/combine.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,6 +1,7 @@ package main violation[msg] { + some i input[i].contents.kind == "Deployment" deployment := input[i].contents not service_selects_app(deployment.spec.selector.matchLabels.app) @@ -8,6 +9,7 @@ } service_selects_app(app) { + some i input[i].contents.kind == "Service" service := input[i].contents service.spec.selector.app == app diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/kubernetes/policy/base_test.rego new/conftest-0.47.0/examples/kubernetes/policy/base_test.rego --- old/conftest-0.46.0/examples/kubernetes/policy/base_test.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/kubernetes/policy/base_test.rego 2023-12-01 05:14:18.000000000 +0100 @@ -13,7 +13,10 @@ } test_deployment_without_security_context { - deny["Containers must not run as root in Deployment sample"] with input as {"kind": "Deployment", "metadata": {"name": "sample"}} + deny["Containers must not run as root in Deployment sample"] with input as { + "kind": "Deployment", + "metadata": {"name": "sample"} + } } test_deployment_with_security_context { @@ -47,5 +50,10 @@ } test_services_issue_warning { - warn["Found service sample but services are not allowed"] with input as {"kind": "Service", "metadata": {"name": "sample"}} + warn["Found service sample but services are not allowed"] with input as { + "kind": "Service", + "metadata": { + "name": "sample" + } + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/kubernetes/policy/deny.rego new/conftest-0.47.0/examples/kubernetes/policy/deny.rego --- old/conftest-0.46.0/examples/kubernetes/policy/deny.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/kubernetes/policy/deny.rego 2023-12-01 05:14:18.000000000 +0100 @@ -2,7 +2,7 @@ import data.kubernetes -name = input.metadata.name +name := input.metadata.name deny[msg] { kubernetes.is_deployment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/kubernetes/policy/labels.rego new/conftest-0.47.0/examples/kubernetes/policy/labels.rego --- old/conftest-0.46.0/examples/kubernetes/policy/labels.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/kubernetes/policy/labels.rego 2023-12-01 05:14:18.000000000 +0100 @@ -2,7 +2,7 @@ import data.kubernetes -name = input.metadata.name +name := input.metadata.name required_deployment_labels { input.metadata.labels["app.kubernetes.io/name"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/kubernetes/policy/violation.rego new/conftest-0.47.0/examples/kubernetes/policy/violation.rego --- old/conftest-0.46.0/examples/kubernetes/policy/violation.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/kubernetes/policy/violation.rego 2023-12-01 05:14:18.000000000 +0100 @@ -2,9 +2,9 @@ import data.kubernetes -name = input.metadata.name +name := input.metadata.name violation[{"msg": msg, "details": {}}] { kubernetes.is_deployment - msg = sprintf("Found deployment %s but deployments are not allowed", [name]) + msg := sprintf("Found deployment %s but deployments are not allowed", [name]) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/kubernetes/policy/warn.rego new/conftest-0.47.0/examples/kubernetes/policy/warn.rego --- old/conftest-0.46.0/examples/kubernetes/policy/warn.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/kubernetes/policy/warn.rego 2023-12-01 05:14:18.000000000 +0100 @@ -2,7 +2,7 @@ import data.kubernetes -name = input.metadata.name +name := input.metadata.name warn[msg] { kubernetes.is_service diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/properties/policy/test.rego new/conftest-0.47.0/examples/properties/policy/test.rego --- old/conftest-0.46.0/examples/properties/policy/test.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/properties/policy/test.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,17 +1,19 @@ package main deny_valid_uri[msg] { + some name value := input[name] contains(lower(name), "url") not contains(lower(value), "http") msg := sprintf("Must have a valid uri defined '%s'", [value]) } -secret_exceptions = { +secret_exceptions := { "secret.value.exception" } deny_no_secrets[msg] { + some name value := input[name] not secret_exceptions[name] contains(lower(name), "secret") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/report/policy/labels.rego new/conftest-0.47.0/examples/report/policy/labels.rego --- old/conftest-0.46.0/examples/report/policy/labels.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/report/policy/labels.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,6 +1,6 @@ package main -name = input.metadata.name +name := input.metadata.name required_deployment_labels { input.metadata.labels["app.kubernetes.io/name"] @@ -10,6 +10,7 @@ deny[msg] { input.kind = "Deployment" not required_deployment_labels + # regal ignore:print-or-trace-call trace("just testing notes flag") msg := sprintf("%s must include Kubernetes recommended labels: https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/#labels", [name]) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/report/policy_print/labels.rego new/conftest-0.47.0/examples/report/policy_print/labels.rego --- old/conftest-0.46.0/examples/report/policy_print/labels.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/report/policy_print/labels.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,6 +1,6 @@ package main -name = input.metadata.name +name := input.metadata.name required_deployment_labels { input.metadata.labels["app.kubernetes.io/name"] @@ -8,7 +8,8 @@ } deny[msg] { - input.kind = "Deployment" + input.kind == "Deployment" + # regal ignore:print-or-trace-call print(name) not required_deployment_labels msg := sprintf("%s must include Kubernetes recommended labels: https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/#labels", [name]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/serverless/policy/base.rego new/conftest-0.47.0/examples/serverless/policy/base.rego --- old/conftest-0.46.0/examples/serverless/policy/base.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/serverless/policy/base.rego 2023-12-01 05:14:18.000000000 +0100 @@ -6,6 +6,7 @@ } runtime[name] { + some i input.functions[i].runtime = name } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/serverless/policy/util.rego new/conftest-0.47.0/examples/serverless/policy/util.rego --- old/conftest-0.46.0/examples/serverless/policy/util.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/serverless/policy/util.rego 2023-12-01 05:14:18.000000000 +0100 @@ -11,7 +11,7 @@ object[field] == false } -has_field(object, field) = false { +has_field(object, field) := false { not object[field] not object[field] == false } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/spdx/policy/policy.rego new/conftest-0.47.0/examples/spdx/policy/policy.rego --- old/conftest-0.46.0/examples/spdx/policy/policy.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/spdx/policy/policy.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,7 +1,7 @@ package main deny[msg] { - expectedDataLicense := "conftest-demo" - input.CreationInfo.DataLicense != expectedDataLicense - msg := sprintf("DataLicense should be %d, but found %d", [expectedDataLicense, input.CreationInfo.DataLicense]) + expected_data_license := "conftest-demo" + input.CreationInfo.DataLicense != expected_data_license + msg := sprintf("DataLicense should be %d, but found %d", [expected_data_license, input.CreationInfo.DataLicense]) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/traefik/policy/base.rego new/conftest-0.47.0/examples/traefik/policy/base.rego --- old/conftest-0.46.0/examples/traefik/policy/base.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/traefik/policy/base.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,10 +1,10 @@ package main -disallowed_ciphers = ["TLS_RSA_WITH_AES_256_GCM_SHA384"] +disallowed_ciphers := ["TLS_RSA_WITH_AES_256_GCM_SHA384"] deny[msg] { check_trusted_ips(input.entryPoints.http.tls.cipherSuites, disallowed_ciphers) - msg = sprintf("Following ciphers are not allowed: %v", [disallowed_ciphers]) + msg := sprintf("Following ciphers are not allowed: %v", [disallowed_ciphers]) } check_trusted_ips(ciphers, denylist) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/traefik/policy/base_test.rego new/conftest-0.47.0/examples/traefik/policy/base_test.rego --- old/conftest-0.46.0/examples/traefik/policy/base_test.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/traefik/policy/base_test.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,5 +1,7 @@ package main test_ip_with_disallowed_ciphers { - deny["IPs should not use disallowed ciphers"] with input as {"entryPoints": {"http": {"tls": {"cipherSuites": ["TLS_RSA_WITH_AES_256_GCM_SHA384"]}}}} + deny["IPs should not use disallowed ciphers"] with input as { + "entryPoints": {"http": {"tls": {"cipherSuites": ["TLS_RSA_WITH_AES_256_GCM_SHA384"]}}} + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/examples/xml/policy/deny.rego new/conftest-0.47.0/examples/xml/policy/deny.rego --- old/conftest-0.46.0/examples/xml/policy/deny.rego 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/examples/xml/policy/deny.rego 2023-12-01 05:14:18.000000000 +0100 @@ -1,24 +1,29 @@ package main -plugin_list = input.project.build.plugins.plugin +plugin_list := input.project.build.plugins.plugin deny[msg] { expected_version := "3.6.1" + some i plugin_list[i].artifactId == "maven-compiler-plugin" not plugin_list[i].version = expected_version msg = sprintf("in %s \n--- maven-plugin must have the version: %s \n", [plugin_list[i], expected_version]) } deny[msg] { + some i plugin_list[i].artifactId == "activejdbc-instrumentation" not plugin_list[i].executions.execution.goals.goal = "instrument" - msg = sprintf("in %s \n--- There must be defined 'instrument goal' for activejdbc-instrumentation \n", [plugin_list[i]]) + msg = sprintf( + "in %s \n--- There must be defined 'instrument goal' for activejdbc-instrumentation \n", [plugin_list[i]] + ) } deny[msg] { expected_version := "2.18.1" + some i plugin_list[i].artifactId == "maven-surefire-plugin" not plugin_list[i].version = expected_version msg = sprintf("in %s \n--- Version must be %s for maven-surefire-plugin \n", [plugin_list[i], expected_version]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/go.mod new/conftest-0.47.0/go.mod --- old/conftest-0.46.0/go.mod 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/go.mod 2023-12-01 05:14:18.000000000 +0100 @@ -12,7 +12,7 @@ github.com/cpuguy83/dockercfg v0.3.1 github.com/go-akka/configuration v0.0.0-20200606091224-a002c0330665 github.com/go-ini/ini v1.67.0 - github.com/google/go-cmp v0.5.9 + github.com/google/go-cmp v0.6.0 github.com/google/go-jsonnet v0.20.0 github.com/hashicorp/go-getter v1.7.2 github.com/hashicorp/hcl v1.0.0 @@ -21,12 +21,12 @@ github.com/magiconair/properties v1.8.7 github.com/moby/buildkit v0.11.5 github.com/olekukonko/tablewriter v0.0.5 - github.com/open-policy-agent/opa v0.57.0 - github.com/opencontainers/image-spec v1.1.0-rc4 + github.com/open-policy-agent/opa v0.59.0 + github.com/opencontainers/image-spec v1.1.0-rc5 github.com/pkg/errors v0.9.1 github.com/shteou/go-ignore v0.3.1 github.com/spdx/tools-golang v0.5.3 - github.com/spf13/cobra v1.7.0 + github.com/spf13/cobra v1.8.0 github.com/spf13/viper v1.16.0 github.com/subosito/gotenv v1.6.0 github.com/tmccombs/hcl2json v0.3.1 @@ -34,13 +34,13 @@ google.golang.org/protobuf v1.31.0 muzzammil.xyz/jsonc v1.0.0 olympos.io/encoding/edn v0.0.0-20201019073823-d3554ca0b0a3 - oras.land/oras-go/v2 v2.3.0 - sigs.k8s.io/yaml v1.3.0 + oras.land/oras-go/v2 v2.3.1 + sigs.k8s.io/yaml v1.4.0 ) require ( - cloud.google.com/go v0.110.4 // indirect - cloud.google.com/go/compute v1.21.0 // indirect + cloud.google.com/go v0.110.7 // indirect + cloud.google.com/go/compute v1.23.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.1 // indirect cloud.google.com/go/storage v1.30.1 // indirect @@ -59,8 +59,8 @@ github.com/docker/docker v23.0.3+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.5.0 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/go-logr/logr v1.2.4 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/go-logr/logr v1.3.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -68,10 +68,10 @@ github.com/golang/protobuf v1.5.3 // indirect github.com/google/flatbuffers v22.9.29+incompatible // indirect github.com/google/s2a-go v0.1.4 // indirect - github.com/google/uuid v1.3.1 // indirect + github.com/google/uuid v1.4.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go/v2 v2.11.0 // indirect - github.com/gorilla/mux v1.8.0 // indirect + github.com/gorilla/mux v1.8.1 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-version v1.6.0 // indirect @@ -106,23 +106,23 @@ github.com/yashtewari/glob-intersection v0.2.0 // indirect github.com/zclconf/go-cty v1.13.2 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/otel v1.16.0 // indirect - go.opentelemetry.io/otel/metric v1.16.0 // indirect - go.opentelemetry.io/otel/sdk v1.16.0 // indirect - go.opentelemetry.io/otel/trace v1.16.0 // indirect - golang.org/x/crypto v0.13.0 // indirect - golang.org/x/net v0.15.0 // indirect - golang.org/x/oauth2 v0.10.0 // indirect - golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.12.0 // indirect - golang.org/x/text v0.13.0 // indirect + go.opentelemetry.io/otel v1.21.0 // indirect + go.opentelemetry.io/otel/metric v1.21.0 // indirect + go.opentelemetry.io/otel/sdk v1.21.0 // indirect + go.opentelemetry.io/otel/trace v1.21.0 // indirect + golang.org/x/crypto v0.16.0 // indirect + golang.org/x/net v0.19.0 // indirect + golang.org/x/oauth2 v0.11.0 // indirect + golang.org/x/sync v0.4.0 // indirect + golang.org/x/sys v0.15.0 // indirect + golang.org/x/text v0.14.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect - google.golang.org/grpc v1.58.2 // indirect + google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/grpc v1.59.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/go.sum new/conftest-0.47.0/go.sum --- old/conftest-0.46.0/go.sum 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/go.sum 2023-12-01 05:14:18.000000000 +0100 @@ -32,8 +32,8 @@ 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.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= -cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.7 h1:rJyC7nWRg2jWGZ4wSJ5nY65GTdYJkg0cd/uXb+ACI6o= +cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -70,8 +70,8 @@ cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.21.0 h1:JNBsyXVoOoNJtTQcnEY5uYpZIbeCTYIeDe0Xh1bySMk= -cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY= +cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= 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/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -265,7 +265,7 @@ github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -292,13 +292,13 @@ github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/foxcpp/go-mockdns v1.0.0 h1:7jBqxd3WDWwi/6WhDvacvH1XsN3rOLXyHM1uhvIx6FI= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +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/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-akka/configuration v0.0.0-20200606091224-a002c0330665 h1:Iz3aEheYgn+//VX7VisgCmF/wW3BMtXCLbvHV4jMQJA= github.com/go-akka/configuration v0.0.0-20200606091224-a002c0330665/go.mod h1:19bUnum2ZAeftfwwLZ/wRe7idyfoW2MfmXO464Hrfbw= @@ -308,8 +308,8 @@ github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-quicktest/qt v1.100.0 h1:I7iSLgIwNp0E0UnSvKJzs7ig0jg/Iq83zsZjtQNW7jY= @@ -321,7 +321,7 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -376,8 +376,9 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +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/go-jsonnet v0.20.0 h1:WG4TTSARuV7bSm4PMB4ohjxe33IHT5WVTrJSU33uT4g= github.com/google/go-jsonnet v0.20.0/go.mod h1:VbgWF9JX7ztlv770x/TolZNGGFfiHEVx9G6ca2eUmeA= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= @@ -406,8 +407,8 @@ github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= @@ -426,11 +427,11 @@ github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 h1:BZHcxBETFHIdVyhyEfOvn/RdU/QGdLI4y34qQGjGWO0= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-getter v1.7.2 h1:uJDtyXwEfalmp1PqdxuhZqrNkUyClZAhVeZYTArbqkg= @@ -506,12 +507,12 @@ github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de/go.mod h1:kJun4WP5gFuHZgRjZUWWuH1DTxCtxbHDOIJsudS8jzY= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/open-policy-agent/opa v0.57.0 h1:DftxYfOEHOheXvO2Q6HCIM2ZVdKrvnF4cZlU9C64MIQ= -github.com/open-policy-agent/opa v0.57.0/go.mod h1:3FY6GNSbUqOhjCdvTXCBJ2rNuh66p/XrIc2owr/hSwo= +github.com/open-policy-agent/opa v0.59.0 h1:1WFU/KUhJAr3qatm0Lf8Ea5jp10ZmlE2M07oaLiHypg= +github.com/open-policy-agent/opa v0.59.0/go.mod h1:rdJSkEc4oQ+0074/3Fsgno5bkPsYxTjU5aLNmMujIvI= 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-rc4 h1:oOxKUJWnFC4YGHCCMNql1x4YaDfYBTS5Y4x/Cgeo1E0= -github.com/opencontainers/image-spec v1.1.0-rc4/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= +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/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= @@ -557,8 +558,8 @@ github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -627,20 +628,19 @@ 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.42.0 h1:pginetY7+onl4qN1vl0xW/V/v6OBZ0vVdH+esuJgvmM= -go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= -go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 h1:cbsD4cUcviQGXdw8+bo5x2wazq10SKz8hEbtCRPcU78= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0 h1:TVQp/bboR4mhZSav+MdgXB8FaRho1RC8UwVn3T0vjVc= -go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= -go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= -go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= -go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= -go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= -go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJMNjENlcleuuOkGAPH82y0yULBScfXcIEdS24= +go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= +go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk= +go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4= +go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= +go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc= +go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -652,8 +652,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= +golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= 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= @@ -743,8 +743,8 @@ golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= 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= @@ -770,8 +770,8 @@ golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8= -golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= +golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU= +golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= 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-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -786,8 +786,8 @@ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/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.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= +golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -856,10 +856,9 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.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= @@ -874,8 +873,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -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.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= @@ -1107,12 +1106,12 @@ google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= -google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= -google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:FmF5cCW94Ij59cfpoLiwTgodWmm60eEV0CjlsVg2fuw= -google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= 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= @@ -1148,8 +1147,8 @@ google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I= -google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= +google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= 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= @@ -1194,10 +1193,11 @@ muzzammil.xyz/jsonc v1.0.0/go.mod h1:rFv8tUUKe+QLh7v02BhfxXEf4ZHhYD7unR93HL/1Uvo= olympos.io/encoding/edn v0.0.0-20201019073823-d3554ca0b0a3 h1:slmdOY3vp8a7KQbHkL+FLbvbkgMqmXojpFUO/jENuqQ= olympos.io/encoding/edn v0.0.0-20201019073823-d3554ca0b0a3/go.mod h1:oVgVk4OWVDi43qWBEyGhXgYxt7+ED4iYNpTngSLX2Iw= -oras.land/oras-go/v2 v2.3.0 h1:lqX1aXdN+DAmDTKjiDyvq85cIaI4RkIKp/PghWlAGIU= -oras.land/oras-go/v2 v2.3.0/go.mod h1:GeAwLuC4G/JpNwkd+bSZ6SkDMGaaYglt6YK2WvZP7uQ= +oras.land/oras-go/v2 v2.3.1 h1:lUC6q8RkeRReANEERLfH86iwGn55lbSWP20egdFHVec= +oras.land/oras-go/v2 v2.3.1/go.mod h1:5AQXVEu1X/FKp1F9DMOb5ZItZBOa0y5dha0yCm4NR9c= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conftest-0.46.0/output/output.go new/conftest-0.47.0/output/output.go --- old/conftest-0.46.0/output/output.go 2023-10-02 00:17:16.000000000 +0200 +++ new/conftest-0.47.0/output/output.go 2023-12-01 05:14:18.000000000 +0100 @@ -21,6 +21,7 @@ SuppressExceptions bool ShowSkipped bool JUnitHideMessage bool + File *os.File } // The defined output formats represent all of the supported formats @@ -37,23 +38,27 @@ // Get returns a type that can render output in the given format. func Get(format string, options Options) Outputter { + if options.File == nil { + options.File = os.Stdout + } + switch format { case OutputStandard: - return &Standard{Writer: os.Stdout, NoColor: options.NoColor, SuppressExceptions: options.SuppressExceptions, Tracing: options.Tracing, ShowSkipped: options.ShowSkipped} + return &Standard{Writer: options.File, NoColor: options.NoColor, SuppressExceptions: options.SuppressExceptions, Tracing: options.Tracing, ShowSkipped: options.ShowSkipped} case OutputJSON: - return NewJSON(os.Stdout) + return NewJSON(options.File) case OutputTAP: - return NewTAP(os.Stdout) + return NewTAP(options.File) case OutputTable: - return NewTable(os.Stdout) + return NewTable(options.File) case OutputJUnit: - return NewJUnit(os.Stdout, options.JUnitHideMessage) + return NewJUnit(options.File, options.JUnitHideMessage) case OutputGitHub: - return NewGitHub(os.Stdout) + return NewGitHub(options.File) case OutputAzureDevOps: - return NewAzureDevOps(os.Stdout) + return NewAzureDevOps(options.File) default: - return NewStandard(os.Stdout) + return NewStandard(options.File) } } ++++++ conftest.obsinfo ++++++ --- /var/tmp/diff_new_pack.MWCXdR/_old 2023-12-01 21:26:55.369303702 +0100 +++ /var/tmp/diff_new_pack.MWCXdR/_new 2023-12-01 21:26:55.369303702 +0100 @@ -1,5 +1,5 @@ name: conftest -version: 0.46.0 -mtime: 1696198636 -commit: 79220b5b2de5fb851aaaacebb2568353251432cb +version: 0.47.0 +mtime: 1701404058 +commit: 6667f0336875761a10086107039679bfb5fc83e2 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/conftest/vendor.tar.gz /work/SRC/openSUSE:Factory/.conftest.new.25432/vendor.tar.gz differ: char 5, line 1