Skip to content

feat: Add dind - #67

Merged
raphaelmeyer merged 3 commits into
mainfrom
feature/dind
Sep 3, 2026
Merged

feat: Add dind#67
raphaelmeyer merged 3 commits into
mainfrom
feature/dind

Conversation

@Roemer

@Roemer Roemer commented Jul 30, 2026

Copy link
Copy Markdown
Member

No description provided.

@Roemer
Roemer force-pushed the feature/dind branch 5 times, most recently from db1e7cc to 248c1ef Compare July 31, 2026 08:46
@Roemer
Roemer requested a balanced review from Copilot August 10, 2026 12:04

This comment was marked as outdated.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 29 out of 29 changed files in this pull request and generated no new comments.

Suppressed comments (4)

build/build.go:434

  • ExpandDevContainerFeatureVars() generates a new random ${devcontainerId} on every call. When multiple mounts are present, this produces different volume names for each mount, so mounts that are intended to share the same devcontainerId (e.g., the two docker-in volumes) won’t match and can cause state to be split across volumes.
			if len(featureSpec.Mounts) > 0 {
				for _, mount := range featureSpec.Mounts {
					runArgs = append(runArgs, "-v", fmt.Sprintf("%s:%s", ExpandDevContainerFeatureVars(mount.Source), mount.Target))
				}
			}

installer/system.go:106

  • OsInfo() parses /etc/os-release assuming every scanned line contains =. Blank lines or comments can make strings.SplitN(..., "=", 2) return a 1-element slice, causing an index-out-of-range panic when accessing parts[1].
		for scanner.Scan() {
			parts := strings.SplitN(scanner.Text(), "=", 2)
			// Remove surrounding quotes if present
			val := strings.Trim(parts[1], `"`)
			infoMap[parts[0]] = val

shared/docker/config.go:21

  • If _REMOTE_USER / _REMOTE_USER_HOME are not set, filepath.Join("/home", userName) can resolve to /home and user.Lookup("") will fail. This makes config install brittle when the feature runs as root or when those env vars aren’t present.
		userName := os.Getenv("_REMOTE_USER")
		homeDir := os.Getenv("_REMOTE_USER_HOME")
		if homeDir == "" {
			homeDir = filepath.Join("/home", userName)
		}

shared/docker/config.go:38

  • The strconv.Atoi errors for UID/GID are ignored. If parsing fails, uid/gid become 0 and the code may chown the Docker config to root unexpectedly.
		uid, _ := strconv.Atoi(usr.Uid)
		gid, _ := strconv.Atoi(usr.Gid)

@raphaelmeyer
raphaelmeyer force-pushed the feature/dind branch 2 times, most recently from a9c3f44 to 4ca6b69 Compare September 3, 2026 08:57
@raphaelmeyer
raphaelmeyer self-requested a review September 3, 2026 09:00
@raphaelmeyer
raphaelmeyer merged commit f34e3b0 into main Sep 3, 2026
40 checks passed
@raphaelmeyer
raphaelmeyer deleted the feature/dind branch September 3, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants