runbooks 0.7.0__py3-none-any.whl → 0.7.6__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.
- runbooks/__init__.py +87 -37
- runbooks/cfat/README.md +300 -49
- runbooks/cfat/__init__.py +2 -2
- runbooks/finops/__init__.py +1 -1
- runbooks/finops/cli.py +1 -1
- runbooks/inventory/collectors/__init__.py +8 -0
- runbooks/inventory/collectors/aws_management.py +791 -0
- runbooks/inventory/collectors/aws_networking.py +3 -3
- runbooks/main.py +3389 -782
- runbooks/operate/__init__.py +207 -0
- runbooks/operate/base.py +311 -0
- runbooks/operate/cloudformation_operations.py +619 -0
- runbooks/operate/cloudwatch_operations.py +496 -0
- runbooks/operate/dynamodb_operations.py +812 -0
- runbooks/operate/ec2_operations.py +926 -0
- runbooks/operate/iam_operations.py +569 -0
- runbooks/operate/s3_operations.py +1211 -0
- runbooks/operate/tagging_operations.py +655 -0
- runbooks/remediation/CLAUDE.md +100 -0
- runbooks/remediation/DOME9.md +218 -0
- runbooks/remediation/README.md +26 -0
- runbooks/remediation/Tests/__init__.py +0 -0
- runbooks/remediation/Tests/update_policy.py +74 -0
- runbooks/remediation/__init__.py +95 -0
- runbooks/remediation/acm_cert_expired_unused.py +98 -0
- runbooks/remediation/acm_remediation.py +875 -0
- runbooks/remediation/api_gateway_list.py +167 -0
- runbooks/remediation/base.py +643 -0
- runbooks/remediation/cloudtrail_remediation.py +908 -0
- runbooks/remediation/cloudtrail_s3_modifications.py +296 -0
- runbooks/remediation/cognito_active_users.py +78 -0
- runbooks/remediation/cognito_remediation.py +856 -0
- runbooks/remediation/cognito_user_password_reset.py +163 -0
- runbooks/remediation/commons.py +455 -0
- runbooks/remediation/dynamodb_optimize.py +155 -0
- runbooks/remediation/dynamodb_remediation.py +744 -0
- runbooks/remediation/dynamodb_server_side_encryption.py +108 -0
- runbooks/remediation/ec2_public_ips.py +134 -0
- runbooks/remediation/ec2_remediation.py +892 -0
- runbooks/remediation/ec2_subnet_disable_auto_ip_assignment.py +72 -0
- runbooks/remediation/ec2_unattached_ebs_volumes.py +448 -0
- runbooks/remediation/ec2_unused_security_groups.py +202 -0
- runbooks/remediation/kms_enable_key_rotation.py +651 -0
- runbooks/remediation/kms_remediation.py +717 -0
- runbooks/remediation/lambda_list.py +243 -0
- runbooks/remediation/lambda_remediation.py +971 -0
- runbooks/remediation/multi_account.py +569 -0
- runbooks/remediation/rds_instance_list.py +199 -0
- runbooks/remediation/rds_remediation.py +873 -0
- runbooks/remediation/rds_snapshot_list.py +192 -0
- runbooks/remediation/requirements.txt +118 -0
- runbooks/remediation/s3_block_public_access.py +159 -0
- runbooks/remediation/s3_bucket_public_access.py +143 -0
- runbooks/remediation/s3_disable_static_website_hosting.py +74 -0
- runbooks/remediation/s3_downloader.py +215 -0
- runbooks/remediation/s3_enable_access_logging.py +562 -0
- runbooks/remediation/s3_encryption.py +526 -0
- runbooks/remediation/s3_force_ssl_secure_policy.py +143 -0
- runbooks/remediation/s3_list.py +141 -0
- runbooks/remediation/s3_object_search.py +201 -0
- runbooks/remediation/s3_remediation.py +816 -0
- runbooks/remediation/scan_for_phrase.py +425 -0
- runbooks/remediation/workspaces_list.py +220 -0
- runbooks/security/__init__.py +9 -10
- runbooks/security/security_baseline_tester.py +4 -2
- runbooks-0.7.6.dist-info/METADATA +608 -0
- {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/RECORD +84 -76
- {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/entry_points.txt +0 -1
- {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/top_level.txt +0 -1
- jupyter-agent/.env +0 -2
- jupyter-agent/.env.template +0 -2
- jupyter-agent/.gitattributes +0 -35
- jupyter-agent/.gradio/certificate.pem +0 -31
- jupyter-agent/README.md +0 -16
- jupyter-agent/__main__.log +0 -8
- jupyter-agent/app.py +0 -256
- jupyter-agent/cloudops-agent.png +0 -0
- jupyter-agent/ds-system-prompt.txt +0 -154
- jupyter-agent/jupyter-agent.png +0 -0
- jupyter-agent/llama3_template.jinja +0 -123
- jupyter-agent/requirements.txt +0 -9
- jupyter-agent/tmp/4ojbs8a02ir/jupyter-agent.ipynb +0 -68
- jupyter-agent/tmp/cm5iasgpm3p/jupyter-agent.ipynb +0 -91
- jupyter-agent/tmp/crqbsseag5/jupyter-agent.ipynb +0 -91
- jupyter-agent/tmp/hohanq1u097/jupyter-agent.ipynb +0 -57
- jupyter-agent/tmp/jns1sam29wm/jupyter-agent.ipynb +0 -53
- jupyter-agent/tmp/jupyter-agent.ipynb +0 -27
- jupyter-agent/utils.py +0 -409
- runbooks/aws/__init__.py +0 -58
- runbooks/aws/dynamodb_operations.py +0 -231
- runbooks/aws/ec2_copy_image_cross-region.py +0 -195
- runbooks/aws/ec2_describe_instances.py +0 -202
- runbooks/aws/ec2_ebs_snapshots_delete.py +0 -186
- runbooks/aws/ec2_run_instances.py +0 -213
- runbooks/aws/ec2_start_stop_instances.py +0 -212
- runbooks/aws/ec2_terminate_instances.py +0 -143
- runbooks/aws/ec2_unused_eips.py +0 -196
- runbooks/aws/ec2_unused_volumes.py +0 -188
- runbooks/aws/s3_create_bucket.py +0 -142
- runbooks/aws/s3_list_buckets.py +0 -152
- runbooks/aws/s3_list_objects.py +0 -156
- runbooks/aws/s3_object_operations.py +0 -183
- runbooks/aws/tagging_lambda_handler.py +0 -183
- runbooks/inventory/FAILED_SCRIPTS_TROUBLESHOOTING.md +0 -619
- runbooks/inventory/PASSED_SCRIPTS_GUIDE.md +0 -738
- runbooks/inventory/aws_organization.png +0 -0
- runbooks/inventory/cfn_move_stack_instances.py +0 -1526
- runbooks/inventory/delete_s3_buckets_objects.py +0 -169
- runbooks/inventory/lockdown_cfn_stackset_role.py +0 -224
- runbooks/inventory/update_aws_actions.py +0 -173
- runbooks/inventory/update_cfn_stacksets.py +0 -1215
- runbooks/inventory/update_cloudwatch_logs_retention_policy.py +0 -294
- runbooks/inventory/update_iam_roles_cross_accounts.py +0 -478
- runbooks/inventory/update_s3_public_access_block.py +0 -539
- runbooks/organizations/__init__.py +0 -12
- runbooks/organizations/manager.py +0 -374
- runbooks-0.7.0.dist-info/METADATA +0 -375
- /runbooks/inventory/{tests → Tests}/common_test_data.py +0 -0
- /runbooks/inventory/{tests → Tests}/common_test_functions.py +0 -0
- /runbooks/inventory/{tests → Tests}/script_test_data.py +0 -0
- /runbooks/inventory/{tests → Tests}/setup.py +0 -0
- /runbooks/inventory/{tests → Tests}/src.py +0 -0
- /runbooks/inventory/{tests/test_inventory_modules.py → Tests/test_Inventory_Modules.py} +0 -0
- /runbooks/inventory/{tests → Tests}/test_cfn_describe_stacks.py +0 -0
- /runbooks/inventory/{tests → Tests}/test_ec2_describe_instances.py +0 -0
- /runbooks/inventory/{tests → Tests}/test_lambda_list_functions.py +0 -0
- /runbooks/inventory/{tests → Tests}/test_moto_integration_example.py +0 -0
- /runbooks/inventory/{tests → Tests}/test_org_list_accounts.py +0 -0
- /runbooks/inventory/{Inventory_Modules.py → inventory_modules.py} +0 -0
- /runbooks/{aws → operate}/tags.json +0 -0
- {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/WHEEL +0 -0
- {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/licenses/LICENSE +0 -0
@@ -1,375 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: runbooks
|
3
|
-
Version: 0.7.0
|
4
|
-
Summary: CloudOps Automation Toolkit with Enhanced Cloud Foundations Assessment for DevOps and SRE teams.
|
5
|
-
Author-email: Maintainers <nnthanh101@gmail.com>
|
6
|
-
License-Expression: Apache-2.0
|
7
|
-
Project-URL: Homepage, https://cloudops.oceansoft.io
|
8
|
-
Project-URL: Repository, https://github.com/1xOps/CloudOps-Runbooks
|
9
|
-
Project-URL: Documentation, https://cloudops.oceansoft.io/runbooks/
|
10
|
-
Project-URL: Issues, https://github.com/1xOps/CloudOps-Runbooks/issues
|
11
|
-
Project-URL: Changelog, https://github.com/1xOps/CloudOps-Runbooks/blob/main/CHANGELOG.md
|
12
|
-
Keywords: runbooks,automation,DevOps,SRE,CloudOps,AWS,cloud-foundations,FinOps
|
13
|
-
Classifier: Development Status :: 5 - Production/Stable
|
14
|
-
Classifier: Environment :: Console
|
15
|
-
Classifier: Operating System :: OS Independent
|
16
|
-
Classifier: Programming Language :: Python :: 3
|
17
|
-
Classifier: Programming Language :: Python :: 3.11
|
18
|
-
Classifier: Programming Language :: Python :: 3.12
|
19
|
-
Classifier: Programming Language :: Python :: 3.13
|
20
|
-
Classifier: Topic :: System :: Systems Administration
|
21
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
22
|
-
Classifier: Topic :: Utilities
|
23
|
-
Requires-Python: <3.14,>=3.11
|
24
|
-
Description-Content-Type: text/markdown
|
25
|
-
License-File: LICENSE
|
26
|
-
Requires-Dist: boto3>=1.35.40
|
27
|
-
Requires-Dist: botocore>=1.35.40
|
28
|
-
Requires-Dist: diagrams>=0.24.4
|
29
|
-
Requires-Dist: click>=8.2.1
|
30
|
-
Requires-Dist: pydantic>=2.10.0
|
31
|
-
Requires-Dist: jinja2>=3.1.4
|
32
|
-
Requires-Dist: werkzeug>=3.1.0
|
33
|
-
Requires-Dist: markdown>=3.7.0
|
34
|
-
Requires-Dist: prettytable>=3.16.0
|
35
|
-
Requires-Dist: simplejson>=3.20.1
|
36
|
-
Requires-Dist: python-dateutil>=2.9.0
|
37
|
-
Requires-Dist: loguru>=0.7.3
|
38
|
-
Requires-Dist: tqdm>=4.67.1
|
39
|
-
Requires-Dist: rich>=14.0.0
|
40
|
-
Requires-Dist: reportlab>=3.6.1
|
41
|
-
Requires-Dist: requests>=2.32.0
|
42
|
-
Requires-Dist: packaging>=21.0
|
43
|
-
Requires-Dist: pyyaml>=6.0.2
|
44
|
-
Requires-Dist: jmespath>=1.0.1
|
45
|
-
Requires-Dist: urllib3<1.27,>=1.26.18
|
46
|
-
Dynamic: license-file
|
47
|
-
|
48
|
-
# 🚀 CloudOps Runbooks - Enterprise AWS Automation Toolkit
|
49
|
-
|
50
|
-
[](https://pypi.org/project/runbooks/)
|
51
|
-
[](https://pypi.org/project/runbooks/)
|
52
|
-
[](https://opensource.org/licenses/Apache-2.0)
|
53
|
-
[](https://cloudops.oceansoft.io/runbooks/)
|
54
|
-
[](https://github.com/1xOps/CloudOps-Runbooks/actions)
|
55
|
-
[](https://github.com/astral-sh/ruff)
|
56
|
-
[](https://mypy-lang.org/)
|
57
|
-
[](https://pytest.org/)
|
58
|
-
|
59
|
-
> **Enterprise-grade AWS automation toolkit for cloud operations (SRE and DevOps teams) at scale**
|
60
|
-
|
61
|
-
CloudOps Runbooks provides comprehensive AWS resource discovery, inventory management, and automation capabilities with enterprise-grade architecture, type safety, and validation.
|
62
|
-
|
63
|
-
|
64
|
-
## 🚀 Overview
|
65
|
-
|
66
|
-
CloudOps Runbooks is a production-ready AWS automation framework that combines traditional scripting excellence with modern AI orchestration. Designed for enterprises managing complex multi-account AWS environments, it delivers comprehensive discovery, intelligent analysis, and automated remediation across 50+ AWS services.
|
67
|
-
|
68
|
-
> Why CloudOps Runbooks?
|
69
|
-
|
70
|
-
- **🎯 Proven in Production**: Deployed across enterprises managing 50+ AWS accounts
|
71
|
-
- **🤖 AI-Ready Architecture**: Native integration with AI-Agents and MCP-servers
|
72
|
-
- **⚡ Blazing Fast**: Parallel execution reducing discovery time by 60%
|
73
|
-
- **🔒 Enterprise Security**: Zero-trust validation, compliance automation, and audit trails
|
74
|
-
- **💰 Cost Intelligence**: Identifies 25-50% optimization opportunities automatically
|
75
|
-
- **🏗️ AWS Landing Zone Native**: Purpose-built for Multi-Organizations Landing Zone
|
76
|
-
|
77
|
-
## 🌟 Key Features
|
78
|
-
|
79
|
-
### 🔍 **Comprehensive AWS Discovery**
|
80
|
-
- **Multi-Account Inventory**: Seamless discover resources (EC2, RDS, Lambda, ECS, S3, IAM, and more) across entire AWS Organizations
|
81
|
-
- **Cross-Region Support**: Parallel scanning of all available AWS regions
|
82
|
-
- **Resource Coverage**: 50+ AWS resource types across all major services
|
83
|
-
- **Real-time Collection**: Concurrent collection with progress tracking
|
84
|
-
|
85
|
-
### 🏗️ **Enterprise Architecture**
|
86
|
-
- **Type Safety**: Full Pydantic V2 models with runtime validation
|
87
|
-
- **Modular Design**: Service-specific collectors with common interfaces
|
88
|
-
- **Extensibility**: Easy to add new collectors and resource types
|
89
|
-
- **Error Handling**: Comprehensive error tracking and retry logic
|
90
|
-
|
91
|
-
|
92
|
-
### Hybrid Intelligence Integration
|
93
|
-
|
94
|
-
- **MCP Server Integration**: Real-time AWS API access without custom code
|
95
|
-
- **AI Agent Orchestration**: AI-powered analysis and recommendations
|
96
|
-
- **Evidence Pipeline**: Unified data normalization and correlation
|
97
|
-
- **Intelligent Prioritization**: ML-based resource targeting
|
98
|
-
|
99
|
-
### 💰 **Cost Integration**
|
100
|
-
- **Cost Estimation**: Automatic cost calculations for billable resources
|
101
|
-
- **Cost Analytics**: Cost breakdown by service, account, and region
|
102
|
-
- **Budget Tracking**: Resource cost monitoring and alerting
|
103
|
-
|
104
|
-
### 📊 **Multiple Output Formats**
|
105
|
-
- **Structured Data**: JSON, CSV, Excel, Parquet
|
106
|
-
- **Visual Reports**: HTML reports with charts and graphs
|
107
|
-
- **Console Output**: Rich table formatting with colors
|
108
|
-
- **API Integration**: REST API for programmatic access
|
109
|
-
|
110
|
-
### 🔒 **Security & Compliance**
|
111
|
-
- **IAM Integration**: Role-based access control
|
112
|
-
- **Audit Logging**: Comprehensive operation logging
|
113
|
-
- **Encryption**: Secure credential management
|
114
|
-
- **Compliance Reports**: Security and compliance validation
|
115
|
-
|
116
|
-
## 🚀 Quick Start Excellence: Progressive Examples
|
117
|
-
|
118
|
-
### 📦 Installation
|
119
|
-
|
120
|
-
```bash
|
121
|
-
# Install using UV (recommended for speed and reliability)
|
122
|
-
uv add runbooks
|
123
|
-
|
124
|
-
# Or using pip
|
125
|
-
pip install runbooks
|
126
|
-
|
127
|
-
# Development installation
|
128
|
-
git clone https://github.com/1xOps/CloudOps-Runbooks.git
|
129
|
-
cd CloudOps-Runbooks
|
130
|
-
uv sync --all-extras --dev
|
131
|
-
```
|
132
|
-
|
133
|
-
### 🔰 Level 1: Basic Single Account Discovery
|
134
|
-
|
135
|
-
**Goal**: Discover EC2 instances in your current AWS account
|
136
|
-
|
137
|
-
```bash
|
138
|
-
# Set up your AWS credentials
|
139
|
-
export AWS_PROFILE="your-aws-profile"
|
140
|
-
aws sts get-caller-identity # Verify access
|
141
|
-
|
142
|
-
# Basic EC2 instance discovery
|
143
|
-
cd CloudOps-Runbooks
|
144
|
-
python src/runbooks/inventory/list_ec2_instances.py --profile $AWS_PROFILE --regions us-east-1 --timing
|
145
|
-
|
146
|
-
# Example output:
|
147
|
-
# Finding instances from 1 locations: 100%|██████████| 1/1 [00:02<00:00, 2.43 locations/s]
|
148
|
-
# Found 12 instances across 1 account across 1 region
|
149
|
-
# This script completed in 3.45 seconds
|
150
|
-
```
|
151
|
-
|
152
|
-
### 🏃 Level 2: Multi-Service Resource Discovery
|
153
|
-
|
154
|
-
**Goal**: Discover multiple AWS resource types efficiently
|
155
|
-
|
156
|
-
```bash
|
157
|
-
# EBS Volumes with orphan detection
|
158
|
-
python src/runbooks/inventory/list_ec2_ebs_volumes.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
159
|
-
|
160
|
-
# Lambda Functions with cost analysis
|
161
|
-
python src/runbooks/inventory/list_lambda_functions.py --profile $AWS_PROFILE --regions ap-southeast-2
|
162
|
-
|
163
|
-
# RDS Instances across multiple regions
|
164
|
-
python src/runbooks/inventory/list_rds_db_instances.py --profile $AWS_PROFILE --regions us-east-1,eu-west-1,ap-southeast-2
|
165
|
-
|
166
|
-
# Security Groups analysis
|
167
|
-
python src/runbooks/inventory/find_ec2_security_groups.py --profile $AWS_PROFILE --regions us-east-1 --defaults
|
168
|
-
```
|
169
|
-
|
170
|
-
### 🏢 Level 3: Enterprise Multi-Account Operations
|
171
|
-
|
172
|
-
**Goal**: Organization-wide resource discovery and compliance
|
173
|
-
|
174
|
-
```bash
|
175
|
-
# Comprehensive inventory across AWS Organizations
|
176
|
-
python src/runbooks/inventory/list_org_accounts.py --profile $AWS_PROFILE
|
177
|
-
|
178
|
-
# Multi-account CloudFormation stack discovery
|
179
|
-
python src/runbooks/inventory/list_cfn_stacks.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
180
|
-
|
181
|
-
# Organization-wide GuardDuty detector inventory
|
182
|
-
python src/runbooks/inventory/list_guardduty_detectors.py --profile $AWS_PROFILE --regions ap-southeast-2
|
183
|
-
|
184
|
-
# CloudTrail compliance validation
|
185
|
-
python src/runbooks/inventory/check_cloudtrail_compliance.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
186
|
-
```
|
187
|
-
|
188
|
-
### 🚀 Level 4: Autonomous Testing Framework
|
189
|
-
|
190
|
-
**Goal**: Automated testing and validation of entire inventory suite
|
191
|
-
|
192
|
-
```bash
|
193
|
-
# Test individual script
|
194
|
-
./src/runbooks/inventory/inventory.sh list_ec2_instances.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
195
|
-
|
196
|
-
# Test specific script category with detailed analysis
|
197
|
-
./src/runbooks/inventory/inventory.sh list_ec2_ebs_volumes.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
198
|
-
|
199
|
-
# Full autonomous test suite (20+ core scripts)
|
200
|
-
./src/runbooks/inventory/inventory.sh all --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
201
|
-
|
202
|
-
# Review test results and analysis
|
203
|
-
ls test_logs_*/
|
204
|
-
cat test_logs_*/test_execution.log
|
205
|
-
```
|
206
|
-
|
207
|
-
### 🔬 Level 5: Advanced Integration & Analysis
|
208
|
-
|
209
|
-
**Goal**: Production-grade automation with comprehensive reporting
|
210
|
-
|
211
|
-
```bash
|
212
|
-
# 1. VPC Network Discovery with Subnet Analysis
|
213
|
-
python src/runbooks/inventory/list_vpc_subnets.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
214
|
-
python src/runbooks/inventory/list_vpcs.py --profile $AWS_PROFILE --regions ap-southeast-2
|
215
|
-
|
216
|
-
# 2. Load Balancer Infrastructure Mapping
|
217
|
-
python src/runbooks/inventory/list_elbs_load_balancers.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
218
|
-
|
219
|
-
# 3. IAM Security Posture Assessment
|
220
|
-
python src/runbooks/inventory/list_iam_roles.py --profile $AWS_PROFILE --timing
|
221
|
-
python src/runbooks/inventory/list_iam_policies.py --profile $AWS_PROFILE --timing
|
222
|
-
|
223
|
-
# 4. ECS Container Platform Discovery
|
224
|
-
python src/runbooks/inventory/list_ecs_clusters_and_tasks.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
225
|
-
|
226
|
-
# 5. Network Interface and ENI Analysis
|
227
|
-
python src/runbooks/inventory/list_enis_network_interfaces.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
|
228
|
-
```
|
229
|
-
|
230
|
-
### 🎯 Level 6: Specialized Operations
|
231
|
-
|
232
|
-
**Goal**: Advanced scenarios for specific use cases
|
233
|
-
|
234
|
-
```bash
|
235
|
-
# 1. Landing Zone Readiness Assessment
|
236
|
-
python src/runbooks/inventory/check_landingzone_readiness.py --profile $AWS_PROFILE
|
237
|
-
|
238
|
-
# 2. CloudFormation Drift Detection
|
239
|
-
python src/runbooks/inventory/find_cfn_drift_detection.py --profile $AWS_PROFILE --regions ap-southeast-2
|
240
|
-
|
241
|
-
# 3. Organizations Structure Analysis
|
242
|
-
python src/runbooks/inventory/list_org_accounts_users.py --profile $AWS_PROFILE --timing
|
243
|
-
|
244
|
-
# 4. Config Compliance Monitoring
|
245
|
-
python src/runbooks/inventory/list_config_recorders_delivery_channels.py --profile $AWS_PROFILE --regions ap-southeast-2
|
246
|
-
|
247
|
-
# 5. Route53 DNS Infrastructure
|
248
|
-
python src/runbooks/inventory/list_route53_hosted_zones.py --profile $AWS_PROFILE --timing
|
249
|
-
```
|
250
|
-
|
251
|
-
### 📊 Integration Examples
|
252
|
-
|
253
|
-
**Modern Architecture Integration:**
|
254
|
-
|
255
|
-
```python
|
256
|
-
# collectors/ and core/ directories provide modern modular architecture
|
257
|
-
from runbooks.inventory.collectors.aws_compute import ComputeCollector
|
258
|
-
from runbooks.inventory.core.collector import InventoryCollector
|
259
|
-
from runbooks.inventory.core.formatter import OutputFormatter
|
260
|
-
|
261
|
-
# Enterprise-grade type-safe collection
|
262
|
-
collector = InventoryCollector(profile='production')
|
263
|
-
results = collector.collect_compute_resources(include_costs=True)
|
264
|
-
formatter = OutputFormatter()
|
265
|
-
report = formatter.generate_html_report(results)
|
266
|
-
```
|
267
|
-
|
268
|
-
### 📈 Performance & Success Metrics
|
269
|
-
|
270
|
-
**Test Suite Results (Latest):**
|
271
|
-
- ✅ **20/43 core scripts passing** (47% success rate)
|
272
|
-
- ⚡ **Average execution time**: 8-12 seconds per script
|
273
|
-
- 🔧 **Known issues**: 4 scripts with permissions issues, 19 with parameter dependencies
|
274
|
-
- 📋 **Excluded scripts**: 20 utility/support modules (correct exclusion)
|
275
|
-
- 🏗️ **Architecture**: Modern modular design with collectors/ and core/ directories
|
276
|
-
|
277
|
-
## 📋 Architecture Overview
|
278
|
-
|
279
|
-
### 🏗️ **Module Structure**
|
280
|
-
|
281
|
-
```
|
282
|
-
src/runbooks/inventory/
|
283
|
-
├── 🧠 core/ # Business Logic
|
284
|
-
│ ├── collector.py # Main orchestration engine
|
285
|
-
│ ├── formatter.py # Multi-format output handling
|
286
|
-
│ └── session_manager.py # AWS session management
|
287
|
-
├── 🔧 collectors/ # Resource Specialists
|
288
|
-
│ ├── base.py # Abstract base collector
|
289
|
-
│ ├── aws_compute.py # EC2, Lambda, ECS, Batch
|
290
|
-
│ ├── aws_storage.py # S3, EBS, EFS, FSx
|
291
|
-
│ ├── aws_database.py # RDS, DynamoDB, ElastiCache
|
292
|
-
│ ├── aws_network.py # VPC, ELB, Route53, CloudFront
|
293
|
-
│ ├── aws_security.py # IAM, GuardDuty, Config, WAF
|
294
|
-
│ └── aws_management.py # CloudFormation, Organizations
|
295
|
-
├── 📊 models/ # Data Structures
|
296
|
-
│ ├── account.py # AWS account representation
|
297
|
-
│ ├── resource.py # Resource models with metadata
|
298
|
-
│ └── inventory.py # Collection results and analytics
|
299
|
-
├── 🛠️ utils/ # Shared Utilities
|
300
|
-
│ ├── aws_helpers.py # AWS session and API utilities
|
301
|
-
│ ├── threading_utils.py # Concurrent execution helpers
|
302
|
-
│ └── validation.py # Input validation and sanitization
|
303
|
-
└── 📜 legacy/ # Migration Support
|
304
|
-
└── migration_guide.md # Legacy script migration guide
|
305
|
-
```
|
306
|
-
|
307
|
-
## 🧪 Testing & Development
|
308
|
-
|
309
|
-
### Running Tests
|
310
|
-
|
311
|
-
```bash
|
312
|
-
# Run full test suite
|
313
|
-
task test
|
314
|
-
|
315
|
-
# Run specific test categories
|
316
|
-
pytest tests/unit/test_inventory.py -v
|
317
|
-
pytest tests/integration/test_collectors.py -v
|
318
|
-
|
319
|
-
# Test with coverage
|
320
|
-
task _test.coverage
|
321
|
-
|
322
|
-
# Test inventory module specifically
|
323
|
-
task inventory.test
|
324
|
-
```
|
325
|
-
|
326
|
-
### Development Workflow
|
327
|
-
|
328
|
-
```bash
|
329
|
-
# Install development dependencies
|
330
|
-
task install
|
331
|
-
|
332
|
-
# Code quality checks
|
333
|
-
task code_quality
|
334
|
-
|
335
|
-
# Validate module structure
|
336
|
-
task inventory.validate
|
337
|
-
|
338
|
-
# Full validation workflow
|
339
|
-
task validate
|
340
|
-
```
|
341
|
-
|
342
|
-
## 📚 Documentation
|
343
|
-
|
344
|
-
- [API Reference](docs/api-reference.md)
|
345
|
-
- [Configuration Guide](docs/configuration.md)
|
346
|
-
- [Migration Guide](src/runbooks/inventory/legacy/migration_guide.md)
|
347
|
-
- [Contributing Guide](CONTRIBUTING.md)
|
348
|
-
|
349
|
-
|
350
|
-
## 🚦 Roadmap
|
351
|
-
|
352
|
-
- **v1.0** (Q4 2025): Enhanced AI agent orchestration
|
353
|
-
- **v1.5** (Q1 2026): Self-healing infrastructure capabilities
|
354
|
-
|
355
|
-
## 📝 License
|
356
|
-
|
357
|
-
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
|
358
|
-
|
359
|
-
## 🆘 Support
|
360
|
-
|
361
|
-
### Community
|
362
|
-
- [GitHub Issues](https://github.com/1xOps/CloudOps-Runbooks/issues)
|
363
|
-
- [Discussions](https://github.com/1xOps/CloudOps-Runbooks/discussions)
|
364
|
-
|
365
|
-
### Enterprise Support
|
366
|
-
- Professional services and training available
|
367
|
-
- Custom collector development
|
368
|
-
- Enterprise deployment assistance
|
369
|
-
- Contact: [info@oceansoft.io](mailto:info@oceansoft.io)
|
370
|
-
|
371
|
-
---
|
372
|
-
|
373
|
-
**Built with ❤️ by the xOps team at OceanSoft**
|
374
|
-
|
375
|
-
[Website](https://cloudops.oceansoft.io) • [Documentation](https://cloudops.oceansoft.io/runbooks/) • [GitHub](https://github.com/1xOps/CloudOps-Runbooks)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|