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-01-21 19:12:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/conftest (Old)
 and      /work/SRC/openSUSE:Factory/.conftest.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "conftest"

Sat Jan 21 19:12:48 2023 rev:2 rq:1060165 version:0.38.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/conftest/conftest.changes        2022-12-17 
20:36:48.200690070 +0100
+++ /work/SRC/openSUSE:Factory/.conftest.new.32243/conftest.changes     
2023-01-21 19:13:36.598002396 +0100
@@ -1,0 +2,17 @@
+Sat Jan 21 11:28:14 UTC 2023 - [email protected]
+
+- Update to version 0.38.0:
+  * ci: Require commits to have conventional commit prefix (#766)
+  * build(deps): bump github.com/open-policy-agent/opa from 0.47.4 to 0.48.0 
(#767)
+  * misc: Improve generated changelog (#765)
+  * build(deps): bump github.com/open-policy-agent/opa from 0.47.3 to 0.47.4 
(#764)
+  * Added helper method to load combined config files for Rego unit tests 
(#762)
+  * build(deps): bump github.com/open-policy-agent/opa from 0.47.2 to 0.47.3 
(#760)
+  * build(deps): bump golang from 1.18.5-alpine to 1.19.4-alpine (#761)
+  * Bump OPA to 0.47.2 (#759)
+  * Allow data-only bundles (#754)
+  * build(deps): bump github.com/open-policy-agent/opa from 0.47.0 to 0.47.1 
(#758)
+  * build(deps): bump github.com/open-policy-agent/opa from 0.46.1 to 0.47.0 
(#757)
+  * build(deps): bump alpine from 3.16.3 to 3.17.0 (#756)
+
+-------------------------------------------------------------------

Old:
----
  conftest-0.36.0.tar.gz

New:
----
  conftest-0.38.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ conftest.spec ++++++
--- /var/tmp/diff_new_pack.X6BRR3/_old  2023-01-21 19:13:37.218006013 +0100
+++ /var/tmp/diff_new_pack.X6BRR3/_new  2023-01-21 19:13:37.222006037 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package conftest
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           conftest
-Version:        0.36.0
+Version:        0.38.0
 Release:        0
 Summary:        Tool to write tests against structured configuration data
 License:        Apache-2.0
@@ -25,7 +25,7 @@
 Source0:        
https://github.com/open-policy-agent/conftest/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:        vendor.tar.gz
 BuildRequires:  golang-packaging
-BuildRequires:  golang(API) >= 1.17 
+BuildRequires:  golang(API) >= 1.18
 
 %description
 Conftest helps you write tests against structured configuration data. Using 
Conftest you can write tests for your Kubernetes configuration, Tekton pipeline 
definitions, Terraform code, Serverless configs or any other config files.
@@ -81,17 +81,14 @@
 %{_bindir}/%{name}
 
 %files bash-completion
-%defattr(-,root,root)
 %dir %{_datarootdir}/bash-completion/completions/
 %{_datarootdir}/bash-completion/completions/%{name}
 
 %files zsh-completion
-%defattr(-,root,root)
 %dir %{_datarootdir}/zsh_completion.d/
 %{_datarootdir}/zsh_completion.d/_%{name}
 
 %files fish-completion
-%defattr(-,root,root)
 %dir %{_datarootdir}/fish
 %dir %{_datarootdir}/fish/vendor_completions.d
 %{_datarootdir}/fish/vendor_completions.d/%{name}.fish

++++++ _service ++++++
--- /var/tmp/diff_new_pack.X6BRR3/_old  2023-01-21 19:13:37.262006270 +0100
+++ /var/tmp/diff_new_pack.X6BRR3/_new  2023-01-21 19:13:37.266006293 +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.36.0</param>
+    <param name="revision">v0.38.0</param>
     <param name="changesgenerate">enable</param>
   </service>
   <service name="recompress" mode="disabled">

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.X6BRR3/_old  2023-01-21 19:13:37.290006433 +0100
+++ /var/tmp/diff_new_pack.X6BRR3/_new  2023-01-21 19:13:37.294006457 +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">eb7ef1a4d6ed769c8a59264bf1b41e406e2f747d</param></service></servicedata>
+              <param 
name="changesrevision">3b6c62519fad21badf7c976789bb81fb064736c1</param></service></servicedata>
 (No newline at EOF)
 

++++++ conftest-0.36.0.tar.gz -> conftest-0.38.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/.github/workflows/pr.yaml 
new/conftest-0.38.0/.github/workflows/pr.yaml
--- old/conftest-0.36.0/.github/workflows/pr.yaml       2022-11-27 
20:32:42.000000000 +0100
+++ new/conftest-0.38.0/.github/workflows/pr.yaml       2023-01-10 
04:56:30.000000000 +0100
@@ -15,6 +15,19 @@
   statuses: none
 
 jobs:
+  style:
+    runs-on: ubuntu-latest
+    steps:
+    - name: checkout all PR branch and commits
+      uses: actions/checkout@v3
+      with:
+        ref: ${{ github.event.pull_request.head.sha }}
+        fetch-depth: ${{ github.event.pull_request.commits }}
+
+    - name: validate conventional commit prefix
+      working-directory: scripts
+      run: ./validate-conventional-commit-prefix.sh
+
   validate:
     runs-on: ubuntu-latest
     steps:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/.goreleaser.yml 
new/conftest-0.38.0/.goreleaser.yml
--- old/conftest-0.36.0/.goreleaser.yml 2022-11-27 20:32:42.000000000 +0100
+++ new/conftest-0.38.0/.goreleaser.yml 2023-01-10 04:56:30.000000000 +0100
@@ -39,11 +39,27 @@
   name_template: 'checksums.txt'
 
 changelog:
+  use: github
+  groups:
+  - title: New Features
+    regexp: '^feat(ure)?:'
+    order: 0
+  - title: Bug Fixes
+    regexp: '^(bug|fix):'
+    order: 1
+  - title: OPA Changes
+    regexp: '(?i)bump (opa|github.com/open-policy-agent/opa)'
+    order: 5
+  - title: Other Changes
+    order: 999
   sort: asc
   filters:
     exclude:
     - '^docs:'
     - '^test:'
+    - '^misc:'
+    - '^typo:'
+    - '(?i) typo( |\.|\r?\n)'
 
 # Publishes the deb and rpm files to the GitHub releases page.
 nfpms:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/CONTRIBUTING.md 
new/conftest-0.38.0/CONTRIBUTING.md
--- old/conftest-0.36.0/CONTRIBUTING.md 2022-11-27 20:32:42.000000000 +0100
+++ new/conftest-0.38.0/CONTRIBUTING.md 2023-01-10 04:56:30.000000000 +0100
@@ -33,6 +33,7 @@
 - Most changes should be accompanied by tests.
 - All commits must be signed off (see next section).
 - Related commits must be squashed before they are merged.
+- All commits must have a [conventional commit 
prefix](https://www.conventionalcommits.org/en/v1.0.0/#summary), such as 
`feat:`, `fix:`, etc.
 - All tests must pass.
 
 If you are new to Go, consider reading [Effective
@@ -45,7 +46,7 @@
 Commit messages should explain *why* the changes were made and should probably 
look like this:
 
 ```
-Description of the change in 50 characters or less
+fix: Description of a bug fix in 50 characters or less
 
 More detail on what was changed. Provide some background on the issue
 and describe how the changes address the issue. Feel free to use multiple
@@ -103,4 +104,4 @@
 
 If your Pull Request is small though, it is acceptable to squash changes during
 the review process. Use your judgment about what constitutes a small Pull
-Request.  If you aren't sure, send a message to the `#conftest` channel on the 
OPA slack or post a comment on the Pull Request.
\ No newline at end of file
+Request.  If you aren't sure, send a message to the `#conftest` channel on the 
OPA slack or post a comment on the Pull Request.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/Dockerfile 
new/conftest-0.38.0/Dockerfile
--- old/conftest-0.36.0/Dockerfile      2022-11-27 20:32:42.000000000 +0100
+++ new/conftest-0.38.0/Dockerfile      2023-01-10 04:56:30.000000000 +0100
@@ -1,4 +1,4 @@
-FROM golang:1.18.5-alpine as base
+FROM golang:1.19.4-alpine as base
 ARG ARCH=amd64
 ARG VERSION
 ARG COMMIT
@@ -53,7 +53,7 @@
 WORKDIR /examples
 
 ## RELEASE ##
-FROM alpine:3.16.3
+FROM alpine:3.17.0
 
 # 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.36.0/acceptance.bats 
new/conftest-0.38.0/acceptance.bats
--- old/conftest-0.36.0/acceptance.bats 2022-11-27 20:32:42.000000000 +0100
+++ new/conftest-0.38.0/acceptance.bats 2023-01-10 04:56:30.000000000 +0100
@@ -408,7 +408,7 @@
 
 @test "Can validate SPDX file" {
   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" ]] 
 }
@@ -439,3 +439,9 @@
   [[ "$output" =~ "undefined function opa.runtime" ]]
   [[ "$output" =~ "undefined function http.send" ]]
 }
+
+@test "Can verify rego tests that uses parse_combined_config_files" {
+  run ./conftest verify --policy ./examples/kubernetes/combine
+  [ "$status" -eq 0 ]
+  [[ "$output" =~ "2 tests, 2 passed" ]]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/builtins/parse_config.go 
new/conftest-0.38.0/builtins/parse_config.go
--- old/conftest-0.36.0/builtins/parse_config.go        2022-11-27 
20:32:42.000000000 +0100
+++ new/conftest-0.38.0/builtins/parse_config.go        2023-01-10 
04:56:30.000000000 +0100
@@ -1,6 +1,7 @@
 package builtins
 
 import (
+       "encoding/json"
        "fmt"
        "io/ioutil"
        "path/filepath"
@@ -15,6 +16,7 @@
 func init() {
        registerParseConfig()
        registerParseConfigFile()
+       registerParseCombinedConfigFiles()
 }
 
 func registerParseConfig() {
@@ -39,6 +41,17 @@
        rego.RegisterBuiltin1(&decl, parseConfigFile)
 }
 
+func registerParseCombinedConfigFiles() {
+       decl := rego.Function{
+               Name: "parse_combined_config_files",
+               Decl: types.NewFunction(
+                       types.Args(types.NewArray(nil, types.S)),               
                 // paths to configuration files
+                       types.NewObject(nil, types.NewDynamicProperty(types.S, 
types.NewAny())), // map[string]interface{} aka JSON
+               ),
+       }
+       rego.RegisterBuiltin1(&decl, parseCombinedConfigFiles)
+}
+
 // parseConfig takes a parser name and configuration as strings and returns the
 // parsed configuration as a Rego object. This can be used to parse all of the
 // configuration formats conftest supports in-line in Rego policies.
@@ -60,7 +73,12 @@
                return nil, fmt.Errorf("create config parser: %w", err)
        }
 
-       return toAST(bctx, parser, []byte(config))
+       var cfg map[string]interface{}
+       if err := parser.Unmarshal([]byte(config), &cfg); err != nil {
+               return nil, fmt.Errorf("unmarshal config: %w", err)
+       }
+
+       return toAST(bctx, cfg, []byte(config))
 }
 
 // parseConfigFile takes a config file path, parses the config file, and
@@ -84,7 +102,38 @@
                return nil, fmt.Errorf("read config file %s: %w", filePath, err)
        }
 
-       return toAST(bctx, parser, contents)
+       var cfg map[string]interface{}
+       if err := parser.Unmarshal(contents, &cfg); err != nil {
+               return nil, fmt.Errorf("unmarshal config: %w", err)
+       }
+
+       return toAST(bctx, cfg, contents)
+}
+
+// parseCombinedConfigFiles
+func parseCombinedConfigFiles(bctx rego.BuiltinContext, op1 *ast.Term) 
(*ast.Term, error) {
+       args, err := decodeArgs([]*ast.Term{op1})
+       if err != nil {
+               return nil, fmt.Errorf("decode args: %w", err)
+       }
+
+       filePaths := []string{}
+       fileList := args[0].([]interface{})
+       for _, file := range fileList {
+               filePaths = append(filePaths, 
filepath.Join(filepath.Dir(bctx.Location.File), file.(string)))
+       }
+
+       cfg, err := parser.ParseConfigurations(filePaths)
+       if err != nil {
+               return nil, fmt.Errorf("failed to parse combine configurations: 
%w", err)
+       }
+       combinedCfg := parser.CombineConfigurations(cfg)
+       combinedContent, err := json.Marshal(combinedCfg)
+       if err != nil {
+               return nil, fmt.Errorf("failed to marshal combined content: 
%w", err)
+       }
+
+       return toAST(bctx, combinedCfg["Combined"], combinedContent)
 }
 
 func decodeArgs(args []*ast.Term) ([]interface{}, error) {
@@ -100,11 +149,7 @@
        return decoded, nil
 }
 
-func toAST(bctx rego.BuiltinContext, parser parser.Parser, contents []byte) 
(*ast.Term, error) {
-       var cfg map[string]interface{}
-       if err := parser.Unmarshal(contents, &cfg); err != nil {
-               return nil, fmt.Errorf("unmarshal config: %w", err)
-       }
+func toAST(bctx rego.BuiltinContext, cfg interface{}, contents []byte) 
(*ast.Term, error) {
        val, err := ast.InterfaceToValue(cfg)
        if err != nil {
                return nil, fmt.Errorf("convert config to ast.Value: %w", err)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conftest-0.36.0/examples/kubernetes/combine/combine.rego 
new/conftest-0.38.0/examples/kubernetes/combine/combine.rego
--- old/conftest-0.36.0/examples/kubernetes/combine/combine.rego        
1970-01-01 01:00:00.000000000 +0100
+++ new/conftest-0.38.0/examples/kubernetes/combine/combine.rego        
2023-01-10 04:56:30.000000000 +0100
@@ -0,0 +1,14 @@
+package main
+
+violation[msg] {
+    input[i].contents.kind == "Deployment"
+    deployment := input[i].contents
+    not service_selects_app(deployment.spec.selector.matchLabels.app)
+    msg := sprintf("Deployment '%v' has no matching service", 
[deployment.metadata.name])
+}
+
+service_selects_app(app) {
+    input[i].contents.kind == "Service"
+    service := input[i].contents
+    service.spec.selector.app == app
+}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conftest-0.36.0/examples/kubernetes/combine/combine.yaml 
new/conftest-0.38.0/examples/kubernetes/combine/combine.yaml
--- old/conftest-0.36.0/examples/kubernetes/combine/combine.yaml        
1970-01-01 01:00:00.000000000 +0100
+++ new/conftest-0.38.0/examples/kubernetes/combine/combine.yaml        
2023-01-10 04:56:30.000000000 +0100
@@ -0,0 +1,51 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: hello-kubernetes
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: hello-kubernetes
+  template:
+    metadata:
+      labels:
+        app: hello-kubernetes
+    spec:
+      containers:
+      - name: hello-kubernetes
+        image: paulbouwer/hello-kubernetes:1.5
+        ports:
+        - containerPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: goodbye-kubernetes
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: goodbye-kubernetes
+  template:
+    metadata:
+      labels:
+        app: goodbye-kubernetes
+    spec:
+      containers:
+      - name: goodbye-kubernetes
+        image: paulbouwer/hello-kubernetes:1.5
+        ports:
+        - containerPort: 8080
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: hello-kubernetes
+spec:
+  type: LoadBalancer
+  ports:
+  - port: 80
+    targetPort: 8080
+  selector:
+    app: hello-kubernetes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conftest-0.36.0/examples/kubernetes/combine/combine_test.rego 
new/conftest-0.38.0/examples/kubernetes/combine/combine_test.rego
--- old/conftest-0.36.0/examples/kubernetes/combine/combine_test.rego   
1970-01-01 01:00:00.000000000 +0100
+++ new/conftest-0.38.0/examples/kubernetes/combine/combine_test.rego   
2023-01-10 04:56:30.000000000 +0100
@@ -0,0 +1,9 @@
+package main
+
+test_parse_combined_config_file {
+       count(violation) == 1 with input as 
parse_combined_config_files(["combine.yaml"])
+}
+
+test_parse_combined_config_files {
+       count(violation) == 1 with input as 
parse_combined_config_files(["deployment.yaml", "service.yaml"])
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conftest-0.36.0/examples/kubernetes/combine/deployment.yaml 
new/conftest-0.38.0/examples/kubernetes/combine/deployment.yaml
--- old/conftest-0.36.0/examples/kubernetes/combine/deployment.yaml     
1970-01-01 01:00:00.000000000 +0100
+++ new/conftest-0.38.0/examples/kubernetes/combine/deployment.yaml     
2023-01-10 04:56:30.000000000 +0100
@@ -0,0 +1,19 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: goodbye-kubernetes
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: goodbye-kubernetes
+  template:
+    metadata:
+      labels:
+        app: goodbye-kubernetes
+    spec:
+      containers:
+      - name: goodbye-kubernetes
+        image: paulbouwer/hello-kubernetes:1.5
+        ports:
+        - containerPort: 8080
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conftest-0.36.0/examples/kubernetes/combine/service.yaml 
new/conftest-0.38.0/examples/kubernetes/combine/service.yaml
--- old/conftest-0.36.0/examples/kubernetes/combine/service.yaml        
1970-01-01 01:00:00.000000000 +0100
+++ new/conftest-0.38.0/examples/kubernetes/combine/service.yaml        
2023-01-10 04:56:30.000000000 +0100
@@ -0,0 +1,11 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: hello-kubernetes
+spec:
+  type: LoadBalancer
+  ports:
+  - port: 80
+    targetPort: 8080
+  selector:
+    app: hello-kubernetes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/go.mod new/conftest-0.38.0/go.mod
--- old/conftest-0.36.0/go.mod  2022-11-27 20:32:42.000000000 +0100
+++ new/conftest-0.38.0/go.mod  2023-01-10 04:56:30.000000000 +0100
@@ -19,8 +19,8 @@
        github.com/magiconair/properties v1.8.5
        github.com/moby/buildkit v0.9.3
        github.com/olekukonko/tablewriter v0.0.5
-       github.com/open-policy-agent/opa v0.46.1
-       github.com/opencontainers/image-spec v1.1.0-rc1
+       github.com/open-policy-agent/opa v0.48.0
+       github.com/opencontainers/image-spec v1.1.0-rc2
        github.com/pkg/errors v0.9.1
        github.com/shteou/go-ignore v0.3.1
        github.com/spdx/tools-golang v0.2.0
@@ -30,7 +30,7 @@
        github.com/tmccombs/hcl2json v0.3.1
        muzzammil.xyz/jsonc v1.0.0
        olympos.io/encoding/edn v0.0.0-20201019073823-d3554ca0b0a3
-       oras.land/oras-go v1.2.1
+       oras.land/oras-go v1.2.2
 )
 
 require (
@@ -48,11 +48,11 @@
        github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // 
indirect
        github.com/cespare/xxhash/v2 v2.1.2 // indirect
        github.com/cockroachdb/apd/v2 v2.0.1 // indirect
-       github.com/containerd/containerd v1.6.9 // indirect
+       github.com/containerd/containerd v1.6.15 // indirect
        github.com/containerd/typeurl v1.0.2 // indirect
-       github.com/docker/cli v20.10.18+incompatible // indirect
+       github.com/docker/cli v20.10.21+incompatible // indirect
        github.com/docker/distribution v2.8.1+incompatible // indirect
-       github.com/docker/docker v20.10.18+incompatible // indirect
+       github.com/docker/docker v20.10.21+incompatible // indirect
        github.com/docker/docker-credential-helpers v0.7.0 // indirect
        github.com/docker/go-connections v0.4.0 // indirect
        github.com/docker/go-metrics v0.0.1 // indirect
@@ -78,19 +78,19 @@
        github.com/jmespath/go-jmespath v0.4.0 // indirect
        github.com/klauspost/compress v1.15.11 // indirect
        github.com/mattn/go-runewidth v0.0.14 // indirect
-       github.com/matttproud/golang_protobuf_extensions v1.0.2 // indirect
+       github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
        github.com/mitchellh/go-homedir v1.1.0 // indirect
        github.com/mitchellh/go-testing-interface v1.14.1 // indirect
        github.com/mitchellh/go-wordwrap v1.0.1 // indirect
        github.com/mitchellh/mapstructure v1.4.3 // indirect
        github.com/moby/locker v1.0.1 // indirect
-       github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae // indirect
+       github.com/moby/term v0.0.0-20221205130635-1aeaba878587 // indirect
        github.com/morikuni/aec v1.0.0 // indirect
        github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de // indirect
        github.com/opencontainers/go-digest v1.0.0 // indirect
        github.com/pelletier/go-toml v1.9.4 // indirect
-       github.com/prometheus/client_golang v1.13.1 // indirect
-       github.com/prometheus/client_model v0.2.0 // indirect
+       github.com/prometheus/client_golang v1.14.0 // indirect
+       github.com/prometheus/client_model v0.3.0 // indirect
        github.com/prometheus/common v0.37.0 // indirect
        github.com/prometheus/procfs v0.8.0 // indirect
        github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // 
indirect
@@ -107,16 +107,16 @@
        github.com/yashtewari/glob-intersection v0.1.0 // indirect
        github.com/zclconf/go-cty v1.8.1 // indirect
        go.opencensus.io v0.23.0 // indirect
-       golang.org/x/net v0.0.0-20220909164309-bea034e7d591 // indirect
+       golang.org/x/net v0.5.0 // indirect
        golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094 // indirect
-       golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0 // indirect
-       golang.org/x/sys v0.0.0-20221010170243-090e33056c14 // indirect
-       golang.org/x/text v0.4.0 // indirect
+       golang.org/x/sync v0.1.0 // indirect
+       golang.org/x/sys v0.4.0 // indirect
+       golang.org/x/text v0.6.0 // indirect
        golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect
        google.golang.org/api v0.84.0 // indirect
        google.golang.org/appengine v1.6.7 // indirect
        google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc // 
indirect
-       google.golang.org/grpc v1.50.1 // indirect
+       google.golang.org/grpc v1.51.0 // indirect
        google.golang.org/protobuf v1.28.1 // indirect
        gopkg.in/ini.v1 v1.66.2 // indirect
        gopkg.in/yaml.v2 v2.4.0 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/go.sum new/conftest-0.38.0/go.sum
--- old/conftest-0.36.0/go.sum  2022-11-27 20:32:42.000000000 +0100
+++ new/conftest-0.38.0/go.sum  2023-01-10 04:56:30.000000000 +0100
@@ -181,9 +181,9 @@
 github.com/Microsoft/hcsshim v0.8.21/go.mod 
h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4=
 github.com/Microsoft/hcsshim v0.8.23/go.mod 
h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg=
 github.com/Microsoft/hcsshim v0.9.2/go.mod 
h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc=
-github.com/Microsoft/hcsshim v0.9.3/go.mod 
h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc=
-github.com/Microsoft/hcsshim v0.9.4 
h1:mnUj0ivWy6UzbB1uLFqKR6F+ZyiDc7j4iGgHTpO+5+I=
-github.com/Microsoft/hcsshim v0.9.4/go.mod 
h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc=
+github.com/Microsoft/hcsshim v0.9.5/go.mod 
h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc=
+github.com/Microsoft/hcsshim v0.9.6 
h1:VwnDOgLeoi2du6dAznfmspNqTiwczvjv4K7NxuY9jsY=
+github.com/Microsoft/hcsshim v0.9.6/go.mod 
h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc=
 github.com/Microsoft/hcsshim/test v0.0.0-20200826032352-301c83a30e7c/go.mod 
h1:30A5igQ91GEmhYJF8TaRP79pMBOYynRsyOByfVV0dU4=
 github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod 
h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU=
 github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod 
h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY=
@@ -293,8 +293,8 @@
 github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod 
h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50=
 github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 
h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o=
 github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod 
h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE=
-github.com/bytecodealliance/wasmtime-go v1.0.0 
h1:9u9gqaUiaJeN5IoD1L7egD8atOnTGyJcNp8BhkL9cUU=
-github.com/bytecodealliance/wasmtime-go v1.0.0/go.mod 
h1:jjlqQbWUfVSbehpErw3UoWFndBXRRMvfikYH6KsCwOg=
+github.com/bytecodealliance/wasmtime-go/v3 v3.0.2 
h1:3uZCA/BLTIu+DqCfguByNMJa2HVHpXvjfy0Dy7g6fuA=
+github.com/bytecodealliance/wasmtime-go/v3 v3.0.2/go.mod 
h1:RnUjnIXxEJcL6BgCvNyzCCRzZcxCgsZCi+RNlvYor5Q=
 github.com/caarlos0/ctrlc v1.0.0/go.mod 
h1:CdXpj4rmq0q/1Eb44M9zi2nKB0QraNKuRGYGrrHhcQw=
 github.com/campoy/unique v0.0.0-20180121183637-88950e537e7e/go.mod 
h1:9IOqJGCPMSc6E5ydlp5NIonxObaeu/Iub/X03EKPVYo=
 github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e/go.mod 
h1:oDpT4efm8tSYHXV5tHSdRvBet/b/QzxZ+XyyPehvm3A=
@@ -360,8 +360,9 @@
 github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod 
h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo=
 github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod 
h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE=
 github.com/containerd/cgroups v1.0.1/go.mod 
h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU=
-github.com/containerd/cgroups v1.0.3 
h1:ADZftAkglvCiD44c77s5YmMqaP2pzVCFZvBmAlBdAP4=
 github.com/containerd/cgroups v1.0.3/go.mod 
h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8=
+github.com/containerd/cgroups v1.0.4 
h1:jN/mbWBEaz+T1pi5OFtnkQ+8qnmEbAr1Oo1FRm5B0dA=
+github.com/containerd/cgroups v1.0.4/go.mod 
h1:nLNQtsF7Sl2HxNebu77i1R0oDlhiTG+kO4JTrUzo6IA=
 github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod 
h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
 github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod 
h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
 github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod 
h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE=
@@ -389,9 +390,9 @@
 github.com/containerd/containerd v1.5.7/go.mod 
h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c=
 github.com/containerd/containerd v1.5.8/go.mod 
h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s=
 github.com/containerd/containerd v1.6.1/go.mod 
h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE=
-github.com/containerd/containerd v1.6.6/go.mod 
h1:ZoP1geJldzCVY3Tonoz7b1IXk8rIX0Nltt5QE4OMNk0=
-github.com/containerd/containerd v1.6.9 
h1:IN/r8DUes/B5lEGTNfIiUkfZBtIQJGx2ai703dV6lRA=
-github.com/containerd/containerd v1.6.9/go.mod 
h1:XVicUvkxOrftE2Q1YWUXgZwkkAxwQYNOFzYWvfVfEfQ=
+github.com/containerd/containerd v1.6.12/go.mod 
h1:K4Bw7gjgh4TnkmQY+py/PYQGp4e7xgnHAeg87VeWb3A=
+github.com/containerd/containerd v1.6.15 
h1:4wWexxzLNHNE46aIETc6ge4TofO550v+BlLoANrbses=
+github.com/containerd/containerd v1.6.15/go.mod 
h1:U2NnBPIhzJDm59xF7xB2MMHnKtggpZ+phKg8o2TKj2c=
 github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod 
h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
 github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod 
h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
 github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod 
h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
@@ -484,19 +485,18 @@
 github.com/cpuguy83/go-md2man v1.0.10/go.mod 
h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod 
h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod 
h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod 
h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod 
h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/creack/pty v1.1.7/go.mod 
h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
 github.com/creack/pty v1.1.9/go.mod 
h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw=
 github.com/creack/pty v1.1.11/go.mod 
h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
+github.com/creack/pty v1.1.18/go.mod 
h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
 github.com/cyphar/filepath-securejoin v0.2.2/go.mod 
h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
 github.com/cyphar/filepath-securejoin v0.2.3/go.mod 
h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
 github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod 
h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ=
 github.com/d2g/dhcp4client v1.0.0/go.mod 
h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s=
 github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod 
h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8=
 github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod 
h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I=
-github.com/danieljoos/wincred v1.1.0/go.mod 
h1:XYlo+eRTsVA9aHGp7NGjFkPla4m+DCL7hqDjlFjiygg=
 github.com/danieljoos/wincred v1.1.2/go.mod 
h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0=
 github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.0/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -504,8 +504,8 @@
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod 
h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0=
 github.com/devigned/tab v0.1.1/go.mod 
h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY=
-github.com/dgraph-io/badger/v3 v3.2103.3 
h1:s63J1pisDhKpzWslXFe+ChuthuZptpwTE6qEKoczPb4=
-github.com/dgraph-io/badger/v3 v3.2103.3/go.mod 
h1:4MPiseMeDQ3FNCYwRbbcBOGJLf5jsE0PPFzRiKjtcdw=
+github.com/dgraph-io/badger/v3 v3.2103.5 
h1:ylPa6qzbjYRQMU6jokoj4wzcaweHylt//CH0AKt0akg=
+github.com/dgraph-io/badger/v3 v3.2103.5/go.mod 
h1:4MPiseMeDQ3FNCYwRbbcBOGJLf5jsE0PPFzRiKjtcdw=
 github.com/dgraph-io/ristretto v0.1.1 
h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8=
 github.com/dgraph-io/ristretto v0.1.1/go.mod 
h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA=
 github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod 
h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
@@ -517,17 +517,16 @@
 github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48/go.mod 
h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA=
 github.com/dimchansky/utfbom v1.1.0/go.mod 
h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
 github.com/dimchansky/utfbom v1.1.1/go.mod 
h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
-github.com/distribution/distribution/v3 v3.0.0-20220526142353-ffbd94cbe269 
h1:hbCT8ZPPMqefiAWD2ZKjn7ypokIGViTvBBg/ExLSdCk=
-github.com/distribution/distribution/v3 
v3.0.0-20220526142353-ffbd94cbe269/go.mod 
h1:28YO/VJk9/64+sTGNuYaBjWxrXTPrj0C0XmgTIOjxX4=
+github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2 
h1:aBfCb7iqHmDEIp6fBvC/hQUddQfg+3qdYjwzaiP9Hnc=
+github.com/distribution/distribution/v3 
v3.0.0-20221208165359-362910506bc2/go.mod 
h1:WHNsWjnIn2V1LYOrME7e8KxSeKunYHsxEm4am0BUtcI=
 github.com/dnaeon/go-vcr v1.0.1/go.mod 
h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
 github.com/docker/cli v0.0.0-20190925022749-754388324470/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
 github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
 github.com/docker/cli 
v20.10.0-beta1.0.20201029214301-1d20b15adc38+incompatible/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
 github.com/docker/cli v20.10.6+incompatible/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
 github.com/docker/cli v20.10.7+incompatible/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
-github.com/docker/cli v20.10.17+incompatible/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
-github.com/docker/cli v20.10.18+incompatible 
h1:f/GQLsVpo10VvToRay2IraVA1wHz9KktZyjev3SIVDU=
-github.com/docker/cli v20.10.18+incompatible/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
+github.com/docker/cli v20.10.21+incompatible 
h1:qVkgyYUnOLQ98LtXBrwd/duVqPT2X4SHndOuGsfwyhU=
+github.com/docker/cli v20.10.21+incompatible/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
 github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod 
h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY=
 github.com/docker/distribution 
v2.6.0-rc.1.0.20180327202408-83389a148052+incompatible/go.mod 
h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
 github.com/docker/distribution 
v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod 
h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
@@ -543,11 +542,9 @@
 github.com/docker/docker 
v20.10.3-0.20210609071616-4c2ec79bf2a8+incompatible/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docker/docker v20.10.6+incompatible/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docker/docker v20.10.7+incompatible/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/docker/docker v20.10.17+incompatible/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/docker/docker v20.10.18+incompatible 
h1:SN84VYXTBNGn92T/QwIRPlum9zfemfitN7pbsp26WSc=
-github.com/docker/docker v20.10.18+incompatible/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/docker v20.10.21+incompatible 
h1:UTLdBmHk3bEY+w8qeO5KttOhy6OmXWsl/FEet9Uswog=
+github.com/docker/docker v20.10.21+incompatible/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docker/docker-credential-helpers v0.6.3/go.mod 
h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
-github.com/docker/docker-credential-helpers v0.6.4/go.mod 
h1:ofX3UI0Gz1TteYBjtgs07O36Pyasyp66D2uKT7H8W1c=
 github.com/docker/docker-credential-helpers v0.7.0 
h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A=
 github.com/docker/docker-credential-helpers v0.7.0/go.mod 
h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0=
 github.com/docker/go-connections v0.4.0 
h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
@@ -952,6 +949,7 @@
 github.com/hashicorp/golang-lru v0.5.0/go.mod 
h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.1/go.mod 
h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.3/go.mod 
h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
+github.com/hashicorp/golang-lru v0.5.4 
h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
 github.com/hashicorp/golang-lru v0.5.4/go.mod 
h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
 github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod 
h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
@@ -1113,8 +1111,8 @@
 github.com/mattn/goveralls v0.0.2/go.mod 
h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod 
h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/matttproud/golang_protobuf_extensions 
v1.0.2-0.20181231171920-c182affec369/go.mod 
h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
-github.com/matttproud/golang_protobuf_extensions v1.0.2 
h1:hAHbPm5IJGijwng3PWk09JkG9WeqChjprR5s9bBZ+OM=
-github.com/matttproud/golang_protobuf_extensions v1.0.2/go.mod 
h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
+github.com/matttproud/golang_protobuf_extensions v1.0.4 
h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
+github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod 
h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
 github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod 
h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY=
 github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod 
h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
 github.com/miekg/dns v1.0.14/go.mod 
h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
@@ -1169,8 +1167,8 @@
 github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod 
h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ=
 github.com/moby/term v0.0.0-20201110203204-bea5bbe245bf/go.mod 
h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc=
 github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod 
h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A=
-github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae 
h1:O4SWKdcHVCvYqyDV+9CJA1fcDN2L11Bule0iFy3YlAI=
-github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod 
h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw=
+github.com/moby/term v0.0.0-20221205130635-1aeaba878587 
h1:HfkjXDfhgVaN5rmueG8cL8KKeFNecRCXFhaJ2qZ5SKA=
+github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod 
h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod 
h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod 
h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod 
h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
@@ -1228,8 +1226,8 @@
 github.com/onsi/gomega v1.15.0/go.mod 
h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0=
 github.com/onsi/gomega v1.17.0/go.mod 
h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod 
h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
-github.com/open-policy-agent/opa v0.46.1 
h1:iG998SLK0rzalex7Hyekeq17b9WtUexM0AuyHrQ7fCc=
-github.com/open-policy-agent/opa v0.46.1/go.mod 
h1:DY9ZkCyz+DKoWI5gDuLw5rGC2RSb37QUeEf+9VjsWkI=
+github.com/open-policy-agent/opa v0.48.0 
h1:s2K823yohAUu/HB4MOPWDhBh88JMKQv7uTr6S89fbM0=
+github.com/open-policy-agent/opa v0.48.0/go.mod 
h1:CsQcksP+qGBxO9oEBj1NnZqKcjgjmTJbRNTzjZB/DXQ=
 github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod 
h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod 
h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 github.com/opencontainers/go-digest v1.0.0-rc1/go.mod 
h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
@@ -1241,8 +1239,8 @@
 github.com/opencontainers/image-spec 
v1.0.2-0.20211117181255-693428a734f5/go.mod 
h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
 github.com/opencontainers/image-spec v1.0.2/go.mod 
h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
 github.com/opencontainers/image-spec 
v1.0.3-0.20211202183452-c5a74bcca799/go.mod 
h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
-github.com/opencontainers/image-spec v1.1.0-rc1 
h1:lfG+OTa7V8PD3PKvkocSG9KAcA9MANqJn53m31Fvwkc=
-github.com/opencontainers/image-spec v1.1.0-rc1/go.mod 
h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ=
+github.com/opencontainers/image-spec v1.1.0-rc2 
h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034=
+github.com/opencontainers/image-spec v1.1.0-rc2/go.mod 
h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ=
 github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod 
h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
 github.com/opencontainers/runc v0.1.1/go.mod 
h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
 github.com/opencontainers/runc v1.0.0-rc10/go.mod 
h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
@@ -1315,15 +1313,16 @@
 github.com/prometheus/client_golang v1.11.0/go.mod 
h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
 github.com/prometheus/client_golang v1.11.1/go.mod 
h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
 github.com/prometheus/client_golang v1.12.1/go.mod 
h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
-github.com/prometheus/client_golang v1.13.1 
h1:3gMjIY2+/hzmqhtUC/aQNYldJA6DtH3CgQvwS+02K1c=
-github.com/prometheus/client_golang v1.13.1/go.mod 
h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ=
+github.com/prometheus/client_golang v1.14.0 
h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=
+github.com/prometheus/client_golang v1.14.0/go.mod 
h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y=
 github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod 
h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod 
h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod 
h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod 
h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod 
h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.2.0 
h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
 github.com/prometheus/client_model v0.2.0/go.mod 
h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.3.0 
h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=
+github.com/prometheus/client_model v0.3.0/go.mod 
h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
 github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod 
h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
 github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod 
h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
 github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod 
h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
@@ -1446,7 +1445,6 @@
 github.com/spf13/cobra v0.0.5/go.mod 
h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
 github.com/spf13/cobra v1.0.0/go.mod 
h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
 github.com/spf13/cobra v1.1.3/go.mod 
h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo=
-github.com/spf13/cobra v1.4.0/go.mod 
h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g=
 github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
 github.com/spf13/cobra v1.6.1/go.mod 
h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
 github.com/spf13/jwalterweatherman v1.0.0/go.mod 
h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
@@ -1472,6 +1470,7 @@
 github.com/stretchr/objx v0.1.1/go.mod 
h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.2.0/go.mod 
h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
 github.com/stretchr/objx v0.4.0/go.mod 
h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0/go.mod 
h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
 github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod 
h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod 
h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.2.2/go.mod 
h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
@@ -1481,9 +1480,9 @@
 github.com/stretchr/testify v1.6.1/go.mod 
h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.0/go.mod 
h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.1/go.mod 
h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.2/go.mod 
h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
-github.com/stretchr/testify v1.8.0 
h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
 github.com/stretchr/testify v1.8.0/go.mod 
h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.1 
h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
+github.com/stretchr/testify v1.8.1/go.mod 
h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
 github.com/subosito/gotenv v1.2.0 
h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
 github.com/subosito/gotenv v1.2.0/go.mod 
h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
 github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod 
h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
@@ -1703,8 +1702,8 @@
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e 
h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM=
-golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8=
+golang.org/x/crypto v0.4.0/go.mod 
h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1828,8 +1827,10 @@
 golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.0.0-20220909164309-bea034e7d591 
h1:D0B/7al0LLrVC8aWF4+oxpv/m8bc7ViFfVS8/gXGdqI=
-golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod 
h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
+golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
+golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
+golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
 golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1872,8 +1873,8 @@
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 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 
h1:cu5kTvlzcw1Q5S9f5ip1/cpiB4nXvw1XYzFPGgzLUOY=
-golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -2015,16 +2016,20 @@
 golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 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-20220825204002-c680a09ffe64/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20221010170243-090e33056c14 
h1:k5II8e6QD8mITdi+okbbmR/cIyEbeXLBhy5Ha4nevyc=
 golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
+golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod 
h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
+golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
 golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod 
h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod 
h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -2035,8 +2040,10 @@
 golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
 golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
+golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 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=
@@ -2291,7 +2298,6 @@
 google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod 
h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod 
h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod 
h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod 
h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod 
h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod 
h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod 
h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
@@ -2353,8 +2359,8 @@
 google.golang.org/grpc v1.46.2/go.mod 
h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
 google.golang.org/grpc v1.47.0/go.mod 
h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
 google.golang.org/grpc v1.48.0/go.mod 
h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
-google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY=
-google.golang.org/grpc v1.50.1/go.mod 
h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
+google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U=
+google.golang.org/grpc v1.51.0/go.mod 
h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
 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=
@@ -2515,8 +2521,8 @@
 mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7/go.mod 
h1:HGC5lll35J70Y5v7vCGb9oLhHoScFwkHDJm/05RdSTc=
 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 v1.2.1 h1:/VcGS8FUy3eEXLl/1vC4QypLHwrfSmgW7ygsoklqKK8=
-oras.land/oras-go v1.2.1/go.mod h1:3N11Z5E3c4ZzOjroCl1RtAdB4yNAYl7A27j2SVf913A=
+oras.land/oras-go v1.2.2 h1:0E9tOHUfrNH7TCDk5KU0jVBEzCqbfdyuVfGmJ7ZeRPE=
+oras.land/oras-go v1.2.2/go.mod h1:Apa81sKoZPpP7CDciE006tSZ0x3Q3+dOoBcMZ/aNxvw=
 pack.ag/amqp v0.11.2/go.mod h1:4/cbmt4EJXSKlG6LCfWHoqmN0uFdy5i/+YFz+fTfhV4=
 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=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/internal/commands/push.go 
new/conftest-0.38.0/internal/commands/push.go
--- old/conftest-0.36.0/internal/commands/push.go       2022-11-27 
20:32:42.000000000 +0100
+++ new/conftest-0.38.0/internal/commands/push.go       2023-01-10 
04:56:30.000000000 +0100
@@ -35,8 +35,8 @@
 
        $ conftest push instrumenta.azurecr.io/my-registry:v1 path/to/dir
 
-Conftest leverages the ORAS library under the hood. This allows arbitrary 
artifacts to 
-be stored in compatible OCI registries. Currently open policy agent bundles 
are supported by 
+Conftest leverages the ORAS library under the hood. This allows arbitrary 
artifacts to
+be stored in compatible OCI registries. Currently Open Policy Agent bundles 
are supported by
 the docker/distribution (https://github.com/docker/distribution) registry and 
by Azure.
 
 The policy location defaults to the policy directory in the local folder.
@@ -93,8 +93,12 @@
                        }
 
                        logger.Printf("pushing bundle to: %s", repository)
+
                        policyPath := viper.GetString("policy")
                        dataPath := viper.GetString("data")
+                       if policyPath == "" && dataPath == "" {
+                               return errors.New("either policy or data must 
be set")
+                       }
                        if dataPath == "" {
                                dataPath = policyPath
                        }
@@ -150,7 +154,15 @@
 }
 
 func buildLayers(ctx context.Context, memoryStore *content.Memory, policyPath, 
dataPath string) ([]ocispec.Descriptor, error) {
-       engine, err := policy.LoadWithData(ctx, []string{policyPath}, 
[]string{dataPath}, "")
+       var policyPaths []string
+       if policyPath != "" {
+               policyPaths = append(policyPaths, policyPath)
+       }
+       var dataPaths []string
+       if dataPath != "" {
+               dataPaths = append(dataPaths, dataPath)
+       }
+       engine, err := policy.LoadWithData(ctx, policyPaths, dataPaths, "")
        if err != nil {
                return nil, fmt.Errorf("load: %w", err)
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/policy/engine.go 
new/conftest-0.38.0/policy/engine.go
--- old/conftest-0.36.0/policy/engine.go        2022-11-27 20:32:42.000000000 
+0100
+++ new/conftest-0.38.0/policy/engine.go        2023-01-10 04:56:30.000000000 
+0100
@@ -84,9 +84,13 @@
                }
        }
 
-       engine, err := Load(ctx, policyPaths, c)
-       if err != nil {
-               return nil, fmt.Errorf("loading policies: %w", err)
+       engine := &Engine{}
+       if len(policyPaths) > 0 {
+               var err error
+               engine, err = Load(ctx, policyPaths, c)
+               if err != nil {
+                       return nil, fmt.Errorf("loading policies: %w", err)
+               }
        }
 
        // FilteredPaths will recursively find all file paths that contain a 
valid document
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conftest-0.36.0/scripts/push-pull-e2e.sh 
new/conftest-0.38.0/scripts/push-pull-e2e.sh
--- old/conftest-0.36.0/scripts/push-pull-e2e.sh        2022-11-27 
20:32:42.000000000 +0100
+++ new/conftest-0.38.0/scripts/push-pull-e2e.sh        2023-01-10 
04:56:30.000000000 +0100
@@ -63,6 +63,24 @@
     exit 1
 fi
 
+$CONFTEST push localhost:5000/testdataonly -p '' -d examples/data/exclusions
+if [ $? != 0 ]; then
+    echo "ERROR PUSHING BUNDLE"
+    exit 1
+fi
+
+$CONFTEST pull localhost:5000/testdataonly -p testdataonly
+if [ $? != 0 ]; then
+    echo "ERROR PULLING BUNDLE"
+    exit 1
+fi
+
+$CONFTEST verify -p '' -d testdataonly/examples/data/exclusions
+if [ $? != 0 ]; then
+    echo "ERROR LOADING DATA BUNDLES"
+    exit 1
+fi
+
 $CONFTEST push localhost:5000/test-annotations -p tests/annotations
 if [ $? != 0 ]; then
     echo "ERROR PUSHING ANNOTATIONS BUNDLE"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conftest-0.36.0/scripts/validate-conventional-commit-prefix.sh 
new/conftest-0.38.0/scripts/validate-conventional-commit-prefix.sh
--- old/conftest-0.36.0/scripts/validate-conventional-commit-prefix.sh  
1970-01-01 01:00:00.000000000 +0100
+++ new/conftest-0.38.0/scripts/validate-conventional-commit-prefix.sh  
2023-01-10 04:56:30.000000000 +0100
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+set -eo pipefail
+
+code=0
+while read -r commit; do
+    match=$(echo "${commit}" | grep -o -h -E "^[a-z]+(\([a-z]+\))?: " || true)
+    if [[ -z "${match}" ]]; then
+        echo "::error::Commit \"${commit}\" does not have the required 
conventional commit prefix. See https://www.conventionalcommits.org/ for more 
info."
+        code=1
+    else
+        echo "Commit \"${commit}\" has conventional commit prefix 
\"${match}\"."
+    fi
+done < <(git --no-pager log --pretty=format:%s && echo "") # git log does not 
include newline after last commit
+
+exit ${code}

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/conftest/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.conftest.new.32243/vendor.tar.gz differ: char 5, 
line 1

Reply via email to