Skip to content

Commit babf6b8

Browse files
committed
Use logf back to reduce PR changes
1 parent 9cd9367 commit babf6b8

File tree

1 file changed

+42
-42
lines changed

1 file changed

+42
-42
lines changed

envbuilder.go

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,10 @@ type Logger func(level codersdk.LogLevel, format string, args ...any)
8383
type DockerConfig configfile.ConfigFile
8484

8585
// Run runs the envbuilder.
86-
// Logger is the logger to use for all operations.
86+
// Logger is the logf to use for all operations.
8787
// Filesystem is the filesystem to use for all operations.
8888
// Defaults to the host filesystem.
89-
func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logger) error {
89+
func Run(ctx context.Context, options Options, fs billy.Filesystem, logf Logger) error {
9090
// Default to the shell!
9191
initArgs := []string{"-c", options.InitScript}
9292
if options.InitArgs != "" {
@@ -113,14 +113,14 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
113113
now := time.Now()
114114
stageNum := stageNumber
115115
stageNumber++
116-
logger(codersdk.LogLevelInfo, "#%d: %s", stageNum, fmt.Sprintf(format, args...))
116+
logf(codersdk.LogLevelInfo, "#%d: %s", stageNum, fmt.Sprintf(format, args...))
117117

118118
return func(format string, args ...any) {
119-
logger(codersdk.LogLevelInfo, "#%d: %s [%s]", stageNum, fmt.Sprintf(format, args...), time.Since(now))
119+
logf(codersdk.LogLevelInfo, "#%d: %s [%s]", stageNum, fmt.Sprintf(format, args...), time.Since(now))
120120
}
121121
}
122122

123-
logger(codersdk.LogLevelInfo, "%s - Build development environments from repositories in a container", newColor(color.Bold).Sprintf("envbuilder"))
123+
logf(codersdk.LogLevelInfo, "%s - Build development environments from repositories in a container", newColor(color.Bold).Sprintf("envbuilder"))
124124

125125
var caBundle []byte
126126
if options.SSLCertBase64 != "" {
@@ -182,7 +182,7 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
182182
if line == "" {
183183
continue
184184
}
185-
logger(codersdk.LogLevelInfo, "#1: %s", strings.TrimSpace(line))
185+
logf(codersdk.LogLevelInfo, "#1: %s", strings.TrimSpace(line))
186186
}
187187
}
188188
}()
@@ -220,8 +220,8 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
220220
endStage("📦 The repository already exists!")
221221
}
222222
} else {
223-
logger(codersdk.LogLevelError, "Failed to clone repository: %s", fallbackErr.Error())
224-
logger(codersdk.LogLevelError, "Falling back to the default image...")
223+
logf(codersdk.LogLevelError, "Failed to clone repository: %s", fallbackErr.Error())
224+
logf(codersdk.LogLevelError, "Falling back to the default image...")
225225
}
226226
}
227227

