mcp-souschef 2.1.2__py3-none-any.whl → 2.2.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.
- {mcp_souschef-2.1.2.dist-info → mcp_souschef-2.2.0.dist-info}/METADATA +36 -8
- mcp_souschef-2.2.0.dist-info/RECORD +31 -0
- souschef/assessment.py +448 -180
- souschef/cli.py +90 -0
- souschef/converters/playbook.py +43 -5
- souschef/converters/resource.py +146 -49
- souschef/core/__init__.py +22 -0
- souschef/core/errors.py +275 -0
- souschef/deployment.py +412 -100
- souschef/parsers/habitat.py +35 -6
- souschef/parsers/inspec.py +72 -34
- souschef/parsers/metadata.py +59 -23
- souschef/profiling.py +568 -0
- souschef/server.py +589 -149
- mcp_souschef-2.1.2.dist-info/RECORD +0 -29
- {mcp_souschef-2.1.2.dist-info → mcp_souschef-2.2.0.dist-info}/WHEEL +0 -0
- {mcp_souschef-2.1.2.dist-info → mcp_souschef-2.2.0.dist-info}/entry_points.txt +0 -0
- {mcp_souschef-2.1.2.dist-info → mcp_souschef-2.2.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-souschef
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0
|
|
4
4
|
Summary: AI-powered MCP server for Chef to Ansible conversion
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -16,7 +16,7 @@ Requires-Dist: python-dotenv (>=1.2.1)
|
|
|
16
16
|
Requires-Dist: zod (>=0.8.0)
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
|
|
19
|
-
# Chef to Ansible migration - SousChef MCP
|
|
19
|
+
# Chef to Ansible migration - SousChef MCP
|
|
20
20
|
|
|
21
21
|
An AI-powered MCP (Model Context Protocol) server that provides comprehensive Chef-to-Ansible migration capabilities for enterprise infrastructure transformation.
|
|
22
22
|
|
|
@@ -246,6 +246,33 @@ generate_inspec_from_recipe /path/to/recipe.rb
|
|
|
246
246
|
convert_inspec_to_test /path/to/inspec_profile testinfra
|
|
247
247
|
```
|
|
248
248
|
|
|
249
|
+
### Performance Profiling & Optimization
|
|
250
|
+
Profile cookbook parsing performance to identify bottlenecks and optimize large-scale migrations:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
# Profile entire cookbook (all parsing operations)
|
|
254
|
+
souschef-cli profile /path/to/cookbook
|
|
255
|
+
|
|
256
|
+
# Save profiling report to file
|
|
257
|
+
souschef-cli profile /path/to/cookbook --output profile_report.txt
|
|
258
|
+
|
|
259
|
+
# Profile specific operations with detailed statistics
|
|
260
|
+
souschef-cli profile-operation recipe /path/to/recipe.rb --detailed
|
|
261
|
+
souschef-cli profile-operation attributes /path/to/attributes/default.rb
|
|
262
|
+
souschef-cli profile-operation template /path/to/template.erb
|
|
263
|
+
|
|
264
|
+
# MCP Tool Usage (from AI assistants)
|
|
265
|
+
profile_cookbook_performance /path/to/large_cookbook
|
|
266
|
+
profile_parsing_operation recipe /path/to/recipe.rb --detailed
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
**Features:**
|
|
270
|
+
- Execution time and peak memory tracking for all parsing operations
|
|
271
|
+
- Detailed cProfile statistics with top function calls
|
|
272
|
+
- Automatic performance recommendations based on thresholds
|
|
273
|
+
- Before/after comparison for optimization validation
|
|
274
|
+
- Integration with CLI and MCP for AI-assisted profiling
|
|
275
|
+
|
|
249
276
|
## Enterprise Features
|
|
250
277
|
|
|
251
278
|
### Migration Assessment & Reporting
|
|
@@ -437,7 +464,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
437
464
|
|
|
438
465
|
## Roadmap
|
|
439
466
|
|
|
440
|
-
### Completed
|
|
467
|
+
### Completed ✅
|
|
441
468
|
- Complete Chef cookbook parsing (recipes, attributes, metadata, templates)
|
|
442
469
|
- InSpec profile parsing and conversion to Testinfra/Ansible tests
|
|
443
470
|
- Chef resource to Ansible task conversion with module mapping
|
|
@@ -455,12 +482,13 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
455
482
|
- Automated branch cleanup for release PRs
|
|
456
483
|
- Automated conversion validation and testing framework
|
|
457
484
|
- Chef Habitat to containerized deployment conversion (parse_habitat_plan, convert_habitat_to_dockerfile, generate_compose_from_habitat)
|
|
485
|
+
- Enhanced error handling with custom exceptions and actionable recovery suggestions
|
|
486
|
+
- Technical debt reduction - ALL PHASES COMPLETE: 16 functions refactored (15 C-grade eliminated, 70+ helpers extracted, average 77% complexity reduction, zero C-grade functions remaining)
|
|
487
|
+
- Performance profiling and optimization for large cookbooks (profiling module, CLI commands, MCP tools)
|
|
458
488
|
|
|
459
|
-
### In Progress
|
|
460
|
-
-
|
|
461
|
-
- Documentation
|
|
462
|
-
- Performance optimizations for large-scale enterprise migrations
|
|
463
|
-
- Technical debt reduction (15 functions tracked in [GitHub Issues](https://github.com/kpeacocke/souschef/issues?q=is%3Aissue+is%3Aopen+label%3Atechnical-debt))
|
|
489
|
+
### In Progress 🚧
|
|
490
|
+
- Documentation website with MkDocs + Material theme
|
|
491
|
+
- Documentation content (Getting Started, Tool Reference, Migration Guide)
|
|
464
492
|
|
|
465
493
|
### Planned 📅
|
|
466
494
|
- 📅 Integration with additional test frameworks (ServerSpec, Goss)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
souschef/__init__.py,sha256=Lkrvi2wu-OMRkdlwzxencm8QzBKc1FpK4y6SWhKqrqI,432
|
|
2
|
+
souschef/assessment.py,sha256=VZ5M-Kj2j0_U1q88w1ZFV_jyAjZe6_S0NZH8Mmvoc3k,51044
|
|
3
|
+
souschef/cli.py,sha256=iq-0opbFBo7Lp4YYKJJZlmqlO3R5eDmHCE62LAEjCrc,14459
|
|
4
|
+
souschef/converters/__init__.py,sha256=WHBBPH60_rPX1LVieimqIYlVzeV8ttG4Q7N1dMUMBb0,681
|
|
5
|
+
souschef/converters/habitat.py,sha256=4eVGAcX0576zLXW9yqYvuaRxOK2g6BOIJo_ws-PonHU,22516
|
|
6
|
+
souschef/converters/playbook.py,sha256=i8HKxoJPLzw47rsq3pXreYSqte5_lBozgbTdyzMnIwA,57336
|
|
7
|
+
souschef/converters/resource.py,sha256=9cuAeTxVwl7aejFxozW8nQXMvapnT1LKu77duuknZnc,9692
|
|
8
|
+
souschef/core/__init__.py,sha256=80a0G6wQGfh-Z7U1gsFaeC97bM4sp_3YGil-lN02Pl0,1894
|
|
9
|
+
souschef/core/constants.py,sha256=wJBKtDUpGUD02RZUT7RPclITJqkeJKe9ny6_G-qSCOw,4694
|
|
10
|
+
souschef/core/errors.py,sha256=zj_LHDRxUvHmcs-nZjOWu4B_MhY5WVq2okyZOxyycCI,8605
|
|
11
|
+
souschef/core/path_utils.py,sha256=zfhNDQtSgiO8nK_3-uOZuM28rn3AVuRZ81o-D9Mrt1E,1731
|
|
12
|
+
souschef/core/ruby_utils.py,sha256=vUeFZBdjbFFFJlwo4fIboR23rXmbcYL2Tztt4RYhps0,1043
|
|
13
|
+
souschef/core/validation.py,sha256=tKDPQvPGZ9dtR9UnjCbcCXqPg_ApdXRW0nEDz2vpxYs,16674
|
|
14
|
+
souschef/deployment.py,sha256=oO93ak-CLQSh_Gn5hM78QwFuHJKMgo2ks_3NFV9X_YY,60300
|
|
15
|
+
souschef/filesystem/__init__.py,sha256=2H7Pdeedz0MfmgpRlmii_vx61qr0jtxFndT0APPm6Qs,142
|
|
16
|
+
souschef/filesystem/operations.py,sha256=NqVz4rT9-2VuiMMp6qY8yU70Z4dSPPK0NvKQKGlzEzY,1782
|
|
17
|
+
souschef/parsers/__init__.py,sha256=W-fDU1cIrhYvvgcdWdy58xh0GtcoUSelBpzkpo4bfYA,1031
|
|
18
|
+
souschef/parsers/attributes.py,sha256=JrxBYUOdE1Uu7c7mlqdjmyvZhXvuQ2VFzC19JpVUZ5U,7919
|
|
19
|
+
souschef/parsers/habitat.py,sha256=CtVgLfmpo7SLp-ADyR-DXRYaRUur3bwJjlnpLyocMhc,10483
|
|
20
|
+
souschef/parsers/inspec.py,sha256=cmUks_BjcZrUW78eX--VMBskDDQQNALPj-cHEOih8rY,23361
|
|
21
|
+
souschef/parsers/metadata.py,sha256=xeKgsZ1RH8SG2gmb4mukM2x3KUdPwAvMYUj-1N8sYtk,5439
|
|
22
|
+
souschef/parsers/recipe.py,sha256=6PuslWMc0R8HlMaS8FaMKc0FtfuPfH4jVEP29QiCezQ,5941
|
|
23
|
+
souschef/parsers/resource.py,sha256=EHxmojbQ7Hx5GsL5-x9mFBYk3FhGTpx-qw1uUVKQkRo,5348
|
|
24
|
+
souschef/parsers/template.py,sha256=iOHMoQH7KkPzigTyyoxav8rb2ENYmfxgcvKGqvoYkgU,10532
|
|
25
|
+
souschef/profiling.py,sha256=a6Pn57CZR3UPR1YIY8gfbuTPRuPkFrfIFBmctOcaZgY,17315
|
|
26
|
+
souschef/server.py,sha256=MHYQwo_fTvUYhJ9f1mIMT-LL4ELgvCVUaf3SqZPITBU,80037
|
|
27
|
+
mcp_souschef-2.2.0.dist-info/METADATA,sha256=YMhHfw3xZi7JiXmxXKJbyrEnnXPXi15w1HETjpKYQn0,43106
|
|
28
|
+
mcp_souschef-2.2.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
29
|
+
mcp_souschef-2.2.0.dist-info/entry_points.txt,sha256=CKlj3OhURaO6qPn3jrFiKe9hCIP5laDMAkRsiUZVWA0,80
|
|
30
|
+
mcp_souschef-2.2.0.dist-info/licenses/LICENSE,sha256=t31dYSuvYYNw6trj-coWSsLK-Tg_Iyl8ObcolQcrUKM,1078
|
|
31
|
+
mcp_souschef-2.2.0.dist-info/RECORD,,
|