package infra import ( "fmt" "os" "path/filepath" ) // WriteDockerfile escribe content en dir/Dockerfile. // Crea el directorio si no existe. Retorna el path absoluto del archivo escrito. func WriteDockerfile(dir, content string) (string, error) { absDir, err := filepath.Abs(dir) if err != nil { return "", fmt.Errorf("write_dockerfile: resolver path %s: %w", dir, err) } if err := os.MkdirAll(absDir, 0o755); err != nil { return "", fmt.Errorf("write_dockerfile: crear directorio %s: %w", absDir, err) } dockerfilePath := filepath.Join(absDir, "Dockerfile") if err := os.WriteFile(dockerfilePath, []byte(content), 0o644); err != nil { return "", fmt.Errorf("write_dockerfile: escribir %s: %w", dockerfilePath, err) } return dockerfilePath, nil }