Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions pkg/storage/distribution/distribution.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ import (
"errors"
"fmt"
"io"
"os"
"path/filepath"
"regexp"
"time"

Expand Down Expand Up @@ -61,6 +63,24 @@ func NewStorage(rootDir string) (*storage, error) {
// Mute the logging from distribution.
logrus.SetOutput(io.Discard)

// Create Docker Registry V2 directory structure
dockerRegistryDir := filepath.Join(rootDir, "docker", "registry")
if err := os.MkdirAll(dockerRegistryDir, 0755); err != nil {
return nil, fmt.Errorf("failed to create docker registry directory: %w", err)
}

// Create v2 directory
v2Dir := filepath.Join(dockerRegistryDir, "v2")
if err := os.MkdirAll(v2Dir, 0755); err != nil {
return nil, fmt.Errorf("failed to create v2 directory: %w", err)
}

// Create repositories directory under v2
repositoriesDir := filepath.Join(v2Dir, "repositories")
if err := os.MkdirAll(repositoriesDir, 0755); err != nil {
return nil, fmt.Errorf("failed to create repositories directory: %w", err)
}

fsDriver := filesystem.New(filesystem.DriverParameters{
RootDirectory: rootDir,
MaxThreads: defaultMaxThreads,
Expand Down