MCPcopy Index your code
hub / github.com/dagger/dagger / LoadUserDefaults

Method LoadUserDefaults

core/modulesource.go:1054–1089  ·  view source on GitHub ↗

LoadUserDefaults loads and merges environment files for local module defaults. It combines the inner .env file (from the module's source root) with relevant entries from the outer .env file (found via find-up from the host), filtered by the module name and original module name as prefixes. Example:

(ctx context.Context)

Source from the content-addressed store, hash-verified

1052// Outer .env (found via find-up): MYMODULE_BAZ=qux, OTHER_VAR=ignored
1053// Result: FOO=bar, BAZ=qux (prefix "MYMODULE_" removed from outer entries)
1054func (src *ModuleSource) LoadUserDefaults(ctx context.Context) (rerr error) {
1055 ctx, span := Tracer(ctx).Start(ctx, "loading user defaults", telemetry.Internal())
1056 defer telemetry.EndWithCause(span, &rerr)
1057 // For local module sources, ensure we have the right client context for filesystem access.
1058 // Modules run as their own clients, but need access to the original caller's filesystem.
1059 // NonModuleParentClientMetadata is idempotent, so this is safe to call multiple times.
1060 if src.Kind == ModuleSourceKindLocal {
1061 query, err := CurrentQuery(ctx)
1062 if err != nil {
1063 return fmt.Errorf("failed to get current query: %w", err)
1064 }
1065 localSourceClientMetadata, err := query.NonModuleParentClientMetadata(ctx)
1066 if err != nil {
1067 return fmt.Errorf("failed to get client metadata: %w", err)
1068 }
1069 ctx = engine.ContextWithClientMetadata(ctx, localSourceClientMetadata)
1070 }
1071 innerEnvFile, _, err := src.innerEnvFile(ctx)
1072 if err != nil {
1073 return err
1074 }
1075 outerEnvFile, _, err := src.outerEnvFile(ctx)
1076 if err != nil {
1077 return err
1078 }
1079 outerForName, err := outerEnvFile.Namespace(ctx, src.ModuleName)
1080 if err != nil {
1081 return err
1082 }
1083 outerForOriginalName, err := outerEnvFile.Namespace(ctx, src.ModuleOriginalName)
1084 if err != nil {
1085 return err
1086 }
1087 src.UserDefaults = NewEnvFile(true).WithEnvFiles(innerEnvFile, outerForName, outerForOriginalName)
1088 return nil
1089}
1090
1091// we mix this into digest hashes to ensure they don't accidentally collide
1092// with any others

Callers 6

localModuleSourceMethod · 0.95
gitModuleSourceMethod · 0.95
moduleSourceWithNameMethod · 0.80
moduleSourceWithSDKMethod · 0.80

Calls 11

innerEnvFileMethod · 0.95
outerEnvFileMethod · 0.95
CurrentQueryFunction · 0.85
NewEnvFileFunction · 0.85
InternalMethod · 0.80
WithEnvFilesMethod · 0.80
TracerFunction · 0.70
StartMethod · 0.65
NamespaceMethod · 0.45

Tested by

no test coverage detected