blob: 450aad79723792d1105c71a3247e7cdf350b688c [file]
{
"name": "Apache Iggy",
"hostRequirements": {
"cpus": 4,
"memory": "16gb",
"storage": "32gb"
},
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"features": {
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {
"moby": false
}
},
"remoteUser": "vscode",
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/iggy,type=bind,consistency=cached",
"workspaceFolder": "/workspaces/iggy",
"runArgs": [
"--init",
"--security-opt", "seccomp=unconfined",
"--ulimit", "memlock=-1:-1",
"--cap-add=SYS_NICE",
"--publish", "8080:8080/udp"
],
"mounts": [
"type=volume,source=iggy-cargo-registry,target=/usr/local/cargo/registry",
"type=volume,source=iggy-target,target=/workspaces/iggy/target"
],
"containerEnv": {
"CARGO_BUILD_JOBS": "4",
"IGGY_HTTP_ADDRESS": "0.0.0.0:3000",
"IGGY_QUIC_ADDRESS": "0.0.0.0:8080",
"IGGY_TCP_ADDRESS": "0.0.0.0:8090",
"IGGY_WEBSOCKET_ADDRESS": "0.0.0.0:8092"
},
"forwardPorts": [3000, 3050, 8080, 8090, 8092],
"portsAttributes": {
"3000": { "label": "HTTP (REST)" },
"3050": { "label": "Web UI (vite dev)" },
"8080": { "label": "QUIC" },
"8090": { "label": "TCP (binary)" },
"8092": { "label": "WebSocket" }
},
"postCreateCommand": "sudo chown vscode:vscode target /usr/local/cargo/registry; rustup show && npm --prefix web ci && bash /workspaces/iggy/.devcontainer/notice.sh",
"customizations": {
"vscode": {
"extensions": [
"rust-lang.rust-analyzer",
"tamasfe.even-better-toml",
"vadimcn.vscode-lldb",
"svelte.svelte-vscode",
"ms-azuretools.vscode-docker"
],
"settings": {
"rust-analyzer.cargo.buildScripts.enable": true,
"rust-analyzer.procMacro.enable": true,
"rust-analyzer.numThreads": 4,
"rust-analyzer.cargo.extraEnv": { "CARGO_BUILD_JOBS": "4" },
"editor.formatOnSave": true,
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer"
}
}
}
}
}