{
    "name": "linkerd2",
    "image": "ghcr.io/linkerd/dev:v47",
    // "dockerFile": "./Dockerfile",
    // "context": "..",
    "features": {
        "ghcr.io/devcontainers/features/github-cli:1": {}
    },
    "customizations": {
        "vscode": {
            "extensions": [
                "DavidAnson.vscode-markdownlint",
                "golang.go",
                "kokakiwi.vscode-just",
                "ms-kubernetes-tools.vscode-kubernetes-tools",
                "NathanRidley.autotrim",
                "rust-lang.rust-analyzer",
                "samverschueren.final-newline",
                "tamasfe.even-better-toml",
                "zxh404.vscode-proto3"
            ],
            "settings": {
                "go.lintTool": "golangci-lint",
                // TODO(ver) Find a way to enforce YAML formatting.
                // See https://github.com/redhat-developer/vscode-yaml/discussions/839
                "yaml.format.enable": false
            }
        }
    },
    "runArgs": [
        "--init",
        // Limit container memory usage.
        "--memory=12g",
        "--memory-swap=12g",
        // Use the host network so we can access k3d, etc.
        "--net=host",
        // For lldb
        "--cap-add=SYS_PTRACE",
        "--security-opt=seccomp=unconfined"
    ],
    "overrideCommand": false,
    "remoteUser": "code",
    "mounts": [
        "source=/var/run/docker.sock,target=/var/run/docker-host.sock,type=bind"
    ]
}
