MCPcopy
hub / github.com/open-policy-agent/gatekeeper / makeClient

Function makeClient

pkg/gator/bench/bench.go:307–333  ·  view source on GitHub ↗

makeClient creates a constraint client configured for the specified engine.

(engine Engine, gatherStats bool)

Source from the content-addressed store, hash-verified

305
306// makeClient creates a constraint client configured for the specified engine.
307func makeClient(engine Engine, gatherStats bool) (*constraintclient.Client, error) {
308 args := []constraintclient.Opt{
309 constraintclient.Targets(&target.K8sValidationTarget{}),
310 constraintclient.EnforcementPoints(util.GatorEnforcementPoint),
311 }
312
313 switch engine {
314 case EngineRego:
315 driver, err := makeRegoDriver(gatherStats)
316 if err != nil {
317 return nil, err
318 }
319 args = append(args, constraintclient.Driver(driver))
320
321 case EngineCEL:
322 driver, err := makeCELDriver(gatherStats)
323 if err != nil {
324 return nil, err
325 }
326 args = append(args, constraintclient.Driver(driver))
327
328 default:
329 return nil, fmt.Errorf("unsupported engine: %s", engine)
330 }
331
332 return constraintclient.NewClient(args...)
333}
334
335func makeRegoDriver(gatherStats bool) (*rego.Driver, error) {
336 var args []rego.Arg

Callers 2

runBenchmarkFunction · 0.85

Calls 2

makeRegoDriverFunction · 0.85
makeCELDriverFunction · 0.85

Tested by 1

Used in the wild real call sites across dependent graphs

searching dependent graphs…