diagram-to-iac 1.0.4__py3-none-any.whl → 1.0.5__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.
- {diagram_to_iac-1.0.4.dist-info → diagram_to_iac-1.0.5.dist-info}/METADATA +91 -75
- {diagram_to_iac-1.0.4.dist-info → diagram_to_iac-1.0.5.dist-info}/RECORD +5 -5
- {diagram_to_iac-1.0.4.dist-info → diagram_to_iac-1.0.5.dist-info}/WHEEL +0 -0
- {diagram_to_iac-1.0.4.dist-info → diagram_to_iac-1.0.5.dist-info}/entry_points.txt +0 -0
- {diagram_to_iac-1.0.4.dist-info → diagram_to_iac-1.0.5.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: diagram-to-iac
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.5
|
4
4
|
Summary: Convert architecture diagrams into IaC modules
|
5
5
|
Author-email: vindpro <admin@vindpro.com>
|
6
6
|
Description-Content-Type: text/markdown
|
@@ -29,27 +29,39 @@ An automated DevOps-in-a-Box system that intelligently handles complete Repo-to-
|
|
29
29
|
|
30
30
|
The **R2D (Repo-to-Deployment) Action** is a self-healing, Terraform-first DevOps automation solution that lives inside a single GitHub Action. When you supply any repository URL, our SupervisorAgent marshals specialized agents to handle the complete deployment workflow.
|
31
31
|
|
32
|
-
### Quick Start
|
32
|
+
### 🎯 2-Minute Quick Start
|
33
|
+
|
34
|
+
**Step 1:** Add the unified workflow to your repository:
|
33
35
|
|
34
36
|
```yaml
|
35
|
-
|
37
|
+
# .github/workflows/r2d-unified.yml
|
38
|
+
name: R2D - DevOps in a Box
|
36
39
|
on:
|
37
|
-
|
38
|
-
|
40
|
+
issues:
|
41
|
+
types: [opened, edited]
|
42
|
+
pull_request:
|
43
|
+
types: [closed]
|
44
|
+
workflow_dispatch:
|
45
|
+
inputs:
|
46
|
+
repo_url:
|
47
|
+
description: 'Repository URL to deploy'
|
48
|
+
required: false
|
49
|
+
type: string
|
39
50
|
|
40
51
|
jobs:
|
41
|
-
deploy:
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
with:
|
47
|
-
repo: ${{ github.server_url }}/${{ github.repository }}
|
48
|
-
env:
|
49
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
50
|
-
TF_CLOUD_TOKEN: ${{ secrets.TF_CLOUD_TOKEN }}
|
52
|
+
r2d-deploy:
|
53
|
+
uses: amartyamandal/diagram-to-iac/.github/workflows/r2d-unified.yml@main
|
54
|
+
secrets: inherit
|
55
|
+
with:
|
56
|
+
repo_url: ${{ inputs.repo_url || github.server_url }}/${{ github.repository }}
|
51
57
|
```
|
52
58
|
|
59
|
+
**Step 2:** Configure your secrets (see [complete guide](docs/R2D_USER_GUIDE.md))
|
60
|
+
|
61
|
+
**Step 3:** Trigger deployment via issue, PR merge, or manual run
|
62
|
+
|
63
|
+
> 📚 **[Complete Setup Guide](docs/R2D_USER_GUIDE.md)** - Everything you need in one place!
|
64
|
+
|
53
65
|
### Key Features
|
54
66
|
|
55
67
|
- **🤖 Self-Healing**: Automatically creates GitHub Issues for errors and suggests fixes
|
@@ -168,89 +180,93 @@ In GitHub Actions, the following artifacts are automatically collected:
|
|
168
180
|
|
169
181
|
## 🔧 GitHub Actions Usage
|
170
182
|
|
171
|
-
|
183
|
+
The R2D system now uses a **unified workflow** that handles all deployment scenarios automatically. This replaces the previous multiple workflow files with a single, intelligent solution.
|
184
|
+
|
185
|
+
### ⚡ Simple Setup (Recommended)
|
172
186
|
|
173
|
-
|
187
|
+
Add this single workflow file to get all R2D capabilities:
|
174
188
|
|
175
189
|
```yaml
|
176
|
-
|
190
|
+
# .github/workflows/r2d-unified.yml
|
191
|
+
name: R2D - DevOps in a Box
|
177
192
|
on:
|
178
|
-
|
179
|
-
|
193
|
+
issues:
|
194
|
+
types: [opened, edited]
|
195
|
+
pull_request:
|
196
|
+
types: [closed]
|
197
|
+
workflow_dispatch:
|
198
|
+
inputs:
|
199
|
+
repo_url:
|
200
|
+
description: 'Repository URL to deploy'
|
201
|
+
required: false
|
202
|
+
type: string
|
180
203
|
|
181
204
|
jobs:
|
182
|
-
deploy:
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
with:
|
188
|
-
repo: ${{ github.server_url }}/${{ github.repository }}
|
189
|
-
env:
|
190
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
191
|
-
TF_CLOUD_TOKEN: ${{ secrets.TF_CLOUD_TOKEN }}
|
205
|
+
r2d-deploy:
|
206
|
+
uses: amartyamandal/diagram-to-iac/.github/workflows/r2d-unified.yml@main
|
207
|
+
secrets: inherit
|
208
|
+
with:
|
209
|
+
repo_url: ${{ inputs.repo_url || github.server_url }}/${{ github.repository }}
|
192
210
|
```
|
193
211
|
|
194
|
-
###
|
212
|
+
### 🎮 Multiple Ways to Deploy
|
195
213
|
|
196
|
-
|
197
|
-
-
|
198
|
-
|
199
|
-
|
200
|
-
repo: 'https://github.com/my-org/infrastructure'
|
201
|
-
package_version: 'v2.1.0'
|
202
|
-
dry_run: 'false'
|
203
|
-
branch_name: 'deploy-prod'
|
204
|
-
thread_id: 'prod-deployment-001'
|
205
|
-
env:
|
206
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
207
|
-
TF_CLOUD_TOKEN: ${{ secrets.TF_CLOUD_TOKEN }}
|
208
|
-
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
209
|
-
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
210
|
-
```
|
214
|
+
- **📝 Issue-based**: Create an issue with "deploy" in title/body
|
215
|
+
- **🔀 PR merge**: Automatic deployment when PRs are merged
|
216
|
+
- **🎯 Manual**: Use workflow_dispatch with optional custom repo URL
|
217
|
+
- **🔒 External repos**: Deploy any accessible repository
|
211
218
|
|
212
|
-
### Required Secrets
|
219
|
+
### 📋 Required Secrets
|
213
220
|
|
214
|
-
Configure these in your repository settings:
|
221
|
+
Configure these in your repository settings → Secrets and variables → Actions:
|
215
222
|
|
216
223
|
| Secret | Description | Required |
|
217
224
|
|--------|-------------|----------|
|
218
225
|
| `GITHUB_TOKEN` | GitHub API access (auto-provided) | ✅ Yes |
|
219
|
-
| `TF_CLOUD_TOKEN` | Terraform Cloud
|
220
|
-
| `OPENAI_API_KEY` | OpenAI API key | ❌ Optional |
|
221
|
-
| `ANTHROPIC_API_KEY` | Claude API key | ❌ Optional |
|
222
|
-
| `GOOGLE_API_KEY` | Gemini API key | ❌ Optional |
|
226
|
+
| `TF_CLOUD_TOKEN` | Terraform Cloud workspace token | ✅ Yes |
|
227
|
+
| `OPENAI_API_KEY` | OpenAI API key for AI features | ❌ Optional |
|
228
|
+
| `ANTHROPIC_API_KEY` | Claude API key for AI features | ❌ Optional |
|
223
229
|
|
224
|
-
|
230
|
+
> 📚 **[Complete Setup Guide](docs/R2D_USER_GUIDE.md)** includes examples, troubleshooting, and advanced configurations.
|
225
231
|
|
226
|
-
|
232
|
+
## 📈 Observability & Monitoring
|
227
233
|
|
228
|
-
|
229
|
-
- **Multi-Environment**: Deploy to dev/staging/prod with approvals
|
230
|
-
- **PR Validation**: Validate infrastructure changes in pull requests
|
231
|
-
- **Drift Detection**: Scheduled infrastructure drift monitoring
|
232
|
-
- **External Repository**: Deploy from external repositories
|
234
|
+
After each workflow run, comprehensive artifacts are generated:
|
233
235
|
|
236
|
+
- **📊 Step Summary Dashboard**: `step-summary.md` with Terraform changes, security findings, and metrics
|
237
|
+
- **📋 Structured Logs**: JSONL format in `logs/` directory for analysis
|
238
|
+
- **🔍 GitHub Integration**: Automatic issue creation and PR suggestions
|
239
|
+
- **📦 Artifacts**: Plans, reports, and logs uploaded as GitHub Actions artifacts
|
234
240
|
|
235
|
-
|
236
|
-
showing a high level overview of Terraform modules, resource changes and tfsec
|
237
|
-
findings. The dashboard is derived from the JSONL logs and can be viewed
|
238
|
-
directly in the repository or uploaded as a build artifact.
|
241
|
+
## 🧪 Development & Testing
|
239
242
|
|
243
|
+
For local development and testing:
|
240
244
|
|
245
|
+
```bash
|
246
|
+
# Install development dependencies
|
247
|
+
pip install -e .[dev]
|
241
248
|
|
242
|
-
|
249
|
+
# Run the CLI locally
|
250
|
+
diagram-to-iac https://github.com/user/repo --dry-run
|
243
251
|
|
244
|
-
|
245
|
-
|
246
|
-
supervisor:
|
247
|
-
runs-on: ubuntu-latest
|
248
|
-
steps:
|
249
|
-
- uses: actions/checkout@v4
|
250
|
-
- name: Run Supervisor Agent
|
251
|
-
uses: ./.github/actions/supervisor
|
252
|
-
env:
|
253
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
252
|
+
# Run tests
|
253
|
+
pytest
|
254
254
|
```
|
255
255
|
|
256
|
-
|
256
|
+
## 📚 Documentation
|
257
|
+
|
258
|
+
## 📚 Documentation
|
259
|
+
|
260
|
+
- **[R2D User Guide](docs/R2D_USER_GUIDE.md)** - Complete setup and usage guide
|
261
|
+
- **[Migration Guide](docs/MIGRATION_GUIDE.md)** - Migrate from old workflows to unified approach
|
262
|
+
- **[Container Action](.github/actions/r2d/)** - Technical details of the container action
|
263
|
+
- **[Agent Architecture](src/diagram_to_iac/agents/)** - How the AI agents work together
|
264
|
+
- **[Simplification Summary](docs/SIMPLIFICATION_COMPLETION_SUMMARY.md)** - What changed in the unified approach
|
265
|
+
|
266
|
+
## 🤝 Contributing
|
267
|
+
|
268
|
+
This project follows strict coding standards and security practices. See the development guidelines in the repository for contribution instructions.
|
269
|
+
|
270
|
+
---
|
271
|
+
|
272
|
+
> **"One container, many minds—zero manual toil."** 🤖
|
@@ -62,8 +62,8 @@ diagram_to_iac/tools/llm_utils/router.py,sha256=hl-y1CCvRoBWSpKpkDI_SSyi9YIT2ZA6
|
|
62
62
|
diagram_to_iac/tools/shell/__init__.py,sha256=6UZjBcnbPabA6Qy7t4j-dCi3S2sE6sB2bTE9PIL98bA,292
|
63
63
|
diagram_to_iac/tools/shell/shell.py,sha256=ZOJ7Vo3l_R2Gm6Ml2FL0RX__-C_JOsUrLJVvBMwAy9E,21122
|
64
64
|
diagram_to_iac/tools/tf/terraform.py,sha256=j1boWRo6JKpNGf1OwnWoWboO0gMYTizCOHDSxozoFZw,37343
|
65
|
-
diagram_to_iac-1.0.
|
66
|
-
diagram_to_iac-1.0.
|
67
|
-
diagram_to_iac-1.0.
|
68
|
-
diagram_to_iac-1.0.
|
69
|
-
diagram_to_iac-1.0.
|
65
|
+
diagram_to_iac-1.0.5.dist-info/METADATA,sha256=2P5RDic-pAsOp3aueq4yn6hkOQsDfl59cvAn-uyYdkI,9821
|
66
|
+
diagram_to_iac-1.0.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
67
|
+
diagram_to_iac-1.0.5.dist-info/entry_points.txt,sha256=DfGCnmgWWGHtQpqU8VqcUWs5k_be-bfO67z1vOuTitA,277
|
68
|
+
diagram_to_iac-1.0.5.dist-info/top_level.txt,sha256=k1cV0YODiCUU46qlmbQaquMcbMXhNm05NZLxsinDUBA,15
|
69
|
+
diagram_to_iac-1.0.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|