You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-27Lines changed: 26 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,57 +1,55 @@
1
-
# X2A API
1
+
# X2A API - Chef to Ansible Conversion
2
2
3
3
## Overview
4
4
5
-
The X2A API is a FastAPI application that provides multiple specialized agents that handle Chef cookbook analysis, code generation, validation, and context retrieval using LlamaStack .
5
+
The X2A API is a FastAPI application that provides specialized agents for converting Chef cookbooks to Ansible playbooks. The system uses LlamaStack for AI-powered analysis, validation, and code generation, specifically focused on Chef to Ansible migration workflows.
6
6
7
7
## Architecture
8
8
9
-
10
-
11
9
### Core Components
12
10
13
-
-**FastAPI Application**: Multi-agent REST API platform
11
+
-**FastAPI Application**: Multi-agent REST API platform for Chef to Ansible conversion
14
12
-**LlamaStack Integration**: AI analysis engine using `meta-llama/Llama-3.1-8B-Instruct`
15
-
-**MCP Tools**: Model Context Protocol integration for ansible-lint validation
13
+
-**Custom Tools**: Custom ansible-lint tool integration for validation
16
14
-**Gunicorn/Uvicorn**: ASGI server for production deployment
17
15
18
16
### Container Image
19
17
20
18
The service is packaged using UBI 9 Python 3.11 base image:
21
19
22
20
```
23
-
ghcr.io/x2ansible/x2a-api:latest
21
+
ghcr.io/x2ansible/x2a-api-chef:latest
24
22
```
25
23
26
24
## Available Agents
27
25
28
26
### 1. Chef Analysis Agent (`/api/chef/*`)
29
-
Analyzes Chef cookbooks for migration planning.
27
+
Analyzes Chef cookbooks for migration planning and conversion to Ansible.
30
28
31
29
**Features:**
32
30
- Version requirement analysis (Chef/Ruby versions)
33
31
- Dependency mapping and wrapper detection
34
-
- Migration effort estimation
35
-
- Consolidation recommendations
32
+
- Migration effort estimation for Chef to Ansible conversion
33
+
- Consolidation recommendations for Ansible playbook structure
36
34
37
35
### 2. Context Agent (`/api/context/*`)
38
-
Retrieves infrastructure context using RAG (Retrieval-Augmented Generation).
36
+
Retrieves infrastructure context using RAG (Retrieval-Augmented Generation) for Chef to Ansible conversion.
39
37
40
38
**Features:**
41
39
- Knowledge search with vector database (ChromaDB)
42
-
- Best practices retrieval
43
-
- Pattern matching for infrastructure components
40
+
- Best practices retrieval for Ansible playbook creation
41
+
- Pattern matching for infrastructure components during conversion
44
42
45
43
### 3. Generate Agent (`/api/generate/*`)
46
-
Generates Ansible playbooks from input code.
44
+
Generates Ansible playbooks from Chef cookbook code.
47
45
48
46
**Features:**
49
-
-Code conversion (Chef/Puppet → Ansible)
47
+
- Chef to Ansible code conversion
50
48
- Context-aware playbook generation
51
49
- YAML format output without markdown wrappers
52
50
53
51
### 4. Validate Agent (`/api/validate/*`)
54
-
Validates Ansible playbooks using MCP ansible-lint integration.
52
+
Validates generated Ansible playbooks using custom ansible-lint tool integration.
0 commit comments