// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: // https://github.com/microsoft/vscode-dev-containers/tree/v0.166.1/containers/docker-existing-dockerfile { "name": "go-ceph", "build": { // Sets the run context to one level up instead of the .devcontainer folder. "context": "..", "dockerfile": "../testing/containers/ceph/Dockerfile", "args": { "CEPH_VERSION": "octopus" } }, "workspaceMount": "source=${localWorkspaceFolder},target=/go/src/github.com/ceph/go-ceph,type=bind,consistency=cached", "workspaceFolder": "/go/src/github.com/ceph/go-ceph", // Set *default* container specific settings.json values on container create. "settings": { "go.toolsManagement.checkForUpdates": "local", "go.toolsManagement.autoUpdate": true, "go.useLanguageServer": true, "go.goroot": "/opt/go", "go.testEnvVars": { "GODEBUG": "cgocheck=2", "CEPH_CONF": "/ceph_a/ceph.conf", }, "go.buildTags": "", "go.testTags": "", "go.testFlags": [ "-v", "-count=1" ], }, // Add the IDs of extensions you want installed when the container is created. "extensions": [ "golang.go", ], // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Uncomment the next line to run commands after the container is created - for example installing curl. // "postCreateCommand": "apt-get update && apt-get install -y curl", // Uncomment when using a ptrace-based debugger like C++, Go, and Rust "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt=seccomp=unconfined", "--net=test_ceph_net", ], // Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker. // "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ], "mounts": [ "source=test_ceph_go_cache,target=/go,type=volume", "source=test_ceph_a_data,target=/ceph_a,type=volume", "source=test_ceph_b_data,target=/ceph_b,type=volume", ], // Uncomment to enable testing ceph nodes // "initializeCommand": [ // "bash", "-c", "eval $*", "--", // "docker kill test_ceph_a test_ceph_b 2>/dev/null ;", // "docker run --rm -d --name test_ceph_a --hostname test_ceph_a", // " --net test_ceph_net -v test_ceph_a_data:/tmp/ceph go-ceph-ci:octopus --test-run=NONE --pause ;", // "docker run --rm -d --name test_ceph_b --hostname test_ceph_b", // " --net test_ceph_net -v test_ceph_b_data:/tmp/ceph go-ceph-ci:octopus --test-run=NONE --pause ;", // ], // "postCreateCommand": "/entrypoint.sh --wait-for=/ceph_a/.ready:/ceph_b/.ready --ceph-conf=/ceph_a/ceph.conf --mirror=/ceph_b/ceph.conf --test-pkg none" // Uncomment to connect as a non-root user if you've added one. See https://aka.ms/vscode-remote/containers/non-root. // "remoteUser": "vscode" }