Skip to content

Initial Doppler devcontainer feature#1

Draft
amoses12 wants to merge 1 commit intomainfrom
austin/cli
Draft

Initial Doppler devcontainer feature#1
amoses12 wants to merge 1 commit intomainfrom
austin/cli

Conversation

@amoses12
Copy link

@amoses12 amoses12 commented Feb 3, 2026

This PR adds a few things to the POC that already existsed:

  • Update github actions to v4
  • Add support for more container distributions
  • Add tests for those distributions
  • Use our install script directly as opposed to APT
  • Update the install script to check for appropriate user
  • Add version support
  • Add tests for specific/latest versions and different distros

This will require CLI changes to be deployed in order for CI tests to pass: PR 512

@amoses12
Copy link
Author

amoses12 commented Feb 3, 2026

There are currently some comments in the install.sh file so I can debug CI checks if needed. I will remove them before final approval.

@amoses12 amoses12 marked this pull request as draft February 3, 2026 21:34
Comment on lines 18 to 26
# Debian-based
- debian:latest
- debian:bullseye
- ubuntu:latest
- ubuntu:22.04
- ubuntu:20.04
# Microsoft dev containers
- mcr.microsoft.com/devcontainers/base:ubuntu
- mcr.microsoft.com/devcontainers/base:debian

Choose a reason for hiding this comment

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

optional: I think testing on just the latest images is probably fine.

Comment on lines 11 to 14
echo "Checking for curl..."
if ! type curl >/dev/null 2>&1; then
echo "Installing curl..."
apt-get update -y && apt-get -y install --no-install-recommends curl ca-certificates

Choose a reason for hiding this comment

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

blocking: This all assumes that this is a debian based system with apt-get installed, which is not a valid assumption. Take a look at how some of microsoft's features install from different package managers. We should support redhat variants and alpine, at a minimum (and probably also test those).

Choose a reason for hiding this comment

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

Also, be sure to clean up the package lists after you're done, to keep the user's layer size small.

Comment on lines 3 to 4
push:
branches: [main]

Choose a reason for hiding this comment

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

nit: I don't know that we necessarily want this on every push, we likely want it to be manual and only run it when the version changes.

Copy link
Author

Choose a reason for hiding this comment

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

Good call, removed this.

Comment on lines +17 to +21
{
"source": "doppler-cli-user-config",
"target": "/doppler",
"type": "volume"
}

Choose a reason for hiding this comment

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

check: Is it safe/valid to have a volume shared between all containers that might use this feature?

Copy link
Author

Choose a reason for hiding this comment

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

This is a good question and I struggled with where to go for this. The volume gets shared across devcontainers, but the devcontainers stay in 1 location. Meaning if someone has multiple devcontainers running, those containers should be contained to their local machines and not be shared with other engineers. Where this could become an issue is if a team is working on a shared Docker host, but that seems very atypical of devcontainer usage. Having a volume means users don't have to reauthenticate across every dev container if they're running multiple or on every single devcontainer build. I could be talked into either direction on this.

Copy link
Contributor

Choose a reason for hiding this comment

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

It's been a long time since I looked at this, but as I recall, the volumes get a persistent, unique ID appended to the name when the container is started, so I don't think this should be a problem unless they're literally using the exact same devcontainer, which seems unlikely. Most ways I've seen this used, each developer has their own devcontainer running.

@amoses12 amoses12 force-pushed the austin/cli branch 2 times, most recently from 463d473 to 03fc764 Compare February 12, 2026 21:11
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