// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.112.0/containers/dotnetcore-3.1
{
    "name": "eShopOnWeb",
    "build": {
        "dockerfile": "Dockerfile",
        "args": {
        "USERNAME": "vscode",
        "INSTALL_NODE": "false",
        "NODE_VERSION": "lts/*",
        "INSTALL_AZURE_CLI": "false"
        }
    },
    "features": {
        "ghcr.io/devcontainers/features/azure-cli:1": {
            "version": "2.38"
        },
        "ghcr.io/devcontainers/features/docker-from-docker:1": {
            "version": "20.10"
        },
        "ghcr.io/devcontainers/features/github-cli:1": {
            "version": "2"
        }
    },
    // Comment out to connect as root user. See https://aka.ms/vscode-remote/containers/non-root.
    // make sure this is the same as USERNAME above
    "remoteUser": "vscode",
    "runArgs": [
        "-v",
        "/var/run/docker.sock:/var/run/docker.sock"
    ],
	// Set *default* container specific settings.json values on container create.
	"settings": {
        "terminal.integrated.profiles.linux": {
            "bash": {
                "path": "bash",
                "icon": "terminal-bash"
            }
        }
	},

	// Add the IDs of extensions you want installed when the container is created.
	"extensions": [
        "ms-dotnettools.csharp",
        "formulahendry.dotnet-test-explorer",
        "ms-vscode.vscode-node-azure-pack",
        "ms-kubernetes-tools.vscode-kubernetes-tools",
        "redhat.vscode-yaml"
    ],


    // Use 'forwardPorts' to make a list of ports inside the container available locally.
    "forwardPorts": [5000, 5001],

    // [Optional] To reuse of your local HTTPS dev cert, first export it locally using this command:
    //  * Windows PowerShell:
    //     dotnet dev-certs https --trust; dotnet dev-certs https -ep "$env:USERPROFILE/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere"
    //  * macOS/Linux terminal:
    //     dotnet dev-certs https --trust; dotnet dev-certs https -ep "${HOME}/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere"
    //
    // Next, after running the command above, uncomment lines in the 'mounts' and 'remoteEnv' lines below,
    // and open / rebuild the container so the settings take effect.
    //
    "mounts": [
        // "source=${env:HOME}${env:USERPROFILE}/.aspnet/https,target=/home/vscode/.aspnet/https,type=bind"
    ],
    "remoteEnv": {
        // "ASPNETCORE_Kestrel__Certificates__Default__Password": "SecurePwdGoesHere",
        // "ASPNETCORE_Kestrel__Certificates__Default__Path": "/home/vscode/.aspnet/https/aspnetapp.pfx",
    }

    // Use 'postCreateCommand' to run commands after the container is created.
    // "postCreateCommand": "dotnet restore"
}
