vmware-aiops 0.6.0__tar.gz
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_aiops-0.6.0/.claude-plugin/marketplace.json +33 -0
- vmware_aiops-0.6.0/.env.example +18 -0
- vmware_aiops-0.6.0/.github/ISSUE_TEMPLATE/bug_report.yml +89 -0
- vmware_aiops-0.6.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
- vmware_aiops-0.6.0/.github/ISSUE_TEMPLATE/feature_request.yml +51 -0
- vmware_aiops-0.6.0/.github/PULL_REQUEST_TEMPLATE.md +38 -0
- vmware_aiops-0.6.0/.github/dependabot.yml +22 -0
- vmware_aiops-0.6.0/.gitignore +21 -0
- vmware_aiops-0.6.0/LICENSE +21 -0
- vmware_aiops-0.6.0/PKG-INFO +919 -0
- vmware_aiops-0.6.0/README-CN.md +547 -0
- vmware_aiops-0.6.0/README.md +897 -0
- vmware_aiops-0.6.0/RELEASE_NOTES.md +396 -0
- vmware_aiops-0.6.0/codex-skill/AGENTS.md +504 -0
- vmware_aiops-0.6.0/codex-skill/SKILL.md +9 -0
- vmware_aiops-0.6.0/config.example.yaml +44 -0
- vmware_aiops-0.6.0/examples/deploy.yaml +85 -0
- vmware_aiops-0.6.0/examples/mcp-configs/README.md +42 -0
- vmware_aiops-0.6.0/examples/mcp-configs/claude-code.json +12 -0
- vmware_aiops-0.6.0/examples/mcp-configs/continue.yaml +12 -0
- vmware_aiops-0.6.0/examples/mcp-configs/cursor.json +12 -0
- vmware_aiops-0.6.0/examples/mcp-configs/goose.json +10 -0
- vmware_aiops-0.6.0/examples/mcp-configs/localcowork.json +10 -0
- vmware_aiops-0.6.0/examples/mcp-configs/mcp-agent.yaml +13 -0
- vmware_aiops-0.6.0/examples/mcp-configs/vscode-copilot.json +13 -0
- vmware_aiops-0.6.0/gemini-extension/GEMINI.md +455 -0
- vmware_aiops-0.6.0/gemini-extension/gemini-extension.json +6 -0
- vmware_aiops-0.6.0/kimi-skill/SKILL.md +298 -0
- vmware_aiops-0.6.0/mcp_server/__init__.py +1 -0
- vmware_aiops-0.6.0/mcp_server/__main__.py +5 -0
- vmware_aiops-0.6.0/mcp_server/server.py +502 -0
- vmware_aiops-0.6.0/plugins/vmware-ops/.claude-plugin/plugin.json +25 -0
- vmware_aiops-0.6.0/plugins/vmware-ops/skills/vmware-aiops/SKILL.md +379 -0
- vmware_aiops-0.6.0/pyproject.toml +47 -0
- vmware_aiops-0.6.0/server.json +13 -0
- vmware_aiops-0.6.0/skills/vmware-aiops/SKILL.md +379 -0
- vmware_aiops-0.6.0/smithery.yaml +15 -0
- vmware_aiops-0.6.0/tests/__init__.py +0 -0
- vmware_aiops-0.6.0/tests/test_config.py +117 -0
- vmware_aiops-0.6.0/trae-rules/project_rules.md +123 -0
- vmware_aiops-0.6.0/vmware_aiops/__init__.py +3 -0
- vmware_aiops-0.6.0/vmware_aiops/cli.py +1156 -0
- vmware_aiops-0.6.0/vmware_aiops/config.py +154 -0
- vmware_aiops-0.6.0/vmware_aiops/connection.py +100 -0
- vmware_aiops-0.6.0/vmware_aiops/notify/__init__.py +1 -0
- vmware_aiops-0.6.0/vmware_aiops/notify/audit.py +88 -0
- vmware_aiops-0.6.0/vmware_aiops/notify/logger.py +43 -0
- vmware_aiops-0.6.0/vmware_aiops/notify/webhook.py +74 -0
- vmware_aiops-0.6.0/vmware_aiops/ops/__init__.py +1 -0
- vmware_aiops-0.6.0/vmware_aiops/ops/datastore_browser.py +215 -0
- vmware_aiops-0.6.0/vmware_aiops/ops/health.py +183 -0
- vmware_aiops-0.6.0/vmware_aiops/ops/inventory.py +143 -0
- vmware_aiops-0.6.0/vmware_aiops/ops/vm_deploy.py +791 -0
- vmware_aiops-0.6.0/vmware_aiops/ops/vm_lifecycle.py +443 -0
- vmware_aiops-0.6.0/vmware_aiops/scanner/__init__.py +1 -0
- vmware_aiops-0.6.0/vmware_aiops/scanner/alarm_scanner.py +37 -0
- vmware_aiops-0.6.0/vmware_aiops/scanner/log_scanner.py +175 -0
- vmware_aiops-0.6.0/vmware_aiops/scanner/scheduler.py +134 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
|
3
|
+
"name": "vmware-aiops",
|
|
4
|
+
"description": "VMware vCenter/ESXi AI-powered operations toolkit. Full operations including inventory, health monitoring, and VM lifecycle management. For read-only monitoring, see VMware-Monitor. / VMware vCenter/ESXi AI 运维工具包。完整运维功能,包含资产查询、健康监控及 VM 生命周期管理。只读监控请使用 VMware-Monitor。",
|
|
5
|
+
"owner": {
|
|
6
|
+
"name": "Wei Zhou / 周崴",
|
|
7
|
+
"url": "https://github.com/zw008"
|
|
8
|
+
},
|
|
9
|
+
"plugins": [
|
|
10
|
+
{
|
|
11
|
+
"name": "vmware-ops",
|
|
12
|
+
"description": "VMware vCenter/ESXi AI operations plugin — full operations including inventory, health monitoring, VM lifecycle (power, create, delete, snapshot, clone, migrate). Invoke: /vmware-ops:vmware-aiops. For read-only monitoring, see https://github.com/zw008/VMware-Monitor / VMware AI 运维插件 — 完整运维功能(资产查询、健康监控、VM 生命周期管理)。命令:/vmware-ops:vmware-aiops。只读监控请见 VMware-Monitor 仓库",
|
|
13
|
+
"version": "0.6.0",
|
|
14
|
+
"source": "./plugins/vmware-ops",
|
|
15
|
+
"category": "automation",
|
|
16
|
+
"homepage": "https://github.com/zw008/VMware-AIops",
|
|
17
|
+
"author": {
|
|
18
|
+
"name": "Wei Zhou / 周崴"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"vmware",
|
|
22
|
+
"vsphere",
|
|
23
|
+
"esxi",
|
|
24
|
+
"vcenter",
|
|
25
|
+
"pyvmomi",
|
|
26
|
+
"infrastructure",
|
|
27
|
+
"monitoring",
|
|
28
|
+
"automation",
|
|
29
|
+
"aiops"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# VMware AIops — Credential Template
|
|
2
|
+
# Copy to ~/.vmware-aiops/.env and fill in real passwords
|
|
3
|
+
#
|
|
4
|
+
# IMPORTANT: Set permissions after creating .env:
|
|
5
|
+
# cp .env.example ~/.vmware-aiops/.env
|
|
6
|
+
# chmod 600 ~/.vmware-aiops/.env
|
|
7
|
+
#
|
|
8
|
+
# Naming convention: VMWARE_{TARGET_NAME_UPPER}_PASSWORD
|
|
9
|
+
# - Replace hyphens with underscores
|
|
10
|
+
# - Convert to UPPERCASE
|
|
11
|
+
# - Example: target "home-esxi" → VMWARE_HOME_ESXI_PASSWORD
|
|
12
|
+
|
|
13
|
+
# Passwords for targets defined in config.yaml
|
|
14
|
+
VMWARE_PROD_VCENTER_PASSWORD=
|
|
15
|
+
VMWARE_LAB_ESXI_PASSWORD=
|
|
16
|
+
|
|
17
|
+
# Add more as needed — one per target in config.yaml
|
|
18
|
+
# VMWARE_DEV_VCENTER_PASSWORD=
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: Report a bug or unexpected behavior
|
|
3
|
+
title: "[Bug]: "
|
|
4
|
+
labels: ["bug"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
Thanks for reporting a bug! Please fill out the information below.
|
|
10
|
+
- type: textarea
|
|
11
|
+
id: description
|
|
12
|
+
attributes:
|
|
13
|
+
label: Description
|
|
14
|
+
description: A clear description of the bug
|
|
15
|
+
placeholder: What happened?
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
- type: textarea
|
|
19
|
+
id: steps
|
|
20
|
+
attributes:
|
|
21
|
+
label: Steps to Reproduce
|
|
22
|
+
description: How can we reproduce this issue?
|
|
23
|
+
placeholder: |
|
|
24
|
+
1. Run command '...'
|
|
25
|
+
2. See error '...'
|
|
26
|
+
validations:
|
|
27
|
+
required: true
|
|
28
|
+
- type: textarea
|
|
29
|
+
id: expected
|
|
30
|
+
attributes:
|
|
31
|
+
label: Expected Behavior
|
|
32
|
+
description: What did you expect to happen?
|
|
33
|
+
validations:
|
|
34
|
+
required: true
|
|
35
|
+
- type: textarea
|
|
36
|
+
id: actual
|
|
37
|
+
attributes:
|
|
38
|
+
label: Actual Behavior
|
|
39
|
+
description: What actually happened?
|
|
40
|
+
validations:
|
|
41
|
+
required: true
|
|
42
|
+
- type: input
|
|
43
|
+
id: python-version
|
|
44
|
+
attributes:
|
|
45
|
+
label: Python Version
|
|
46
|
+
placeholder: "3.12"
|
|
47
|
+
- type: dropdown
|
|
48
|
+
id: vsphere-version
|
|
49
|
+
attributes:
|
|
50
|
+
label: vSphere Version
|
|
51
|
+
options:
|
|
52
|
+
- "8.0"
|
|
53
|
+
- "7.0"
|
|
54
|
+
- "6.7"
|
|
55
|
+
- "6.5"
|
|
56
|
+
- "Other"
|
|
57
|
+
- type: dropdown
|
|
58
|
+
id: target-type
|
|
59
|
+
attributes:
|
|
60
|
+
label: Target Type
|
|
61
|
+
options:
|
|
62
|
+
- vCenter Server
|
|
63
|
+
- ESXi Standalone
|
|
64
|
+
- type: dropdown
|
|
65
|
+
id: ai-platform
|
|
66
|
+
attributes:
|
|
67
|
+
label: AI Platform
|
|
68
|
+
options:
|
|
69
|
+
- Claude Code
|
|
70
|
+
- Gemini CLI
|
|
71
|
+
- Codex CLI
|
|
72
|
+
- Aider
|
|
73
|
+
- Continue CLI
|
|
74
|
+
- Trae IDE
|
|
75
|
+
- Kimi Code CLI
|
|
76
|
+
- MCP Server
|
|
77
|
+
- Standalone CLI
|
|
78
|
+
- Other
|
|
79
|
+
- type: textarea
|
|
80
|
+
id: logs
|
|
81
|
+
attributes:
|
|
82
|
+
label: Error Logs
|
|
83
|
+
description: Paste any error messages or logs. **Please redact all passwords and sensitive information.**
|
|
84
|
+
render: shell
|
|
85
|
+
- type: input
|
|
86
|
+
id: os
|
|
87
|
+
attributes:
|
|
88
|
+
label: Operating System
|
|
89
|
+
placeholder: "macOS 15, Ubuntu 24.04, Windows 11, etc."
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
name: Feature Request
|
|
2
|
+
description: Suggest a new feature or improvement
|
|
3
|
+
title: "[Feature]: "
|
|
4
|
+
labels: ["enhancement"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
Thanks for suggesting a feature! Please describe your idea below.
|
|
10
|
+
- type: textarea
|
|
11
|
+
id: problem
|
|
12
|
+
attributes:
|
|
13
|
+
label: Problem
|
|
14
|
+
description: What problem does this feature solve?
|
|
15
|
+
placeholder: I'm frustrated when...
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
- type: textarea
|
|
19
|
+
id: solution
|
|
20
|
+
attributes:
|
|
21
|
+
label: Proposed Solution
|
|
22
|
+
description: How would you like this to work?
|
|
23
|
+
validations:
|
|
24
|
+
required: true
|
|
25
|
+
- type: textarea
|
|
26
|
+
id: alternatives
|
|
27
|
+
attributes:
|
|
28
|
+
label: Alternatives Considered
|
|
29
|
+
description: Any alternative solutions or workarounds you've considered?
|
|
30
|
+
- type: dropdown
|
|
31
|
+
id: area
|
|
32
|
+
attributes:
|
|
33
|
+
label: Area
|
|
34
|
+
options:
|
|
35
|
+
- Inventory
|
|
36
|
+
- Health & Monitoring
|
|
37
|
+
- VM Lifecycle
|
|
38
|
+
- vSAN
|
|
39
|
+
- Aria Operations
|
|
40
|
+
- VKS (Kubernetes)
|
|
41
|
+
- Scanning & Notifications
|
|
42
|
+
- CLI
|
|
43
|
+
- AI Platform Support
|
|
44
|
+
- MCP Server
|
|
45
|
+
- Documentation
|
|
46
|
+
- Other
|
|
47
|
+
- type: textarea
|
|
48
|
+
id: context
|
|
49
|
+
attributes:
|
|
50
|
+
label: Additional Context
|
|
51
|
+
description: Any other context, screenshots, or examples
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
## Summary
|
|
2
|
+
|
|
3
|
+
<!-- Brief description of what this PR does -->
|
|
4
|
+
|
|
5
|
+
## Changes
|
|
6
|
+
|
|
7
|
+
<!-- List the key changes -->
|
|
8
|
+
|
|
9
|
+
-
|
|
10
|
+
|
|
11
|
+
## Type
|
|
12
|
+
|
|
13
|
+
- [ ] Bug fix
|
|
14
|
+
- [ ] New feature
|
|
15
|
+
- [ ] Documentation
|
|
16
|
+
- [ ] Refactoring
|
|
17
|
+
- [ ] New AI platform support
|
|
18
|
+
- [ ] Other
|
|
19
|
+
|
|
20
|
+
## Testing
|
|
21
|
+
|
|
22
|
+
<!-- How was this tested? -->
|
|
23
|
+
|
|
24
|
+
- [ ] Tested against vCenter
|
|
25
|
+
- [ ] Tested against standalone ESXi
|
|
26
|
+
- [ ] Unit tests added/updated
|
|
27
|
+
- [ ] Manual testing completed
|
|
28
|
+
|
|
29
|
+
## Security Checklist
|
|
30
|
+
|
|
31
|
+
- [ ] No hardcoded passwords or credentials
|
|
32
|
+
- [ ] No sensitive information in logs or output
|
|
33
|
+
- [ ] Uses `ConnectionManager.from_config()` for connections
|
|
34
|
+
- [ ] Destructive operations have confirmation prompts
|
|
35
|
+
|
|
36
|
+
## Related Issues
|
|
37
|
+
|
|
38
|
+
<!-- Link any related issues: Fixes #123, Closes #456 -->
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: "pip"
|
|
4
|
+
directory: "/"
|
|
5
|
+
schedule:
|
|
6
|
+
interval: "weekly"
|
|
7
|
+
day: "monday"
|
|
8
|
+
open-pull-requests-limit: 10
|
|
9
|
+
labels:
|
|
10
|
+
- "dependencies"
|
|
11
|
+
commit-message:
|
|
12
|
+
prefix: "chore"
|
|
13
|
+
|
|
14
|
+
- package-ecosystem: "github-actions"
|
|
15
|
+
directory: "/"
|
|
16
|
+
schedule:
|
|
17
|
+
interval: "weekly"
|
|
18
|
+
day: "monday"
|
|
19
|
+
labels:
|
|
20
|
+
- "dependencies"
|
|
21
|
+
commit-message:
|
|
22
|
+
prefix: "ci"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
__pycache__/
|
|
2
|
+
*.py[cod]
|
|
3
|
+
*$py.class
|
|
4
|
+
*.egg-info/
|
|
5
|
+
dist/
|
|
6
|
+
build/
|
|
7
|
+
.eggs/
|
|
8
|
+
*.egg
|
|
9
|
+
.venv/
|
|
10
|
+
venv/
|
|
11
|
+
.env
|
|
12
|
+
*.log
|
|
13
|
+
.pytest_cache/
|
|
14
|
+
.ruff_cache/
|
|
15
|
+
htmlcov/
|
|
16
|
+
.coverage
|
|
17
|
+
config.yaml
|
|
18
|
+
.agents/
|
|
19
|
+
.claude/
|
|
20
|
+
.trae/
|
|
21
|
+
skills-lock.json
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Zhou Wei
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|