vmware-debug 2.2.0__py3-none-any.whl → 2.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vmware_debug/__init__.py +1 -1
- vmware_debug/mcp_server/server.py +3 -0
- vmware_debug/policy_roles.py +27 -0
- {vmware_debug-2.2.0.dist-info → vmware_debug-2.3.0.dist-info}/METADATA +66 -1
- {vmware_debug-2.2.0.dist-info → vmware_debug-2.3.0.dist-info}/RECORD +7 -6
- {vmware_debug-2.2.0.dist-info → vmware_debug-2.3.0.dist-info}/WHEEL +0 -0
- {vmware_debug-2.2.0.dist-info → vmware_debug-2.3.0.dist-info}/entry_points.txt +0 -0
vmware_debug/__init__.py
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""What vmware-policy needs to apply roles to this skill (HLD §18 D-21/D-22).
|
|
2
|
+
|
|
3
|
+
Policy cannot see which tools escape a role or how a missing target resolves; this
|
|
4
|
+
module declares them. Imported by the MCP server (roles apply only to a network
|
|
5
|
+
MCP server). With a vmware-policy that has no roles module (< 1.24) nothing is
|
|
6
|
+
declared.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from vmware_policy import skill_name
|
|
12
|
+
|
|
13
|
+
#: Tools that give their holder more than a role. Host-path tools are added by
|
|
14
|
+
#: policy while a file root is set.
|
|
15
|
+
ESCAPES = frozenset()
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
try:
|
|
19
|
+
from vmware_policy.roles import declare_role_metadata
|
|
20
|
+
except ImportError: # vmware-policy without roles: nothing to declare
|
|
21
|
+
declare_role_metadata = None
|
|
22
|
+
|
|
23
|
+
if declare_role_metadata is not None:
|
|
24
|
+
declare_role_metadata(
|
|
25
|
+
skill_name(__name__),
|
|
26
|
+
escapes=ESCAPES,
|
|
27
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: vmware-debug
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: VMware diagnostic brain — offline incident triage, log/event correlation, and root-cause routing across the VMware skill family
|
|
5
5
|
Project-URL: Homepage, https://github.com/vmware-skills/VMware-Debug
|
|
6
6
|
Project-URL: Repository, https://github.com/vmware-skills/VMware-Debug
|
|
@@ -145,6 +145,71 @@ pip wheel . -w dist # → dist/*.whl (or: uv build, for just this packa
|
|
|
145
145
|
pip install --no-index --find-links dist vmware-debug
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
+
<!-- usage: remote-and-exposure -->
|
|
149
|
+
## Remote access (HTTPS) and limiting tools
|
|
150
|
+
|
|
151
|
+
By default `vmware-debug mcp` speaks stdio to one local client and offers every tool. Two options change that
|
|
152
|
+
(vmware-policy ≥ 1.21.0).
|
|
153
|
+
|
|
154
|
+
**Serve over HTTPS** so clients on other machines can connect. Every caller needs a bearer token:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
vmware-audit token create alice # prints the token once; give it to alice
|
|
158
|
+
vmware-audit token list # names only
|
|
159
|
+
vmware-audit token revoke alice # refused from its next request, no restart
|
|
160
|
+
vmware-debug mcp --transport https --host 0.0.0.0 --port 8443 \
|
|
161
|
+
--cert /etc/vmware-mcp/server.pem --key /etc/vmware-mcp/server-key.pem \
|
|
162
|
+
--public-name mcp.example.com
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Connect a client (Claude Code shown; any MCP client that supports streamable HTTP and custom headers works):
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
claude mcp add --transport http vmware-debug https://mcp.example.com:8443/mcp \
|
|
169
|
+
--header "Authorization: Bearer $VMWARE_MCP_TOKEN"
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"mcpServers": {
|
|
175
|
+
"vmware-debug": {
|
|
176
|
+
"type": "http",
|
|
177
|
+
"url": "https://mcp.example.com:8443/mcp",
|
|
178
|
+
"headers": { "Authorization": "Bearer ${VMWARE_MCP_TOKEN}" }
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
- The server will not start without a token, refuses Host/Origin values outside `--public-name`, and checks
|
|
185
|
+
before it binds that unauthenticated requests get 401. Use a certificate your clients trust for those names.
|
|
186
|
+
- Behind a TLS-terminating reverse proxy on the same machine use `--transport http --host 127.0.0.1
|
|
187
|
+
--public-name mcp.example.com` and pass the `Authorization` header through.
|
|
188
|
+
- Behind a load balancer or gateway on another machine, keep `--transport https` (a self-signed certificate is
|
|
189
|
+
fine), list in `--public-name` the host name the balancer sends as `Host`, and have it forward `Authorization`.
|
|
190
|
+
Its health probe can use `GET /healthz`, which needs no token and returns only `{"status": "ok"}`
|
|
191
|
+
(vmware-policy ≥ 1.23.0).
|
|
192
|
+
- Send `traceparent` or `X-Request-ID` with each request to have it stored on the audit row;
|
|
193
|
+
`vmware-audit log --correlation-id ID` then finds the calls behind one platform request.
|
|
194
|
+
- The audit log records each caller as `token:<name>`. Calls naming different targets run in parallel; calls that
|
|
195
|
+
name no target run one at a time, so name the target when several people share a server.
|
|
196
|
+
- **Everyone who can reach the endpoint acts with this server's account.** Tokens identify callers; they grant
|
|
197
|
+
nothing on the platform. Run one endpoint per privilege level.
|
|
198
|
+
- **Several people or roles on one endpoint:** run `vmware-audit roles enable` once, then give each token a role (`vmware-audit token create NAME --role reader`, or a role in `roles.yaml` naming tools and targets; vmware-policy ≥ 1.24.0). A role limits what the token may call on this endpoint; it cannot grant more than the account has. See vmware-policy's README, "Roles for network callers".
|
|
199
|
+
|
|
200
|
+
**Offer only read tools, plus the writes you choose:**
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
vmware-debug mcp --expose read --allow-write close_case
|
|
204
|
+
# or: VMWARE_DEBUG_MCP_EXPOSE=read VMWARE_DEBUG_MCP_ALLOW_WRITE=close_case vmware-debug mcp
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Tools not offered do not appear in the client's tool list. A bad value or an unknown write tool stops the server
|
|
208
|
+
(exit 2). This limits what clients are offered; it is not authorization, so the account itself should be
|
|
209
|
+
least-privilege.
|
|
210
|
+
|
|
211
|
+
Details: `skills/vmware-debug/references/setup-guide.md` ("Serving MCP over HTTPS", "Limiting which tools are offered").
|
|
212
|
+
|
|
148
213
|
## License
|
|
149
214
|
|
|
150
215
|
MIT.
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
vmware_debug/__init__.py,sha256=
|
|
1
|
+
vmware_debug/__init__.py,sha256=0dK-ncVKNGTFt0B6J-gsebCoG4w8IvlMccw14J5iOtM,376
|
|
2
2
|
vmware_debug/cli.py,sha256=nho92ORzfyqEPPvnFWuAY3J5uyWpVdzx5kAd7DPmbcA,5690
|
|
3
3
|
vmware_debug/envelope.py,sha256=66AQzI_h4JoopUcFxHvqaFe48rYRZz0uX9Wdm5lDcuI,11235
|
|
4
|
+
vmware_debug/policy_roles.py,sha256=iaKA3rT5qg0tfjO59cZHjsJTF4xirIzmsxfkVytrgH0,844
|
|
4
5
|
vmware_debug/mcp/__init__.py,sha256=isuSzMWp1iXgJWGz2Q0JyUXlDTfcFfHNPSTHALuNHaA,220
|
|
5
6
|
vmware_debug/mcp/tools.py,sha256=TcWywxro1zqGYFmJC8NUgxb7DMyGpSQbZusJrHzqnGI,2796
|
|
6
7
|
vmware_debug/mcp_server/__init__.py,sha256=QZpQxriDdqDCYaS-HP7McsaPbTPbHwcamIwu-7UxY-E,49
|
|
7
|
-
vmware_debug/mcp_server/server.py,sha256=
|
|
8
|
+
vmware_debug/mcp_server/server.py,sha256=pzaqn3oZIgxszVmCzRGZY33rrvupgrdtsPxducXTiGc,47475
|
|
8
9
|
vmware_debug/ops/__init__.py,sha256=Co9u0zZexST7-IOUBOAS5eq5RHkaEeI2FqfYijzhI1g,46
|
|
9
10
|
vmware_debug/ops/skill_names.py,sha256=JkBaKBJYyq0RrEqzro-e-zhSVh7Cn5wlxjAoakgXSyY,3990
|
|
10
11
|
vmware_debug/ops/timeline.py,sha256=GzafF7jkEfa6cr3H2wO0At7fZEBdn_9m9_0Omh7faTs,27556
|
|
@@ -25,7 +26,7 @@ vmware_debug/ops/cases/store.py,sha256=dIgdAR111_gDoZ4rYbTtccuiaQVdksMCDoZOHKmbW
|
|
|
25
26
|
vmware_debug/ops/cases/timeline.py,sha256=WbJg2xUrqyHxMERBFYA-tgU9Mmy67whH9GGh96R8ifk,7843
|
|
26
27
|
vmware_debug/rules/evidence_sources.yaml,sha256=w8YOdUtKw-oi-t9c5ePJaktx7CwZlfFinH8aQAQfhzo,11387
|
|
27
28
|
vmware_debug/rules/grading_rules.yaml,sha256=USCp7D2geU_CZgscvo8GMHEHZPgqbzbjqE-qwWG3QtA,3261
|
|
28
|
-
vmware_debug-2.
|
|
29
|
-
vmware_debug-2.
|
|
30
|
-
vmware_debug-2.
|
|
31
|
-
vmware_debug-2.
|
|
29
|
+
vmware_debug-2.3.0.dist-info/METADATA,sha256=bwr3Fy4vc2DdqHHEwVaRQFbZCpZR-Ocu6NxYpncz894,11541
|
|
30
|
+
vmware_debug-2.3.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
31
|
+
vmware_debug-2.3.0.dist-info/entry_points.txt,sha256=4d14JRHy0ouSOfCJyczaxUFH6p8AsHZNS19AKom0v4c,109
|
|
32
|
+
vmware_debug-2.3.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|