650 lines
25 KiB
JSON
650 lines
25 KiB
JSON
{
|
|
"sourceInformation": {
|
|
"source": "devcontainer-cli"
|
|
},
|
|
"features": [
|
|
{
|
|
"id": "common-utils",
|
|
"version": "2.3.1",
|
|
"name": "Common Utilities",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/common-utils",
|
|
"description": "Installs a set of common command line utilities, Oh My Zsh!, and sets up a non-root user.",
|
|
"options": {
|
|
"installZsh": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install ZSH?"
|
|
},
|
|
"configureZshAsDefaultShell": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Change default shell to ZSH?"
|
|
},
|
|
"installOhMyZsh": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install Oh My Zsh!?"
|
|
},
|
|
"installOhMyZshConfig": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Allow installing the default dev container .zshrc templates?"
|
|
},
|
|
"upgradePackages": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Upgrade OS packages?"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"devcontainer",
|
|
"vscode",
|
|
"codespace",
|
|
"none",
|
|
"automatic"
|
|
],
|
|
"default": "automatic",
|
|
"description": "Enter name of a non-root user to configure or none to skip"
|
|
},
|
|
"userUid": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"1001",
|
|
"automatic"
|
|
],
|
|
"default": "automatic",
|
|
"description": "Enter UID for non-root user"
|
|
},
|
|
"userGid": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"1001",
|
|
"automatic"
|
|
],
|
|
"default": "automatic",
|
|
"description": "Enter GID for non-root user"
|
|
},
|
|
"nonFreePackages": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Add packages from non-free Debian repository? (Debian only)"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "docker-in-docker",
|
|
"version": "2.7.1",
|
|
"name": "Docker (Docker-in-Docker)",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/docker-in-docker",
|
|
"description": "Create child containers *inside* a container, independent from the host's docker instance. Installs Docker extension in the container along with needed CLIs.",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"none",
|
|
"20.10"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select or enter a Docker/Moby Engine version. (Availability can vary by OS version.)"
|
|
},
|
|
"moby": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install OSS Moby build instead of Docker CE"
|
|
},
|
|
"dockerDashComposeVersion": {
|
|
"type": "string",
|
|
"enum": [
|
|
"none",
|
|
"v1",
|
|
"v2"
|
|
],
|
|
"default": "v1",
|
|
"description": "Default version of Docker Compose (v1 or v2 or none)"
|
|
},
|
|
"azureDnsAutoDetection": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Allow automatically setting the dockerd DNS server when the installation script detects it is running in Azure"
|
|
},
|
|
"dockerDefaultAddressPool": {
|
|
"type": "string",
|
|
"default": "",
|
|
"proposals": [],
|
|
"description": "Define default address pools for Docker networks. e.g. base=192.168.0.0/16,size=24"
|
|
},
|
|
"installDockerBuildx": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install Docker Buildx"
|
|
}
|
|
},
|
|
"entrypoint": "/usr/local/share/docker-init.sh",
|
|
"privileged": true,
|
|
"containerEnv": {
|
|
"DOCKER_BUILDKIT": "1"
|
|
},
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"ms-azuretools.vscode-docker"
|
|
]
|
|
}
|
|
},
|
|
"mounts": [
|
|
{
|
|
"source": "dind-var-lib-docker-${devcontainerId}",
|
|
"target": "/var/lib/docker",
|
|
"type": "volume"
|
|
}
|
|
],
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
},
|
|
{
|
|
"id": "docker-outside-of-docker",
|
|
"version": "1.3.1",
|
|
"name": "Docker (docker-outside-of-docker)",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/docker-outside-of-docker",
|
|
"description": "Re-use the host docker socket, adding the Docker CLI to a container. Feature invokes a script to enable using a forwarded Docker socket within a container to run Docker commands.",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"none",
|
|
"20.10"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select or enter a Docker/Moby CLI version. (Availability can vary by OS version.)"
|
|
},
|
|
"moby": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install OSS Moby build instead of Docker CE"
|
|
},
|
|
"dockerDashComposeVersion": {
|
|
"type": "string",
|
|
"enum": [
|
|
"none",
|
|
"v1",
|
|
"v2"
|
|
],
|
|
"default": "v2",
|
|
"description": "Compose version to use for docker-compose (v1 or v2 or none)"
|
|
},
|
|
"installDockerBuildx": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install Docker Buildx"
|
|
}
|
|
},
|
|
"entrypoint": "/usr/local/share/docker-init.sh",
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"ms-azuretools.vscode-docker"
|
|
]
|
|
}
|
|
},
|
|
"mounts": [
|
|
{
|
|
"source": "/var/run/docker.sock",
|
|
"target": "/var/run/docker-host.sock",
|
|
"type": "bind"
|
|
}
|
|
],
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
],
|
|
"legacyIds": [
|
|
"docker-from-docker"
|
|
],
|
|
"currentId": "docker-outside-of-docker"
|
|
},
|
|
{
|
|
"id": "git",
|
|
"version": "1.1.6",
|
|
"name": "Git (from source)",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/git",
|
|
"description": "Install an up-to-date version of Git, built from source as needed. Useful for when you want the latest and greatest features. Auto-detects latest stable version and installs needed dependencies.",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"os-provided"
|
|
],
|
|
"default": "os-provided",
|
|
"description": "Select or enter a Git version."
|
|
},
|
|
"ppa": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install from PPA if available"
|
|
}
|
|
},
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
},
|
|
{
|
|
"id": "git-lfs",
|
|
"version": "1.1.1",
|
|
"name": "Git Large File Support (LFS)",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/git-lfs",
|
|
"description": "Installs Git Large File Support (Git LFS) along with needed dependencies. Useful for base Dockerfiles that often are missing required install dependencies like git and curl.",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"none"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select version of Git LFS to install"
|
|
},
|
|
"autoPull": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Automatically pull LFS files when creating the container. When false, running 'git lfs pull' in the container will have the same effect."
|
|
}
|
|
},
|
|
"postCreateCommand": "/usr/local/share/pull-git-lfs-artifacts.sh",
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
},
|
|
{
|
|
"id": "go",
|
|
"version": "1.2.2",
|
|
"name": "Go",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/go",
|
|
"description": "Installs Go and common Go utilities. Auto-detects latest version and installs needed dependencies.",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"none",
|
|
"1.21",
|
|
"1.20"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select or enter a Go version to install"
|
|
},
|
|
"golangciLintVersion": {
|
|
"type": "string",
|
|
"default": "latest",
|
|
"description": "Version of golangci-lint to install"
|
|
}
|
|
},
|
|
"init": true,
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"golang.Go"
|
|
]
|
|
}
|
|
},
|
|
"containerEnv": {
|
|
"GOROOT": "/usr/local/go",
|
|
"GOPATH": "/go",
|
|
"PATH": "/usr/local/go/bin:/go/bin:${PATH}"
|
|
},
|
|
"capAdd": [
|
|
"SYS_PTRACE"
|
|
],
|
|
"securityOpt": [
|
|
"seccomp=unconfined"
|
|
],
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
},
|
|
{
|
|
"id": "hugo",
|
|
"version": "1.1.2",
|
|
"name": "Hugo",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/hugo",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select or enter a version."
|
|
},
|
|
"extended": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Install Hugo extended for SASS/SCSS changes"
|
|
}
|
|
},
|
|
"containerEnv": {
|
|
"HUGO_DIR": "/usr/local/hugo",
|
|
"PATH": "/usr/local/hugo/bin:${PATH}"
|
|
},
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
},
|
|
{
|
|
"id": "kubectl-helm-minikube",
|
|
"version": "1.1.5",
|
|
"name": "Kubectl, Helm, and Minikube",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/kubectl-helm-minikube",
|
|
"description": "Installs latest version of kubectl, Helm, and optionally minikube. Auto-detects latest versions and installs needed dependencies.",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"none",
|
|
"1.23",
|
|
"1.22",
|
|
"1.21",
|
|
"none"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select or enter a Kubernetes version to install"
|
|
},
|
|
"helm": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"none"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select or enter a Helm version to install"
|
|
},
|
|
"minikube": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"none"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select or enter a Minikube version to install"
|
|
}
|
|
},
|
|
"mounts": [
|
|
{
|
|
"source": "minikube-config",
|
|
"target": "/home/vscode/.minikube",
|
|
"type": "volume"
|
|
}
|
|
],
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
},
|
|
{
|
|
"id": "node",
|
|
"version": "1.3.1",
|
|
"name": "Node.js (via nvm), yarn and pnpm",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/node",
|
|
"description": "Installs Node.js, nvm, yarn, pnpm, and needed dependencies.",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"lts",
|
|
"latest",
|
|
"none",
|
|
"18",
|
|
"16",
|
|
"14"
|
|
],
|
|
"default": "lts",
|
|
"description": "Select or enter a Node.js version to install"
|
|
},
|
|
"nodeGypDependencies": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install dependencies to compile native node modules (node-gyp)?"
|
|
},
|
|
"nvmInstallPath": {
|
|
"type": "string",
|
|
"default": "/usr/local/share/nvm",
|
|
"description": "The path where NVM will be installed."
|
|
},
|
|
"nvmVersion": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"0.39"
|
|
],
|
|
"default": "latest",
|
|
"description": "Version of NVM to install."
|
|
}
|
|
},
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"dbaeumer.vscode-eslint"
|
|
]
|
|
}
|
|
},
|
|
"containerEnv": {
|
|
"NVM_DIR": "/usr/local/share/nvm",
|
|
"NVM_SYMLINK_CURRENT": "true",
|
|
"PATH": "/usr/local/share/nvm/current/bin:${PATH}"
|
|
},
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
},
|
|
{
|
|
"id": "php",
|
|
"version": "1.1.2",
|
|
"name": "PHP",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/php",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"8",
|
|
"8.2",
|
|
"8.2.0",
|
|
"none"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select or enter a PHP version"
|
|
},
|
|
"installComposer": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install PHP Composer?"
|
|
}
|
|
},
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"xdebug.php-debug",
|
|
"bmewburn.vscode-intelephense-client",
|
|
"xdebug.php-pack",
|
|
"devsense.phptools-vscode"
|
|
]
|
|
}
|
|
},
|
|
"containerEnv": {
|
|
"PHP_PATH": "/usr/local/php/current",
|
|
"PATH": "/usr/local/php/current/bin:${PATH}"
|
|
},
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
},
|
|
{
|
|
"id": "python",
|
|
"version": "1.3.1",
|
|
"name": "Python",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/python",
|
|
"description": "Installs the provided version of Python, as well as PIPX, and other common Python utilities. JupyterLab is conditionally installed with the python feature. Note: May require source code compilation.",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"os-provided",
|
|
"none",
|
|
"3.12",
|
|
"3.11",
|
|
"3.10",
|
|
"3.9",
|
|
"3.8",
|
|
"3.7",
|
|
"3.6"
|
|
],
|
|
"default": "os-provided",
|
|
"description": "Select a Python version to install."
|
|
},
|
|
"installTools": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Install common Python tools like pylint"
|
|
},
|
|
"optimize": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Optimize Python for performance when compiled (slow)"
|
|
},
|
|
"installPath": {
|
|
"type": "string",
|
|
"default": "/usr/local/python",
|
|
"description": "The path where python will be installed."
|
|
},
|
|
"installJupyterlab": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Install JupyterLab, a web-based interactive development environment for notebooks"
|
|
},
|
|
"configureJupyterlabAllowOrigin": {
|
|
"type": "string",
|
|
"default": "",
|
|
"description": "Configure JupyterLab to accept HTTP requests from the specified origin"
|
|
},
|
|
"httpProxy": {
|
|
"type": "string",
|
|
"default": "",
|
|
"description": "Connect to GPG keyservers using a proxy for fetching source code signatures by configuring this option"
|
|
}
|
|
},
|
|
"containerEnv": {
|
|
"PYTHON_PATH": "/usr/local/python/current",
|
|
"PIPX_HOME": "/usr/local/py-utils",
|
|
"PIPX_BIN_DIR": "/usr/local/py-utils/bin",
|
|
"PATH": "/usr/local/python/current/bin:/usr/local/py-utils/bin:${PATH}"
|
|
},
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"ms-python.python",
|
|
"ms-python.vscode-pylance"
|
|
],
|
|
"settings": {
|
|
"python.defaultInterpreterPath": "/usr/local/python/current/bin/python"
|
|
}
|
|
}
|
|
},
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz",
|
|
"ghcr.io/devcontainers/features/oryx"
|
|
]
|
|
},
|
|
{
|
|
"id": "rust",
|
|
"version": "1.1.1",
|
|
"name": "Rust",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/rust",
|
|
"description": "Installs Rust, common Rust utilities, and their required dependencies",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest",
|
|
"none",
|
|
"1.70",
|
|
"1.69",
|
|
"1.68",
|
|
"1.67",
|
|
"1.66",
|
|
"1.65",
|
|
"1.64",
|
|
"1.63",
|
|
"1.62",
|
|
"1.61"
|
|
],
|
|
"default": "latest",
|
|
"description": "Select or enter a version of Rust to install."
|
|
},
|
|
"profile": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"minimal",
|
|
"default",
|
|
"complete"
|
|
],
|
|
"default": "minimal",
|
|
"description": "Select a rustup install profile."
|
|
}
|
|
},
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"vadimcn.vscode-lldb",
|
|
"rust-lang.rust-analyzer",
|
|
"tamasfe.even-better-toml",
|
|
"serayuzgur.crates"
|
|
],
|
|
"settings": {
|
|
"files.watcherExclude": {
|
|
"**/target/**": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"containerEnv": {
|
|
"CARGO_HOME": "/usr/local/cargo",
|
|
"RUSTUP_HOME": "/usr/local/rustup",
|
|
"PATH": "/usr/local/cargo/bin:${PATH}"
|
|
},
|
|
"capAdd": [
|
|
"SYS_PTRACE"
|
|
],
|
|
"securityOpt": [
|
|
"seccomp=unconfined"
|
|
],
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
},
|
|
{
|
|
"id": "sshd",
|
|
"version": "1.0.9",
|
|
"name": "SSH server",
|
|
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/sshd",
|
|
"description": "Adds a SSH server into a container so that you can use an external terminal, sftp, or SSHFS to interact with it.",
|
|
"options": {
|
|
"version": {
|
|
"type": "string",
|
|
"proposals": [
|
|
"latest"
|
|
],
|
|
"default": "latest",
|
|
"description": "Currently unused."
|
|
}
|
|
},
|
|
"entrypoint": "/usr/local/share/ssh-init.sh",
|
|
"installsAfter": [
|
|
"neonxp.ru/devcontainers/devcontainers-features-common-utils.tgz"
|
|
]
|
|
}
|
|
]
|
|
} |