Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: User-defined output from policy evaluation #1594

Merged

Conversation

Sambigeara
Copy link
Contributor

Added support to define custom outputs per rule for resource and principal policies:

Resource policy:

# Resource policy
  rules:
    - actions: ["view:public"]
      roles: ["employee"]
      effect: EFFECT_ALLOW
      name: public-view
      output:
        expr: |-
          "view:public_allowed:%s".format([request.principal.id])

# Principal policy:
  rules:
    - resource: equipment_request
      actions:
        - action: "create"
          effect: EFFECT_ALLOW
          output:
            expr: |-
              'some_arbitrary_expression'

The outputs are listed within each CheckResourcesResponse_ResultEntry:

[
  {
    ...
    "outputs": [
      { "src": "resource.expense.v1/acme#rule-001", "val": "view_allowed:alice" },
      { "src": "resource.expense.v1/acme#rule-002", "val": "foo" }
    ]
  },
  ...
] 

@Sambigeara
Copy link
Contributor Author

Not quite finished, but overall intent is shown. I'll add docs next week, and iron out any rough edges.

@codecov
Copy link

codecov bot commented May 19, 2023

Codecov Report

Merging #1594 (90accb7) into main (ad1c460) will increase coverage by 0.05%.
The diff coverage is 33.72%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1594      +/-   ##
==========================================
+ Coverage   53.25%   53.30%   +0.05%     
==========================================
  Files         130      130              
  Lines       14685    14765      +80     
==========================================
+ Hits         7820     7871      +51     
- Misses       6176     6200      +24     
- Partials      689      694       +5     
Impacted Files Coverage Δ
internal/namer/namer.go 60.23% <0.00%> (-4.15%) ⬇️
internal/engine/evaluator.go 69.20% <20.37%> (-9.42%) ⬇️
internal/engine/engine.go 62.87% <25.00%> (+0.34%) ⬆️
internal/compile/compile.go 87.61% <100.00%> (+0.57%) ⬆️

... and 2 files with indirect coverage changes

…e <=10 input limit

Signed-off-by: Sam Lock <sam@swlock.co.uk>
Signed-off-by: Sam Lock <sam@swlock.co.uk>
Signed-off-by: Sam Lock <sam@swlock.co.uk>
Signed-off-by: Sam Lock <sam@swlock.co.uk>
@Sambigeara Sambigeara force-pushed the enhancement/cerbos-custom-return-metadata branch from 34d183f to b04b106 Compare May 22, 2023 09:17
Signed-off-by: Sam Lock <sam@swlock.co.uk>
@Sambigeara Sambigeara marked this pull request as ready for review May 22, 2023 09:35
Copy link
Contributor

@charithe charithe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent stuff!

internal/compile/compile.go Show resolved Hide resolved
internal/engine/evaluator.go Outdated Show resolved Hide resolved
internal/engine/evaluator.go Outdated Show resolved Hide resolved
api/public/cerbos/engine/v1/engine.proto Outdated Show resolved Hide resolved
@charithe charithe changed the title enhancement: Cerbos custom return metadata feat: User-defined output from policy evaluation May 26, 2023
…Fixed scoping issue in process and updated tests

Signed-off-by: Sam Lock <sam@swlock.co.uk>
Signed-off-by: Sam Lock <sam@swlock.co.uk>
Signed-off-by: Sam Lock <sam@swlock.co.uk>
Signed-off-by: Sam Lock <sam@swlock.co.uk>
Signed-off-by: Sam Lock <sam@swlock.co.uk>
* Refactors CEL evaluation function to return CEL Value, and original
  dependent functions to convert to the raw value as needed
* Introduced new function which converts the CEL Value directly into a
  protobuf Value. Function always returns a protobuf value - errors
  return error string to feedback to user. Output computation is a noop
  WRT normal evaluation of policy
* Added output trace method to track computation
* Updated tests to suit

Signed-off-by: Sam Lock <sam@swlock.co.uk>
Copy link
Contributor

@charithe charithe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Nice work!

This does seem to add some overhead but I don't think we need to try to optimize it immediately since it's an opt-in feature.

Benchmark
goos: linux
goarch: amd64
pkg: github.com/cerbos/cerbos/internal/engine
cpu: 13th Gen Intel(R) Core(TM) i7-1360P
                                                         │ /home/cell/tmp/before.txt │        /home/cell/tmp/after.txt        │
                                                         │          sec/op           │    sec/op      vs base                 │
