MCPcopy Create free account
hub / github.com/PostHog/duckgres / ResolveEffective

Function ResolveEffective

configresolve/resolve.go:177–1241  ·  view source on GitHub ↗

ResolveEffective layers CLI inputs on top of env vars on top of YAML on top of built-in defaults to produce the runtime config every duckgres binary boots from. getenv and warn are pluggable so unit tests can run without touching os.Getenv or stderr; nil maps to no-op equivalents.

(fileCfg *configloader.FileConfig, cli CLIInputs, getenv func(string) string, warn func(string))

Source from the content-addressed store, hash-verified

175// top of built-in defaults to produce the runtime config every duckgres
176// binary boots from. getenv and warn are pluggable so unit tests can run
177// without touching os.Getenv or stderr; nil maps to no-op equivalents.
178func ResolveEffective(fileCfg *configloader.FileConfig, cli CLIInputs, getenv func(string) string, warn func(string)) Resolved {
179 if getenv == nil {
180 getenv = func(string) string { return "" }
181 }
182 if warn == nil {
183 warn = func(string) {}
184 }
185 if cli.Set == nil {
186 cli.Set = map[string]bool{}
187 }
188
189 cfg := DefaultServerConfig()
190 defaultQueryLog := cfg.QueryLog
191 workerQueueTimeout := 60 * time.Second
192 admissionReclaimerMaxReservations := controlplane.DefaultAdmissionReclaimerMaxReservations
193 var workerIdleTimeout time.Duration
194 var handoverDrainTimeout time.Duration
195 var processMinWorkers, processMaxWorkers int
196 var processRetireOnSessionEnd bool
197 var workerBackend string
198 // Connection-string worker-sizing config (all default to off/empty).
199 var k8sAllowClientWorkerProfile bool
200 var k8sWorkerProfileMinCPU, k8sWorkerProfileMaxCPU, k8sWorkerProfileMinMemory, k8sWorkerProfileMaxMemory string
201 var k8sWorkerMaxTTL, k8sWorkerDefaultTTL time.Duration
202 var k8sWorkerPriorityClassName string
203 var k8sPlaceholderImage, k8sPlaceholderPriorityClassName string
204 var k8sWorkerImage, k8sWorkerNamespace, k8sControlPlaneID string
205 var k8sWorkerPort int
206 var k8sWorkerSecret, k8sWorkerConfigMap, k8sWorkerImagePullPolicy string
207 k8sWorkerServiceAccount := controlplane.DefaultK8sWorkerServiceAccount
208 var k8sWorkerCPURequest, k8sWorkerMemoryRequest string
209 var k8sWorkerNodeSelector, k8sWorkerTolerationKey, k8sWorkerTolerationValue string
210 var k8sReshardPodCPU, k8sReshardPodMemory string
211 var k8sExploratoryTierEnabled bool
212 var k8sExploratoryWorkerCPU, k8sExploratoryWorkerMemory string
213 var k8sExploratoryWorkerTTL time.Duration
214 var awsRegion string
215 var configStoreConn string
216 var configPollInterval time.Duration
217 var internalSecret string
218 var internalSecretFallbacks []string
219 var readOnlySecret string
220 var readOnlySecretFallbacks []string
221 var userSecretKey string
222 var sniRoutingMode string
223 var managedHostnameSuffixes []string
224 var metadataHostnameSuffixes []string
225 metadataProxyMaxConnections := 20
226 var ducklingBucketSuffix string
227
228 if fileCfg != nil {
229 if fileCfg.Host != "" {
230 cfg.Host = fileCfg.Host
231 }
232 if fileCfg.Port != 0 {
233 cfg.Port = fileCfg.Port
234 }

Calls 5

DefaultDeltaCatalogPathFunction · 0.92
DefaultServerConfigFunction · 0.85
splitAndTrimFunction · 0.85
boolPtrFunction · 0.70
ErrorMethod · 0.45