@@ -259,10 +259,10 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
259259
if options.DockerfilePath == "" {
260260
// Only look for a devcontainer if a Dockerfile wasn't specified.
261261
// devcontainer is a standard, so it's reasonable to be the default.
262-
devcontainerPath, devcontainerDir, err := findDevcontainerJSON(options, fs, logger)
262+
devcontainerPath, devcontainerDir, err := findDevcontainerJSON(options, fs, logf)
263263
if err != nil {
264-
logger(codersdk.LogLevelError, "Failed to locate devcontainer.json: %s", err.Error())
265-
logger(codersdk.LogLevelError, "Falling back to the default image...")
264+
logf(codersdk.LogLevelError, "Failed to locate devcontainer.json: %s", err.Error())
265+
logf(codersdk.LogLevelError, "Falling back to the default image...")
266266
} else {
267267
// We know a devcontainer exists.
268268
// Let's parse it and use it!
@@ -283,7 +283,7 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
283283
if err != nil {
284284
return fmt.Errorf("no Dockerfile or image found: %w", err)
285285
}
286-
logger(codersdk.LogLevelInfo, "No Dockerfile or image specified; falling back to the default image...")
286+
logf(codersdk.LogLevelInfo, "No Dockerfile or image specified; falling back to the default image...")
287287
fallbackDockerfile = defaultParams.DockerfilePath
288288
}
289289
buildParams, err = devContainer.Compile(fs, devcontainerDir, MagicDir, fallbackDockerfile, options.WorkspaceFolder, false)
@@ -292,8 +292,8 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
292292
}
293293
scripts = devContainer.LifecycleScripts
294294
} else {
295-
logger(codersdk.LogLevelError, "Failed to parse devcontainer.json: %s", err.Error())
296-
logger(codersdk.LogLevelError, "Falling back to the default image...")
295+
logf(codersdk.LogLevelError, "Failed to parse devcontainer.json: %s", err.Error())
296+
logf(codersdk.LogLevelError, "Falling back to the default image...")
297297
}
298298
}
299299
} else {
@@ -304,8 +304,8 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
304304
// not defined, show a warning
305305
dockerfileDir := filepath.Dir(dockerfilePath)
306306
if dockerfileDir != filepath.Clean(options.WorkspaceFolder) && options.BuildContextPath == "" {
307-
logger(codersdk.LogLevelWarn, "given dockerfile %q is below %q and no custom build context has been defined", dockerfilePath, options.WorkspaceFolder)
308-
logger(codersdk.LogLevelWarn, "\t-> set BUILD_CONTEXT_PATH to %q to fix", dockerfileDir)
307+
logf(codersdk.LogLevelWarn, "given dockerfile %q is below %q and no custom build context has been defined", dockerfilePath, options.WorkspaceFolder)
308+
logf(codersdk.LogLevelWarn, "\t-> set BUILD_CONTEXT_PATH to %q to fix", dockerfileDir)
309309
}
310310

311311
dockerfile, err := fs.Open(dockerfilePath)
@@ -334,7 +334,7 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
334334

335335
HijackLogrus(func(entry *logrus.Entry) {
336336
for _, line := range strings.Split(entry.Message, "\r") {
337-
logger(codersdk.LogLevelInfo, "#2: %s", color.HiBlackString(line))
337+
logf(codersdk.LogLevelInfo, "#2: %s", color.HiBlackString(line))
338338
}
339339
})
340340

@@ -373,15 +373,15 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
373373
go func() {
374374
err := srv.Serve(listener)
375375
if err != nil && !errors.Is(err, http.ErrServerClosed) {
376-
logger(codersdk.LogLevelError, "Failed to serve registry: %s", err.Error())
376+
logf(codersdk.LogLevelError, "Failed to serve registry: %s", err.Error())
377377
}
378378
}()
379379
closeAfterBuild = func() {
380380
_ = srv.Close()
381381
_ = listener.Close()
382382
}
383383
if options.CacheRepo != "" {
384-
logger(codersdk.LogLevelWarn, "Overriding cache repo with local registry...")
384+
logf(codersdk.LogLevelWarn, "Overriding cache repo with local registry...")
385385
}
386386
options.CacheRepo = fmt.Sprintf("localhost:%d/local/cache", tcpAddr.Port)
387387
}
@@ -444,13 +444,13 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
444444
go func() {
445445
scanner := bufio.NewScanner(stdoutReader)
446446
for scanner.Scan() {
447-
logger(codersdk.LogLevelInfo, "%s", scanner.Text())
447+
logf(codersdk.LogLevelInfo, "%s", scanner.Text())
448448
}
449449
}()
450450
go func() {
451451
scanner := bufio.NewScanner(stderrReader)
452452
for scanner.Scan() {
453-
logger(codersdk.LogLevelInfo, "%s", scanner.Text())
453+
logf(codersdk.LogLevelInfo, "%s", scanner.Text())
454454
}
455455
}()
456456
cacheTTL := time.Hour * 24 * 7
@@ -530,13 +530,13 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
530530
fallback = true
531531
fallbackErr = err
532532
case strings.Contains(err.Error(), "unexpected status code 401 Unauthorized"):
533-
logger(codersdk.LogLevelError, "Unable to pull the provided image. Ensure your registry credentials are correct!")
533+
logf(codersdk.LogLevelError, "Unable to pull the provided image. Ensure your registry credentials are correct!")
534534
}
535535
if !fallback || options.ExitOnBuildFailure {
536536
return err
537537
}
538-
logger(codersdk.LogLevelError, "Failed to build: %s", err)
539-
logger(codersdk.LogLevelError, "Falling back to the default image...")
538+
logf(codersdk.LogLevelError, "Failed to build: %s", err)
539+
logf(codersdk.LogLevelError, "Falling back to the default image...")
540540
buildParams, err = defaultBuildParams()
541541
if err != nil {
542542
return err
@@ -579,10 +579,10 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
579579
if err != nil {
580580
return fmt.Errorf("unmarshal metadata: %w", err)
581581
}
582-
logger(codersdk.LogLevelInfo, "#3: 👀 Found devcontainer.json label metadata in image...")
582+
logf(codersdk.LogLevelInfo, "#3: 👀 Found devcontainer.json label metadata in image...")
583583
for _, container := range devContainer {
584584
if container.RemoteUser != "" {
585-
logger(codersdk.LogLevelInfo, "#3: 🧑 Updating the user to %q!", container.RemoteUser)
585+
logf(codersdk.LogLevelInfo, "#3: 🧑 Updating the user to %q!", container.RemoteUser)
586586

587587
configFile.Config.User = container.RemoteUser
588588
}
@@ -677,7 +677,7 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
677677
username = buildParams.User
678678
}
679679
if username == "" {
680-
logger(codersdk.LogLevelWarn, "#3: no user specified, using root")
680+
logf(codersdk.LogLevelWarn, "#3: no user specified, using root")
681681
}
682682

683683
userInfo, err := getUser(username)
@@ -719,7 +719,7 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
719719
// exec systemd as the init command, but that doesn't mean we should
720720
// run the lifecycle scripts as root.
721721
os.Setenv("HOME", userInfo.user.HomeDir)
722-
if err := execLifecycleScripts(ctx, options, logger, scripts, skippedRebuild, userInfo); err != nil {
722+
if err := execLifecycleScripts(ctx, options, logf, scripts, skippedRebuild, userInfo); err != nil {
723723
return err
724724
}
725725

@@ -732,7 +732,7 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
732732
// We execute the initialize script as the root user!
733733
os.Setenv("HOME", "/root")
734734

735-
logger(codersdk.LogLevelInfo, "=== Running the setup command %q as the root user...", options.SetupScript)
735+
logf(codersdk.LogLevelInfo, "=== Running the setup command %q as the root user...", options.SetupScript)
736736

737737
envKey := "ENVBUILDER_ENV"
738738
envFile := filepath.Join("/", MagicDir, "environ")
@@ -759,7 +759,7 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
759759
go func() {
760760
scanner := bufio.NewScanner(&buf)
761761
for scanner.Scan() {
762-
logger(codersdk.LogLevelInfo, "%s", scanner.Text())
762+
logf(codersdk.LogLevelInfo, "%s", scanner.Text())
763763
}
764764
}()
765765

@@ -825,7 +825,7 @@ func Run(ctx context.Context, options Options, fs billy.Filesystem, logger Logge
825825
return fmt.Errorf("set uid: %w", err)
826826
}
827827

828-
logger(codersdk.LogLevelInfo, "=== Running the init command %s %+v as the %q user...", options.InitCommand, initArgs, userInfo.user.Username)
828+
logf(codersdk.LogLevelInfo, "=== Running the init command %s %+v as the %q user...", options.InitCommand, initArgs, userInfo.user.Username)
829829

830830
err = syscall.Exec(options.InitCommand, append([]string{options.InitCommand}, initArgs...), os.Environ())
831831
if err != nil {
@@ -898,17 +898,17 @@ func findUser(nameOrID string) (*user.User, error) {
898898

899899
func execOneLifecycleScript(
900900
ctx context.Context,
901-
logger func(level codersdk.LogLevel, format string, args ...any),
901+
logf func(level codersdk.LogLevel, format string, args ...any),
902902
s devcontainer.LifecycleScript,
903903
scriptName string,
904904
userInfo userInfo,
905905
) error {
906906
if s.IsEmpty() {
907907
return nil
908908
}
909-
logger(codersdk.LogLevelInfo, "=== Running %s as the %q user...", scriptName, userInfo.user.Username)
909+
logf(codersdk.LogLevelInfo, "=== Running %s as the %q user...", scriptName, userInfo.user.Username)
910910
if err := s.Execute(ctx, userInfo.uid, userInfo.gid); err != nil {
911-
logger(codersdk.LogLevelError, "Failed to run %s: %v", scriptName, err)
911+
logf(codersdk.LogLevelError, "Failed to run %s: %v", scriptName, err)
912912
return err
913913
}
914914
return nil
@@ -917,7 +917,7 @@ func execOneLifecycleScript(
917917
func execLifecycleScripts(
918918
ctx context.Context,
919919
options Options,
920-
logger Logger,
920+
logf Logger,
921921
scripts devcontainer.LifecycleScripts,
922922
skippedRebuild bool,
923923
userInfo userInfo,
@@ -927,16 +927,16 @@ func execLifecycleScripts(
927927
}
928928

929929
if !skippedRebuild {
930-
if err := execOneLifecycleScript(ctx, logger, scripts.OnCreateCommand, "onCreateCommand", userInfo); err != nil {
930+
if err := execOneLifecycleScript(ctx, logf, scripts.OnCreateCommand, "onCreateCommand", userInfo); err != nil {
931931
// skip remaining lifecycle commands
932932
return nil
933933
}
934934
}
935-
if err := execOneLifecycleScript(ctx, logger, scripts.UpdateContentCommand, "updateContentCommand", userInfo); err != nil {
935+
if err := execOneLifecycleScript(ctx, logf, scripts.UpdateContentCommand, "updateContentCommand", userInfo); err != nil {
936936
// skip remaining lifecycle commands
937937
return nil
938938
}
939-
if err := execOneLifecycleScript(ctx, logger, scripts.PostCreateCommand, "postCreateCommand", userInfo); err != nil {
939+
if err := execOneLifecycleScript(ctx, logf, scripts.PostCreateCommand, "postCreateCommand", userInfo); err != nil {
940940
// skip remaining lifecycle commands
941941
return nil
942942
}
@@ -948,7 +948,7 @@ func execLifecycleScripts(
948948
return fmt.Errorf("failed to create post-start script: %w", err)
949949
}
950950
} else {
951-
_ = execOneLifecycleScript(ctx, logger, scripts.PostStartCommand, "postStartCommand", userInfo)
951+
_ = execOneLifecycleScript(ctx, logf, scripts.PostStartCommand, "postStartCommand", userInfo)
952952
}
953953
}
954954
return nil
@@ -1001,7 +1001,7 @@ func (fs *osfsWithChmod) Chmod(name string, mode os.FileMode) error {
10011001
return os.Chmod(name, mode)
10021002
}
10031003

1004-
func findDevcontainerJSON(options Options, fs billy.Filesystem, logger Logger) (string, string, error) {
1004+
func findDevcontainerJSON(options Options, fs billy.Filesystem, logf Logger) (string, string, error) {
10051005
// 0. Check if custom devcontainer directory or path is provided.
10061006
if options.DevcontainerDir != "" || options.DevcontainerJSONPath != "" {
10071007
devcontainerDir := options.DevcontainerDir
@@ -1052,13 +1052,13 @@ func findDevcontainerJSON(options Options, fs billy.Filesystem, logger Logger) (
10521052

10531053
for _, fileInfo := range fileInfos {
10541054
if !fileInfo.IsDir() {
1055-
logger(codersdk.LogLevelDebug, `%s is a file`, fileInfo.Name())
1055+
logf(codersdk.LogLevelDebug, `%s is a file`, fileInfo.Name())
10561056
continue
10571057
}
10581058

10591059
location := filepath.Join(devcontainerDir, fileInfo.Name(), "devcontainer.json")
10601060
if _, err := fs.Stat(location); err != nil {
1061-
logger(codersdk.LogLevelDebug, `stat %s failed: %s`, location, err.Error())
1061+
logf(codersdk.LogLevelDebug, `stat %s failed: %s`, location, err.Error())
10621062
continue
10631063
}
10641064

0 commit comments

Comments
 (0)