You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the container now runs as an unprivileged user (user by default, uid 1000, gid 1000, home at /home/user), configurable with the USERNAME, GROUP_NAME, USER_UID, USER_GID and USER_HOME build arguments. System packages can be installed without sudo/doas, and the shell files and binaries copied into the image are --chowned so that user can run them. Based on ghcr.io/qdm12/basedevcontainer:v0.30.0-alpine/-debian, which creates and runs that account and drops the ~/.windows.sh retro-compatibility (postCreateCommand uses ~/.ssh.sh), on Alpine 3.24 to match.
SSH now uses the agent from the host by default, with documentation for the agent setup, for the previous ~/.ssh bind mount, and for not using SSH at all.
the container is configured only with devcontainer.json: docker-compose.yml is dropped by default and is now documented as an opt-in customization.
Support for both the Docker and Podman container engines, with documentation of the container engine section and of the engine socket plus the DOCKER_GID build argument.
host.docker.internal is injected into dev containers.
~/AGENTS.md is bind mounted into the container (machine-specific agent context).
The host GH_TOKEN environment variable is injected for the gh CLI.
The container registry authentication file is bind mounted.
Go upgraded from 1.26 to 1.27.
gopls upgraded from v0.21.1 to v0.23.0.
gofumpt upgraded from v0.9.2 to v0.12.0.
golangci-lint upgraded from v2.11.4 to v2.14.0.
dlv upgraded from v1.26.1 to v1.27.2.
mockery upgraded from v3.7.0 to v3.8.0.
impl upgraded from v1.2.0 to v1.5.0.
kubectl upgraded from v1.35.3 to v1.37.1.
helm upgraded from v4.1.3 to v4.3.0.
stern upgraded from v1.33.1 to v1.34.0.
Fixes
The workspace is mounted at the same absolute path as on the host.
zsh: the golang, kubectl and helm plugins are loaded again, through shell/.zshrc-plugins, which the base image sources before oh-my-zsh reads the plugins variable. The list in shell/.zshrc-specific was a no-op, since that file is sourced after the plugins have been loaded, and has been dropped.
README.md: ghcr.io image names instead of unprefixed Docker Hub names, docker-compose.yml documented as an opt-in, image sizes refreshed, and the mockgen/gomock source link corrected to uber-go/mock.
Maintenance
New CI job validating the devcontainer configuration: JSONC format check, and devcontainer up from devcontainer.json for both Podman and Docker. The checks are composite actions from qdm12/basedevcontainer, pinned to v0.30.0, called as the verify job of alpine.yml and debian.yml.
devcontainer.json settings re-arranged (order and comments).