func()

in sg/internal/engine/builder.go [44:66]


func (qb *QueryerBuilder) Complete() (Queryer, error) {
	if qb.err != nil {
		return nil, qb.err
	}

	compiler, compilerKey, err := policy.NewRegoCompiler(qb.packages)
	if err != nil {
		return nil, fmt.Errorf("failed to create compiler from packages: %w", err)
	}

	rv := &RegoEngine{
		policyPackages: qb.packages,
		compiler:       compiler,
		compilerKey:    compilerKey,
		// NOTE: we limit the actual query by CPU count as policy evaluation is CPU bounded.
		//       For input actions like reading policy files / source code, we allow them to run unbounded,
		//       as the actual limiting is done by this limiter.
		limiter:                  newLimiterFromMaxProcs(),
		queryCache:               qb.queryCache,
		parseArmTemplateDefaults: qb.parseArmTemplateDefaults,
	}
	return rv, nil
}