mirror of
https://github.com/pomerium/pomerium.git
synced 2025-04-28 18:06:34 +02:00
* chore(deps): bump the go group with 39 updates Bumps the go group with 39 updates: | Package | From | To | | --- | --- | --- | | [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) | `1.50.0` | `1.51.0` | | [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.29.8` | `1.29.12` | | [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) | `1.78.0` | `1.79.0` | | [github.com/bits-and-blooms/bitset](https://github.com/bits-and-blooms/bitset) | `1.21.0` | `1.22.0` | | [github.com/caddyserver/certmagic](https://github.com/caddyserver/certmagic) | `0.21.7` | `0.22.2` | | [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) | `3.12.0` | `3.13.0` | | [github.com/docker/docker](https://github.com/docker/docker) | `28.0.1+incompatible` | `28.0.4+incompatible` | | [github.com/grpc-ecosystem/go-grpc-middleware/v2](https://github.com/grpc-ecosystem/go-grpc-middleware) | `2.3.0` | `2.3.1` | | [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) | `5.7.2` | `5.7.4` | | [github.com/mholt/acmez/v3](https://github.com/mholt/acmez) | `3.0.1` | `3.1.1` | | [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) | `7.0.87` | `7.0.89` | | [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa) | `1.2.0` | `1.3.0` | | [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.21.0` | `1.21.1` | | [github.com/prometheus/common](https://github.com/prometheus/common) | `0.62.0` | `0.63.0` | | [github.com/prometheus/procfs](https://github.com/prometheus/procfs) | `0.15.1` | `0.16.0` | | [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) | `0.50.0` | `0.50.1` | | [github.com/rs/zerolog](https://github.com/rs/zerolog) | `1.33.0` | `1.34.0` | | [github.com/spf13/viper](https://github.com/spf13/viper) | `1.19.0` | `1.20.1` | | [github.com/testcontainers/testcontainers-go](https://github.com/testcontainers/testcontainers-go) | `0.35.0` | `0.36.0` | | [go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.59.0` | `0.60.0` | | [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.59.0` | `0.60.0` | | [go.opentelemetry.io/contrib/propagators/autoprop](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.59.0` | `0.60.0` | | [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [go.opentelemetry.io/otel/bridge/opencensus](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [go.opentelemetry.io/otel/metric](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [go.opentelemetry.io/otel/sdk/metric](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) | `1.34.0` | `1.35.0` | | [golang.org/x/net](https://github.com/golang/net) | `0.37.0` | `0.38.0` | | [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.27.0` | `0.28.0` | | [golang.org/x/time](https://github.com/golang/time) | `0.10.0` | `0.11.0` | | [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.223.0` | `0.224.0` | | [google.golang.org/genproto/googleapis/rpc](https://github.com/googleapis/go-genproto) | `0.0.0-20250219182151-9fdb1cabc7b2` | `0.0.0-20250303144028-a0af3efb3deb` | | [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.71.0` | `1.71.1` | | google.golang.org/protobuf | `1.36.5` | `1.36.6` | Updates `cloud.google.com/go/storage` from 1.50.0 to 1.51.0 - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.50.0...spanner/v1.51.0) Updates `github.com/aws/aws-sdk-go-v2/config` from 1.29.8 to 1.29.12 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.29.8...config/v1.29.12) Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.78.0 to 1.79.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.78.0...service/s3/v1.79.0) Updates `github.com/bits-and-blooms/bitset` from 1.21.0 to 1.22.0 - [Release notes](https://github.com/bits-and-blooms/bitset/releases) - [Commits](https://github.com/bits-and-blooms/bitset/compare/v1.21.0...v1.22.0) Updates `github.com/caddyserver/certmagic` from 0.21.7 to 0.22.2 - [Release notes](https://github.com/caddyserver/certmagic/releases) - [Commits](https://github.com/caddyserver/certmagic/compare/v0.21.7...v0.22.2) Updates `github.com/coreos/go-oidc/v3` from 3.12.0 to 3.13.0 - [Release notes](https://github.com/coreos/go-oidc/releases) - [Commits](https://github.com/coreos/go-oidc/compare/v3.12.0...v3.13.0) Updates `github.com/docker/docker` from 28.0.1+incompatible to 28.0.4+incompatible - [Release notes](https://github.com/docker/docker/releases) - [Commits](https://github.com/docker/docker/compare/v28.0.1...v28.0.4) Updates `github.com/grpc-ecosystem/go-grpc-middleware/v2` from 2.3.0 to 2.3.1 - [Release notes](https://github.com/grpc-ecosystem/go-grpc-middleware/releases) - [Commits](https://github.com/grpc-ecosystem/go-grpc-middleware/compare/v2.3.0...v2.3.1) Updates `github.com/jackc/pgx/v5` from 5.7.2 to 5.7.4 - [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md) - [Commits](https://github.com/jackc/pgx/compare/v5.7.2...v5.7.4) Updates `github.com/mholt/acmez/v3` from 3.0.1 to 3.1.1 - [Release notes](https://github.com/mholt/acmez/releases) - [Commits](https://github.com/mholt/acmez/compare/v3.0.1...v3.1.1) Updates `github.com/minio/minio-go/v7` from 7.0.87 to 7.0.89 - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.87...v7.0.89) Updates `github.com/open-policy-agent/opa` from 1.2.0 to 1.3.0 - [Release notes](https://github.com/open-policy-agent/opa/releases) - [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-policy-agent/opa/compare/v1.2.0...v1.3.0) Updates `github.com/prometheus/client_golang` from 1.21.0 to 1.21.1 - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.21.0...v1.21.1) Updates `github.com/prometheus/common` from 0.62.0 to 0.63.0 - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md) - [Commits](https://github.com/prometheus/common/compare/v0.62.0...v0.63.0) Updates `github.com/prometheus/procfs` from 0.15.1 to 0.16.0 - [Release notes](https://github.com/prometheus/procfs/releases) - [Commits](https://github.com/prometheus/procfs/compare/v0.15.1...v0.16.0) Updates `github.com/quic-go/quic-go` from 0.50.0 to 0.50.1 - [Release notes](https://github.com/quic-go/quic-go/releases) - [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md) - [Commits](https://github.com/quic-go/quic-go/compare/v0.50.0...v0.50.1) Updates `github.com/rs/zerolog` from 1.33.0 to 1.34.0 - [Commits](https://github.com/rs/zerolog/compare/v1.33.0...v1.34.0) Updates `github.com/spf13/viper` from 1.19.0 to 1.20.1 - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.19.0...v1.20.1) Updates `github.com/testcontainers/testcontainers-go` from 0.35.0 to 0.36.0 - [Release notes](https://github.com/testcontainers/testcontainers-go/releases) - [Commits](https://github.com/testcontainers/testcontainers-go/compare/v0.35.0...v0.36.0) Updates `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc` from 0.59.0 to 0.60.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.59.0...zpages/v0.60.0) Updates `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp` from 0.59.0 to 0.60.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.59.0...zpages/v0.60.0) Updates `go.opentelemetry.io/contrib/propagators/autoprop` from 0.59.0 to 0.60.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.59.0...zpages/v0.60.0) Updates `go.opentelemetry.io/otel` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `go.opentelemetry.io/otel/bridge/opencensus` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `go.opentelemetry.io/otel/metric` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `go.opentelemetry.io/otel/sdk` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `go.opentelemetry.io/otel/sdk/metric` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `go.opentelemetry.io/otel/trace` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.34.0...v1.35.0) Updates `golang.org/x/net` from 0.37.0 to 0.38.0 - [Commits](https://github.com/golang/net/compare/v0.37.0...v0.38.0) Updates `golang.org/x/oauth2` from 0.27.0 to 0.28.0 - [Commits](https://github.com/golang/oauth2/compare/v0.27.0...v0.28.0) Updates `golang.org/x/time` from 0.10.0 to 0.11.0 - [Commits](https://github.com/golang/time/compare/v0.10.0...v0.11.0) Updates `google.golang.org/api` from 0.223.0 to 0.224.0 - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.223.0...v0.224.0) Updates `google.golang.org/genproto/googleapis/rpc` from 0.0.0-20250219182151-9fdb1cabc7b2 to 0.0.0-20250303144028-a0af3efb3deb - [Commits](https://github.com/googleapis/go-genproto/commits) Updates `google.golang.org/grpc` from 1.71.0 to 1.71.1 - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.71.0...v1.71.1) Updates `google.golang.org/protobuf` from 1.36.5 to 1.36.6 --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-version: 1.51.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.29.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/aws/aws-sdk-go-v2/service/s3 dependency-version: 1.79.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/bits-and-blooms/bitset dependency-version: 1.22.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/caddyserver/certmagic dependency-version: 0.22.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/coreos/go-oidc/v3 dependency-version: 3.13.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/docker/docker dependency-version: 28.0.4+incompatible dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/grpc-ecosystem/go-grpc-middleware/v2 dependency-version: 2.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/jackc/pgx/v5 dependency-version: 5.7.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/mholt/acmez/v3 dependency-version: 3.1.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/minio/minio-go/v7 dependency-version: 7.0.89 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/open-policy-agent/opa dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/prometheus/client_golang dependency-version: 1.21.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/prometheus/common dependency-version: 0.63.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/prometheus/procfs dependency-version: 0.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/quic-go/quic-go dependency-version: 0.50.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/rs/zerolog dependency-version: 1.34.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/spf13/viper dependency-version: 1.20.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/testcontainers/testcontainers-go dependency-version: 0.36.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc dependency-version: 0.60.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp dependency-version: 0.60.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/contrib/propagators/autoprop dependency-version: 0.60.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/bridge/opencensus dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/metric dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/sdk dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/sdk/metric dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/trace dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: golang.org/x/net dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: golang.org/x/oauth2 dependency-version: 0.28.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: golang.org/x/time dependency-version: 0.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: google.golang.org/api dependency-version: 0.224.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: google.golang.org/genproto/googleapis/rpc dependency-version: 0.0.0-20250303144028-a0af3efb3deb dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: google.golang.org/grpc dependency-version: 1.71.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: google.golang.org/protobuf dependency-version: 1.36.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go ... Signed-off-by: dependabot[bot] <support@github.com> * fix build errors * update OPA formatting in policy generator test --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Kenneth Jenkins <51246568+kenjenkins@users.noreply.github.com>
203 lines
4.6 KiB
Go
203 lines
4.6 KiB
Go
package generator
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/open-policy-agent/opa/ast"
|
|
"github.com/open-policy-agent/opa/format"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/pomerium/pomerium/pkg/policy/parser"
|
|
)
|
|
|
|
func Test(t *testing.T) {
|
|
g := New(WithCriterion(func(g *Generator) Criterion {
|
|
return NewCriterionFunc(CriterionDataTypeUnused, "accept", func(_ string, _ parser.Value) (rule *ast.Rule, additionalRules []*ast.Rule, err error) {
|
|
rule = g.NewRule("accept")
|
|
rule.Body = append(rule.Body, ast.MustParseExpr("1 == 1"))
|
|
return rule, nil, nil
|
|
})
|
|
}))
|
|
|
|
mod, err := g.Generate(&parser.Policy{
|
|
Rules: []parser.Rule{
|
|
{
|
|
Action: parser.ActionAllow,
|
|
And: []parser.Criterion{
|
|
{Name: "accept"},
|
|
{Name: "accept"},
|
|
{Name: "accept"},
|
|
},
|
|
Or: []parser.Criterion{
|
|
{Name: "accept"},
|
|
{Name: "accept"},
|
|
{Name: "accept"},
|
|
},
|
|
Not: []parser.Criterion{
|
|
{Name: "accept"},
|
|
{Name: "accept"},
|
|
{Name: "accept"},
|
|
},
|
|
Nor: []parser.Criterion{
|
|
{Name: "accept"},
|
|
{Name: "accept"},
|
|
{Name: "accept"},
|
|
},
|
|
},
|
|
{
|
|
Action: parser.ActionAllow,
|
|
And: []parser.Criterion{
|
|
{Name: "accept"},
|
|
},
|
|
},
|
|
{
|
|
Action: parser.ActionDeny,
|
|
Nor: []parser.Criterion{
|
|
{Name: "accept"},
|
|
{Name: "accept"},
|
|
},
|
|
},
|
|
},
|
|
})
|
|
require.NoError(t, err)
|
|
assert.Equal(t, `package pomerium.policy
|
|
|
|
import rego.v1
|
|
|
|
default allow := [false, set()]
|
|
|
|
default deny := [false, set()]
|
|
|
|
accept_0 if 1 == 1
|
|
accept_1 if 1 == 1
|
|
accept_2 if 1 == 1
|
|
|
|
and_0 := v if {
|
|
results := [accept_0, accept_1, accept_2]
|
|
normalized := [normalize_criterion_result(x) | x := results[i]]
|
|
v := merge_with_and(normalized)
|
|
}
|
|
|
|
accept_3 if 1 == 1
|
|
accept_4 if 1 == 1
|
|
accept_5 if 1 == 1
|
|
|
|
or_0 := v if {
|
|
results := [accept_3, accept_4, accept_5]
|
|
normalized := [normalize_criterion_result(x) | x := results[i]]
|
|
v := merge_with_or(normalized)
|
|
}
|
|
|
|
accept_6 if 1 == 1
|
|
accept_7 if 1 == 1
|
|
accept_8 if 1 == 1
|
|
|
|
not_0 := v if {
|
|
results := [accept_6, accept_7, accept_8]
|
|
normalized := [normalize_criterion_result(x) | x := results[i]]
|
|
inverted := [invert_criterion_result(x) | x := results[i]]
|
|
v := merge_with_and(inverted)
|
|
}
|
|
|
|
accept_9 if 1 == 1
|
|
accept_10 if 1 == 1
|
|
accept_11 if 1 == 1
|
|
|
|
nor_0 := v if {
|
|
results := [accept_9, accept_10, accept_11]
|
|
normalized := [normalize_criterion_result(x) | x := results[i]]
|
|
inverted := [invert_criterion_result(x) | x := results[i]]
|
|
v := merge_with_or(inverted)
|
|
}
|
|
|
|
accept_12 if 1 == 1
|
|
|
|
and_1 := v if {
|
|
results := [accept_12]
|
|
normalized := [normalize_criterion_result(x) | x := results[i]]
|
|
v := merge_with_and(normalized)
|
|
}
|
|
|
|
allow := v if {
|
|
results := [and_0, or_0, not_0, nor_0, and_1]
|
|
normalized := [normalize_criterion_result(x) | x := results[i]]
|
|
v := merge_with_or(normalized)
|
|
}
|
|
|
|
accept_13 if 1 == 1
|
|
accept_14 if 1 == 1
|
|
|
|
nor_1 := v if {
|
|
results := [accept_13, accept_14]
|
|
normalized := [normalize_criterion_result(x) | x := results[i]]
|
|
inverted := [invert_criterion_result(x) | x := results[i]]
|
|
v := merge_with_or(inverted)
|
|
}
|
|
|
|
deny := v if {
|
|
results := [nor_1]
|
|
normalized := [normalize_criterion_result(x) | x := results[i]]
|
|
v := merge_with_or(normalized)
|
|
}
|
|
|
|
invert_criterion_result(v) := out if {
|
|
v[0]
|
|
out = array.concat([false], array.slice(v, 1, count(v)))
|
|
}
|
|
|
|
else := out if {
|
|
not v[0]
|
|
out = array.concat([true], array.slice(v, 1, count(v)))
|
|
}
|
|
|
|
normalize_criterion_result(result) := v if {
|
|
is_boolean(result)
|
|
v = [result, set()]
|
|
}
|
|
|
|
else := v if {
|
|
is_array(result)
|
|
v = result
|
|
}
|
|
|
|
else := v if {
|
|
v = [false, set()]
|
|
}
|
|
|
|
object_union(xs) := merged if {
|
|
merged = {k: v |
|
|
some k
|
|
xs[_][k]
|
|
vs := [xv | xv := xs[_][k]]
|
|
v := vs[count(vs) - 1]
|
|
}
|
|
}
|
|
|
|
merge_with_and(results) := [true, reasons, additional_data] if {
|
|
true_results := [x | x := results[i]; x[0]]
|
|
count(true_results) == count(results)
|
|
reasons := union({x | x := true_results[i][1]})
|
|
additional_data := object_union({x | x := true_results[i][2]})
|
|
}
|
|
|
|
else := [false, reasons, additional_data] if {
|
|
false_results := [x | x := results[i]; not x[0]]
|
|
reasons := union({x | x := false_results[i][1]})
|
|
additional_data := object_union({x | x := false_results[i][2]})
|
|
}
|
|
|
|
merge_with_or(results) := [true, reasons, additional_data] if {
|
|
true_results := [x | x := results[i]; x[0]]
|
|
count(true_results) > 0
|
|
reasons := union({x | x := true_results[i][1]})
|
|
additional_data := object_union({x | x := true_results[i][2]})
|
|
}
|
|
|
|
else := [false, reasons, additional_data] if {
|
|
false_results := [x | x := results[i]; not x[0]]
|
|
reasons := union({x | x := false_results[i][1]})
|
|
additional_data := object_union({x | x := false_results[i][2]})
|
|
}
|
|
`, string(format.MustAst(mod)))
|
|
}
|