| 106 | } |
| 107 | |
| 108 | func (r *Runtime) Close() error { |
| 109 | ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) |
| 110 | defer cancel() |
| 111 | if r.configReloader != nil { |
| 112 | r.configReloader.close() |
| 113 | } |
| 114 | r.registryCache.close(ctx) |
| 115 | err1 := r.queryCache.close() |
| 116 | err2 := r.connCache.Close(ctx) // Also closes metastore // TODO: Propagate ctx cancellation |
| 117 | return errors.Join(err1, err2) |
| 118 | } |
| 119 | |
| 120 | func (r *Runtime) ResolveSecurity(ctx context.Context, instanceID string, claims *SecurityClaims, res *runtimev1.Resource) (*ResolvedSecurity, error) { |
| 121 | inst, err := r.Instance(ctx, instanceID) |