Skip to content

feat: Add dind - #67

Open
Roemer wants to merge 3 commits into
mainfrom
feature/dind
Open

feat: Add dind#67
Roemer wants to merge 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 4 times, most recently from 1224d99 to db1e7cc Compare July 30, 2026 16:23

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)

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.

2 participants