MCPcopy Index your code
hub / github.com/coder/coder / Reload

Method Reload

enterprise/aibridgeproxyd/reload.go:37–66  ·  view source on GitHub ↗

Reload refreshes proxy routing from the configured provider source. A refresh failure leaves the previous snapshot in place.

(ctx context.Context)

Source from the content-addressed store, hash-verified

35// Reload refreshes proxy routing from the configured provider source.
36// A refresh failure leaves the previous snapshot in place.
37func (s *Server) Reload(ctx context.Context) error {
38 if s.refreshProviders == nil {
39 return nil
40 }
41 s.recordReloadAttempt()
42 reload, err := s.refreshProviders(ctx)
43 if err != nil {
44 return xerrors.Errorf("refresh ai providers for proxy routing: %w", err)
45 }
46 router, err := buildProviderRouter(reload, s.allowedPorts)
47 if err != nil {
48 return xerrors.Errorf("build provider router (provider_count=%d): %w", len(reload.Providers), err)
49 }
50 s.providerRouter.Store(router)
51 for _, p := range reload.Providers {
52 if p.Status == aibridged.ProviderStatusError {
53 s.logger.Warn(s.ctx, "provider excluded from routing",
54 slog.F("provider", p.Name),
55 slog.Error(p.Err),
56 )
57 }
58 }
59 s.recordReloadSuccess(reload)
60 s.logger.Debug(s.ctx, "aibridgeproxyd router reloaded",
61 slog.F("provider_count", len(reload.Providers)),
62 slog.F("mitm_host_count", len(router.mitmHosts)),
63 slog.F("mitm_hosts", router.mitmHosts),
64 )
65 return nil
66}
67
68// recordReloadAttempt stamps the attempt-time gauge at the start of a
69// Reload. A reload that hangs mid-flight is detected by watching the

Calls 6

recordReloadAttemptMethod · 0.95
recordReloadSuccessMethod · 0.95
buildProviderRouterFunction · 0.85
ErrorfMethod · 0.45
StoreMethod · 0.45
ErrorMethod · 0.45