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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diagram-to-iac
3
- Version: 1.0.4
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 with GitHub Actions
32
+ ### 🎯 2-Minute Quick Start
33
+
34
+ **Step 1:** Add the unified workflow to your repository:
33
35
 
34
36
  ```yaml
35
- name: Deploy Infrastructure
37
+ # .github/workflows/r2d-unified.yml
38
+ name: R2D - DevOps in a Box
36
39
  on:
37
- push:
38
- branches: [main]
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
- runs-on: ubuntu-latest
43
- steps:
44
- - name: Deploy with R2D
45
- uses: amartyamandal/diagram-to-iac/.github/actions/r2d@v1
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
- Add the R2D action to your workflow for automated infrastructure deployment:
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
- ### Basic Setup
187
+ Add this single workflow file to get all R2D capabilities:
174
188
 
175
189
  ```yaml
176
- name: Deploy Infrastructure
190
+ # .github/workflows/r2d-unified.yml
191
+ name: R2D - DevOps in a Box
177
192
  on:
178
- push:
179
- branches: [main]
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
- runs-on: ubuntu-latest
184
- steps:
185
- - name: Deploy with R2D
186
- uses: amartyamandal/diagram-to-iac/.github/actions/r2d@v1
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
- ### Advanced Configuration
212
+ ### 🎮 Multiple Ways to Deploy
195
213
 
196
- ```yaml
197
- - name: Deploy with Custom Settings
198
- uses: amartyamandal/diagram-to-iac/.github/actions/r2d@v1
199
- with:
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 API token | ✅ Yes |
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
- ### Example Workflows
230
+ > 📚 **[Complete Setup Guide](docs/R2D_USER_GUIDE.md)** includes examples, troubleshooting, and advanced configurations.
225
231
 
226
- See [`.github/actions/r2d/examples/`](.github/actions/r2d/examples/) for complete workflow examples:
232
+ ## 📈 Observability & Monitoring
227
233
 
228
- - **Basic Deployment**: Simple push-to-deploy workflow
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
- After each workflow run, a Markdown dashboard is generated at `step-summary.md`
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
- This repository provides a container action that runs the `SupervisorAgent` on the current repository. Add the action to a workflow as shown below:
249
+ # Run the CLI locally
250
+ diagram-to-iac https://github.com/user/repo --dry-run
243
251
 
244
- ```yaml
245
- jobs:
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
- The action reads `GITHUB_REPOSITORY` and `GITHUB_TOKEN` automatically to clone the repository and execute the agent.
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.4.dist-info/METADATA,sha256=T5CbWJpZcJzrnRlEPH47EtIxumc12u0IBcrB4yLGCCc,9060
66
- diagram_to_iac-1.0.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
67
- diagram_to_iac-1.0.4.dist-info/entry_points.txt,sha256=DfGCnmgWWGHtQpqU8VqcUWs5k_be-bfO67z1vOuTitA,277
68
- diagram_to_iac-1.0.4.dist-info/top_level.txt,sha256=k1cV0YODiCUU46qlmbQaquMcbMXhNm05NZLxsinDUBA,15
69
- diagram_to_iac-1.0.4.dist-info/RECORD,,
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,,