INNER CODE UNIT · Go

setupControllers

open-policy-agent/gatekeeper · main.go:420

func setupControllers(ctx context.Context, mgr ctrl.Manager, tracker *readiness.Tracker, setupFinished chan struct{}) error {
	// Block until the setup (certificate generation) finishes.
	<-setupFinished

	var providerCache *frameworksexternaldata.ProviderCache
	args := []rego.Arg{rego.Tracing(false), rego.DisableBuiltins(disabledBuiltins.ToSlice()...)}
	mutationOpts := mutation.SystemOpts{Reporter: mutation.NewStatsReporter()}
	if *externaldata.ExternalDataEnabled {
		providerCache = frameworksexternaldata.NewCache()
		args = append(args, rego.AddExternalDataProviderCache(providerCache))
		mutationOpts.ProviderCache = providerCache

		switch {
		case *externaldataProviderResponseCacheTTL > 0:
			providerResponseCache := frameworksexternaldata.NewProviderResponseCache(ctx, *externaldataProviderResponseCacheTTL)
			args = append(args, rego.AddExternalDataProviderResponseCache(providerResponseCache))
			mutationOpts.ProviderResponseCache = providerResponseCache
		case *externaldataProviderResponseCacheTTL == 0:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…