From 02f90f4321d120260e4ccf50e1568d07e00df7e0 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Mon, 28 Jul 2025 15:37:38 -0700 Subject: [PATCH] feat: Use devcontainers/universal image for better tooling - Switch to universal:2 image which includes vim, curl, jq, tmux, etc. - Remove redundant features (already in universal image) - Simplify setup script - only install Superset-specific libs - Keeps SSH feature for remote access --- .devcontainer/devcontainer.json | 14 +------------- .devcontainer/setup-dev.sh | 11 +++-------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d94b3e93902..3588e902e16 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { "name": "Apache Superset Development", - "image": "mcr.microsoft.com/devcontainers/base:ubuntu", + "image": "mcr.microsoft.com/devcontainers/universal:2", "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", // Forward ports for development @@ -69,18 +69,6 @@ // Features to add to the dev container "features": { - "ghcr.io/devcontainers/features/docker-in-docker:2": { - "moby": true, - "installDockerBuildx": true, - "dockerDashComposeVersion": "v2" - }, - "ghcr.io/devcontainers/features/github-cli:1": {}, - "ghcr.io/devcontainers/features/python:1": { - "version": "3.10" - }, - "ghcr.io/devcontainers/features/node:1": { - "version": "18" - }, "ghcr.io/devcontainers/features/sshd:1": { "version": "latest" } diff --git a/.devcontainer/setup-dev.sh b/.devcontainer/setup-dev.sh index 7fab8aefd53..a73e8ab46aa 100755 --- a/.devcontainer/setup-dev.sh +++ b/.devcontainer/setup-dev.sh @@ -5,18 +5,13 @@ set -e echo "🔧 Setting up Superset development environment..." -# Install additional system dependencies -echo "📦 Installing system dependencies..." +# The universal image has most tools, just need Superset-specific libs +echo "📦 Installing Superset-specific dependencies..." sudo apt-get update sudo apt-get install -y \ - build-essential \ - libssl-dev \ - libffi-dev \ libsasl2-dev \ libldap2-dev \ - libpq-dev \ - python3-pip \ - python3-venv + libpq-dev # Make the start script executable chmod +x .devcontainer/start-superset.sh