{
    "version": "0.2.0",
    "configurations": [
          {
            "type": "lldb",
            "request": "launch",
            "name": "Debug(only) executable 'rustfs'",
            "env": {
              "RUST_LOG": "rustfs=info,ecstore=info,s3s=info,iam=info",
              "RUSTFS_SKIP_BACKGROUND_TASK": "on"
              //"RUSTFS_OBS_LOG_DIRECTORY": "./deploy/logs",
              // "RUSTFS_POLICY_PLUGIN_URL":"http://localhost:8181/v1/data/rustfs/authz/allow",
              // "RUSTFS_POLICY_PLUGIN_AUTH_TOKEN":"your-opa-token"
            },
            "program": "${workspaceFolder}/target/debug/rustfs",
            "args": [
              "--access-key",
              "rustfsadmin",
              "--secret-key",
              "rustfsadmin",
              "--address",
              "0.0.0.0:9010",
              "--server-domains",
              "127.0.0.1:9010",
              "./target/volume/test{1...4}"
            ],
            "cwd": "${workspaceFolder}"
        },
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug executable 'rustfs'",
            "cargo": {
                "args": [
                    "build",
                    "--bin=rustfs",
                    "--package=rustfs"
                ],
                "filter": {
                    "name": "rustfs",
                    "kind": "bin"
                }
            },
            "env": {
                "RUST_LOG": "rustfs=debug,ecstore=info,s3s=debug,iam=debug",
                "RUSTFS_SKIP_BACKGROUND_TASK": "on",
                //"RUSTFS_OBS_LOG_DIRECTORY": "./deploy/logs",
                // "RUSTFS_POLICY_PLUGIN_URL":"http://localhost:8181/v1/data/rustfs/authz/allow",
                // "RUSTFS_POLICY_PLUGIN_AUTH_TOKEN":"your-opa-token" 
            },
            "args": [
                "--access-key",
                "rustfsadmin",
                "--secret-key",
                "rustfsadmin",
                "--address",
                "0.0.0.0:9010",
                "--server-domains",
                "127.0.0.1:9010",
                "./target/volume/test{1...4}"
            ],
            "cwd": "${workspaceFolder}"
        },
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug unit tests in executable 'rustfs'",
            "cargo": {
                "args": [
                    "test",
                    "--no-run",
                    "--bin=rustfs",
                    "--package=rustfs"
                ],
                "filter": {
                    "name": "rustfs",
                    "kind": "bin"
                }
            },
            "args": [],
            "cwd": "${workspaceFolder}"
        },
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug unit tests in library 'ecstore'",
            "cargo": {
                "args": [
                    "test",
                    "--no-run",
                    "--lib",
                    "--package=rustfs-ecstore"
                ]
            },
            "args": [],
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "Debug executable target/debug/rustfs",
            "type":  "lldb",
            "request": "launch",
            "program": "${workspaceFolder}/target/debug/rustfs",
            "args": [],
            "cwd": "${workspaceFolder}",
            //"stopAtEntry": false,
            //"preLaunchTask": "cargo build",
            "env": {
                "RUSTFS_ACCESS_KEY": "rustfsadmin",
                "RUSTFS_SECRET_KEY": "rustfsadmin",
                "RUSTFS_VOLUMES": "./target/volume/test{1...4}",
                "RUSTFS_ADDRESS": ":9000",
                "RUSTFS_CONSOLE_ENABLE": "true",
                // "RUSTFS_OBS_TRACE_ENDPOINT": "http://127.0.0.1:4318/v1/traces", // jeager otlp http endpoint
                // "RUSTFS_OBS_METRIC_ENDPOINT": "http://127.0.0.1:4318/v1/metrics", // default otlp http endpoint
                // "RUSTFS_OBS_LOG_ENDPOINT": "http://127.0.0.1:4318/v1/logs", // default otlp http endpoint
                // "RUSTFS_COMPRESS_ENABLE": "true",
                "RUSTFS_CONSOLE_ADDRESS": "127.0.0.1:9001",
                "RUSTFS_OBS_LOG_DIRECTORY": "./target/logs",
            },
            "sourceLanguages": [
                "rust"
            ],
        },
        {
            "name": "Debug executable target/debug/test",
            "type":  "lldb",
            "request": "launch",
            "program": "${workspaceFolder}/target/debug/deps/lifecycle_integration_test-5915cbfcab491b3b",
            "args": [
              "--skip",
              "test_lifecycle_expiry_basic",
              "--skip",
              "test_lifecycle_expiry_deletemarker",
              //"--skip",
              //"test_lifecycle_transition_basic",
            ],
            "cwd": "${workspaceFolder}",
            //"stopAtEntry": false,
            //"preLaunchTask": "cargo build",
            "sourceLanguages": [
                "rust"
            ],
        }
    ]
}