├── .devcontainer ├── Dockerfile ├── README.md ├── devcontainer.json ├── fluxbox │ └── menu ├── install.sh └── postCreateCommand.sh ├── .editorconfig ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ └── feature_request.md ├── actions │ └── smoke-test │ │ ├── action.yaml │ │ ├── build.sh │ │ └── test.sh ├── pull_request_template.md └── workflows │ ├── container-features-regression.yml │ ├── container-features.yml │ ├── patch.yml │ ├── push-again.yml │ ├── push-and-package.yml │ ├── push-dev.yml │ ├── release-templates.yml │ ├── script-library-pr-alpine.yml │ ├── script-library-pr-debian.yml │ ├── script-library-pr-redhat.yml │ ├── script-library.yml │ ├── smoke-alpine.yaml │ ├── smoke-anaconda.yaml │ ├── smoke-codespace.yaml │ ├── smoke-cpp.yaml │ ├── smoke-debian.yaml │ ├── smoke-dotnet.yaml │ ├── smoke-go.yaml │ ├── smoke-java.yaml │ ├── smoke-jekyll.yaml │ ├── smoke-miniconda.yaml │ ├── smoke-node.yaml │ ├── smoke-php.yaml │ ├── smoke-python.yaml │ ├── smoke-ruby.yaml │ ├── smoke-rust.yaml │ ├── smoke-ubuntu.yaml │ └── version-history.yml ├── .gitignore ├── .vscode └── extensions.json ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE.txt ├── README.md ├── SECURITY.md ├── SUPPORT.md ├── azure-pipelines.yml ├── build ├── .eslintrc.js ├── .vscode │ ├── launch.json │ └── settings.json ├── README.md ├── assets │ ├── alpine.Dockerfile │ ├── debian.Dockerfile │ ├── meta.env │ ├── redhat.Dockerfile │ ├── release-notes-header.md │ └── release-notes-variant-part.md ├── config.json ├── patch │ ├── 2020-02-07-1 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-02-07-2 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-02-14-1 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-02-14-2 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-04-02 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-04-30-1 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-04-30-2 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-06-18 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-08-23 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-11-16-1 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-11-16-2 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-11-16-3 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-11-16-4 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2020-12-17 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2021-01-22 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2021-01-25 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2021-01-26 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2021-01-29 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2021-02-05-1 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2021-02-05-2 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── 2021-02-16 │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ ├── sample │ │ ├── Dockerfile │ │ ├── README.md │ │ └── patch.json │ └── status.json ├── src │ ├── image-info.js │ ├── package.js │ ├── patch.js │ ├── prep.js │ ├── push.js │ └── utils │ │ ├── async.js │ │ ├── component-formatter-factory.js │ │ ├── config.js │ │ ├── image-content-extractor.js │ │ └── markdown-formatter-factory.js ├── vscdc └── vscdc.cmd ├── cgmanifest.json ├── container-templates ├── README.md ├── docker-compose │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ ├── docker-compose.yml │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh ├── dockerfile │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh └── image │ ├── .devcontainer │ └── devcontainer.json │ ├── .npmignore │ ├── README.md │ └── test-project │ ├── test-utils.sh │ └── test.sh ├── containers ├── .npmignore ├── README.md ├── alpine │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-alpine.sh │ │ │ └── meta.env │ ├── .npmignore │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── 0.203.0.md │ │ ├── 0.203.1.md │ │ ├── 0.204.0.md │ │ ├── 0.204.1.md │ │ ├── 0.204.2.md │ │ ├── 0.204.3.md │ │ ├── 0.204.4.md │ │ ├── 0.204.5.md │ │ ├── 0.204.6.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── test-utils-alpine.sh │ │ └── test.sh ├── azure-ansible │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── azcli-debian.sh │ │ │ ├── common-debian.sh │ │ │ ├── docker-debian.sh │ │ │ └── node-debian.sh │ ├── .npmignore │ └── README.md ├── azure-bicep │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── azcli-debian.sh │ │ │ ├── common-debian.sh │ │ │ └── node-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ └── main.bicep ├── azure-cli │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── azcli-debian.sh │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── scripting.azcli │ │ ├── test-utils.sh │ │ └── test.sh ├── azure-functions-dotnet-6-inprocess │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── azure-functions-dotnet-6-isolated │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── azure-functions-dotnetcore-3.1 │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── azure-functions-java-11 │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── maven-settings.xml │ ├── .npmignore │ └── README.md ├── azure-functions-java-8 │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── maven-settings.xml │ ├── .npmignore │ └── README.md ├── azure-functions-node │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── azure-functions-pwsh │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── azure-functions-python-3 │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── azure-machine-learning-python-3 │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── azure-static-web-apps │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ └── node-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── .vscode.sample │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ │ ├── api │ │ ├── .funcignore │ │ ├── .gitignore │ │ ├── GetMessage │ │ │ ├── function.json │ │ │ ├── index.js │ │ │ └── sample.dat │ │ ├── host.json │ │ ├── local.settings.json.sample │ │ ├── package.json │ │ └── proxies.json │ │ ├── index.html │ │ └── styles.css ├── azure-terraform │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.env │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── azcli-debian.sh │ │ │ ├── common-debian.sh │ │ │ ├── docker-debian.sh │ │ │ ├── node-debian.sh │ │ │ └── terraform-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ ├── assets │ │ └── Terraform_tasks.png │ │ ├── create-backend.sh │ │ └── templates │ │ ├── main.tf │ │ └── variables.tf ├── bash │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ └── README.md ├── bazel │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── tasks.json │ ├── README.md │ ├── WORKSPACE │ └── test-project │ │ ├── BUILD.bazel │ │ ├── hello-lib.cc │ │ ├── hello-lib.h │ │ └── hello-world.cc ├── chef-workstation │ ├── .devcontainer │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── clojure │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── project.clj │ │ └── src │ │ ├── clj │ │ └── sample.clj │ │ └── cljs │ │ └── sample │ │ └── main.cljs ├── codespaces-linux │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ ├── first-run-notice.txt │ │ ├── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── docker-debian.sh │ │ │ ├── docker-in-docker-debian.sh │ │ │ ├── git-from-src-debian.sh │ │ │ ├── git-lfs-debian.sh │ │ │ ├── github-debian.sh │ │ │ ├── go-debian.sh │ │ │ ├── gradle-debian.sh │ │ │ ├── java-debian.sh │ │ │ ├── jupyterlab-debian.sh │ │ │ ├── kubectl-helm-debian.sh │ │ │ ├── maven-debian.sh │ │ │ ├── meta.env │ │ │ ├── node-debian.sh │ │ │ ├── python-debian.sh │ │ │ ├── ruby-debian.sh │ │ │ └── sshd-debian.sh │ │ ├── setup-python-tools.sh │ │ └── setup-user.sh │ ├── .npmignore │ ├── README.md │ ├── history │ │ ├── 1.3.2.md │ │ ├── 1.3.3.md │ │ ├── 1.4.0.md │ │ ├── 1.4.1.md │ │ ├── 1.5.0.md │ │ ├── 1.6.0.md │ │ ├── 1.6.1.md │ │ ├── 1.6.3.md │ │ ├── 1.6.4.md │ │ ├── 1.6.5.md │ │ ├── 1.6.6.md │ │ ├── 1.6.7.md │ │ ├── 1.6.8.md │ │ ├── 1.6.9.md │ │ ├── 1.7.0.md │ │ ├── 1.7.1.md │ │ ├── 1.7.2.md │ │ ├── 1.7.3.md │ │ ├── 1.7.4.md │ │ ├── 1.7.5.md │ │ ├── 2.0.1.md │ │ ├── 2.0.2.md │ │ ├── 2.0.3.md │ │ ├── 2.0.4.md │ │ ├── 2.0.5.md │ │ ├── 2.0.7.md │ │ ├── 2.0.8.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── .gitignore │ │ ├── package.json │ │ ├── puppeteer.js │ │ ├── test-utils.sh │ │ ├── test.sh │ │ └── yarn.lock ├── cpp-mariadb │ ├── .devcontainer │ │ ├── .env │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ ├── docker-compose.yml │ │ ├── install-mariadb.sh │ │ └── reinstall-cmake.sh │ ├── .gitignore │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ ├── CMakeLists.txt │ │ ├── main.cpp │ │ ├── test-utils.sh │ │ └── test.sh ├── cpp │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base-scripts │ │ │ └── install-vcpkg.sh │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ ├── library-scripts │ │ │ ├── README.md │ │ │ └── meta.env │ │ └── reinstall-cmake.sh │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.201.8.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.203.0.md │ │ ├── 0.203.1.md │ │ ├── 0.203.2.md │ │ ├── 0.203.3.md │ │ ├── 0.203.4.md │ │ ├── 0.204.0.md │ │ ├── 0.205.0.md │ │ ├── 0.205.1.md │ │ ├── 0.205.2.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── CMakeLists.txt │ │ ├── main.cpp │ │ ├── test-utils.sh │ │ └── test.sh ├── dapr-dotnet │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ ├── docker-compose.yml │ │ └── library-scripts │ │ │ ├── azcli-debian.sh │ │ │ └── docker-debian.sh │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ ├── .gitignore │ │ ├── Controllers │ │ └── AccountsController.cs │ │ ├── Program.cs │ │ ├── Startup.cs │ │ ├── aspnetapp.csproj │ │ ├── test-utils.sh │ │ └── test.sh ├── dapr-javascript-node │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ ├── docker-compose.yml │ │ └── library-scripts │ │ │ └── docker-debian.sh │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src │ │ ├── accounts.ts │ │ ├── daprClient.ts │ │ └── server.ts │ │ ├── test-utils.sh │ │ ├── test.sh │ │ ├── tsconfig.json │ │ └── tslint.json ├── dart │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ └── test-project │ │ ├── .gitignore │ │ ├── bin │ │ └── server.dart │ │ └── pubspec.yaml ├── debian │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ └── meta.env │ ├── .npmignore │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.201.8.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── 0.202.3.md │ │ ├── 0.202.4.md │ │ ├── 0.202.5.md │ │ ├── 0.202.6.md │ │ ├── 0.202.7.md │ │ ├── 0.202.8.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh ├── deno │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── docker-existing-docker-compose │ ├── .devcontainer │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ └── README.md ├── docker-existing-dockerfile │ ├── .devcontainer │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── docker-from-docker-compose │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ ├── docker-compose.yml │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ └── docker-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh ├── docker-from-docker │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ └── docker-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh ├── docker-in-docker │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ └── docker-in-docker-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh ├── dotnet-fsharp │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ ├── Program.fs │ │ ├── app.fsproj │ │ ├── test-utils.sh │ │ └── test.sh ├── dotnet-mssql │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ ├── docker-compose.yml │ │ └── mssql │ │ │ ├── installSQLtools.sh │ │ │ ├── postCreateCommand.sh │ │ │ └── setup.sql │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ ├── Program.cs │ │ ├── aspnetapp.csproj │ │ ├── test-utils.sh │ │ └── test.sh ├── dotnet-postgres │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ ├── Program.cs │ │ ├── aspnetapp.csproj │ │ ├── test-utils.sh │ │ └── test.sh ├── dotnet │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── meta.env │ │ │ └── node-debian.sh │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── README.md │ ├── history │ │ ├── 0.201.10.md │ │ ├── 0.201.11.md │ │ ├── 0.201.12.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.201.8.md │ │ ├── 0.201.9.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── 0.203.0.md │ │ ├── 0.203.1.md │ │ ├── 0.203.2.md │ │ ├── 0.203.3.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── Program.cs │ │ ├── aspnetapp.csproj │ │ ├── test-utils.sh │ │ └── test.sh ├── elixir-phoenix-postgres │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── .gitignore │ │ ├── package-lock.json │ │ ├── test-utils.sh │ │ └── test.sh ├── elixir │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── .gitignore │ │ ├── package-lock.json │ │ ├── test-utils.sh │ │ └── test.sh ├── elm │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── .gitignore │ │ ├── elm.json │ │ └── examples │ │ └── HelloWorld.elm ├── go-postgres │ ├── .devcontainer │ │ ├── .env │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .gitignore │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ └── test-project │ │ ├── go.mod │ │ ├── go.sum │ │ ├── hello.go │ │ ├── test-utils.sh │ │ └── test.sh ├── go │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── go-debian.sh │ │ │ ├── meta.env │ │ │ └── node-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ ├── history │ │ ├── 0.202.4.md │ │ ├── 0.202.5.md │ │ ├── 0.202.6.md │ │ ├── 0.202.7.md │ │ ├── 0.202.8.md │ │ ├── 0.203.0.md │ │ ├── 0.204.0.md │ │ ├── 0.205.0.md │ │ ├── 0.205.1.md │ │ ├── 0.205.2.md │ │ ├── 0.205.3.md │ │ ├── 0.205.4.md │ │ ├── 0.206.0.md │ │ ├── 0.206.1.md │ │ ├── 0.206.2.md │ │ ├── 0.206.3.md │ │ ├── 0.207.0.md │ │ ├── 0.207.1.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ └── hello.go ├── haskell │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ └── common-debian.sh │ └── README.md ├── hugo │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── .vscode │ │ └── tasks.json │ └── README.md ├── java-8 │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── gradle-debian.sh │ │ │ ├── java-debian.sh │ │ │ ├── maven-debian.sh │ │ │ ├── meta.env │ │ │ └── node-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.202.0.md │ │ ├── 0.202.2.md │ │ ├── 0.202.3.md │ │ ├── 0.202.4.md │ │ ├── 0.203.0.md │ │ ├── 0.205.0.md │ │ ├── 0.205.1.md │ │ ├── 0.205.2.md │ │ ├── 0.205.3.md │ │ ├── 1.0.0.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── .classpath │ │ ├── .gitignore │ │ ├── .project │ │ ├── .settings │ │ ├── org.eclipse.jdt.apt.core.prefs │ │ ├── org.eclipse.jdt.core.prefs │ │ └── org.eclipse.m2e.core.prefs │ │ ├── pom.xml │ │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mycompany │ │ │ │ └── app │ │ │ │ └── App.java │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mycompany │ │ │ └── app │ │ │ └── AppTest.java │ │ ├── test-utils.sh │ │ └── test.sh ├── java-postgres │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ └── test-project │ │ ├── .classpath │ │ ├── .gitignore │ │ ├── .project │ │ ├── .settings │ │ ├── org.eclipse.jdt.apt.core.prefs │ │ ├── org.eclipse.jdt.core.prefs │ │ └── org.eclipse.m2e.core.prefs │ │ ├── pom.xml │ │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ ├── com │ │ │ │ └── mycompany │ │ │ │ │ └── app │ │ │ │ │ └── App.java │ │ │ │ └── module-info.java │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mycompany │ │ │ └── app │ │ │ └── AppTest.java │ │ ├── test-utils.sh │ │ └── test.sh ├── java │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── gradle-debian.sh │ │ │ ├── java-debian.sh │ │ │ ├── maven-debian.sh │ │ │ ├── meta.env │ │ │ └── node-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── 0.202.3.md │ │ ├── 0.202.4.md │ │ ├── 0.203.0.md │ │ ├── 0.204.0.md │ │ ├── 0.205.0.md │ │ ├── 0.205.1.md │ │ ├── 0.205.2.md │ │ ├── 0.205.3.md │ │ ├── 0.205.4.md │ │ ├── 0.205.5.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── .classpath │ │ ├── .gitignore │ │ ├── .project │ │ ├── .settings │ │ ├── org.eclipse.jdt.apt.core.prefs │ │ ├── org.eclipse.jdt.core.prefs │ │ └── org.eclipse.m2e.core.prefs │ │ ├── pom.xml │ │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ ├── com │ │ │ │ └── mycompany │ │ │ │ │ └── app │ │ │ │ │ └── App.java │ │ │ │ └── module-info.java │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mycompany │ │ │ └── app │ │ │ └── AppTest.java │ │ ├── test-utils.sh │ │ └── test.sh ├── javascript-node-azurite │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── README.md │ └── test-project │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── japaFile.js │ │ ├── package.json │ │ ├── test-utils.sh │ │ ├── test.sh │ │ └── test │ │ ├── blob.spec.js │ │ └── queue.spec.js ├── javascript-node-mongo │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── README.md │ └── test-project │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── package.json │ │ ├── server.js │ │ ├── test-utils.sh │ │ └── test.sh ├── javascript-node-postgres │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── README.md │ └── test-project │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── package.json │ │ ├── server.js │ │ ├── test-utils.sh │ │ └── test.sh ├── javascript-node │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── meta.env │ │ │ └── node-debian.sh │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── 0.202.3.md │ │ ├── 0.202.4.md │ │ ├── 0.202.5.md │ │ ├── 0.202.6.md │ │ ├── 0.202.7.md │ │ ├── 0.203.0.md │ │ ├── 0.203.1.md │ │ ├── 0.203.2.md │ │ ├── 0.203.3.md │ │ ├── 0.203.4.md │ │ ├── 0.204.0.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── package.json │ │ ├── server.js │ │ ├── test-utils.sh │ │ └── test.sh ├── jekyll │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ ├── library-scripts │ │ │ └── meta.env │ │ └── post-create.sh │ ├── .npmignore │ ├── .vscode │ │ └── tasks.json │ ├── README.md │ ├── history │ │ ├── 0.0.1.md │ │ ├── 0.0.2.md │ │ ├── 0.0.3.md │ │ ├── 0.1.6.md │ │ ├── 0.1.7.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ └── manifest.json ├── julia │ ├── .devcontainer │ │ └── devcontainer.json │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-utils-no-lc.sh │ │ └── test.sh ├── jupyter-datascience-notebooks │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-julia.ipynb │ │ ├── test-python.ipynb │ │ └── test-r.ipynb ├── kubernetes-helm-minikube │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── docker-in-docker-debian.sh │ │ │ └── kubectl-helm-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh ├── kubernetes-helm │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── copy-kube-config.sh │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── docker-debian.sh │ │ │ └── kubectl-helm-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh ├── markdown │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh ├── mit-scheme │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ ├── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ │ └── mit-scheme-debian.sh │ ├── .npmignore │ └── README.md ├── perl │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ └── test-project │ │ └── sample.pl ├── php-mariadb │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── .vscode │ │ └── settings.json │ ├── README.md │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh ├── php │ ├── manifest.json │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── meta.env │ │ │ └── node-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.201.8.md │ │ ├── 0.201.9.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.203.0.md │ │ ├── 0.203.1.md │ │ ├── 0.203.2.md │ │ ├── 0.203.3.md │ │ ├── 0.203.4.md │ │ ├── 0.203.5.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ └── test-project │ │ ├── main.php │ │ ├── test-utils.sh │ │ └── test.sh ├── powershell │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ └── test-project │ │ ├── hello.ps1 │ │ ├── test-utils.sh │ │ └── test.sh ├── puppet │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── python-3-anaconda-postgres │ ├── .devcontainer │ │ ├── .env │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ ├── docker-compose.yml │ │ └── noop.txt │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ ├── environment.yml │ └── test-project │ │ ├── .gitignore │ │ ├── database.py │ │ ├── plot.py │ │ ├── test-utils.sh │ │ └── test.sh ├── python-3-anaconda │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── add-notice.sh │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ ├── library-scripts │ │ │ ├── README.md │ │ │ ├── meta.env │ │ │ └── node-debian.sh │ │ └── noop.txt │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ ├── history │ │ ├── 0.201.3.md │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.201.8.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── 0.202.3.md │ │ ├── 0.202.4.md │ │ ├── 0.202.5.md │ │ ├── 0.202.6.md │ │ ├── 0.202.7.md │ │ ├── 0.202.8.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── .gitignore │ │ └── hello.py ├── python-3-device-simulator-express │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── .vscode │ │ ├── cpx.json │ │ ├── launch.json │ │ └── settings.json │ ├── README.md │ └── test-project │ │ └── circuit.py ├── python-3-miniconda-postgres │ ├── .devcontainer │ │ ├── .env │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ ├── docker-compose.yml │ │ └── noop.txt │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ ├── environment.yml │ └── test-project │ │ ├── .gitignore │ │ ├── database.py │ │ ├── plot.py │ │ ├── test-utils.sh │ │ └── test.sh ├── python-3-miniconda │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── add-notice.sh │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ ├── library-scripts │ │ │ ├── README.md │ │ │ ├── meta.env │ │ │ ├── node-debian.sh │ │ │ └── python-debian.sh │ │ └── noop.txt │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── README.md │ ├── history │ │ ├── 0.201.3.md │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.201.8.md │ │ ├── 0.201.9.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── 0.202.3.md │ │ ├── 0.202.4.md │ │ ├── 0.202.5.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── .gitignore │ │ ├── environment.yml │ │ └── hello.py ├── python-3-postgres │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ ├── manage.py │ │ ├── requirements.txt │ │ └── web_project │ │ ├── __init__.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py ├── python-3-pypy │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ └── hello.py ├── python-3 │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── meta.env │ │ │ ├── node-debian.sh │ │ │ └── python-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.201.8.md │ │ ├── 0.201.9.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.203.0.md │ │ ├── 0.203.1.md │ │ ├── 0.203.2.md │ │ ├── 0.203.3.md │ │ ├── 0.203.5.md │ │ ├── 0.203.6.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ └── hello.py ├── r │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── common-debian.sh │ ├── .npmignore │ ├── README.md │ └── test-project │ │ └── hello.R ├── reasonml │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── README.md │ └── test-project │ │ ├── .gitignore │ │ ├── .vscode │ │ └── tasks.json │ │ ├── README.md │ │ ├── bsconfig.json │ │ ├── package.json │ │ ├── src │ │ └── Demo.re │ │ └── yarn.lock ├── ruby-rails-postgres │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── create-db-user.sql │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── .vscode │ │ ├── database.yml │ │ ├── launch.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ └── .keep ├── ruby-rails │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ └── .keep ├── ruby-sinatra │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ └── test-project │ │ └── helloApp.rb ├── ruby │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── meta.env │ │ │ ├── node-debian.sh │ │ │ └── ruby-debian.sh │ ├── .npmignore │ ├── .vscode │ │ └── launch.json │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.201.8.md │ │ ├── 0.201.9.md │ │ ├── 0.203.3.md │ │ ├── 0.203.4.md │ │ ├── 0.203.5.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ └── hello.rb ├── rust-postgres │ ├── .cargo │ │ └── config.toml │ ├── .devcontainer │ │ ├── .env │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── README.md │ └── test-project │ │ ├── Cargo.toml │ │ ├── src │ │ └── main.rs │ │ ├── test-utils.sh │ │ ├── test.sh │ │ └── tests │ │ └── db_test.rs ├── rust │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ ├── meta.env │ │ │ └── rust-debian.sh │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── Cargo.toml │ ├── README.md │ ├── history │ │ ├── 0.200.3.md │ │ ├── 0.200.4.md │ │ ├── 0.200.5.md │ │ ├── 0.200.6.md │ │ ├── 0.200.7.md │ │ ├── 0.200.8.md │ │ ├── 0.201.0.md │ │ ├── 0.201.1.md │ │ ├── 0.201.2.md │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ └── src │ │ └── main.rs ├── sfdx-project │ ├── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── .npmignore │ └── README.md ├── swift │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ └── node-debian.sh │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ └── tasks.json │ ├── README.md │ └── test-project │ │ ├── Package.swift │ │ └── Sources │ │ └── HelloWorld │ │ └── main.swift ├── typescript-node │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ └── meta.env │ ├── .npmignore │ ├── .vscode │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── 0.202.3.md │ │ ├── 0.202.4.md │ │ ├── 0.202.5.md │ │ ├── 0.202.6.md │ │ ├── 0.202.7.md │ │ ├── 0.203.0.md │ │ ├── 0.203.1.md │ │ ├── 0.203.2.md │ │ ├── 0.203.3.md │ │ ├── 0.203.4.md │ │ ├── 0.204.0.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── .eslintignore │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── package.json │ │ ├── src │ │ └── server.ts │ │ ├── test-utils.sh │ │ ├── test.sh │ │ ├── tsconfig.json │ │ └── tslint.json ├── ubuntu │ ├── .devcontainer │ │ ├── Dockerfile │ │ ├── base.Dockerfile │ │ ├── devcontainer.json │ │ └── library-scripts │ │ │ ├── README.md │ │ │ ├── common-debian.sh │ │ │ └── meta.env │ ├── .npmignore │ ├── README.md │ ├── history │ │ ├── 0.201.4.md │ │ ├── 0.201.5.md │ │ ├── 0.201.6.md │ │ ├── 0.201.7.md │ │ ├── 0.201.8.md │ │ ├── 0.201.9.md │ │ ├── 0.202.0.md │ │ ├── 0.202.1.md │ │ ├── 0.202.2.md │ │ ├── 0.202.3.md │ │ ├── 0.203.0.md │ │ ├── 0.203.1.md │ │ ├── 0.203.2.md │ │ ├── _history-files-have-moved.md │ │ └── dev.md │ ├── manifest.json │ └── test-project │ │ ├── test-utils.sh │ │ └── test.sh └── vue │ ├── .devcontainer │ ├── Dockerfile │ └── devcontainer.json │ ├── .npmignore │ ├── .vscode │ └── tasks.json │ └── README.md ├── devcontainer-collection.json ├── migrations ├── options.json └── readme-metadata-to-json.py ├── package.json ├── repository-containers ├── .npmignore ├── README.md ├── github.com │ ├── aymericdamien │ │ └── TensorFlow-Examples │ │ │ └── .devcontainer │ │ │ ├── Dockerfile │ │ │ └── devcontainer.json │ ├── barryclark │ │ └── jekyll-now │ │ │ └── .devcontainer │ │ │ ├── Dockerfile │ │ │ └── devcontainer.json │ ├── django │ │ └── django │ │ │ └── .devcontainer │ │ │ ├── Dockerfile │ │ │ └── devcontainer.json │ ├── microsoft │ │ └── vscode-azure-account │ │ │ └── .devcontainer.json │ ├── python │ │ └── cpython │ │ │ └── .devcontainer │ │ │ ├── Dockerfile │ │ │ └── devcontainer.json │ ├── spmallick │ │ └── learnopencv │ │ │ └── .devcontainer │ │ │ ├── Dockerfile │ │ │ └── devcontainer.json │ ├── tensorflow │ │ ├── addons │ │ │ └── .devcontainer │ │ │ │ ├── Dockerfile │ │ │ │ └── devcontainer.json │ │ └── tensorflow │ │ │ └── .devcontainer │ │ │ ├── Dockerfile │ │ │ └── devcontainer.json │ └── terraform-providers │ │ └── terraform-provider-azurerm │ │ └── .devcontainer │ │ ├── Dockerfile │ │ └── devcontainer.json └── images │ ├── README.md │ └── github.com │ └── microsoft │ └── vscode │ ├── .devcontainer │ ├── base.Dockerfile │ ├── devcontainer.json │ └── library-scripts │ │ └── desktop-lite-debian.sh │ ├── definition-manifest.json │ └── history │ ├── 0.173.0.md │ ├── 0.174.0.md │ ├── 0.200.0.md │ ├── 0.201.4.md │ ├── 0.202.3.md │ ├── 0.202.4.md │ ├── 0.203.0.md │ ├── 0.204.0.md │ └── dev.md ├── script-library ├── README.md ├── awscli-debian.sh ├── azcli-debian.sh ├── common-alpine.sh ├── common-debian.sh ├── common-redhat.sh ├── container-features │ ├── README.md │ ├── src │ │ ├── devcontainer-features.json │ │ ├── feature-scripts.env │ │ ├── install.sh │ │ └── java-wrapper.sh │ ├── stage.sh │ ├── test-features.env │ ├── test.Dockerfile │ └── test.sh ├── desktop-lite-debian.sh ├── docker-debian.sh ├── docker-in-docker-debian.sh ├── docker-redhat.sh ├── docs │ ├── awscli.md │ ├── azcli.md │ ├── common.md │ ├── desktop-lite.md │ ├── docker-in-docker.md │ ├── docker.md │ ├── dotnet.md │ ├── fish.md │ ├── git-from-src.md │ ├── git-lfs.md │ ├── github-cli.md │ ├── go.md │ ├── gradle.md │ ├── homebrew.md │ ├── java.md │ ├── jupyterlab.md │ ├── kubectl-helm.md │ ├── maven.md │ ├── node.md │ ├── powershell.md │ ├── python.md │ ├── ruby.md │ ├── rust.md │ ├── sshd.md │ └── terraform.md ├── dotnet-debian.sh ├── fish-debian.sh ├── git-from-src-debian.sh ├── git-lfs-debian.sh ├── github-debian.sh ├── go-debian.sh ├── gradle-debian.sh ├── homebrew-debian.sh ├── java-debian.sh ├── jupyterlab-debian.sh ├── kubectl-helm-debian.sh ├── maven-debian.sh ├── node-debian.sh ├── powershell-debian.sh ├── python-debian.sh ├── ruby-debian.sh ├── rust-debian.sh ├── shared │ ├── settings.env │ └── utils.sh ├── sshd-debian.sh ├── terraform-debian.sh └── test │ ├── regression │ ├── Dockerfile │ ├── alpine │ │ └── .devcontainer.json │ ├── alt.Dockerfile │ ├── debian │ │ └── .devcontainer.json │ ├── redhat │ │ └── .devcontainer.json │ ├── run-scripts.sh │ └── test.sh │ └── sshd │ ├── Dockerfile │ ├── debian │ └── .devcontainer.json │ ├── test-in-container-for-user.sh │ ├── test-in-container.sh │ ├── test-prep.sh │ └── test-user-secrets.json └── yarn.lock /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:latest 2 | 3 | ENV DONT_PROMPT_WSL_INSTALL=true 4 | COPY fluxbox/* /tmp/fluxbox/ 5 | COPY *.sh /tmp/scripts/ 6 | RUN bash /tmp/scripts/install.sh \ 7 | && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/scripts/ /tmp/fluxbox/ \ 8 | && git config --global codespaces-theme.hide-status 1 9 | -------------------------------------------------------------------------------- /.devcontainer/postCreateCommand.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | install_extension() { 3 | /usr/bin/code --install-extension $1 4 | /usr/bin/code-insiders --install-extension $1 5 | } 6 | 7 | # Install VS Code extensions into VS Code in desktop so we can try 8 | install_extension ms-vscode-remote.remote-containers 9 | install_extension ms-azuretools.vscode-docker 10 | install_extension streetsidesoftware.code-spell-checker 11 | install_extension chrisdias.vscode-opennewinstance 12 | install_extension mads-hartmann.bash-ide-vscode 13 | install_extension rogalmic.bash-debug 14 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.json] 2 | indent_style = tab 3 | 4 | [Dockerfile] 5 | indent_style = spaces 6 | indent_size = 4 7 | 8 | [*.{yml,yaml}] 9 | indent_style = spaces 10 | indent_size = 2 11 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | *.{cmd,[cC][mM][dD]} text eol=crlf 3 | *.{bat,[bB][aA][tT]} text eol=crlf 4 | *.gif binary 5 | *.jpeg binary 6 | *.png binary 7 | *.gz binary 8 | *.jar binary 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Dev Container Templates 4 | url: https://github.com/devcontainers/templates 5 | about: Log requests for Dev Container Templates managed by the Dev Container spec maintainers 6 | - name: Dev Container Images 7 | url: https://github.com/devcontainers/images 8 | about: Log requests for Dev Container images managed by the Dev Container spec maintainers 9 | - name: Dev Container Features 10 | url: https://github.com/devcontainers/features 11 | about: Log requests for Dev Container Features managed by the Dev Container spec maintainers -------------------------------------------------------------------------------- /.github/workflows/release-templates.yml: -------------------------------------------------------------------------------- 1 | name: "Release dev container community templates" 2 | on: 3 | workflow_dispatch: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | deploy: 10 | if: ${{ github.ref == 'refs/heads/main' }} 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v2 14 | 15 | - name: "Publish" 16 | uses: devcontainers/action@v1 17 | with: 18 | publish-templates: "true" 19 | base-path-to-templates: "./containers" 20 | env: 21 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. 3 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp 4 | 5 | // List of extensions which should be recommended for users of this workspace. 6 | "recommendations": [ 7 | // We recommend this extension for contributors to assist with the correct styling and formatting of files in this repo. 8 | "EditorConfig.EditorConfig", 9 | ], 10 | // List of extensions recommended by VS Code that should not be recommended for users of this workspace. 11 | "unwantedRecommendations": [ 12 | 13 | ] 14 | } -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- 1 | pool: 2 | vmImage: ubuntu-latest 3 | 4 | trigger: 5 | - main 6 | 7 | variables: 8 | Codeql.Enabled: true 9 | 10 | steps: 11 | - task: ComponentGovernanceComponentDetection@0 12 | inputs: 13 | ignoreDirectories: 'containers,repository-containers,container-templates,script-library' 14 | -------------------------------------------------------------------------------- /build/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "env": { 3 | "commonjs": true, 4 | "es6": true, 5 | "node": true 6 | }, 7 | "extends": "eslint:recommended", 8 | "globals": { 9 | "Atomics": "readonly", 10 | "SharedArrayBuffer": "readonly" 11 | }, 12 | "parserOptions": { 13 | "ecmaVersion": 2018 14 | }, 15 | "rules": { 16 | "require-atomic-updates": 0 17 | } 18 | }; -------------------------------------------------------------------------------- /build/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions.ignoreRecommendations": true, 3 | "cSpell.words": [ 4 | "Distro", 5 | "Dockerfiles", 6 | "cgmanifest", 7 | "copyfiles", 8 | "devcontainer", 9 | "devcontainers", 10 | "dpkg", 11 | "npmignore", 12 | "redhat" 13 | ] 14 | } -------------------------------------------------------------------------------- /build/assets/alpine.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM REPLACE-ME 2 | 3 | # ** [Optional] Uncomment this section to install additional packages. ** 4 | # RUN apk update \ 5 | # && apk add --no-cache <your-package-list-here> 6 | -------------------------------------------------------------------------------- /build/assets/debian.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM REPLACE-ME 2 | 3 | # ** [Optional] Uncomment this section to install additional packages. ** 4 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 5 | # && apt-get -y install --no-install-recommends <your-package-list-here> 6 | 7 | -------------------------------------------------------------------------------- /build/assets/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='{{version}}' 2 | CONTENTS_URL='{{contentsUrl}}' 3 | DEFINITION_ID='{{definitionId}}' 4 | VARIANT='{{variant}}' 5 | GIT_REPOSITORY='{{gitRepository}}' 6 | GIT_REPOSITORY_RELEASE='{{gitRepositoryRelease}}' 7 | BUILD_TIMESTAMP='{{buildTimestamp}}' -------------------------------------------------------------------------------- /build/assets/redhat.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM REPLACE-ME 2 | 3 | # ** [Optional] Uncomment this line to install additional packages. ** 4 | # RUN yum -y install <your-package-list-here> 5 | -------------------------------------------------------------------------------- /build/assets/release-notes-header.md: -------------------------------------------------------------------------------- 1 | # [{{definition}}](https://github.com/{{repository}}/tree/main/containers/{{definition}}) 2 | {{#if annotation}} 3 | {{{annotation}}} 4 | {{/if}} 5 | 6 | **Image version:** {{version}} 7 | 8 | **Source release/branch:** [{{release}}](https://github.com/{{repository}}/tree/{{release}}/containers/{{definition}}) 9 | 10 | {{#if hasVariants}} 11 | **Definition variations:** 12 | {{#each variants}} 13 | - [{{this}}](#variant-{{anchor this}}) 14 | {{/each}} 15 | 16 | {{/if}} -------------------------------------------------------------------------------- /build/patch/2020-02-07-1/Dockerfile: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | # Fix for USN-4256-1 7 | 8 | ARG ORIGINAL_IMAGE=devcon.azurecr.io/public/vscode/devcontainers/base:0.45.1-ubuntu-18.04 9 | FROM ${ORIGINAL_IMAGE} 10 | 11 | RUN apt-get update \ 12 | && apt-get upgrade -y libsasl2-2 \ 13 | && apt-get autoremove -y \ 14 | && apt-get clean -y \ 15 | && rm -rf /var/lib/apt/lists/* 16 | -------------------------------------------------------------------------------- /build/patch/2020-02-07-1/README.md: -------------------------------------------------------------------------------- 1 | Patch for USN-4256-1 -------------------------------------------------------------------------------- /build/patch/2020-02-07-1/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "imageIds": [ 5 | "sha256:b7f48cb387a2bff4d8e0e284162a6e9630b82411a4f784aeb578348842eb709e", 6 | "sha256:213beb68bad2b313a5d0de02a3bf2722c618ea1b1c35ca9c002dfcbc046a9994" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /build/patch/2020-02-07-2/Dockerfile: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | # Fix for DSA-4614-1, USN-4263-1 7 | 8 | ARG ORIGINAL_IMAGE=devcon.azurecr.io/public/vscode/devcontainers/base:0.45.1-ubuntu-18.04 9 | FROM ${ORIGINAL_IMAGE} 10 | 11 | RUN apt-get update \ 12 | && apt-get upgrade -y sudo \ 13 | && apt-get autoremove -y \ 14 | && apt-get clean -y \ 15 | && rm -rf /var/lib/apt/lists/* 16 | -------------------------------------------------------------------------------- /build/patch/2020-02-07-2/README.md: -------------------------------------------------------------------------------- 1 | Patch for DSA-4614-1 -------------------------------------------------------------------------------- /build/patch/2020-02-14-1/Dockerfile: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | ARG ORIGINAL_IMAGE=devcon.azurecr.io/public/vscode/devcontainers/base:bionic 7 | FROM ${ORIGINAL_IMAGE} 8 | 9 | RUN apt-get update \ 10 | && apt-get upgrade -y systemd \ 11 | && apt-get autoremove -y \ 12 | && apt-get clean -y \ 13 | && rm -rf /var/lib/apt/lists/* 14 | -------------------------------------------------------------------------------- /build/patch/2020-02-14-1/README.md: -------------------------------------------------------------------------------- 1 | Patches for USN-4269-1 2 | -------------------------------------------------------------------------------- /build/patch/2020-02-14-1/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "imageIds": [ 5 | "sha256:7f1e9282bb5687705dbf75b3ecb3ec3e10a74d888831604f76c1dc0ab5de9ecc", 6 | "sha256:0a1f61617c87d2322b7a4207ea04105140440e91b3b08a2369e31f46bde1477c", 7 | "sha256:c1bbb99e885084bab42c86419e2cc5b52901d7f9ab51fc61da4e130f04c21e3e", 8 | "sha256:ec54a81fb2b228460768a867bff39f3da239b1c4e2c45fa3ec38a69489104ca0" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /build/patch/2020-02-14-2/Dockerfile: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | ARG ORIGINAL_IMAGE=devcon.azurecr.io/public/vscode/devcontainers/base:0.99.2-buster 7 | FROM ${ORIGINAL_IMAGE} 8 | 9 | RUN apt-get update \ 10 | && apt-get upgrade -y libidn2-0 \ 11 | && apt-get autoremove -y \ 12 | && apt-get clean -y \ 13 | && rm -rf /var/lib/apt/lists/* 14 | -------------------------------------------------------------------------------- /build/patch/2020-02-14-2/README.md: -------------------------------------------------------------------------------- 1 | Patch for DSA-4613-1 -------------------------------------------------------------------------------- /build/patch/2020-02-14-2/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "imageIds": [ 5 | "sha256:914e7d93bf885b0cf49638467772c6ff70ee7f7647e3972d0570ff51ff0087c8" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /build/patch/2020-04-02/Dockerfile: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | ARG ORIGINAL_IMAGE=mcr.microsoft.com/vscode/devcontainers/python:0.109.0-3.7 7 | FROM ${ORIGINAL_IMAGE} 8 | 9 | RUN apt-get update \ 10 | && apt-get purge -y imagemagick imagemagick-6-common \ 11 | && apt-get autoremove -y \ 12 | && apt-get clean -y \ 13 | && rm -rf /var/lib/apt/lists/* 14 | -------------------------------------------------------------------------------- /build/patch/2020-04-02/README.md: -------------------------------------------------------------------------------- 1 | Patch for CVE-2019-10131 -------------------------------------------------------------------------------- /build/patch/2020-04-30-1/README.md: -------------------------------------------------------------------------------- 1 | # 4/30/2020 Update 2 | 3 | Patch to deal with issues the following packages in base, node, python, and universal images: 4 | 5 | git: 6 | - DSA 4657-1 7 | - DSA 4659-1 8 | - USN-4329-1 9 | 10 | openssl: 11 | - DSA 4661-1 12 | -------------------------------------------------------------------------------- /build/patch/2020-04-30-2/README.md: -------------------------------------------------------------------------------- 1 | # 4/30/2020 Update #2 2 | 3 | Patch to deal with older "universal" image issues the following packages: 4 | 5 | git: 6 | - DSA 4659-1 7 | - DSA 4657-1 8 | 9 | curl: 10 | - DSA 4633-1 11 | 12 | postgesql: 13 | - DSA 4622-1 14 | -------------------------------------------------------------------------------- /build/patch/2020-04-30-2/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "deleteUntaggedImages": true, 5 | "imageIds": [ 6 | "sha256:0d5a8081fd70fecca8eeb4123a4117390a3dc2f5c2c06b418ddc950e2b5c26e3", 7 | "sha256:28f5a4481a95ce4ae154023aa1df2661a264ede40e3552da8475c1a3a88f7f4d", 8 | "sha256:78090ba562d2631dd02353bda15d91533ce50594c17dfeab7d315dd62c95e556", 9 | "sha256:8a936c2da94147a53a07ce028efe6afc0963b3ebb98541ad9f818a1262df43dd", 10 | "sha256:8e01dac8f965f43303668ce2fc97cd3d281e550b4f196c44582348c4d2dc88df", 11 | "sha256:9d673e875856c01242785f8a92722fee15a27cd752c1cd182a3659a3f039c192", 12 | "sha256:b4a11fddd10ad198b12ee36da29f3ca7e0f12963688943b2f471a704437af003" 13 | ] 14 | } -------------------------------------------------------------------------------- /build/patch/2020-06-18/README.md: -------------------------------------------------------------------------------- 1 | Patch for CVE-2020-13777 -------------------------------------------------------------------------------- /build/patch/2020-06-18/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "deleteUntaggedImages": true, 5 | "imageIds": [ 6 | "sha256:cc578248f55ebeac390808bc95a9df2d54b89108ca7fd933b82750d14800c93f" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /build/patch/2020-08-23/Dockerfile: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | ARG ORIGINAL_IMAGE=mcr.microsoft.com/vscode/devcontainers/ruby:2.5 7 | FROM ${ORIGINAL_IMAGE} 8 | 9 | RUN apt-get update \ 10 | && apt-get purge -y imagemagick imagemagick-6-common \ 11 | && apt-get autoremove -y \ 12 | && apt-get clean -y \ 13 | && rm -rf /var/lib/apt/lists/* 14 | -------------------------------------------------------------------------------- /build/patch/2020-08-23/README.md: -------------------------------------------------------------------------------- 1 | Patch for CVE-2019-10131 for Ruby and Rust -------------------------------------------------------------------------------- /build/patch/2020-11-16-1/README.md: -------------------------------------------------------------------------------- 1 | Patch for USN-4466-1, USN-4512-1, USN-4504-1, USN-4491-1 for short window it existed for Ubuntu-based C++ images 2 | 3 | -------------------------------------------------------------------------------- /build/patch/2020-11-16-1/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "deleteUntaggedImages": true, 5 | "imageIds": [ 6 | "sha256:139ed95f220af6fef698cd73c9f1c500a2122bdebfb7b0bc40d25c0056b3b512", 7 | "sha256:2379aebcd72d4f991ce49b7158529e51081f0cd082a4eaba19d14411e9f51369" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /build/patch/2020-11-16-2/README.md: -------------------------------------------------------------------------------- 1 | Patch for USN-4466-1 for short window it existed for Ubuntu-based .NET images 2 | -------------------------------------------------------------------------------- /build/patch/2020-11-16-2/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "deleteUntaggedImages": true, 5 | "imageIds": [ 6 | "sha256:63b1386f476fa08a3c4e2cfe1a434889d1c63d49841cc634dbbe200803ece2ba", 7 | "sha256:502a70e0b2f374b5cfc7c970694a654e6b83eae7442b4b2672eed4731ccf881b" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /build/patch/2020-11-16-3/README.md: -------------------------------------------------------------------------------- 1 | Patch for DSA-4777-1, DSA-4776-1 for subset of rust images 2 | -------------------------------------------------------------------------------- /build/patch/2020-11-16-3/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "deleteUntaggedImages": true, 5 | "imageIds": [ 6 | "sha256:5802d9ef8e3fb507233cdebf7928243e9597efca3ca174623cf7716eeb925405", 7 | "sha256:f354e7d676fc9d56e9af83c82f2fd432e70ca94891a71a159f6450be1098dd5f", 8 | "sha256:a9744f13ae41e7810e2d2dc0d60a62937636b1c5d2aea00ef6b60316ff3d02e9", 9 | "sha256:17be16233fd53591237d2e8c4490b5787ab6eb0df05c74f1a78f2b4fcdcef31d", 10 | "sha256:ce8c46a9106880056dbad21f387d6531bca2e997ed67adb0b098265582d162af", 11 | "sha256:17be16233fd53591237d2e8c4490b5787ab6eb0df05c74f1a78f2b4fcdcef31d" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /build/patch/2020-11-16-4/README.md: -------------------------------------------------------------------------------- 1 | Patch for DLA-2369-1 for old universal images - latest unaffected. 2 | -------------------------------------------------------------------------------- /build/patch/2020-11-16-4/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "deleteUntaggedImages": true, 5 | "imageIds": [ 6 | "sha256:153ee106e49a108bef834078cb8e682cd82977d3095570c16bceed82f73d03a2", 7 | "sha256:037cfe2d3679e54c58225fc5587794d3f5c0f2988629b5adc08cfe9e9b94d012", 8 | "sha256:6138ab824b03440572179c2d1a892fe2478ed2798f65b6c4bbac8e7f7269c64a", 9 | "sha256:16e9ba129ed95a56f28ce69fd3176737cb2b80c14d9dddb92a6edbce780e8e44" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /build/patch/2020-12-17/README.md: -------------------------------------------------------------------------------- 1 | Patch for CVE-2020-13401, USN-4667-1, USN-4665-1, USN-4662-1, USN-4635-1, DLA 2481-1, USN-4634-1, DLA 2470-1, DSA 4792-1, DSA 4795-1, DLA 2445-1, DSA 4786-1, DSA 4777-1, DSA 4776-1. -------------------------------------------------------------------------------- /build/patch/2021-01-29/README.md: -------------------------------------------------------------------------------- 1 | Updates older image versions to resolve the following 2 | 3 | - moby-cli moby-engine http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13401 4 | -------------------------------------------------------------------------------- /build/patch/2021-01-29/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "deleteUntaggedImages": true, 5 | "imageIds": [ 6 | "sha256:54b2e566eecd0671b9b74a1f64708ce1291b90e9545977a8e08eeb64d588b1cc", 7 | "sha256:924b041a59f036045c0207275f56156cae3ccc1e74b5629d76c60342eb97ec11", 8 | "sha256:5d11c4071d57f9890f943c931018fbf9ec498b567caa0c087764fb1ac0afe05f", 9 | "sha256:8d2fd1839120c55aa6e69b0005bcc1769de646e6fb000155df0d6468931bbe10", 10 | "sha256:728299a9face6a7fe96a5fe3a797c814764772746b50bb7d0c2bc8b9601f5cd2" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /build/patch/2021-02-05-1/README.md: -------------------------------------------------------------------------------- 1 | Updates older image versions to resolve the following: 2 | 3 | - sudo CVE-2021-3156 https://nvd.nist.gov/vuln/detail/CVE-2021-3156 4 | - DLA 2534-1 https://lists.debian.org/debian-lts-announce/2021/01/msg00022.html 5 | - DSA 4839-1 https://lists.debian.org/debian-security-announce/2021/msg00020.html 6 | - linux-libc-dev USN-4679-1 https://lists.ubuntu.com/archives/ubuntu-security-announce/2021-January/005821.html 7 | - libp11-kit0 USN-4677-1 https://lists.ubuntu.com/archives/ubuntu-security-announce/2021-January/005819.html -------------------------------------------------------------------------------- /build/patch/2021-02-05-2/Dockerfile: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | ARG ORIGINAL_IMAGE=mcr.microsoft.com/vscode/devcontainers/base@sha256:0dd988931313673ac1f24900de5184b560c9bcc144ce57bdfdaf01110e9f5286 7 | FROM ${ORIGINAL_IMAGE} 8 | 9 | RUN apk update && apk upgrade --no-cache sudo 10 | -------------------------------------------------------------------------------- /build/patch/2021-02-05-2/README.md: -------------------------------------------------------------------------------- 1 | Updates older Alpine-based image versions to resolve the following: 2 | 3 | - sudo CVE-2021-3156 https://nvd.nist.gov/vuln/detail/CVE-2021-3156 4 | -------------------------------------------------------------------------------- /build/patch/2021-02-05-2/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "deleteUntaggedImages": true, 5 | "imageIds": [ 6 | "sha256:0d5337570b3478f2f2b1da793bd38c23e39e023aaab9f2a112e1b765bb5bc093", 7 | "sha256:0dd988931313673ac1f24900de5184b560c9bcc144ce57bdfdaf01110e9f5286", 8 | "sha256:d422d36b76bf653bbcabb43b9a81bfac7cc2d453e4879d8f191b2839951accf4", 9 | "sha256:a30ac278d31f0336ebf2a6c7638071bf1230105492daba2a4ba6bd5ebfe8519d", 10 | "sha256:7f62de18c4c9b366fc8451f9096eec2768104e3e36faaded744fa5a2ce92fbdf", 11 | "sha256:a440f947c858ca29f4b02eafae5853c77c24bd078cbf734817aa16a2f40fff62" 12 | ] 13 | } -------------------------------------------------------------------------------- /build/patch/2021-02-16/README.md: -------------------------------------------------------------------------------- 1 | Updates older image versions to resolve the following 2 | 3 | - Debian Security Update for libonig (DLA 2431-2) https://lists.debian.org/debian-lts-announce/2021/01/msg00025.html 4 | - Ubuntu Security Notification for Dnsmasq Vulnerabilities (USN-4698-1) https://lists.ubuntu.com/archives/ubuntu-security-announce/2021-January/005845.html 5 | - Ubuntu Security Notification for Tar Vulnerabilities (USN-4692-1) https://lists.ubuntu.com/archives/ubuntu-security-announce/2021-January/005839.html -------------------------------------------------------------------------------- /build/patch/sample/README.md: -------------------------------------------------------------------------------- 1 | Updates older image versions to resolve the following 2 | 3 | - moby-cli moby-engine http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13401 4 | -------------------------------------------------------------------------------- /build/patch/sample/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "dockerFile": "Dockerfile", 3 | "bumpVersion": false, 4 | "deleteUntaggedImages": true, 5 | "imageIds": [ 6 | "sha256:8ff701e2402fec0e7c727c8af6a80fe7f9f22464d6d6a785ee764e5080cadcbf", 7 | "sha256:71a9746704d054b0dce2ff14fed669442c1dfa8efc7c35b4e504ec73193f5610" 8 | ] 9 | } -------------------------------------------------------------------------------- /build/vscdc.cmd: -------------------------------------------------------------------------------- 1 | @node vscdc %@ -------------------------------------------------------------------------------- /container-templates/docker-compose/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts/README.md 5 | .devcontainer/library-scripts/meta.env 6 | definition-manifest.json 7 | .vscode 8 | .npmignore 9 | -------------------------------------------------------------------------------- /container-templates/docker-compose/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Remote - Containers does not auto-sync UID/GID for Docker Compose, 7 | # so make sure test project prvs match the non-root user in the container. 8 | fixTestProjectFolderPrivs 9 | 10 | # Run common tests 11 | checkCommon 12 | 13 | # Run definition specific tests 14 | 15 | # checkExtension "<Extension ID goes here>" 16 | # check "<label>" command goes here 17 | # checkOSPackages "<label>" package list goes here 18 | # checkMultiple "<label>" condition1 condition2 19 | 20 | # Report result 21 | reportResults 22 | -------------------------------------------------------------------------------- /container-templates/dockerfile/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts/README.md 5 | .devcontainer/library-scripts/meta.env 6 | definition-manifest.json 7 | .vscode 8 | .npmignore 9 | -------------------------------------------------------------------------------- /container-templates/dockerfile/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Run definition specific tests 10 | 11 | # checkExtension "<Extension ID goes here>" 12 | # check "<label>" command goes here 13 | # checkOSPackages "<label>" package list goes here 14 | # checkMultiple "<label>" condition1 condition2 15 | 16 | # Report result 17 | reportResults 18 | -------------------------------------------------------------------------------- /container-templates/image/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts/README.md 5 | definition-manifest.json 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /container-templates/image/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Run definition specific tests 10 | 11 | # checkExtension "<Extension ID goes here>" 12 | # check "<label>" command goes here 13 | # checkOSPackages "<label>" package list goes here 14 | # checkMultiple "<label>" condition1 condition2 15 | 16 | # Report result 17 | reportResults 18 | -------------------------------------------------------------------------------- /containers/.npmignore: -------------------------------------------------------------------------------- 1 | definition-manifest.json 2 | .npmignore 3 | README.md 4 | base.Dockerfile -------------------------------------------------------------------------------- /containers/alpine/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # [Choice] Alpine version: 3.16, 3.15, 3.14, 3.13 2 | ARG VARIANT=3.16 3 | FROM mcr.microsoft.com/vscode/devcontainers/base:0-alpine-${VARIANT} 4 | 5 | # ** [Optional] Uncomment this section to install additional packages. ** 6 | # RUN apk update \ 7 | # && apk add --no-cache <your-package-list-here> 8 | -------------------------------------------------------------------------------- /containers/alpine/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/alpine/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/alpine/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts 5 | definition-manifest.json 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/alpine/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `base:alpine` image from [devcontainers/images/src/base-alpine](https://github.com/devcontainers/images/tree/main/src/base-alpine).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/alpine/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": ["3.16", "3.15", "3.14", "3.13"], 3 | "definitionVersion": "0.204.6", 4 | "build": { 5 | "latest": false, 6 | "rootDistro": "alpine", 7 | "architectures": ["linux/amd64","linux/arm64"], 8 | "tags": [ 9 | "base:${VERSION}-alpine-${VARIANT}", 10 | "base:${VERSION}-alpine${VARIANT}" 11 | ], 12 | "variantTags": { 13 | "3.16": [ 14 | "base:${VERSION}-alpine" 15 | ] 16 | } 17 | }, 18 | "dependencies": { 19 | "image": "alpine:${VARIANT}", 20 | "imageLink": "https://hub.docker.com/_/alpine", 21 | "git": { 22 | "Oh My Zsh!": "/home/vscode/.oh-my-zsh" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /containers/alpine/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils-alpine.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Report result 10 | reportResults 11 | -------------------------------------------------------------------------------- /containers/azure-ansible/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. 6 | -------------------------------------------------------------------------------- /containers/azure-ansible/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/azure-bicep/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # [Choice] .NET Core version: 3.1, 2.1 2 | ARG VARIANT=3.1 3 | FROM mcr.microsoft.com/devcontainers/dotnet:0-${templateOption:imageVariant} 4 | 5 | COPY library-scripts/azcli-debian.sh /tmp/library-scripts/ 6 | RUN bash /tmp/library-scripts/azcli-debian.sh \ 7 | && curl -Lo /usr/local/bin/bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 \ 8 | && chmod +x /usr/local/bin/bicep \ 9 | && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts 10 | 11 | # [Optional] Uncomment this section to install additional OS packages. 12 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 13 | # && apt-get -y install --no-install-recommends <your-package-list-here> 14 | -------------------------------------------------------------------------------- /containers/azure-bicep/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/azure-bicep/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/azure-bicep/test-project/main.bicep: -------------------------------------------------------------------------------- 1 | resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' = { 2 | name: 'uniquestorage001' // must be globally unique 3 | location: 'eastus' 4 | kind: 'Storage' 5 | sku: { 6 | name: 'Standard_LRS' 7 | } 8 | } -------------------------------------------------------------------------------- /containers/azure-cli/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/azure-cli/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/azure-cli/test-project/scripting.azcli: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | az login 7 | az account list -o table 8 | az account set -s 'Try Out Subscription' 9 | 10 | az functionapp list -o table 11 | -------------------------------------------------------------------------------- /containers/azure-cli/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Run definition specific tests 10 | checkExtension "ms-vscode.azurecli" 11 | check "azure-cli" az --version 12 | 13 | # Report result 14 | reportResults 15 | -------------------------------------------------------------------------------- /containers/azure-functions-dotnet-6-inprocess/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | .vscode 4 | .npmignore 5 | -------------------------------------------------------------------------------- /containers/azure-functions-dotnet-6-isolated/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | .vscode 4 | .npmignore 5 | -------------------------------------------------------------------------------- /containers/azure-functions-dotnetcore-3.1/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | .vscode 4 | .npmignore 5 | -------------------------------------------------------------------------------- /containers/azure-functions-java-11/.devcontainer/maven-settings.xml: -------------------------------------------------------------------------------- 1 | <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 2 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 | xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 4 | https://maven.apache.org/xsd/settings-1.0.0.xsd"> 5 | <localRepository>/usr/share/maven/ref/repository</localRepository> 6 | </settings> -------------------------------------------------------------------------------- /containers/azure-functions-java-11/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/azure-functions-java-8/.devcontainer/maven-settings.xml: -------------------------------------------------------------------------------- 1 | <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 2 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 | xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 4 | https://maven.apache.org/xsd/settings-1.0.0.xsd"> 5 | <localRepository>/usr/share/maven/ref/repository</localRepository> 6 | </settings> -------------------------------------------------------------------------------- /containers/azure-functions-java-8/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/azure-functions-node/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/azure-functions-pwsh/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # Find the Dockerfile for mcr.microsoft.com/azure-functions/powershell:3.0-powershell${VARIANT}-core-tools at this URL 2 | # https://github.com/Azure/azure-functions-docker/blob/dev/host/3.0/buster/amd64/powershell 3 | 4 | # Update the VARIANT arg in devcontainer.json to pick a supported PowerShell version: 7, 6 5 | ARG VARIANT=${templateOption:imageVariant} 6 | FROM mcr.microsoft.com/azure-functions/powershell:3.0-powershell${VARIANT}-core-tools 7 | -------------------------------------------------------------------------------- /containers/azure-functions-pwsh/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | .vscode 4 | .npmignore 5 | -------------------------------------------------------------------------------- /containers/azure-functions-python-3/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # Find the Dockerfile at this URL 2 | # https://github.com/Azure/azure-functions-docker/blob/dev/host/4/bullseye/amd64/python/python39/python39-core-tools.Dockerfile 3 | FROM mcr.microsoft.com/azure-functions/python:4-python3.9-core-tools 4 | -------------------------------------------------------------------------------- /containers/azure-functions-python-3/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/azure-machine-learning-python-3/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/azure-static-web-apps/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/.vscode.sample/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Attach to Node Functions", 9 | "type": "node", 10 | "request": "attach", 11 | "port": 9229, 12 | "preLaunchTask": "func: host start", 13 | "cwd": "${fileDirname}" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/.vscode.sample/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "azureFunctions.deploySubpath": "./test-project/api", 3 | "azureFunctions.postDeployTask": "npm install", 4 | "azureFunctions.projectLanguage": "JavaScript", 5 | "azureFunctions.projectRuntime": "~3", 6 | "debug.internalConsoleOptions": "neverOpen", 7 | "azureFunctions.preDeployTask": "npm prune", 8 | "liveServer.settings.root": "/test-project", 9 | "liveServer.settings.proxy": { 10 | "enable": true, 11 | "baseUri": "/api", 12 | "proxyUri": "http://127.0.0.1:7071/api" 13 | } 14 | } -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/.vscode.sample/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "type": "func", 6 | "command": "host start", 7 | "problemMatcher": "$func-watch", 8 | "isBackground": true, 9 | "dependsOn": "npm install", 10 | "options": { 11 | "cwd": "${workspaceFolder}/test-project/api" 12 | } 13 | }, 14 | { 15 | "type": "shell", 16 | "label": "npm install", 17 | "command": "npm install" 18 | }, 19 | { 20 | "type": "shell", 21 | "label": "npm prune", 22 | "command": "npm prune --production", 23 | "problemMatcher": [] 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/api/.funcignore: -------------------------------------------------------------------------------- 1 | *.js.map 2 | *.ts 3 | .git* 4 | .vscode 5 | local.settings.json 6 | test 7 | tsconfig.json -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/api/GetMessage/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "authLevel": "anonymous", 5 | "type": "httpTrigger", 6 | "direction": "in", 7 | "name": "req", 8 | "methods": [ 9 | "get" 10 | ], 11 | "route": "message" 12 | }, 13 | { 14 | "type": "http", 15 | "direction": "out", 16 | "name": "res" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/api/GetMessage/index.js: -------------------------------------------------------------------------------- 1 | module.exports = async function (context, req) { 2 | context.res = { 3 | body: { 4 | text: "Hello from the API" 5 | } 6 | }; 7 | }; -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/api/GetMessage/sample.dat: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Azure" 3 | } -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/api/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "logging": { 4 | "applicationInsights": { 5 | "samplingSettings": { 6 | "isEnabled": true, 7 | "excludedTypes": "Request" 8 | } 9 | } 10 | }, 11 | "extensionBundle": { 12 | "id": "Microsoft.Azure.Functions.ExtensionBundle", 13 | "version": "[1.*, 2.0.0)" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/api/local.settings.json.sample: -------------------------------------------------------------------------------- 1 | { 2 | "IsEncrypted": false, 3 | "Values": { 4 | "AzureWebJobsStorage": "", 5 | "FUNCTIONS_WORKER_RUNTIME": "node" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "1.0.0", 4 | "description": "", 5 | "scripts": { 6 | "start": "func start", 7 | "test": "echo \"No tests yet...\"" 8 | }, 9 | "dependencies": {}, 10 | "devDependencies": {} 11 | } 12 | -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/api/proxies.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/proxies", 3 | "proxies": {} 4 | } 5 | -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/index.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html lang="en"> 3 | 4 | <head> 5 | <meta charset="UTF-8"> 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 | <link rel="stylesheet" href="styles.css"> 8 | <title>Vanilla JavaScript App</title> 9 | </head> 10 | 11 | <body> 12 | <main> 13 | <h1>Vanilla JavaScript App</h1> 14 | <p>Loading content from the API: <b id="name">...</b></p> 15 | </main> 16 | 17 | <script> 18 | (async function() { 19 | let { text } = await( await fetch(`/api/message`)).json(); 20 | document.querySelector('#name').textContent = text; 21 | }()) 22 | </script> 23 | </body> 24 | 25 | </html> -------------------------------------------------------------------------------- /containers/azure-static-web-apps/test-project/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | font-family: Arial, Helvetica, sans-serif; 3 | } 4 | 5 | html, body { 6 | margin: 0; 7 | border: 0; 8 | padding: 0; 9 | background-color: #fff; 10 | } 11 | 12 | main { 13 | margin: auto; 14 | width: 50%; 15 | padding: 20px; 16 | } 17 | 18 | main > h1 { 19 | text-align: center; 20 | font-size: 3.5em; 21 | } -------------------------------------------------------------------------------- /containers/azure-terraform/.devcontainer/devcontainer.env: -------------------------------------------------------------------------------- 1 | # the target azure subscription 2 | ARM_SUBSCRIPTION_ID= 3 | 4 | # the name of the resource group where the storage account for the backend should be created 5 | TF_BACKEND_RESOURCE_GROUP= 6 | 7 | # the region where the resource group for the backend should be created 8 | TF_BACKEND_LOCATION= 9 | 10 | # the name of the storage account for the backend 11 | TF_BACKEND_STORAGE_ACCOUNT= 12 | 13 | # the name of the storage account container for the backend 14 | TF_BACKEND_CONTAINER= 15 | 16 | # the name of the storage account container blob for the backend 17 | TF_BACKEND_KEY= 18 | 19 | # Test-Project variable: the resource group name to be provisioned with terraform 20 | # TF_VAR_RG_NAME= 21 | -------------------------------------------------------------------------------- /containers/azure-terraform/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. 6 | -------------------------------------------------------------------------------- /containers/azure-terraform/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/azure-terraform/test-project/assets/Terraform_tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/vscode-dev-containers/06b27a9a1d39dba6a7a8cca108cfb806c5c6e0d1/containers/azure-terraform/test-project/assets/Terraform_tasks.png -------------------------------------------------------------------------------- /containers/azure-terraform/test-project/create-backend.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "create resource group" 3 | az group create --name $TF_BACKEND_RESOURCE_GROUP --location $TF_BACKEND_LOCATION 4 | echo "create storage account" 5 | az storage account create --resource-group $TF_BACKEND_RESOURCE_GROUP --name $TF_BACKEND_STORAGE_ACCOUNT --sku Standard_LRS --encryption-services blob 6 | echo "create blob container for tf state files" 7 | az storage container create --name $TF_BACKEND_CONTAINER --account-name $TF_BACKEND_STORAGE_ACCOUNT --auth-mode login 8 | 9 | -------------------------------------------------------------------------------- /containers/azure-terraform/test-project/templates/main.tf: -------------------------------------------------------------------------------- 1 | provider "azurerm" { 2 | features {} 3 | } 4 | 5 | terraform { 6 | backend "azurerm" {} 7 | } 8 | 9 | resource "azurerm_resource_group" "rg" { 10 | name = var.rg_name 11 | location = "eastus" 12 | } 13 | -------------------------------------------------------------------------------- /containers/azure-terraform/test-project/templates/variables.tf: -------------------------------------------------------------------------------- 1 | variable "rg_name" { 2 | type = string 3 | description = "The resource group name" 4 | } 5 | -------------------------------------------------------------------------------- /containers/bash/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # [Choice] Debian / Ubuntu version (use Debian 11/9, Ubuntu 18.04/21.04 on local arm64/Apple Silicon): debian-11, debian-10, debian-9, ubuntu-21.04, ubuntu-20.04, ubuntu-18.04 2 | ARG VARIANT=${templateOption:imageVariant} 3 | FROM mcr.microsoft.com/devcontainers/base:${VARIANT} 4 | WORKDIR /src 5 | 6 | # [Optional] Uncomment this section to install additional OS packages you may want. 7 | # 8 | # RUN apk add --no-cache <your-package-list-here> 9 | -------------------------------------------------------------------------------- /containers/bash/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | WORKSPACE 7 | -------------------------------------------------------------------------------- /containers/bash/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "bashdb", 9 | "request": "launch", 10 | "name": "Bash-Debug (simplest configuration)", 11 | "program": "${file}" 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /containers/bazel/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/bazel/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | WORKSPACE 8 | -------------------------------------------------------------------------------- /containers/bazel/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "build", 8 | "command": "cd test-project && bazel build", 9 | "type": "shell", 10 | "group": "build", 11 | "presentation": { 12 | "reveal": "silent" 13 | }, 14 | "problemMatcher": "$msCompile" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /containers/bazel/WORKSPACE: -------------------------------------------------------------------------------- 1 | workspace(name = "hello_world") 2 | -------------------------------------------------------------------------------- /containers/bazel/test-project/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | cc_library( 3 | name = "hello-lib", 4 | srcs = ["hello-lib.cc"], 5 | hdrs = ["hello-lib.h"], 6 | ) 7 | cc_binary( 8 | name = "hello-world", 9 | srcs = ["hello-world.cc"], 10 | deps = [":hello-lib"], 11 | ) 12 | filegroup( 13 | name = "srcs", 14 | srcs = glob(["**"]), 15 | ) 16 | -------------------------------------------------------------------------------- /containers/bazel/test-project/hello-lib.cc: -------------------------------------------------------------------------------- 1 | #include "./hello-lib.h" 2 | 3 | #include <iostream> 4 | 5 | using std::cout; 6 | using std::endl; 7 | using std::string; 8 | 9 | namespace hello 10 | { 11 | 12 | HelloLib::HelloLib(const string &greeting) 13 | : greeting_(new string(greeting)) 14 | { 15 | } 16 | 17 | void HelloLib::greet(const string &thing) 18 | { 19 | cout << *greeting_ << " " << thing << endl; 20 | } 21 | 22 | } // namespace hello 23 | -------------------------------------------------------------------------------- /containers/bazel/test-project/hello-lib.h: -------------------------------------------------------------------------------- 1 | #ifndef EXAMPLES_CPP_HELLO_LIB_H_ 2 | #define EXAMPLES_CPP_HELLO_LIB_H_ 3 | 4 | #include <string> 5 | #include <memory> 6 | 7 | namespace hello 8 | { 9 | 10 | class HelloLib 11 | { 12 | public: 13 | explicit HelloLib(const std::string &greeting); 14 | 15 | void greet(const std::string &thing); 16 | 17 | private: 18 | std::unique_ptr<const std::string> greeting_; 19 | }; 20 | 21 | } // namespace hello 22 | 23 | #endif // EXAMPLES_CPP_HELLO_LIB_H_ 24 | -------------------------------------------------------------------------------- /containers/chef-workstation/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Chef Workstation (Community)", 3 | "image": "chef/chefworkstation:stable", 4 | 5 | // Configure tool-specific properties. 6 | "customizations": { 7 | // Configure properties specific to VS Code. 8 | "vscode": { 9 | // Add the IDs of extensions you want installed when the container is created. 10 | "extensions": [ 11 | "chef-software.chef" 12 | ] 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /containers/chef-workstation/.npmignore: -------------------------------------------------------------------------------- 1 | ../README.md 2 | ../test-project 3 | ../.vscode/launch.json 4 | ../.vscode/launch.test.json 5 | ../.vscode/settings.json 6 | ../.vscode/tasks.json 7 | -------------------------------------------------------------------------------- /containers/clojure/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .vscode 6 | .npmignore 7 | .calva 8 | .clj-kondo 9 | .cljs_node_repl 10 | .nrepl-port 11 | -------------------------------------------------------------------------------- /containers/clojure/test-project/project.clj: -------------------------------------------------------------------------------- 1 | (defproject sample-project "0.1" 2 | :source-paths ["src/clj" "src/cljs"] 3 | :dependencies [[org.clojure/clojure "1.10.3"] 4 | [org.clojure/clojurescript "1.10.758"]]) 5 | -------------------------------------------------------------------------------- /containers/clojure/test-project/src/clj/sample.clj: -------------------------------------------------------------------------------- 1 | (ns sample 2 | (:gen-class)) 3 | 4 | (defn main 5 | [& args] 6 | (println "Hello world")) 7 | 8 | (defn -main 9 | [& args] 10 | (apply main args)) 11 | -------------------------------------------------------------------------------- /containers/clojure/test-project/src/cljs/sample/main.cljs: -------------------------------------------------------------------------------- 1 | (ns sample.main) 2 | 3 | (println "Hello world") 4 | -------------------------------------------------------------------------------- /containers/codespaces-linux/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/vscode/devcontainers/universal:2-linux 2 | 3 | # ** [Optional] Uncomment this section to install additional packages. ** 4 | # USER root 5 | # 6 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 7 | # && apt-get -y install --no-install-recommends <your-package-list-here> 8 | # 9 | # USER codespace 10 | -------------------------------------------------------------------------------- /containers/codespaces-linux/.devcontainer/first-run-notice.txt: -------------------------------------------------------------------------------- 1 | 👋 Welcome to Codespaces! You are on our default image. 2 | - It includes runtimes and tools for Python, Node.js, Docker, and more. See the full list here: https://aka.ms/ghcs-default-image 3 | - Want to use a custom image instead? Learn more here: https://aka.ms/configure-codespace 4 | 5 | 🔍 To explore VS Code to its fullest, search using the Command Palette (Cmd/Ctrl + Shift + P or F1). 6 | 7 | 📝 Edit away, run your app as usual, and we'll automatically make it available for you to access. 8 | 9 | -------------------------------------------------------------------------------- /containers/codespaces-linux/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/codespaces-linux/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/codespaces-linux/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | .devcontainer/setup-user.sh 7 | .devcontainer/symlinkDotNetCore.sh 8 | .devcontainer/first-run-notice.txt 9 | .vscode 10 | .npmignore 11 | -------------------------------------------------------------------------------- /containers/codespaces-linux/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `universal` image from [devcontainers/images/src/universal](https://github.com/devcontainers/images/tree/main/src/universal).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/codespaces-linux/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | example.png 3 | jekyll-test 4 | -------------------------------------------------------------------------------- /containers/codespaces-linux/test-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "puppeteer": "^5.5.0" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /containers/codespaces-linux/test-project/puppeteer.js: -------------------------------------------------------------------------------- 1 | const puppeteer = require('puppeteer'); 2 | const fs = require('fs'); 3 | const { exit } = require('process'); 4 | 5 | (async () => { 6 | puppeteer.defaultArgs({ 7 | "args": ["--no-sandbox"] 8 | }) 9 | const browser = await puppeteer.launch(); 10 | const page = await browser.newPage(); 11 | await page.goto('https://example.com'); 12 | await page.screenshot({path: 'example.png'}); 13 | 14 | await browser.close(); 15 | 16 | if(fs.existsSync('example.png')) { 17 | console.log('example.png found') 18 | exit(0); 19 | } else { 20 | console.error('example.png not found!'); 21 | exit(1); 22 | } 23 | 24 | })(); -------------------------------------------------------------------------------- /containers/cpp-mariadb/.devcontainer/.env: -------------------------------------------------------------------------------- 1 | MARIADB_ROOT_PASSWORD=mariadb 2 | MARIADB_DATABASE=mariadb 3 | MARIADB_USER=mariadb 4 | MARIADB_PASSWORD=mariadb 5 | MARIADB_HOSTNAME=localhost -------------------------------------------------------------------------------- /containers/cpp-mariadb/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | 34 | # build dir 35 | build/ -------------------------------------------------------------------------------- /containers/cpp-mariadb/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | library-scripts 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/cpp-mariadb/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "Build Main", 8 | "type": "shell", 9 | "command": " cd test-project && g++ -g main.cpp -o main.out -lmariadbcpp", 10 | "group": { 11 | "kind": "build", 12 | "isDefault": true 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/cpp-mariadb/test-project/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.0) 2 | project(test-project VERSION 0.1.0) 3 | 4 | include(CTest) 5 | enable_testing() 6 | 7 | add_executable(test-project main.cpp) 8 | 9 | set(CPACK_PROJECT_NAME ${PROJECT_NAME}) 10 | set(CPACK_PROJECT_VERSION ${PROJECT_VERSION}) 11 | include(CPack) 12 | -------------------------------------------------------------------------------- /containers/cpp/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/cpp/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/cpp/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | library-scripts 6 | base-scripts 7 | .vscode 8 | .npmignore 9 | -------------------------------------------------------------------------------- /containers/cpp/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "iostream": "cpp" 4 | }, 5 | "cmake.sourceDirectory": "${workspaceRoot}/test-project" 6 | } -------------------------------------------------------------------------------- /containers/cpp/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "Build Main", 8 | "type": "shell", 9 | "command": " cd test-project && g++ -g main.cpp -o main.out", 10 | "group": { 11 | "kind": "build", 12 | "isDefault": true 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/cpp/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `cpp` image from [devcontainers/images/src/cpp](https://github.com/devcontainers/images/tree/main/src/cpp).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/cpp/test-project/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.0) 2 | project(test-project VERSION 0.1.0) 3 | 4 | include(CTest) 5 | enable_testing() 6 | 7 | add_executable(test-project main.cpp) 8 | 9 | set(CPACK_PROJECT_NAME ${PROJECT_NAME}) 10 | set(CPACK_PROJECT_VERSION ${PROJECT_VERSION}) 11 | include(CPack) 12 | -------------------------------------------------------------------------------- /containers/cpp/test-project/main.cpp: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | *-------------------------------------------------------------------------------------------------------------*/ 5 | 6 | #include <iostream> 7 | using namespace std; 8 | 9 | int main() 10 | { 11 | cout << "Hello, Remote World!" << "\n"; 12 | return 0; 13 | } -------------------------------------------------------------------------------- /containers/dapr-dotnet/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/dapr-dotnet/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": ".NET Core Launch (web)", 9 | "type": "coreclr", 10 | "request": "launch", 11 | "program": "dotnet", 12 | "args": ["run"], 13 | "cwd": "${workspaceFolder}/test-project", 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/dapr-dotnet/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "razor.disabled": true 3 | } 4 | -------------------------------------------------------------------------------- /containers/dapr-dotnet/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | components 3 | obj -------------------------------------------------------------------------------- /containers/dapr-dotnet/test-project/aspnetapp.csproj: -------------------------------------------------------------------------------- 1 | <Project Sdk="Microsoft.NET.Sdk.Web"> 2 | 3 | <PropertyGroup> 4 | <TargetFramework>netcoreapp3.1</TargetFramework> 5 | <UserSecretsId>31051026529000467138</UserSecretsId> 6 | </PropertyGroup> 7 | 8 | <ItemGroup> 9 | <PackageReference Include="Dapr.AspNetCore" Version="0.4.0-preview01" /> 10 | </ItemGroup> 11 | 12 | </Project> -------------------------------------------------------------------------------- /containers/dapr-dotnet/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Remote - Containers does not auto-sync UID/GID for Docker Compose, 7 | # so make sure test project prvs match the non-root user in the container. 8 | fixTestProjectFolderPrivs 9 | 10 | # Run common tests 11 | checkCommon 12 | 13 | # Definition specific tests 14 | checkExtension "ms-azuretools.vscode-dapr", 15 | checkExtension "ms-azuretools.vscode-docker", 16 | checkExtension "ms-dotnettools.csharp" 17 | dapr uninstall # May have already been run 18 | check "dapr" dapr init 19 | check "dotnet" dotnet --info 20 | check "nuget" dotnet restore 21 | check "msbuild" dotnet msbuild 22 | sudo rm -rf obj bin 23 | 24 | # Report result 25 | reportResults 26 | -------------------------------------------------------------------------------- /containers/dapr-javascript-node/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | .vscode 4 | .npmignore 5 | -------------------------------------------------------------------------------- /containers/dapr-javascript-node/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "node", 9 | "request": "launch", 10 | "name": "Launch Program", 11 | "runtimeExecutable": "npm", 12 | "runtimeArgs": ["run-script", "dapr-debug"], 13 | "port": 9229, 14 | "cwd": "${workspaceFolder}/test-project", 15 | "preLaunchTask": "compile" 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /containers/dapr-javascript-node/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.validate": [ 3 | "javascript", 4 | "typescript" 5 | ], 6 | "eslint.workingDirectories": [ 7 | { 8 | "directory": "./test-project", 9 | "changeProcessCWD": true 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /containers/dapr-javascript-node/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "compile", 8 | "type": "shell", 9 | "command": "cd test-project && npm run compile", 10 | "problemMatcher": "$tsc", 11 | "dependsOn": "npm: install - test-project" 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /containers/dapr-javascript-node/test-project/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "es6": true, 4 | "node": true 5 | }, 6 | "extends": [ 7 | "eslint:recommended", 8 | "plugin:@typescript-eslint/eslint-recommended" 9 | ], 10 | "globals": { 11 | "Atomics": "readonly", 12 | "SharedArrayBuffer": "readonly" 13 | }, 14 | "parser": "@typescript-eslint/parser", 15 | "parserOptions": { 16 | "ecmaVersion": 2018, 17 | "sourceType": "module" 18 | }, 19 | "plugins": [ 20 | "@typescript-eslint" 21 | ], 22 | "rules": { 23 | } 24 | } -------------------------------------------------------------------------------- /containers/dapr-javascript-node/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | package-lock.json 3 | yarn.lock -------------------------------------------------------------------------------- /containers/dapr-javascript-node/test-project/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "module": "commonjs", 5 | "strict": true, 6 | "outDir": "out", 7 | "sourceMap": true 8 | }, 9 | "exclude": [ 10 | "out", 11 | "node_modules" 12 | ] 13 | } -------------------------------------------------------------------------------- /containers/dapr-javascript-node/test-project/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultSeverity": "error", 3 | "extends": [ 4 | "tslint:recommended" 5 | ], 6 | "jsRules": {}, 7 | "rules": { 8 | "quotemark": false, 9 | "no-console": false, 10 | "indent": [ 11 | true, 12 | "spaces" 13 | ] 14 | }, 15 | "rulesDirectory": [] 16 | } -------------------------------------------------------------------------------- /containers/dart/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/dart/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | 8 | -------------------------------------------------------------------------------- /containers/dart/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Launch Server", 9 | "type": "dart", 10 | "request": "launch", 11 | "program": "bin/server.dart", 12 | "cwd": "test-project", 13 | "serverReadyAction": { 14 | "pattern": "Listening on localhost:([0-9]+)", 15 | "uriFormat": "http://localhost:%s", 16 | "action": "openExternally" 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /containers/dart/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | # Files and directories created by pub 2 | .dart_tool/ 3 | .packages 4 | # Remove the following pattern if you wish to check in your lock file 5 | pubspec.lock 6 | 7 | # Conventional directory for build outputs 8 | build/ 9 | 10 | # Directory created by dartdoc 11 | doc/api/ 12 | 13 | # Don't exclude bin/ folders for Dart projects 14 | ![Bb]in/ -------------------------------------------------------------------------------- /containers/dart/test-project/pubspec.yaml: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | name: testproject 7 | description: A test project 8 | 9 | environment: 10 | sdk: '>=2.1.0 <3.0.0' 11 | -------------------------------------------------------------------------------- /containers/debian/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # [Choice] Debian version (use bullseye on local arm64/Apple Silicon): bullseye, buster 2 | ARG VARIANT=bullseye 3 | FROM mcr.microsoft.com/vscode/devcontainers/base:${VARIANT} 4 | 5 | # ** [Optional] Uncomment this section to install additional packages. ** 6 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 7 | # && apt-get -y install --no-install-recommends <your-package-list-here> 8 | 9 | -------------------------------------------------------------------------------- /containers/debian/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/debian/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/debian/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts 5 | definition-manifest.json 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/debian/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `base:debian` image from [devcontainers/images/src/base-debian](https://github.com/devcontainers/images/tree/main/src/base-debian).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/debian/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Report result 10 | reportResults 11 | -------------------------------------------------------------------------------- /containers/deno/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # [Choice] Debian OS version: bullseye, buster 2 | ARG VARIANT=${templateOption:imageVariant} 3 | FROM --platform=linux/amd64 mcr.microsoft.com/devcontainers/base:0-${VARIANT} 4 | 5 | ENV DENO_INSTALL=/deno 6 | RUN mkdir -p /deno \ 7 | && curl -fsSL https://deno.land/x/install/install.sh | sh \ 8 | && chown -R vscode /deno 9 | 10 | ENV PATH=${DENO_INSTALL}/bin:${PATH} \ 11 | DENO_DIR=${DENO_INSTALL}/.cache/deno 12 | 13 | # [Optional] Uncomment this section to install additional OS packages. 14 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 15 | # && apt-get -y install --no-install-recommends <your-package-list-here> 16 | -------------------------------------------------------------------------------- /containers/deno/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | .npmignore -------------------------------------------------------------------------------- /containers/docker-existing-docker-compose/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/docker-existing-dockerfile/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/docker-from-docker-compose/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. 6 | -------------------------------------------------------------------------------- /containers/docker-from-docker-compose/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/docker-from-docker-compose/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Remote - Containers does not auto-sync UID/GID for Docker Compose, 7 | # so make sure test project prvs match the non-root user in the container. 8 | fixTestProjectFolderPrivs 9 | 10 | # Run common tests 11 | checkCommon 12 | 13 | # Definition specific tests 14 | checkExtension "ms-azuretools.vscode-docker" 15 | check "docker" docker ps -a 16 | check "docker-compose" docker-compose --version 17 | 18 | # Report result 19 | reportResults 20 | -------------------------------------------------------------------------------- /containers/docker-from-docker/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. 6 | -------------------------------------------------------------------------------- /containers/docker-from-docker/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/docker-from-docker/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "ms-azuretools.vscode-docker" 11 | check "docker" docker ps -a 12 | check "docker-compose" docker-compose --version 13 | 14 | # Report result 15 | reportResults 16 | -------------------------------------------------------------------------------- /containers/docker-in-docker/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. 6 | -------------------------------------------------------------------------------- /containers/docker-in-docker/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/docker-in-docker/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "ms-azuretools.vscode-docker" 11 | check "docker" docker ps -a 12 | check "docker-compose" docker-compose --version 13 | 14 | # Report result 15 | reportResults 16 | -------------------------------------------------------------------------------- /containers/dotnet-fsharp/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | .ionide 8 | -------------------------------------------------------------------------------- /containers/dotnet-fsharp/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "razor.disabled": true 3 | } -------------------------------------------------------------------------------- /containers/dotnet-fsharp/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "build", 8 | "command": "cd test-project && dotnet build", 9 | "type": "shell", 10 | "group": "build", 11 | "presentation": { 12 | "reveal": "silent" 13 | }, 14 | "problemMatcher": "$msCompile" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /containers/dotnet-fsharp/test-project/Program.fs: -------------------------------------------------------------------------------- 1 | //---------------------------------------------------------------------------------------- 2 | // Copyright (c) Microsoft Corporation. All rights reserved. 3 | // Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | // ---------------------------------------------------------------------------------------- 5 | 6 | [<EntryPoint>] 7 | let main argv = 8 | let from = "F# Container" 9 | let target = "Remote World" 10 | printfn quot;Hello {target} from the {from}!" 11 | 0 // return an integer exit code 12 | -------------------------------------------------------------------------------- /containers/dotnet-fsharp/test-project/app.fsproj: -------------------------------------------------------------------------------- 1 | <Project Sdk="Microsoft.NET.Sdk"> 2 | <PropertyGroup> 3 | <OutputType>Exe</OutputType> 4 | <TargetFramework>net5.0</TargetFramework> 5 | </PropertyGroup> 6 | <ItemGroup> 7 | <Compile Include="Program.fs" /> 8 | </ItemGroup> 9 | </Project> -------------------------------------------------------------------------------- /containers/dotnet-fsharp/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "ms-dotnettools.csharp" 11 | checkExtension "ionide.ionide-fsharp" 12 | check "dotnet" dotnet --info 13 | check "nuget" dotnet restore 14 | check "msbuild" dotnet msbuild 15 | sudo rm -rf obj bin 16 | check "nvm" bash -c ". /usr/local/share/nvm/nvm.sh && nvm install 10" 17 | check "nvm-node" bash -c ". /usr/local/share/nvm/nvm.sh && node --version" 18 | check "yarn" bash -c ". /usr/local/share/nvm/nvm.sh && yarn --version" 19 | 20 | # Report result 21 | reportResults -------------------------------------------------------------------------------- /containers/dotnet-mssql/.devcontainer/mssql/setup.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE ApplicationDB; 2 | GO -------------------------------------------------------------------------------- /containers/dotnet-mssql/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | .devcontainer/library-scripts/README.md 4 | .devcontainer/mssql/setup.sql 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/dotnet-mssql/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": ".NET Core Launch (web)", 9 | "type": "coreclr", 10 | "request": "launch", 11 | "program": "dotnet", 12 | "args": ["run"], 13 | "cwd": "${workspaceFolder}/test-project", 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/dotnet-mssql/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "razor.disabled": true 3 | } 4 | -------------------------------------------------------------------------------- /containers/dotnet-mssql/test-project/aspnetapp.csproj: -------------------------------------------------------------------------------- 1 | <Project Sdk="Microsoft.NET.Sdk.Web"> 2 | <PropertyGroup> 3 | <TargetFramework>netcoreapp5.0</TargetFramework> 4 | <UserSecretsId>31051026529000467138</UserSecretsId> 5 | </PropertyGroup> 6 | <ItemGroup> 7 | <PackageReference Include="Microsoft.Data.SqlClient" Version="3.0.0" /> 8 | </ItemGroup> 9 | </Project> -------------------------------------------------------------------------------- /containers/dotnet-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts/README.md 6 | .vscode 7 | .npmignore -------------------------------------------------------------------------------- /containers/dotnet-postgres/test-project/aspnetapp.csproj: -------------------------------------------------------------------------------- 1 | <Project Sdk="Microsoft.NET.Sdk.Web"> 2 | <PropertyGroup> 3 | <TargetFramework>net6.0</TargetFramework> 4 | </PropertyGroup> 5 | <ItemGroup> 6 | <PackageReference Include="Npgsql" Version="6.0.2" /> 7 | </ItemGroup> 8 | </Project> -------------------------------------------------------------------------------- /containers/dotnet/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/dotnet/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/dotnet/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts/README.md 6 | .devcontainer/library-scripts/common-debian.sh 7 | .devcontainer/library-scripts/node-debian.sh 8 | .devcontainer/library-scripts/meta.env 9 | .vscode 10 | .npmignore 11 | -------------------------------------------------------------------------------- /containers/dotnet/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": ".NET Core Launch (web)", 9 | "type": "coreclr", 10 | "request": "launch", 11 | "program": "dotnet", 12 | "args": ["run"], 13 | "cwd": "${workspaceFolder}/test-project", 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/dotnet/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "razor.disabled": true 3 | } 4 | -------------------------------------------------------------------------------- /containers/dotnet/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `dotnet` image from [devcontainers/images/src/dotnet](https://github.com/devcontainers/images/tree/main/src/dotnet).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/dotnet/test-project/aspnetapp.csproj: -------------------------------------------------------------------------------- 1 | <Project Sdk="Microsoft.NET.Sdk.Web"> 2 | 3 | <PropertyGroup> 4 | <TargetFramework>netcoreapp5.0</TargetFramework> 5 | <UserSecretsId>31051026529000467138</UserSecretsId> 6 | </PropertyGroup> 7 | 8 | </Project> -------------------------------------------------------------------------------- /containers/dotnet/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "ms-dotnettools.csharp" 11 | check "dotnet" dotnet --info 12 | check "nuget" dotnet restore 13 | check "msbuild" dotnet msbuild 14 | sudo rm -rf obj bin 15 | check "nvm" bash -c ". /usr/local/share/nvm/nvm.sh && nvm install 10" 16 | check "nvm-node" bash -c ". /usr/local/share/nvm/nvm.sh && node --version" 17 | check "yarn" bash -c ". /usr/local/share/nvm/nvm.sh && yarn --version" 18 | 19 | # Report result 20 | reportResults -------------------------------------------------------------------------------- /containers/elixir-phoenix-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/elixir-phoenix-postgres/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | example/ -------------------------------------------------------------------------------- /containers/elixir-phoenix-postgres/test-project/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "lockfileVersion": 1 3 | } 4 | -------------------------------------------------------------------------------- /containers/elixir/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/elixir/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | example/ -------------------------------------------------------------------------------- /containers/elixir/test-project/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "lockfileVersion": 1 3 | } 4 | -------------------------------------------------------------------------------- /containers/elixir/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Remote - Containers does not auto-sync UID/GID for Docker Compose, 7 | # so make sure test project prvs match the non-root user in the container. 8 | fixTestProjectFolderPrivs 9 | 10 | # Run common tests 11 | checkCommon 12 | 13 | # Actual tests 14 | checkExtension "jakebecker.elixir-ls" 15 | check "elixir" iex --version 16 | check "build test project" echo yes | mix new example 17 | check "download deps" cd ./example && mix deps.get && mix deps.compile 18 | rm -rf example 19 | 20 | # Report result 21 | reportResults 22 | -------------------------------------------------------------------------------- /containers/elm/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/elm/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | elm-stuff 2 | elm.js -------------------------------------------------------------------------------- /containers/go-postgres/.devcontainer/.env: -------------------------------------------------------------------------------- 1 | POSTGRES_USER=postgres 2 | POSTGRES_PASSWORD=postgres 3 | POSTGRES_DB=postgres 4 | POSTGRES_HOSTNAME=localhost 5 | -------------------------------------------------------------------------------- /containers/go-postgres/.gitignore: -------------------------------------------------------------------------------- 1 | # If you prefer the allow list template instead of the deny list, see community template: 2 | # https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore 3 | # 4 | # Binaries for programs and plugins 5 | *.exe 6 | *.exe~ 7 | *.dll 8 | *.so 9 | *.dylib 10 | 11 | # Test binary, built with `go test -c` 12 | *.test 13 | 14 | # Output of the go coverage tool, specifically when used with LiteIDE 15 | *.out 16 | 17 | # Dependency directories (remove the comment below to include it) 18 | # vendor/ 19 | 20 | # Go workspace file 21 | go.work 22 | -------------------------------------------------------------------------------- /containers/go-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/go-postgres/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "Launch", 6 | "type": "go", 7 | "request": "launch", 8 | "mode": "debug", 9 | "program": "${workspaceFolder}/test-project/hello.go" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /containers/go-postgres/test-project/go.mod: -------------------------------------------------------------------------------- 1 | module test-project 2 | 3 | go 1.17 4 | 5 | require github.com/lib/pq v1.10.4 6 | -------------------------------------------------------------------------------- /containers/go-postgres/test-project/go.sum: -------------------------------------------------------------------------------- 1 | github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= 2 | github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= 3 | -------------------------------------------------------------------------------- /containers/go-postgres/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Run definition specific tests 10 | checkExtension "golang.Go" 11 | 12 | check "lib pq check" go list github.com/lib/pq 13 | check "go test program" go run hello.go 14 | 15 | ## Report result 16 | reportResults 17 | -------------------------------------------------------------------------------- /containers/go/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/go/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/go/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/go/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "Launch", 6 | "type": "go", 7 | "request": "launch", 8 | "mode": "debug", 9 | "program": "${workspaceFolder}/test-project/hello.go" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /containers/go/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `go` image from [devcontainers/images/src/go](https://github.com/devcontainers/images/tree/main/src/go).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/go/test-project/hello.go: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | *-------------------------------------------------------------------------------------------------------------*/ 5 | 6 | package main 7 | 8 | import "fmt" 9 | 10 | func main() { 11 | fmt.Println("Hello remote world!") 12 | } 13 | -------------------------------------------------------------------------------- /containers/hugo/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | WORKSPACE 7 | -------------------------------------------------------------------------------- /containers/java-8/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/java-8/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/java-8/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/java-8/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "type": "java", 5 | "name": "Launch App", 6 | "request": "launch", 7 | "cwd": "${workspaceFolder}/test-project", 8 | "console": "internalConsole", 9 | "stopOnEntry": false, 10 | "mainClass": "com.mycompany.app.App", 11 | "args": "", 12 | "projectName": "my-app" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /containers/java-8/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `java:8` image from [devcontainers/images/src/java-8](https://github.com/devcontainers/images/tree/main/src/java-8).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/java-8/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | target -------------------------------------------------------------------------------- /containers/java-8/test-project/.project: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <projectDescription> 3 | <name>my-app</name> 4 | <comment></comment> 5 | <projects> 6 | </projects> 7 | <buildSpec> 8 | <buildCommand> 9 | <name>org.eclipse.jdt.core.javabuilder</name> 10 | <arguments> 11 | </arguments> 12 | </buildCommand> 13 | <buildCommand> 14 | <name>org.eclipse.m2e.core.maven2Builder</name> 15 | <arguments> 16 | </arguments> 17 | </buildCommand> 18 | </buildSpec> 19 | <natures> 20 | <nature>org.eclipse.jdt.core.javanature</nature> 21 | <nature>org.eclipse.m2e.core.maven2Nature</nature> 22 | </natures> 23 | </projectDescription> 24 | -------------------------------------------------------------------------------- /containers/java-8/test-project/.settings/org.eclipse.jdt.apt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.apt.aptEnabled=false 3 | -------------------------------------------------------------------------------- /containers/java-8/test-project/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 3 | org.eclipse.jdt.core.compiler.compliance=1.8 4 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 5 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 6 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore 7 | org.eclipse.jdt.core.compiler.processAnnotations=disabled 8 | org.eclipse.jdt.core.compiler.release=disabled 9 | org.eclipse.jdt.core.compiler.source=1.8 10 | -------------------------------------------------------------------------------- /containers/java-8/test-project/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /containers/java-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/java-postgres/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "type": "java", 5 | "name": "Launch App", 6 | "request": "launch", 7 | "cwd": "${workspaceFolder}/test-project", 8 | "console": "internalConsole", 9 | "stopOnEntry": false, 10 | "mainClass": "mymodule/com.mycompany.app.App", 11 | "args": "", 12 | "projectName": "my-app" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /containers/java-postgres/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | 3 | # Compiled class file 4 | *.class 5 | 6 | # Log file 7 | *.log 8 | 9 | # BlueJ files 10 | *.ctxt 11 | 12 | # Mobile Tools for Java (J2ME) 13 | .mtj.tmp/ 14 | 15 | # Package Files # 16 | *.jar 17 | *.war 18 | *.nar 19 | *.ear 20 | *.zip 21 | *.tar.gz 22 | *.rar 23 | 24 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 25 | hs_err_pid* 26 | replay_pid* 27 | -------------------------------------------------------------------------------- /containers/java-postgres/test-project/.project: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <projectDescription> 3 | <name>my-app</name> 4 | <comment></comment> 5 | <projects> 6 | </projects> 7 | <buildSpec> 8 | <buildCommand> 9 | <name>org.eclipse.jdt.core.javabuilder</name> 10 | <arguments> 11 | </arguments> 12 | </buildCommand> 13 | <buildCommand> 14 | <name>org.eclipse.m2e.core.maven2Builder</name> 15 | <arguments> 16 | </arguments> 17 | </buildCommand> 18 | </buildSpec> 19 | <natures> 20 | <nature>org.eclipse.jdt.core.javanature</nature> 21 | <nature>org.eclipse.m2e.core.maven2Nature</nature> 22 | </natures> 23 | </projectDescription> 24 | -------------------------------------------------------------------------------- /containers/java-postgres/test-project/.settings/org.eclipse.jdt.apt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.apt.aptEnabled=false 3 | -------------------------------------------------------------------------------- /containers/java-postgres/test-project/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 3 | org.eclipse.jdt.core.compiler.compliance=11 4 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 5 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 6 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore 7 | org.eclipse.jdt.core.compiler.processAnnotations=disabled 8 | org.eclipse.jdt.core.compiler.release=disabled 9 | org.eclipse.jdt.core.compiler.source=11 10 | -------------------------------------------------------------------------------- /containers/java-postgres/test-project/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /containers/java-postgres/test-project/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | *-------------------------------------------------------------------------------------------------------------*/ 5 | 6 | module mymodule { 7 | requires java.base; 8 | requires java.xml; 9 | requires java.sql; 10 | } -------------------------------------------------------------------------------- /containers/java/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/java/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/java/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/java/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "type": "java", 5 | "name": "Launch App", 6 | "request": "launch", 7 | "cwd": "${workspaceFolder}/test-project", 8 | "console": "internalConsole", 9 | "stopOnEntry": false, 10 | "mainClass": "mymodule/com.mycompany.app.App", 11 | "args": "", 12 | "projectName": "my-app" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /containers/java/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `java` image from [devcontainers/images/src/java](https://github.com/devcontainers/images/tree/main/src/java).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/java/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | target -------------------------------------------------------------------------------- /containers/java/test-project/.project: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <projectDescription> 3 | <name>my-app</name> 4 | <comment></comment> 5 | <projects> 6 | </projects> 7 | <buildSpec> 8 | <buildCommand> 9 | <name>org.eclipse.jdt.core.javabuilder</name> 10 | <arguments> 11 | </arguments> 12 | </buildCommand> 13 | <buildCommand> 14 | <name>org.eclipse.m2e.core.maven2Builder</name> 15 | <arguments> 16 | </arguments> 17 | </buildCommand> 18 | </buildSpec> 19 | <natures> 20 | <nature>org.eclipse.jdt.core.javanature</nature> 21 | <nature>org.eclipse.m2e.core.maven2Nature</nature> 22 | </natures> 23 | </projectDescription> 24 | -------------------------------------------------------------------------------- /containers/java/test-project/.settings/org.eclipse.jdt.apt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.apt.aptEnabled=false 3 | -------------------------------------------------------------------------------- /containers/java/test-project/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 3 | org.eclipse.jdt.core.compiler.compliance=11 4 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 5 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 6 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore 7 | org.eclipse.jdt.core.compiler.processAnnotations=disabled 8 | org.eclipse.jdt.core.compiler.release=disabled 9 | org.eclipse.jdt.core.compiler.source=11 10 | -------------------------------------------------------------------------------- /containers/java/test-project/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /containers/java/test-project/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | *-------------------------------------------------------------------------------------------------------------*/ 5 | 6 | module mymodule { 7 | requires java.base; 8 | requires java.xml; 9 | } -------------------------------------------------------------------------------- /containers/javascript-node-azurite/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/javascript-node-azurite/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "node", 9 | "request": "launch", 10 | "name": "Launch Test", 11 | "program": "${workspaceFolder}/test-project/japaFile.js", 12 | "cwd": "${workspaceFolder}/test-project", 13 | "preLaunchTask": "npm: install - test-project" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/javascript-node-azurite/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.workingDirectories": [ 3 | { 4 | "directory": "./test-project", 5 | "changeProcessCWD": true 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /containers/javascript-node-azurite/test-project/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "env": { 4 | "node":true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "eqeqeq":"warn", 9 | "no-cond-assign": 0, 10 | "no-unused-vars": 1, 11 | "no-extra-semi": "warn", 12 | "semi": "warn" 13 | }, 14 | "extends": "eslint:recommended", 15 | "parserOptions": { 16 | "ecmaVersion": 2017, 17 | "ecmaFeatures": { 18 | "experimentalObjectRestSpread": true 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /containers/javascript-node-azurite/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | package-lock.json 3 | yarn.lock -------------------------------------------------------------------------------- /containers/javascript-node-azurite/test-project/japaFile.js: -------------------------------------------------------------------------------- 1 | const { configure } = require('japa'); 2 | configure({ 3 | files: ['test/*.spec.js'] 4 | }); 5 | -------------------------------------------------------------------------------- /containers/javascript-node-azurite/test-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docker_web_app", 3 | "version": "1.0.0", 4 | "description": "Node.js + Azurite", 5 | "author": "First Last <first.last@example.com>", 6 | "main": "server.js", 7 | "scripts": { 8 | "test": "node japaFile.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.16.1", 12 | "@azure/storage-queue": "^12.3.1", 13 | "@azure/storage-blob": "^12.0.2" 14 | }, 15 | "devDependencies": { 16 | "japa": "^3.1.1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /containers/javascript-node-mongo/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/javascript-node-mongo/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "node", 9 | "request": "launch", 10 | "name": "Launch Server", 11 | "program": "${workspaceFolder}/test-project/server.js", 12 | "cwd": "${workspaceFolder}/test-project", 13 | "preLaunchTask": "npm: install - test-project" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/javascript-node-mongo/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.workingDirectories": [ 3 | { 4 | "directory": "./test-project", 5 | "changeProcessCWD": true 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /containers/javascript-node-mongo/test-project/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "env": { 4 | "node":true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "eqeqeq":"warn", 9 | "no-cond-assign": 0, 10 | "no-unused-vars": 1, 11 | "no-extra-semi": "warn", 12 | "semi": "warn" 13 | }, 14 | "extends": "eslint:recommended", 15 | "parserOptions": { 16 | "ecmaVersion": 2017, 17 | "ecmaFeatures": { 18 | "experimentalObjectRestSpread": true 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /containers/javascript-node-mongo/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | yarn.lock -------------------------------------------------------------------------------- /containers/javascript-node-mongo/test-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docker_web_app", 3 | "version": "1.0.0", 4 | "description": "Node.js + MongoDB", 5 | "author": "First Last <first.last@example.com>", 6 | "main": "server.js", 7 | "scripts": { 8 | "start": "node server.js", 9 | "test": " REGRESSION_TESTING=true npm start" 10 | }, 11 | "dependencies": { 12 | "express": "^4.16.1", 13 | "mongodb": "^3.2.1" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /containers/javascript-node-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/javascript-node-postgres/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "node", 9 | "request": "launch", 10 | "name": "Launch Server", 11 | "program": "${workspaceFolder}/test-project/server.js", 12 | "cwd": "${workspaceFolder}/test-project", 13 | "preLaunchTask": "npm: install - test-project" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/javascript-node-postgres/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.workingDirectories": [ 3 | { 4 | "directory": "./test-project", 5 | "changeProcessCWD": true 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /containers/javascript-node-postgres/test-project/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "env": { 4 | "node":true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "eqeqeq":"warn", 9 | "no-cond-assign": 0, 10 | "no-unused-vars": 1, 11 | "no-extra-semi": "warn", 12 | "semi": "warn" 13 | }, 14 | "extends": "eslint:recommended", 15 | "parserOptions": { 16 | "ecmaVersion": 2017, 17 | "ecmaFeatures": { 18 | "experimentalObjectRestSpread": true 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /containers/javascript-node-postgres/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | yarn.lock -------------------------------------------------------------------------------- /containers/javascript-node-postgres/test-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docker_web_app", 3 | "version": "1.0.0", 4 | "description": "Node.js + Postgres", 5 | "author": "First Last <first.last@example.com>", 6 | "main": "server.js", 7 | "scripts": { 8 | "start": "node server.js", 9 | "test": " REGRESSION_TESTING=true npm start" 10 | }, 11 | "dependencies": { 12 | "express": "^4.16.1", 13 | "bluebird": "^3.5.5", 14 | "pg-promise": "^10.9.1" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /containers/javascript-node/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/javascript-node/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/javascript-node/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts 5 | definition-manifest.json 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/javascript-node/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "node", 9 | "request": "launch", 10 | "name": "Launch Program", 11 | "program": "${workspaceFolder}/test-project/server.js", 12 | "cwd": "${workspaceFolder}/test-project", 13 | "preLaunchTask": "npm: install - test-project" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/javascript-node/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.workingDirectories": [ 3 | { 4 | "directory": "./test-project", 5 | "changeProcessCWD": true 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /containers/javascript-node/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `javascript-node` image from [devcontainers/images/src/javascript-node](https://github.com/devcontainers/images/tree/main/src/javascript-node).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/javascript-node/test-project/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "env": { 4 | "node": true, 5 | "es6": true 6 | }, 7 | "rules": { 8 | "no-console": 0, 9 | "eqeqeq":"warn", 10 | "no-cond-assign": 0, 11 | "no-unused-vars": 1, 12 | "no-extra-semi": "warn", 13 | "semi": "warn" 14 | }, 15 | "extends": "eslint:recommended", 16 | "parserOptions": { 17 | "ecmaFeatures": { 18 | "experimentalObjectRestSpread": true 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /containers/javascript-node/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | yarn.lock -------------------------------------------------------------------------------- /containers/javascript-node/test-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docker_web_app", 3 | "version": "1.0.0", 4 | "description": "Node.js on Docker", 5 | "author": "First Last <first.last@example.com>", 6 | "main": "server.js", 7 | "scripts": { 8 | "start": "node server.js", 9 | "test": " REGRESSION_TESTING=true npm start" 10 | }, 11 | "dependencies": { 12 | "express": "^4.16.1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /containers/javascript-node/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh node 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "dbaeumer.vscode-eslint" 11 | check "node" node --version 12 | sudo rm -f yarn.lock 13 | check "yarn" yarn install 14 | sudo rm -f package-lock.json 15 | check "npm" npm install 16 | check "eslint" eslint server.js 17 | check "test-project" npm run test 18 | npm config delete prefix 19 | check "nvm" bash -c ". /usr/local/share/nvm/nvm.sh && nvm install 8" 20 | check "nvm-node" bash -c ". /usr/local/share/nvm/nvm.sh && node --version" 21 | sudo rm -rf node_modules 22 | 23 | # Report result 24 | reportResults 25 | -------------------------------------------------------------------------------- /containers/jekyll/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/jekyll/.devcontainer/post-create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Install the version of Bundler. 4 | if [ -f Gemfile.lock ] && grep "BUNDLED WITH" Gemfile.lock > /dev/null; then 5 | cat Gemfile.lock | tail -n 2 | grep -C2 "BUNDLED WITH" | tail -n 1 | xargs gem install bundler -v 6 | fi 7 | 8 | # If there's a Gemfile, then run `bundle install` 9 | # It's assumed that the Gemfile will install Jekyll too 10 | if [ -f Gemfile ]; then 11 | bundle install 12 | fi 13 | -------------------------------------------------------------------------------- /containers/jekyll/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts 5 | .npmignore 6 | 7 | -------------------------------------------------------------------------------- /containers/jekyll/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `jekyll` image from [devcontainers/images/src/jekyll](https://github.com/devcontainers/images/tree/main/src/jekyll).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/julia/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | // See https://github.com/julia-vscode/julia-devcontainer/blob/master/Dockerfile for image contents 2 | { 3 | "name": "Julia (Community)", 4 | "image": "ghcr.io/julia-vscode/julia-devcontainer", 5 | 6 | // Configure tool-specific properties. 7 | "customizations": { 8 | // Configure properties specific to VS Code. 9 | "vscode": { 10 | // Add the IDs of extensions you want installed when the container is created. 11 | "extensions": [ 12 | "julialang.language-julia" 13 | ] 14 | } 15 | }, 16 | 17 | "postCreateCommand": "/julia-devcontainer-scripts/postcreate.jl", 18 | 19 | "remoteUser": "vscode" 20 | } 21 | -------------------------------------------------------------------------------- /containers/julia/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | .vscode 4 | .npmignore 5 | -------------------------------------------------------------------------------- /containers/julia/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils-no-lc.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "julialang.language-julia" 11 | check "julia" julia --version 12 | 13 | # Report result 14 | reportResults 15 | -------------------------------------------------------------------------------- /containers/jupyter-datascience-notebooks/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | .npmignore -------------------------------------------------------------------------------- /containers/kubernetes-helm-minikube/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. 6 | -------------------------------------------------------------------------------- /containers/kubernetes-helm-minikube/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/kubernetes-helm-minikube/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Actual tests 10 | checkExtension "ms-azuretools.vscode-docker" 11 | checkExtension "ms-kubernetes-tools.vscode-kubernetes-tools" 12 | check "docker" docker ps -a 13 | check "kubectl" kubectl version --client 14 | check "helm" helm version --client 15 | check "minikube start" minikube start 16 | check "minikube remove" minikube delete 17 | docker image prune -a -f 18 | 19 | # Report result 20 | reportResults 21 | 22 | -------------------------------------------------------------------------------- /containers/kubernetes-helm/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. 6 | -------------------------------------------------------------------------------- /containers/kubernetes-helm/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/kubernetes-helm/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Execute .bashrc with the SYNC_LOCALHOST_KUBECONFIG set 10 | export SYNC_LOCALHOST_KUBECONFIG=true 11 | exec bash 12 | 13 | # Actual tests 14 | checkExtension "ms-azuretools.vscode-docker" 15 | checkExtension "ms-kubernetes-tools.vscode-kubernetes-tools" 16 | check "docker-socket" ls -l /var/run/docker.sock 17 | check "docker" docker ps -a 18 | check "kube-config-mount" ls -l /usr/local/share/kube-localhost 19 | check "kube-config" ls -l "$HOME/.kube" 20 | check "kubectl" kubectl version --client 21 | check "helm" helm version --client 22 | 23 | # Report result 24 | reportResults 25 | 26 | -------------------------------------------------------------------------------- /containers/markdown/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/vscode/devcontainers/base:0-bullseye 2 | 3 | # [Optional] Uncomment this section to install additional packages. 4 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 5 | # && apt-get -y install --no-install-recommends <your-package-list-here> 6 | 7 | -------------------------------------------------------------------------------- /containers/markdown/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/markdown/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Actual tests 10 | checkExtension "yzhang.markdown-all-in-one" 11 | checkExtension "streetsidesoftware.code-spell-checker" 12 | checkExtension "davidanson.vscode-markdownlint" 13 | checkExtension "shd101wyy.markdown-preview-enhanced" 14 | 15 | # Report result 16 | reportResults 17 | -------------------------------------------------------------------------------- /containers/mit-scheme/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/mit-scheme/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | .devcontainer/library-scripts/README.md 3 | .npmignore 4 | -------------------------------------------------------------------------------- /containers/perl/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/perl/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/perl/test-project/sample.pl: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/perl 2 | use warnings; 3 | print("Hello, Remote World!\n"); -------------------------------------------------------------------------------- /containers/php-mariadb/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/php-mariadb/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /containers/php/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/php/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/php/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/php/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Launch application", 9 | "type": "php", 10 | "request": "launch", 11 | "program": "${workspaceFolder}/test-project/main.php", 12 | "cwd": "${workspaceFolder}/test-project", 13 | "port": 9000 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/php/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `php` image from [devcontainers/images/src/php](https://github.com/devcontainers/images/tree/main/src/php).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/php/test-project/main.php: -------------------------------------------------------------------------------- 1 | <?php 2 | /*------------------------------------------------------------------------------------------------------------- 3 | * Copyright (c) Microsoft Corporation. All rights reserved. 4 | * Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 5 | *-------------------------------------------------------------------------------------------------------------*/ 6 | 7 | function hello($name) { 8 | echo "Hello $name!"; 9 | } 10 | 11 | hello('remote world'); 12 | 13 | ?> -------------------------------------------------------------------------------- /containers/php/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Actual tests 10 | checkExtension "felixfbecker.php-debug" 11 | checkExtension "felixfbecker.php-intellisense" 12 | checkExtension "mrmlnc.vscode-apache" 13 | check "php" php --version 14 | check "apache2ctl" which apache2ctl 15 | 16 | # Report result 17 | reportResults 18 | -------------------------------------------------------------------------------- /containers/powershell/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/powershell/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/powershell/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "PowerShell Launch", 9 | "type": "PowerShell", 10 | "request": "launch", 11 | "script": "${workspaceFolder}/test-project/hello.ps1", 12 | "args": [], 13 | "cwd": "${workspaceFolder}/test-project" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/powershell/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Actual tests 10 | checkExtension "ms-vscode.powershell" 11 | check "powershell" pwsh hello.ps1 12 | 13 | # Report result 14 | reportResults 15 | -------------------------------------------------------------------------------- /containers/puppet/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM puppet/pdk:latest 2 | 3 | # [Optional] Uncomment this section to install additional packages. 4 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 5 | # && apt-get -y install --no-install-recommends <your-package-list-here> 6 | 7 | -------------------------------------------------------------------------------- /containers/puppet/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Puppet Development Kit (Community)", 3 | "dockerFile": "Dockerfile", 4 | 5 | // Configure tool-specific properties. 6 | "customizations": { 7 | // Configure properties specific to VS Code. 8 | "vscode": { 9 | // Add the IDs of extensions you want installed when the container is created. 10 | "extensions": [ 11 | "puppet.puppet-vscode", 12 | "rebornix.Ruby" 13 | ] 14 | } 15 | } 16 | 17 | // Use 'forwardPorts' to make a list of ports inside the container available locally. 18 | // "forwardPorts": [], 19 | 20 | // Use 'postCreateCommand' to run commands after the container is created. 21 | // "postCreateCommand": "pdk --version", 22 | } 23 | -------------------------------------------------------------------------------- /containers/puppet/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/python-3-anaconda-postgres/.devcontainer/.env: -------------------------------------------------------------------------------- 1 | POSTGRES_USER=postgres 2 | POSTGRES_PASSWORD=postgres 3 | POSTGRES_DB=postgres 4 | POSTGRES_HOST=localhost -------------------------------------------------------------------------------- /containers/python-3-anaconda-postgres/.devcontainer/noop.txt: -------------------------------------------------------------------------------- 1 | This file copied into the container along with environment.yml* from the parent 2 | folder. This file is included to prevents the Dockerfile COPY instruction from 3 | failing if no environment.yml is found. -------------------------------------------------------------------------------- /containers/python-3-anaconda-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | environment.yml 7 | .vscode 8 | .npmignore 9 | 10 | -------------------------------------------------------------------------------- /containers/python-3-anaconda-postgres/environment.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - jupyter 3 | - matplotlib 4 | - numpy 5 | - psycopg2 6 | - pylint 7 | -------------------------------------------------------------------------------- /containers/python-3-anaconda-postgres/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | plot.png -------------------------------------------------------------------------------- /containers/python-3-anaconda-postgres/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "ms-python.python" 11 | checkExtension "ms-python.vscode-pylance" 12 | check "python" python --version 13 | check "test-project: database.py" python ./database.py 14 | check "test-project: plot.py" python ./plot.py 15 | check "test-project: plot.png created" test -f ./plot.png 16 | 17 | # Clean up 18 | rm plot.png 19 | 20 | # Report result 21 | reportResults 22 | -------------------------------------------------------------------------------- /containers/python-3-anaconda/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/python-3-anaconda/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/python-3-anaconda/.devcontainer/noop.txt: -------------------------------------------------------------------------------- 1 | This file copied into the container along with environment.yml* from the parent 2 | folder. This file is included to prevents the Dockerfile COPY instruction from 3 | failing if no environment.yml is found. -------------------------------------------------------------------------------- /containers/python-3-anaconda/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | environment.yml 7 | .vscode 8 | .npmignore 9 | 10 | -------------------------------------------------------------------------------- /containers/python-3-anaconda/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Python (Integrated Terminal)", 9 | "type": "python", 10 | "request": "launch", 11 | "program": "${workspaceFolder}/test-project/hello.py", 12 | "cwd":"${workspaceFolder}/test-project", 13 | "console": "integratedTerminal" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/python-3-anaconda/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `anaconda` image from [devcontainers/images/src/anaconda](https://github.com/devcontainers/images/tree/main/src/anaconda).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/python-3-anaconda/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | plot.png -------------------------------------------------------------------------------- /containers/python-3-device-simulator-express/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/python-3-device-simulator-express/.vscode/cpx.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /containers/python-3-device-simulator-express/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Python (Integrated Terminal)", 9 | "type": "python", 10 | "request": "launch", 11 | "program": "${workspaceFolder}/test-project/circuit.py", 12 | "console": "integratedTerminal" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /containers/python-3-device-simulator-express/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /containers/python-3-device-simulator-express/test-project/circuit.py: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | # ------------------------------------------------------------------------------------------------------------- 5 | 6 | """This example lights up all the NeoPixel LEDs red and the green in an infinit loop.""" 7 | from adafruit_circuitplayground import cp 8 | import time 9 | 10 | while True: 11 | cp.pixels.fill((50, 0, 0)) 12 | time.sleep(0.5) 13 | cp.pixels.fill((50, 205, 50)) 14 | time.sleep(0.5) 15 | -------------------------------------------------------------------------------- /containers/python-3-miniconda-postgres/.devcontainer/.env: -------------------------------------------------------------------------------- 1 | POSTGRES_USER=postgres 2 | POSTGRES_PASSWORD=postgres 3 | POSTGRES_DB=postgres 4 | POSTGRES_HOST=localhost -------------------------------------------------------------------------------- /containers/python-3-miniconda-postgres/.devcontainer/noop.txt: -------------------------------------------------------------------------------- 1 | This file is copied into the container along with environment.yml* from the 2 | parent folder. This is done to prevent the Dockerfile COPY instruction from 3 | failing if no environment.yml is found. -------------------------------------------------------------------------------- /containers/python-3-miniconda-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | environment.yml 7 | .vscode 8 | .npmignore 9 | -------------------------------------------------------------------------------- /containers/python-3-miniconda-postgres/environment.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - jupyter 3 | - numpy 4 | - matplotlib 5 | - psycopg2 6 | - pylint -------------------------------------------------------------------------------- /containers/python-3-miniconda-postgres/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | plot.png -------------------------------------------------------------------------------- /containers/python-3-miniconda-postgres/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "ms-python.python" 11 | checkExtension "ms-python.vscode-pylance" 12 | check "python" python --version 13 | check "test-project: database.py" python ./database.py 14 | check "test-project: plot.py" python ./plot.py 15 | check "test-project: plot.png created" test -f ./plot.png 16 | 17 | # Clean up 18 | rm plot.png 19 | 20 | # Report result 21 | reportResults 22 | -------------------------------------------------------------------------------- /containers/python-3-miniconda/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/python-3-miniconda/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/python-3-miniconda/.devcontainer/noop.txt: -------------------------------------------------------------------------------- 1 | This file is copied into the container along with environment.yml* from the 2 | parent folder. This is done to prevent the Dockerfile COPY instruction from 3 | failing if no environment.yml is found. -------------------------------------------------------------------------------- /containers/python-3-miniconda/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/python-3-miniconda/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Python (Integrated Terminal)", 9 | "type": "python", 10 | "request": "launch", 11 | "program": "${workspaceFolder}/test-project/hello.py", 12 | "cwd":"${workspaceFolder}/test-project", 13 | "console": "integratedTerminal", 14 | "preLaunchTask": "environment-install" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /containers/python-3-miniconda/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "environment-install", 6 | "type": "shell", 7 | "command": "umask 0002 && /opt/conda/bin/conda env update -n base -f ${workspaceFolder}/test-project/environment.yml" 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /containers/python-3-miniconda/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `miniconda` image from [devcontainers/images/src/miniconda](https://github.com/devcontainers/images/tree/main/src/miniconda).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/python-3-miniconda/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | plot.png -------------------------------------------------------------------------------- /containers/python-3-miniconda/test-project/environment.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - jupyter 3 | - numpy 4 | - matplotlib 5 | -------------------------------------------------------------------------------- /containers/python-3-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/python-3-postgres/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "pip install", 6 | "type": "shell", 7 | "command": "pip install -r ./test-project/requirements.txt" 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /containers/python-3-postgres/test-project/requirements.txt: -------------------------------------------------------------------------------- 1 | Django 2 | psycopg2-binary -------------------------------------------------------------------------------- /containers/python-3-postgres/test-project/web_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/vscode-dev-containers/06b27a9a1d39dba6a7a8cca108cfb806c5c6e0d1/containers/python-3-postgres/test-project/web_project/__init__.py -------------------------------------------------------------------------------- /containers/python-3-postgres/test-project/web_project/urls.py: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | from django.contrib import admin 7 | from django.urls import path 8 | 9 | urlpatterns = [ 10 | path('admin/', admin.site.urls), 11 | ] 12 | -------------------------------------------------------------------------------- /containers/python-3-postgres/test-project/web_project/wsgi.py: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | import os 7 | 8 | from django.core.wsgi import get_wsgi_application 9 | 10 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'web_project.settings') 11 | 12 | application = get_wsgi_application() 13 | -------------------------------------------------------------------------------- /containers/python-3-pypy/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts/README.md 5 | .devcontainer/library-scripts/meta.env 6 | definition-manifest.json 7 | .vscode 8 | .npmignore 9 | -------------------------------------------------------------------------------- /containers/python-3-pypy/test-project/hello.py: -------------------------------------------------------------------------------- 1 | print('Hello, remote world!') 2 | -------------------------------------------------------------------------------- /containers/python-3/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/python-3/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/python-3/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts 5 | definition-manifest.json 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/python-3/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Python (Integrated Terminal)", 9 | "type": "python", 10 | "request": "launch", 11 | "program": "${workspaceFolder}/test-project/hello.py", 12 | "console": "integratedTerminal" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /containers/python-3/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `python` image from [devcontainers/images/src/python](https://github.com/devcontainers/images/tree/main/src/python).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/python-3/test-project/hello.py: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | print('Hello, remote world!') -------------------------------------------------------------------------------- /containers/r/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/r/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/r/test-project/hello.R: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | say_hello <- function(name) { 7 | message(paste0("Hello, ", name, "!")) 8 | } 9 | 10 | say_hello("remote world") 11 | -------------------------------------------------------------------------------- /containers/reasonml/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/devcontainers/javascript-node:16-bullseye 2 | 3 | RUN sudo -u node npm install -g bs-platform esy@latest 4 | 5 | RUN apt-get update \ 6 | && export DEBIAN_FRONTEND=noninteractive \ 7 | && apt-get -y install --no-install-recommends software-properties-common ocaml \ 8 | && apt-add-repository ppa:fish-shell/release-3 \ 9 | && apt-get -y install --no-install-recommends fish \ 10 | # Clean up 11 | && apt-get autoremove -y \ 12 | && apt-get clean -y \ 13 | && rm -rf /var/lib/apt/lists/* 14 | -------------------------------------------------------------------------------- /containers/reasonml/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | .vscode 4 | .npmignore 5 | -------------------------------------------------------------------------------- /containers/reasonml/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .merlin 3 | .bsb.lock 4 | npm-debug.log 5 | /lib/bs/ 6 | /node_modules/ 7 | /src/**/*.js -------------------------------------------------------------------------------- /containers/reasonml/test-project/README.md: -------------------------------------------------------------------------------- 1 | # Basic Reason Template 2 | 3 | Hello! This project allows you to quickly get started with Reason and BuckleScript. If you wanted a more sophisticated version, try the `react` template (`bsb -theme react -init .`). 4 | 5 | # Build 6 | 7 | ```bash 8 | # for yarn 9 | yarn build 10 | 11 | # for npm 12 | npm run build 13 | ``` 14 | 15 | # Build + Watch 16 | 17 | ```bash 18 | # for yarn 19 | yarn 20 | 21 | # for npm 22 | npm run start 23 | ``` 24 | 25 | # Editor 26 | 27 | If you're using VS Code, press <kbd>cmd</kbd> + <kbd>shift</kbd> + <kbd>B</kbd> or <kbd>Windows</kbd> + <kbd>Shift</kbd> + <kbd>B</kbd> to build the project automatically. 28 | -------------------------------------------------------------------------------- /containers/reasonml/test-project/bsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test-project", 3 | "version": "0.1.0", 4 | "sources": { 5 | "dir" : "src", 6 | "subdirs" : true 7 | }, 8 | "package-specs": { 9 | "module": "commonjs", 10 | "in-source": true 11 | }, 12 | "suffix": ".bs.js", 13 | "bs-dependencies": [ 14 | 15 | ], 16 | "warnings": { 17 | "error" : "+101" 18 | }, 19 | "namespace": true, 20 | "refmt": 3 21 | } 22 | -------------------------------------------------------------------------------- /containers/reasonml/test-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test-project", 3 | "version": "0.1.0", 4 | "scripts": { 5 | "build": "bsb -make-world", 6 | "start": "bsb -make-world -w", 7 | "clean": "bsb -clean-world" 8 | }, 9 | "keywords": [ 10 | "BuckleScript" 11 | ], 12 | "author": "", 13 | "license": "MIT", 14 | "devDependencies": { 15 | "bs-platform": "^7.1.1" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /containers/reasonml/test-project/src/Demo.re: -------------------------------------------------------------------------------- 1 | type schoolPerson = 2 | | Teacher 3 | | Director 4 | | Student(string); 5 | 6 | let greeting = person => 7 | switch (person) { 8 | | Teacher => "Hey Professor!" 9 | | Director => "Hello Director." 10 | | Student("Richard") => "Still here Ricky?" 11 | | Student(anyOtherName) => "Hey, " ++ anyOtherName ++ "!" 12 | }; 13 | 14 | Js.log(greeting(Student("Dev"))); -------------------------------------------------------------------------------- /containers/reasonml/test-project/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | bs-platform@^7.1.1: 6 | version "7.1.1" 7 | resolved "https://registry.yarnpkg.com/bs-platform/-/bs-platform-7.1.1.tgz#ed4032de7ab15158c61d8994680a05393e3ddd74" 8 | integrity sha512-ckZHR3J+yxyEKXOBHX8+hfzWG2XX5BxhQ4Iw9lulHFGYdAm9Ep9LgKkIah7G6RYADLmVfTxFE48igvY3kkkl+g== 9 | -------------------------------------------------------------------------------- /containers/ruby-rails-postgres/.devcontainer/create-db-user.sql: -------------------------------------------------------------------------------- 1 | CREATE USER vscode CREATEDB; 2 | CREATE DATABASE vscode WITH OWNER vscode; 3 | -------------------------------------------------------------------------------- /containers/ruby-rails-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/ruby-rails-postgres/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "Create test-project", 8 | "type": "shell", 9 | "command": "rails new test-project -G --skip -d postgresql && cd test-project && cp ../.vscode/database.yml config && rake db:create" 10 | }, 11 | { 12 | "label": "Delete test-project", 13 | "type": "shell", 14 | "command": "cd test-project && rm -rf * && rm -f .ruby-version .browserslistrc" 15 | }, 16 | ], 17 | } -------------------------------------------------------------------------------- /containers/ruby-rails-postgres/test-project/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/vscode-dev-containers/06b27a9a1d39dba6a7a8cca108cfb806c5c6e0d1/containers/ruby-rails-postgres/test-project/.keep -------------------------------------------------------------------------------- /containers/ruby-rails/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/ruby-rails/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "Create test-project", 8 | "type": "shell", 9 | "command": "rails new test-project -G --skip && cd test-project && bundle install" 10 | }, 11 | { 12 | "label": "Delete test-project", 13 | "type": "shell", 14 | "command": "cd test-project && rm -rf * && rm -f .ruby-version" 15 | }, 16 | ], 17 | } -------------------------------------------------------------------------------- /containers/ruby-rails/test-project/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/vscode-dev-containers/06b27a9a1d39dba6a7a8cca108cfb806c5c6e0d1/containers/ruby-rails/test-project/.keep -------------------------------------------------------------------------------- /containers/ruby-sinatra/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/ruby-sinatra/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Debug Hello", 9 | "type": "Ruby", 10 | "request": "launch", 11 | "cwd": "${workspaceRoot}", 12 | "program": "${workspaceRoot}/test-project/helloApp.rb", 13 | "args": ["-o", "0.0.0.0"] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/ruby-sinatra/test-project/helloApp.rb: -------------------------------------------------------------------------------- 1 | require 'sinatra' 2 | 3 | # set :bind, "0.0.0.0" # used -o arg in .vscode/launch.json 4 | 5 | # ===== Routes ===== 6 | 7 | get '/' do 8 | 'Hello from Sinatra!' 9 | end 10 | 11 | # ===== Instructive information ===== 12 | 13 | port = Sinatra::Application.settings.port 14 | puts "===== Instructive information =====" 15 | puts "Try http://localhost:#{port}/ in the browser!" 16 | puts -------------------------------------------------------------------------------- /containers/ruby/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/ruby/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/ruby/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/ruby/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Debug Hello", 9 | "type": "Ruby", 10 | "request": "launch", 11 | "cwd": "${workspaceRoot}", 12 | "program": "${workspaceRoot}/test-project/hello.rb" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /containers/ruby/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `ruby` image from [devcontainers/images/src/ruby](https://github.com/devcontainers/images/tree/main/src/ruby).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/ruby/test-project/hello.rb: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------------------------------------- 2 | # Copyright (c) Microsoft Corporation. All rights reserved. 3 | # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | #------------------------------------------------------------------------------------------------------------- 5 | 6 | def sayHello(name) 7 | result = "Hello, " + name + "!" 8 | return result 9 | end 10 | 11 | 12 | puts sayHello("Remote Extension Host") 13 | puts sayHello("Local Extension Host") 14 | -------------------------------------------------------------------------------- /containers/rust-postgres/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | rustflags = ["-C", "link-arg=-fuse-ld=lld"] 3 | -------------------------------------------------------------------------------- /containers/rust-postgres/.devcontainer/.env: -------------------------------------------------------------------------------- 1 | POSTGRES_USER=postgres 2 | POSTGRES_PASSWORD=postgres 3 | POSTGRES_DB=postgres 4 | POSTGRES_HOSTNAME=localhost 5 | POSTGRES_PORT=5432 6 | -------------------------------------------------------------------------------- /containers/rust-postgres/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): buster, bullseye 2 | ARG VARIANT="bullseye" 3 | FROM mcr.microsoft.com/vscode/devcontainers/rust:1-${VARIANT} 4 | 5 | # Include lld linker to improve build times either by using environment variable 6 | # RUSTFLAGS="-C link-arg=-fuse-ld=lld" or with Cargo's configuration file (i.e see .cargo/config.toml). 7 | RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 8 | && apt-get -y install clang lld \ 9 | && apt-get autoremove -y && apt-get clean -y 10 | -------------------------------------------------------------------------------- /containers/rust-postgres/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | target 7 | .vscode 8 | .npmignore 9 | Cargo.lock 10 | Cargo.toml 11 | -------------------------------------------------------------------------------- /containers/rust-postgres/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "search.exclude": { 3 | "**/target": true 4 | }, 5 | "lldb.verboseLogging": true, 6 | "lldb.launch.initCommands": ["settings set target.disable-aslr false"] 7 | } -------------------------------------------------------------------------------- /containers/rust-postgres/test-project/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "hello_remote_world" 3 | version = "0.1.0" 4 | authors = ["VS Code <vscode@microsoft.com>"] 5 | 6 | [dev-dependencies] 7 | postgres = "0.19" 8 | -------------------------------------------------------------------------------- /containers/rust-postgres/test-project/src/main.rs: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | *-------------------------------------------------------------------------------------------------------------*/ 5 | 6 | fn main() { 7 | let name = "VS Code Remote - Containers"; 8 | println!("Hello, {}!", name); 9 | } 10 | -------------------------------------------------------------------------------- /containers/rust-postgres/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "vadimcn.vscode-lldb" 11 | checkExtension "mutantdino.resourcemonitor" 12 | checkExtension "rust-lang.rust-analyzer" 13 | checkExtension "tamasfe.even-better-toml" 14 | checkExtension "serayuzgur.crates" 15 | check "cargo-version" cargo -V 16 | check "cargo-run" cargo run 17 | check "cargo-integration-test" cargo test --test '*' -- --nocapture 18 | 19 | # Report result 20 | reportResults 21 | -------------------------------------------------------------------------------- /containers/rust/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): buster, bullseye 2 | ARG VARIANT="bullseye" 3 | FROM mcr.microsoft.com/vscode/devcontainers/rust:1-${VARIANT} 4 | 5 | # [Optional] Uncomment this section to install additional packages. 6 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 7 | # && apt-get -y install --no-install-recommends <your-package-list-here> 8 | -------------------------------------------------------------------------------- /containers/rust/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/rust/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/rust/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | definition-manifest.json 5 | .devcontainer/library-scripts 6 | target 7 | .vscode 8 | .npmignore 9 | Cargo.lock 10 | Cargo.toml 11 | -------------------------------------------------------------------------------- /containers/rust/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "search.exclude": { 3 | "**/target": true 4 | }, 5 | "lldb.verboseLogging": true 6 | } -------------------------------------------------------------------------------- /containers/rust/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "hello_remote_world" 3 | version = "0.1.0" 4 | authors = ["VS Code <vscode@microsoft.com>"] 5 | 6 | [[bin]] 7 | name = "hello_remote_world" 8 | path = "test-project/src/main.rs" -------------------------------------------------------------------------------- /containers/rust/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `rust` image from [devcontainers/images/src/rust](https://github.com/devcontainers/images/tree/main/src/rust).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/rust/test-project/src/main.rs: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | *-------------------------------------------------------------------------------------------------------------*/ 5 | 6 | fn main() { 7 | let name = "VS Code Remote - Containers"; 8 | println!("Hello, {}!", name); 9 | } -------------------------------------------------------------------------------- /containers/sfdx-project/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM salesforce/salesforcedx:latest-rc-full 2 | -------------------------------------------------------------------------------- /containers/sfdx-project/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore 6 | -------------------------------------------------------------------------------- /containers/swift/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/swift/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .devcontainer/library-scripts/README.md 5 | .vscode 6 | .npmignore 7 | -------------------------------------------------------------------------------- /containers/swift/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "type": "lldb", 5 | "request": "launch", 6 | "name": "Run your Executable", 7 | "program": "${workspaceFolder}/test-project/.build/debug/HelloWorld", 8 | "args": [], 9 | "cwd": "${workspaceFolder}/test-project", 10 | "preLaunchTask": "swift-build" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /containers/swift/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "swift-build", 8 | "type": "shell", 9 | "command": "cd test-project && swift build", 10 | "problemMatcher": [] 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /containers/swift/test-project/Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:4.0 2 | /*-------------------------------------------------------------------------------------------------------------- 3 | * Copyright (c) Microsoft Corporation. All rights reserved. 4 | * Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 5 | *-------------------------------------------------------------------------------------------------------------*/ 6 | 7 | import PackageDescription 8 | 9 | let package = Package( 10 | name: "HelloWorld", 11 | targets: [ 12 | .target(name:"HelloWorld") 13 | ] 14 | ) -------------------------------------------------------------------------------- /containers/swift/test-project/Sources/HelloWorld/main.swift: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. 4 | *-------------------------------------------------------------------------------------------------------------*/ 5 | 6 | func say() { 7 | let msg = "Hello, remote world!"; 8 | print(msg); 9 | } 10 | 11 | say(); -------------------------------------------------------------------------------- /containers/typescript-node/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/typescript-node/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/typescript-node/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts 5 | definition-manifest.json 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/typescript-node/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "node", 9 | "request": "launch", 10 | "name": "Launch Program", 11 | "program": "${workspaceFolder}/test-project/out/server.js", 12 | "cwd": "${workspaceFolder}/test-project", 13 | "preLaunchTask": "compile" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /containers/typescript-node/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.validate": [ 3 | "javascript", 4 | "typescript" 5 | ], 6 | "eslint.workingDirectories": [ 7 | { 8 | "directory": "./test-project", 9 | "changeProcessCWD": true 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /containers/typescript-node/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "compile", 8 | "type": "shell", 9 | "command": "cd test-project && npm run compile", 10 | "problemMatcher": "$tsc", 11 | "dependsOn": "npm: install - test-project" 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /containers/typescript-node/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `typescript-node` image from [devcontainers/images/src/typescript-node](https://github.com/devcontainers/images/tree/main/src/typescript-node).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/typescript-node/test-project/.eslintignore: -------------------------------------------------------------------------------- 1 | **/node_modules/** -------------------------------------------------------------------------------- /containers/typescript-node/test-project/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "es6": true, 4 | "node": true 5 | }, 6 | "extends": [ 7 | "eslint:recommended", 8 | "plugin:@typescript-eslint/eslint-recommended" 9 | ], 10 | "globals": { 11 | "Atomics": "readonly", 12 | "SharedArrayBuffer": "readonly" 13 | }, 14 | "parser": "@typescript-eslint/parser", 15 | "parserOptions": { 16 | "ecmaVersion": 2018, 17 | "sourceType": "module" 18 | }, 19 | "plugins": [ 20 | "@typescript-eslint" 21 | ], 22 | "rules": { 23 | } 24 | } -------------------------------------------------------------------------------- /containers/typescript-node/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | yarn.lock -------------------------------------------------------------------------------- /containers/typescript-node/test-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docker_web_app", 3 | "private": true, 4 | "version": "1.0.0", 5 | "description": "Node.js on Docker", 6 | "author": "First Last <first.last@example.com>", 7 | "main": "out/server.js", 8 | "scripts": { 9 | "compile": "tsc -p tsconfig.json", 10 | "start": "node out/server.js", 11 | "test": " REGRESSION_TESTING=true npm start" 12 | }, 13 | "dependencies": { 14 | "express": "^4.16.1" 15 | }, 16 | "devDependencies": { 17 | "@types/express": "^4.16.0", 18 | "@types/node": "^8.0.0", 19 | "@typescript-eslint/eslint-plugin": "^2.31.0", 20 | "@typescript-eslint/parser": "^2.31.0", 21 | "vscode-nls-dev": "^3.3.1", 22 | "eslint": "^6.0.0", 23 | "typescript": "^3.8.3" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /containers/typescript-node/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh node 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Definition specific tests 10 | checkExtension "dbaeumer.vscode-eslint" 11 | check "node" node --version 12 | sudo rm -f yarn.lock 13 | check "yarn" yarn install 14 | sudo rm -f package-lock.json 15 | check "eslint" eslint --no-eslintrc -c .eslintrc.json src/server.ts 16 | check "typescript" npm run compile 17 | check "test-project" npm run test 18 | npm config delete prefix 19 | check "nvm" bash -c ". /usr/local/share/nvm/nvm.sh && nvm install 8" 20 | check "nvm-node" bash -c ". /usr/local/share/nvm/nvm.sh && node --version" 21 | sudo rm -rf node_modules out 22 | 23 | # Report result 24 | reportResults 25 | -------------------------------------------------------------------------------- /containers/typescript-node/test-project/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "module": "commonjs", 5 | "strict": true, 6 | "outDir": "out", 7 | "sourceMap": true 8 | }, 9 | "exclude": [ 10 | "out", 11 | "node_modules" 12 | ] 13 | } -------------------------------------------------------------------------------- /containers/typescript-node/test-project/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultSeverity": "error", 3 | "extends": [ 4 | "tslint:recommended" 5 | ], 6 | "jsRules": {}, 7 | "rules": { 8 | "quotemark": false, 9 | "no-console": false, 10 | "indent": [ 11 | true, 12 | "tabs" 13 | ] 14 | }, 15 | "rulesDirectory": [] 16 | } -------------------------------------------------------------------------------- /containers/ubuntu/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # [Choice] Ubuntu version (use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon): ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 2 | ARG VARIANT=ubuntu-20.04 3 | FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT} 4 | 5 | # [Optional] Uncomment this section to install additional OS packages. 6 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 7 | # && apt-get -y install --no-install-recommends <your-package-list-here> 8 | 9 | 10 | -------------------------------------------------------------------------------- /containers/ubuntu/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ubuntu", 3 | "build": { 4 | "dockerfile": "Dockerfile", 5 | // Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04 6 | // Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon. 7 | "args": { "VARIANT": "focal" } 8 | }, 9 | 10 | // Use 'forwardPorts' to make a list of ports inside the container available locally. 11 | // "forwardPorts": [], 12 | 13 | // Use 'postCreateCommand' to run commands after the container is created. 14 | // "postCreateCommand": "uname -a", 15 | 16 | // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. 17 | "remoteUser": "vscode" 18 | } 19 | -------------------------------------------------------------------------------- /containers/ubuntu/.devcontainer/library-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Warning: Folder contents may be replaced 2 | 3 | The contents of this folder will be automatically replaced with a file of the same name in the [vscode-dev-containers](https://github.com/microsoft/vscode-dev-containers) repository's [script-library folder](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library) whenever the repository is packaged. 4 | 5 | To retain your edits, move the file to a different location. You may also delete the files if they are not needed. -------------------------------------------------------------------------------- /containers/ubuntu/.devcontainer/library-scripts/meta.env: -------------------------------------------------------------------------------- 1 | VERSION='dev' 2 | -------------------------------------------------------------------------------- /containers/ubuntu/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | history 4 | .devcontainer/library-scripts 5 | definition-manifest.json 6 | .vscode 7 | .npmignore 8 | -------------------------------------------------------------------------------- /containers/ubuntu/history/_history-files-have-moved.md: -------------------------------------------------------------------------------- 1 | **IMPORTANT NOTE: We're starting to migrate contents of this repo to the [devcontainers org](https://github.com/devcontainers), as part of the work on the [open dev container specification](https://containers.dev).** 2 | 3 | **We'll now be publishing the `base:ubuntu` image from [devcontainers/images/src/base-ubuntu](https://github.com/devcontainers/images/tree/main/src/base-ubuntu).** 4 | 5 | **For more details, you can review the [announcement issue](https://github.com/microsoft/vscode-dev-containers/issues/1589).** 6 | -------------------------------------------------------------------------------- /containers/ubuntu/test-project/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd $(dirname "$0") 3 | 4 | source test-utils.sh vscode 5 | 6 | # Run common tests 7 | checkCommon 8 | 9 | # Report result 10 | reportResults 11 | -------------------------------------------------------------------------------- /containers/vue/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster 2 | ARG VARIANT=${templateOption:imageVariant} 3 | FROM mcr.microsoft.com/devcontainers/javascript-node:0-${VARIANT} 4 | 5 | RUN su node -c "umask 0002 && npm install -g http-server @vue/cli @vue/cli-service-global" 6 | WORKDIR /app 7 | 8 | EXPOSE 8080 9 | 10 | # [Optional] Uncomment this section to install additional OS packages. 11 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 12 | # && apt-get -y install --no-install-recommends <your-package-list-here> 13 | -------------------------------------------------------------------------------- /containers/vue/.npmignore: -------------------------------------------------------------------------------- 1 | README.md 2 | test-project 3 | definition-manifest.json 4 | .vscode 5 | .npmignore -------------------------------------------------------------------------------- /repository-containers/.npmignore: -------------------------------------------------------------------------------- 1 | images 2 | images/** -------------------------------------------------------------------------------- /repository-containers/github.com/aymericdamien/TensorFlow-Examples/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3 2 | 3 | # install git iproute2 4 | RUN apt-get update && apt-get -y install git iproute2 5 | 6 | # Install dev tools 7 | RUN pip install pylint 8 | 9 | # Install tensorflow 10 | RUN pip install tensorflow 11 | 12 | # Clean up 13 | RUN apt-get autoremove -y \ 14 | && apt-get clean -y \ 15 | && rm -rf /var/lib/apt/lists/* 16 | -------------------------------------------------------------------------------- /repository-containers/github.com/aymericdamien/TensorFlow-Examples/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TensorFlow-Examples", 3 | "dockerFile": "Dockerfile", 4 | // Configure tool-specific properties. 5 | "customizations": { 6 | // Configure properties specific to VS Code. 7 | "vscode": { 8 | // Add the IDs of extensions you want installed when the container is created. 9 | "extensions": [ 10 | "ms-python.python" 11 | ] 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /repository-containers/github.com/barryclark/jekyll-now/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ruby:2 2 | 3 | # install git iproute2, process tools 4 | RUN apt-get update && apt-get -y install git iproute2 procps 5 | 6 | # Clean up 7 | RUN apt-get autoremove -y \ 8 | && apt-get clean -y \ 9 | && rm -rf /var/lib/apt/lists/* 10 | 11 | # Install jekyll 12 | RUN gem install github-pages 13 | -------------------------------------------------------------------------------- /repository-containers/github.com/barryclark/jekyll-now/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Jekyll Now", 3 | "dockerFile": "Dockerfile", 4 | "forwardPorts": [ 5 | 4000 6 | ], 7 | // Configure tool-specific properties. 8 | "customizations": { 9 | // Configure properties specific to VS Code. 10 | "vscode": { 11 | // Add the IDs of extensions you want installed when the container is created. 12 | "extensions": [ 13 | "mrmlnc.vscode-scss" 14 | ] 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /repository-containers/github.com/django/django/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3 2 | 3 | # install git iproute2 4 | RUN apt-get update && apt-get -y install git iproute2 5 | 6 | # Install node 7 | RUN curl -sL https://deb.nodesource.com/setup_11.x | bash - 8 | RUN apt-get install -y nodejs 9 | 10 | # Install dev tools 11 | RUN pip install closure 12 | RUN npm install -g jshint 13 | 14 | # Clean up 15 | RUN apt-get autoremove -y \ 16 | && apt-get clean -y \ 17 | && rm -rf /var/lib/apt/lists/* -------------------------------------------------------------------------------- /repository-containers/github.com/django/django/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Django", 3 | "dockerFile": "Dockerfile", 4 | // Configure tool-specific properties. 5 | "customizations": { 6 | // Configure properties specific to VS Code. 7 | "vscode": { 8 | // Add the IDs of extensions you want installed when the container is created. 9 | "extensions": [ 10 | "dbaeumer.jshint", 11 | "EditorConfig.EditorConfig", 12 | "ms-python.python" 13 | ] 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /repository-containers/github.com/microsoft/vscode-azure-account/.devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Node.js 10", 3 | "image": "chrmarti/node" 4 | } -------------------------------------------------------------------------------- /repository-containers/github.com/python/cpython/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/vscode/devcontainers/base:ubuntu 2 | ENV TZ=Europe/London 3 | RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone 4 | RUN apt-get -y update && apt-get -yq install git python3 build-essential \ 5 | ccache gdb lcov libbz2-dev libffi-dev libgdbm-dev liblzma-dev \ 6 | libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \ 7 | lzma lzma-dev tk-dev uuid-dev xvfb zlib1g-dev \ 8 | && apt-get clean -y && rm -rf /var/lib/apt/lists/* 9 | -------------------------------------------------------------------------------- /repository-containers/github.com/spmallick/learnopencv/.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM spmallick/opencv-docker:opencv 2 | 3 | RUN pip install pylint -------------------------------------------------------------------------------- /repository-containers/github.com/spmallick/learnopencv/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Learn OpenCV", 3 | "dockerFile": "Dockerfile", 4 | "runArgs": [ 5 | "-v", "/tmp/.X11-unix:/tmp/.X11-unix", 6 | "-e", "DISPLAY=host.docker.internal:0" 7 | ], 8 | 9 | // Configure tool-specific properties. 10 | "customizations": { 11 | // Configure properties specific to VS Code. 12 | "vscode": { 13 | // Add the IDs of extensions you want installed when the container is created. 14 | "extensions": [ 15 | "ms-python.python", 16 | "ms-vscode.cpptools" 17 | ] 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /repository-containers/images/README.md: -------------------------------------------------------------------------------- 1 | # Pre-built Repository Development Container Images 2 | 3 | This folder contains Dockerfiles for images that are pre-built and published and then used for a repository container either here or in directly in the repository. These can only be on-boarded by the VS Code and GitHub Codespaces teams. 4 | 5 | ## License 6 | 7 | Copyright (c) Microsoft Corporation. All rights reserved. 8 | 9 | Licensed under the MIT License. See [LICENSE](https://github.com/microsoft/vscode-dev-containers/blob/main/LICENSE) 10 | -------------------------------------------------------------------------------- /script-library/container-features/stage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | SCRIPT_DIR="$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)" 3 | 4 | cd "${SCRIPT_DIR}" 5 | rm -rf out 6 | mkdir -p out 7 | cp src/* ../*.sh out/ -------------------------------------------------------------------------------- /script-library/container-features/test.Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BASE_IMAGE=mcr.microsoft.com/vscode/devcontainers/base:buster 2 | FROM $BASE_IMAGE 3 | 4 | USER root 5 | 6 | COPY . /tmp/build-features/ 7 | 8 | RUN cd /tmp/build-features \ 9 | && chmod +x ./install.sh \ 10 | && ./install.sh 11 | 12 | #{containerEnv} 13 | 14 | ARG IMAGE_USER=root 15 | USER $IMAGE_USER -------------------------------------------------------------------------------- /script-library/test/regression/alpine/.devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Script Tester - Alpine", 3 | "build": { 4 | "dockerfile": "../Dockerfile", 5 | "context": "../../../", 6 | "args": { 7 | "IMAGE_TO_TEST": "alpine", 8 | "USERNAME": "vscode", 9 | "DISTRO": "alpine" 10 | } 11 | }, 12 | "workspaceMount": "source=${localWorkspaceFolder}/../../..,target=/workspace,type=bind", 13 | "workspaceFolder": "/workspace", 14 | "remoteUser": "vscode" 15 | 16 | } 17 | -------------------------------------------------------------------------------- /script-library/test/regression/redhat/.devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Script Tester - RedHat", 3 | "build": { 4 | "dockerfile": "../Dockerfile", 5 | "context": "../../../", 6 | "args": { 7 | "IMAGE_TO_TEST": "centos:7", 8 | "USERNAME": "vscode", 9 | "DISTRO": "redhat" 10 | } 11 | }, 12 | 13 | "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker-host.sock,type=bind" ], 14 | "workspaceMount": "source=${localWorkspaceFolder}/../../..,target=/workspace,type=bind", 15 | "workspaceFolder": "/workspace", 16 | "overrideCommand": false, 17 | 18 | "extensions": [ 19 | "ms-azuretools.vscode-docker" 20 | ], 21 | 22 | "remoteUser": "vscode" 23 | } 24 | -------------------------------------------------------------------------------- /script-library/test/sshd/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG IMAGE_TO_TEST="mcr.microsoft.com/vscode/devcontainers/base:0-focal" 2 | FROM $IMAGE_TO_TEST 3 | 4 | ENV PATH=/front-dockerfile-pre-script:$PATH:/back-dockerfile-pre-script 5 | ENV this_var=true 6 | 7 | ARG DEFAULT_SHELL_TYPE=bash 8 | COPY sshd-debian.sh test/sshd/*.sh /tmp/scripts/ 9 | ARG current_user=$USER 10 | USER root 11 | RUN apt-get update \ 12 | && bash /tmp/scripts/sshd-debian.sh \ 13 | && bash /tmp/scripts/test-prep.sh ${DEFAULT_SHELL_TYPE} 14 | USER $current_user 15 | 16 | ENV that_var=true 17 | ENV PATH=/front-dockerfile-post-script:$PATH:/back-dockerfile-post-script 18 | 19 | ENTRYPOINT [ "/usr/local/share/ssh-init.sh" ] 20 | CMD [ "sleep", "infinity" ] -------------------------------------------------------------------------------- /script-library/test/sshd/debian/.devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Test SSHD script", 3 | "build": { 4 | "dockerfile": "../Dockerfile", 5 | "context": "../../../", 6 | "args": { 7 | "IMAGE_TO_TEST": "mcr.microsoft.com/vscode/devcontainers/base:0-buster", 8 | "DEFAULT_SHELL_TYPE": "bash" 9 | } 10 | }, 11 | "remoteUser": "vscode", 12 | "userEnvProbe": "none", 13 | 14 | "overrideCommand": false, 15 | "forwardPorts": [2222], 16 | "workspaceMount": "source=${localWorkspaceFolder}/../../..,target=/workspace,type=bind", 17 | "workspaceFolder": "/workspace" 18 | } -------------------------------------------------------------------------------- /script-library/test/sshd/test-in-container.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | RUN_CODESPACES_TESTS=${1:-false} 3 | 4 | cd "$(cd "$(dirname "$0")" && pwd)" 5 | set -e 6 | 7 | if [ "$(id -u)" -ne 0 ]; then 8 | echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.' 9 | exit 1 10 | fi 11 | 12 | ./test-in-container-for-user.sh root $RUN_CODESPACES_TESTS 13 | USERNAME="$(awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd 2>/dev/null)" 14 | if [ "${USERNAME}" != "" ]; then 15 | su $USERNAME -c ./test-in-container-for-user.sh $USERNAME $RUN_CODESPACES_TESTS 16 | fi 17 | 18 | echo -e "\n🙌 Tests passed for all users!" 19 | --------------------------------------------------------------------------------