Check/auditLog=false/schemaEnforcement=none/case_00-16                  260.5µ ±  3%    416.7µ ±  4%  +59.96% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_01-16                  258.2µ ±  4%    405.8µ ±  6%  +57.17% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_02-16                  898.3µ ±  4%   1217.3µ ±  5%  +35.52% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_03-16                  706.4µ ±  3%   1034.3µ ±  5%  +46.41% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_04-16                  544.9µ ±  4%    707.7µ ±  5%  +29.87% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_05-16                  103.9µ ±  4%    103.9µ ±  5%        ~ (p=0.631 n=10)
Check/auditLog=false/schemaEnforcement=none/case_06-16                  7.824µ ±  5%    7.798µ ±  4%        ~ (p=0.912 n=10)
Check/auditLog=false/schemaEnforcement=none/case_07-16                  824.0µ ± 62%    824.7µ ± 66%        ~ (p=0.529 n=10)
Check/auditLog=false/schemaEnforcement=none/case_08-16                  10.62µ ±  8%    10.87µ ±  5%        ~ (p=0.393 n=10)
Check/auditLog=false/schemaEnforcement=none/case_09-16                  423.9µ ±  5%    428.7µ ±  3%        ~ (p=0.436 n=10)
Check/auditLog=false/schemaEnforcement=none/case_10-16                  455.1µ ±  4%    447.2µ ±  3%        ~ (p=0.481 n=10)
Check/auditLog=false/schemaEnforcement=none/case_11-16                  259.5µ ±  2%    256.0µ ±  5%        ~ (p=0.912 n=10)
Check/auditLog=false/schemaEnforcement=none/case_12-16                  8.085µ ±  8%    8.063µ ±  6%        ~ (p=0.739 n=10)
Check/auditLog=false/schemaEnforcement=none/case_13-16                  303.0µ ±  4%    306.4µ ±  3%        ~ (p=0.247 n=10)
Check/auditLog=false/schemaEnforcement=none/case_14-16                  298.6µ ±  3%    473.2µ ±  3%  +58.47% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_15-16                  307.9µ ±  4%    462.2µ ±  5%  +50.10% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_16-16                  11.15µ ±  2%    10.98µ ±  2%        ~ (p=0.165 n=10)
Check/auditLog=false/schemaEnforcement=none/case_17-16                  10.33µ ±  3%    10.42µ ±  3%        ~ (p=0.796 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_00-16                  281.3µ ±  4%    437.1µ ±  3%  +55.39% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_01-16                  279.2µ ±  3%    446.7µ ±  4%  +59.98% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_02-16                  973.0µ ±  3%   1297.2µ ±  3%  +33.32% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_03-16                  757.4µ ±  2%   1111.6µ ±  4%  +46.76% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_04-16                  581.8µ ±  2%    753.9µ ±  4%  +29.59% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_05-16                  105.5µ ±  3%    104.3µ ±  4%        ~ (p=0.393 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_06-16                  7.671µ ±  5%    7.845µ ±  5%        ~ (p=0.218 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_07-16                  825.0µ ± 56%    831.7µ ± 67%        ~ (p=0.393 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_08-16                  29.89µ ±  5%    30.05µ ±  3%        ~ (p=0.353 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_09-16                  519.3µ ±  4%    502.5µ ±  5%   -3.25% (p=0.043 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_10-16                  472.4µ ±  3%    477.6µ ±  3%        ~ (p=0.393 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_11-16                  276.2µ ±  6%    285.3µ ±  2%        ~ (p=0.353 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_12-16                  8.266µ ±  3%    8.080µ ±  3%        ~ (p=0.315 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_13-16                  306.5µ ±  3%    303.4µ ±  5%        ~ (p=0.912 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_14-16                  318.3µ ±  7%    468.8µ ±  2%  +47.29% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_15-16                  314.5µ ±  9%    475.9µ ±  4%  +51.30% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_16-16                  11.23µ ±  5%    11.41µ ±  4%        ~ (p=0.684 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_17-16                  10.56µ ±  5%    10.19µ ±  5%        ~ (p=0.190 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_00-16                286.4µ ±  2%    453.0µ ±  5%  +58.18% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_01-16                283.7µ ±  5%    446.8µ ±  3%  +57.46% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_02-16                997.9µ ±  8%   1263.3µ ±  3%  +26.59% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_03-16                760.6µ ±  5%   1083.2µ ±  2%  +42.41% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_04-16                581.7µ ±  6%    745.5µ ±  8%  +28.16% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_05-16                108.2µ ±  3%    102.8µ ±  3%   -5.01% (p=0.001 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_06-16                8.070µ ±  5%    7.934µ ±  6%        ~ (p=0.481 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_07-16                856.4µ ± 64%    824.1µ ± 55%   -3.77% (p=0.043 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_08-16                30.12µ ±  5%    30.07µ ±  4%        ~ (p=0.725 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_09-16                88.74µ ±  6%    87.67µ ±  5%        ~ (p=0.918 n=7+9)
geomean                                                                 151.7µ          176.6µ        +16.41%

                                                         │ /home/cell/tmp/before.txt │       /home/cell/tmp/after.txt        │
                                                         │           B/op            │     B/op      vs base                 │
Check/auditLog=false/schemaEnforcement=none/case_00-16                  150.7Ki ± 0%   243.4Ki ± 0%  +61.57% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_01-16                  150.6Ki ± 0%   243.5Ki ± 0%  +61.61% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_02-16                  533.0Ki ± 0%   719.0Ki ± 0%  +34.91% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_03-16                  415.8Ki ± 0%   601.6Ki ± 0%  +44.68% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_04-16                  325.9Ki ± 0%   419.0Ki ± 0%  +28.55% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_05-16                  62.30Ki ± 0%   62.37Ki ± 0%   +0.11% (p=0.002 n=10)
Check/auditLog=false/schemaEnforcement=none/case_06-16                  4.331Ki ± 0%   4.376Ki ± 0%   +1.05% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_07-16                  2.207Mi ± 0%   2.204Mi ± 0%        ~ (p=0.796 n=10)
Check/auditLog=false/schemaEnforcement=none/case_08-16                  5.604Ki ± 0%   5.683Ki ± 0%   +1.40% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_09-16                  250.5Ki ± 0%   250.6Ki ± 0%        ~ (p=0.075 n=10)
Check/auditLog=false/schemaEnforcement=none/case_10-16                  265.4Ki ± 0%   265.4Ki ± 0%        ~ (p=0.579 n=10)
Check/auditLog=false/schemaEnforcement=none/case_11-16                  150.8Ki ± 0%   150.8Ki ± 0%        ~ (p=0.436 n=10)
Check/auditLog=false/schemaEnforcement=none/case_12-16                  4.472Ki ± 0%   4.519Ki ± 0%   +1.04% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_13-16                  181.4Ki ± 0%   181.6Ki ± 0%        ~ (p=0.101 n=10)
Check/auditLog=false/schemaEnforcement=none/case_14-16                  179.5Ki ± 0%   269.7Ki ± 0%  +50.25% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_15-16                  179.4Ki ± 0%   269.6Ki ± 0%  +50.27% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_16-16                  5.793Ki ± 0%   5.872Ki ± 0%   +1.37% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_17-16                  5.575Ki ± 0%   5.653Ki ± 0%   +1.39% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_00-16                  158.0Ki ± 0%   251.0Ki ± 0%  +58.84% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_01-16                  158.1Ki ± 0%   251.0Ki ± 0%  +58.77% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_02-16                  550.0Ki ± 0%   736.0Ki ± 0%  +33.82% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_03-16                  432.7Ki ± 0%   618.7Ki ± 0%  +42.98% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_04-16                  334.8Ki ± 0%   427.6Ki ± 0%  +27.73% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_05-16                  62.32Ki ± 0%   62.37Ki ± 0%   +0.07% (p=0.011 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_06-16                  4.331Ki ± 0%   4.376Ki ± 0%   +1.04% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_07-16                  2.207Mi ± 0%   2.204Mi ± 0%        ~ (p=0.110 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_08-16                  12.89Ki ± 0%   12.97Ki ± 0%   +0.61% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_09-16                  277.9Ki ± 0%   278.0Ki ± 0%        ~ (p=0.631 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_10-16                  273.0Ki ± 0%   273.1Ki ± 0%        ~ (p=0.912 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_11-16                  158.3Ki ± 0%   158.3Ki ± 0%        ~ (p=0.404 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_12-16                  4.473Ki ± 0%   4.518Ki ± 0%   +1.00% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_13-16                  181.5Ki ± 0%   181.6Ki ± 0%        ~ (p=0.138 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_14-16                  184.6Ki ± 0%   274.9Ki ± 0%  +48.89% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_15-16                  184.7Ki ± 0%   274.9Ki ± 0%  +48.86% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_16-16                  6.000Ki ± 0%   6.078Ki ± 0%   +1.29% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_17-16                  5.577Ki ± 0%   5.652Ki ± 0%   +1.36% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_00-16                158.2Ki ± 0%   251.1Ki ± 0%  +58.70% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_01-16                158.1Ki ± 0%   251.3Ki ± 0%  +58.93% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_02-16                550.1Ki ± 0%   736.2Ki ± 0%  +33.82% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_03-16                432.6Ki ± 0%   618.4Ki ± 0%  +42.94% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_04-16                334.8Ki ± 0%   427.8Ki ± 0%  +27.78% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_05-16                62.36Ki ± 0%   62.42Ki ± 0%        ~ (p=0.072 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_06-16                4.332Ki ± 0%   4.376Ki ± 0%   +1.03% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_07-16                2.207Mi ± 0%   2.202Mi ± 0%   -0.23% (p=0.009 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_08-16                12.89Ki ± 0%   12.98Ki ± 0%   +0.63% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_09-16                37.22Ki ± 0%   37.37Ki ± 0%   +0.40% (p=0.000 n=7+9)
geomean                                                                 93.62Ki        109.6Ki       +17.10%

                                                         │ /home/cell/tmp/before.txt │        /home/cell/tmp/after.txt        │
                                                         │         allocs/op         │  allocs/op   vs base                   │
Check/auditLog=false/schemaEnforcement=none/case_00-16                   1.805k ± 0%   2.985k ± 0%  +65.37% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_01-16                   1.805k ± 0%   2.985k ± 0%  +65.37% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_02-16                   6.357k ± 0%   8.716k ± 0%  +37.11% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_03-16                   4.926k ± 0%   7.285k ± 0%  +47.89% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_04-16                   3.802k ± 0%   4.981k ± 0%  +31.01% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_05-16                    734.0 ± 0%    734.0 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=none/case_06-16                    76.00 ± 0%    76.00 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=none/case_07-16                   25.61k ± 0%   25.61k ± 0%        ~ (p=0.070 n=10)
Check/auditLog=false/schemaEnforcement=none/case_08-16                    95.00 ± 0%    95.00 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=none/case_09-16                   3.150k ± 0%   3.150k ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=none/case_10-16                   3.138k ± 0%   3.138k ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=none/case_11-16                   1.805k ± 0%   1.805k ± 0%        ~ (p=1.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_12-16                    78.00 ± 0%    78.00 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=none/case_13-16                   2.137k ± 0%   2.137k ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=none/case_14-16                   2.147k ± 0%   3.276k ± 0%  +52.59% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_15-16                   2.144k ± 0%   3.273k ± 0%  +52.66% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=none/case_16-16                    100.0 ± 0%    100.0 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=none/case_17-16                    93.00 ± 0%    93.00 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=warn/case_00-16                   1.988k ± 0%   3.168k ± 0%  +59.36% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_01-16                   1.988k ± 0%   3.168k ± 0%  +59.36% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_02-16                   6.776k ± 0%   9.136k ± 0%  +34.82% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_03-16                   5.345k ± 0%   7.705k ± 0%  +44.15% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_04-16                   4.012k ± 0%   5.191k ± 0%  +29.39% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_05-16                    734.0 ± 0%    734.0 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=warn/case_06-16                    76.00 ± 0%    76.00 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=warn/case_07-16                   25.61k ± 0%   25.61k ± 0%   +0.01% (p=0.001 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_08-16                    277.0 ± 0%    277.0 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=warn/case_09-16                   3.792k ± 0%   3.792k ± 0%        ~ (p=1.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_10-16                   3.326k ± 0%   3.325k ± 0%        ~ (p=0.170 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_11-16                   1.993k ± 0%   1.993k ± 0%        ~ (p=1.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_12-16                    78.00 ± 0%    78.00 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=warn/case_13-16                   2.137k ± 0%   2.137k ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=warn/case_14-16                   2.271k ± 0%   3.401k ± 0%  +49.76% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_15-16                   2.271k ± 0%   3.401k ± 0%  +49.76% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=warn/case_16-16                    103.0 ± 0%    103.0 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=warn/case_17-16                    93.00 ± 0%    93.00 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=reject/case_00-16                 1.988k ± 0%   3.168k ± 0%  +59.36% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_01-16                 1.988k ± 0%   3.168k ± 0%  +59.36% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_02-16                 6.776k ± 0%   9.136k ± 0%  +34.82% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_03-16                 5.345k ± 0%   7.705k ± 0%  +44.14% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_04-16                 4.012k ± 0%   5.192k ± 0%  +29.41% (p=0.000 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_05-16                  734.0 ± 0%    734.0 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=reject/case_06-16                  76.00 ± 0%    76.00 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=reject/case_07-16                 25.61k ± 0%   25.61k ± 0%   +0.01% (p=0.013 n=10)
Check/auditLog=false/schemaEnforcement=reject/case_08-16                  277.0 ± 0%    277.0 ± 0%        ~ (p=1.000 n=10)  ¹
Check/auditLog=false/schemaEnforcement=reject/case_09-16                  801.0 ± 0%    801.0 ± 0%        ~ (p=1.000 n=7+9) ¹
geomean                                                                  1.269k        1.489k       +17.31%

haines added a commit to haines/cerbos-sdk-javascript that referenced this pull request Jun 1, 2023
cerbos/cerbos#1594

Signed-off-by: Andrew Haines <haines@cerbos.dev>
haines added a commit to haines/cerbos-sdk-javascript that referenced this pull request Jun 1, 2023
cerbos/cerbos#1594

Signed-off-by: Andrew Haines <haines@cerbos.dev>
haines added a commit to haines/cerbos-sdk-javascript that referenced this pull request Jun 1, 2023
cerbos/cerbos#1594

Signed-off-by: Andrew Haines <haines@cerbos.dev>
haines added a commit to haines/cerbos-sdk-javascript that referenced this pull request Jun 1, 2023
cerbos/cerbos#1594

Signed-off-by: Andrew Haines <haines@cerbos.dev>
haines added a commit to haines/cerbos-sdk-javascript that referenced this pull request Jun 1, 2023
cerbos/cerbos#1594

Signed-off-by: Andrew Haines <haines@cerbos.dev>
haines added a commit to haines/cerbos-sdk-javascript that referenced this pull request Jun 1, 2023
cerbos/cerbos#1594

Signed-off-by: Andrew Haines <haines@cerbos.dev>
haines added a commit to cerbos/cerbos-sdk-javascript that referenced this pull request Jun 1, 2023
* Update npm

Signed-off-by: Andrew Haines <haines@cerbos.dev>

* Add support for user-defined policy rule outputs

cerbos/cerbos#1594

Signed-off-by: Andrew Haines <haines@cerbos.dev>

---------

Signed-off-by: Andrew Haines <haines@cerbos.dev>
haines added a commit to haines/cerbos-sdk-ruby that referenced this pull request Jun 1, 2023
cerbos/cerbos#1594

Signed-off-by: Andrew Haines <haines@cerbos.dev>
haines added a commit to cerbos/cerbos-sdk-ruby that referenced this pull request Jun 1, 2023
* Update bundler

Signed-off-by: Andrew Haines <haines@cerbos.dev>

* Regenerate protobuf code

Signed-off-by: Andrew Haines <haines@cerbos.dev>

* Add support for user-defined policy rule outputs

cerbos/cerbos#1594

Signed-off-by: Andrew Haines <haines@cerbos.dev>

---------

Signed-off-by: Andrew Haines <haines@cerbos.dev>
charithe added a commit to charithe/cerbos that referenced this pull request Jun 1, 2023
SDK support for cerbos#1594

Fixes cerbos#1618

Signed-off-by: Charith Ellawala <charith@cerbos.dev>
charithe added a commit that referenced this pull request Jun 2, 2023
SDK support for #1594

Fixes #1618

Signed-off-by: Charith Ellawala <charith@cerbos.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants