MCPcopy Create free account
hub / github.com/bufbuild/buf / NewController

Function NewController

private/buf/bufcli/controller.go:30–86  ·  view source on GitHub ↗

NewController returns a new Controller.

(
	container appext.Container,
	options ...bufctl.ControllerOption,
)

Source from the content-addressed store, hash-verified

28
29// NewController returns a new Controller.
30func NewController(
31 container appext.Container,
32 options ...bufctl.ControllerOption,
33) (bufctl.Controller, error) {
34 if container.Env(copyToInMemoryEnvKey) != "" {
35 options = append(
36 options,
37 bufctl.WithCopyToInMemory(),
38 )
39 }
40 clientConfig, err := NewConnectClientConfig(container)
41 if err != nil {
42 return nil, err
43 }
44 moduleClientProvider := bufregistryapimodule.NewClientProvider(clientConfig)
45 ownerClientProvider := bufregistryapiowner.NewClientProvider(clientConfig)
46 pluginClientProvider := bufregistryapiplugin.NewClientProvider(clientConfig)
47 policyClientProvider := bufregistryapipolicy.NewClientProvider(clientConfig)
48 moduleDataProvider, err := newModuleDataProvider(container, moduleClientProvider, ownerClientProvider)
49 if err != nil {
50 return nil, err
51 }
52 commitProvider, err := newCommitProvider(container, moduleClientProvider, ownerClientProvider)
53 if err != nil {
54 return nil, err
55 }
56 pluginDataProvider, err := newPluginDataProvider(container, pluginClientProvider)
57 if err != nil {
58 return nil, err
59 }
60 policyDataProvider, err := newPolicyDataProvider(container, policyClientProvider)
61 if err != nil {
62 return nil, err
63 }
64 wktStore, err := NewWKTStore(container)
65 if err != nil {
66 return nil, err
67 }
68 return bufctl.NewController(
69 container.Logger(),
70 container,
71 newGraphProvider(container, moduleClientProvider, ownerClientProvider),
72 bufmoduleapi.NewModuleKeyProvider(container.Logger(), moduleClientProvider),
73 moduleDataProvider,
74 commitProvider,
75 bufpluginapi.NewPluginKeyProvider(container.Logger(), pluginClientProvider),
76 pluginDataProvider,
77 bufpolicyapi.NewPolicyKeyProvider(container.Logger(), policyClientProvider),
78 policyDataProvider,
79 wktStore,
80 // TODO FUTURE: Delete defaultHTTPClient and use the one from newConfig
81 defaultHTTPClient,
82 defaultHTTPAuthenticator,
83 defaultGitClonerOptions,
84 options...,
85 )
86}

Callers 15

runFunction · 0.92
runFunction · 0.92
runFunction · 0.92
runFunction · 0.92
runFunction · 0.92
runFunction · 0.92
getBuildableWorkspaceFunction · 0.92
runFunction · 0.92
runFunction · 0.92
runFunction · 0.92
runFunction · 0.92
runFunction · 0.92

Calls 15

WithCopyToInMemoryFunction · 0.92
NewClientProviderFunction · 0.92
NewClientProviderFunction · 0.92
NewClientProviderFunction · 0.92
NewClientProviderFunction · 0.92
NewControllerFunction · 0.92
NewModuleKeyProviderFunction · 0.92
NewPluginKeyProviderFunction · 0.92
NewPolicyKeyProviderFunction · 0.92
NewConnectClientConfigFunction · 0.85
NewWKTStoreFunction · 0.85
newModuleDataProviderFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…