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.
Files changed (132) hide show
  1. runbooks/__init__.py +87 -37
  2. runbooks/cfat/README.md +300 -49
  3. runbooks/cfat/__init__.py +2 -2
  4. runbooks/finops/__init__.py +1 -1
  5. runbooks/finops/cli.py +1 -1
  6. runbooks/inventory/collectors/__init__.py +8 -0
  7. runbooks/inventory/collectors/aws_management.py +791 -0
  8. runbooks/inventory/collectors/aws_networking.py +3 -3
  9. runbooks/main.py +3389 -782
  10. runbooks/operate/__init__.py +207 -0
  11. runbooks/operate/base.py +311 -0
  12. runbooks/operate/cloudformation_operations.py +619 -0
  13. runbooks/operate/cloudwatch_operations.py +496 -0
  14. runbooks/operate/dynamodb_operations.py +812 -0
  15. runbooks/operate/ec2_operations.py +926 -0
  16. runbooks/operate/iam_operations.py +569 -0
  17. runbooks/operate/s3_operations.py +1211 -0
  18. runbooks/operate/tagging_operations.py +655 -0
  19. runbooks/remediation/CLAUDE.md +100 -0
  20. runbooks/remediation/DOME9.md +218 -0
  21. runbooks/remediation/README.md +26 -0
  22. runbooks/remediation/Tests/__init__.py +0 -0
  23. runbooks/remediation/Tests/update_policy.py +74 -0
  24. runbooks/remediation/__init__.py +95 -0
  25. runbooks/remediation/acm_cert_expired_unused.py +98 -0
  26. runbooks/remediation/acm_remediation.py +875 -0
  27. runbooks/remediation/api_gateway_list.py +167 -0
  28. runbooks/remediation/base.py +643 -0
  29. runbooks/remediation/cloudtrail_remediation.py +908 -0
  30. runbooks/remediation/cloudtrail_s3_modifications.py +296 -0
  31. runbooks/remediation/cognito_active_users.py +78 -0
  32. runbooks/remediation/cognito_remediation.py +856 -0
  33. runbooks/remediation/cognito_user_password_reset.py +163 -0
  34. runbooks/remediation/commons.py +455 -0
  35. runbooks/remediation/dynamodb_optimize.py +155 -0
  36. runbooks/remediation/dynamodb_remediation.py +744 -0
  37. runbooks/remediation/dynamodb_server_side_encryption.py +108 -0
  38. runbooks/remediation/ec2_public_ips.py +134 -0
  39. runbooks/remediation/ec2_remediation.py +892 -0
  40. runbooks/remediation/ec2_subnet_disable_auto_ip_assignment.py +72 -0
  41. runbooks/remediation/ec2_unattached_ebs_volumes.py +448 -0
  42. runbooks/remediation/ec2_unused_security_groups.py +202 -0
  43. runbooks/remediation/kms_enable_key_rotation.py +651 -0
  44. runbooks/remediation/kms_remediation.py +717 -0
  45. runbooks/remediation/lambda_list.py +243 -0
  46. runbooks/remediation/lambda_remediation.py +971 -0
  47. runbooks/remediation/multi_account.py +569 -0
  48. runbooks/remediation/rds_instance_list.py +199 -0
  49. runbooks/remediation/rds_remediation.py +873 -0
  50. runbooks/remediation/rds_snapshot_list.py +192 -0
  51. runbooks/remediation/requirements.txt +118 -0
  52. runbooks/remediation/s3_block_public_access.py +159 -0
  53. runbooks/remediation/s3_bucket_public_access.py +143 -0
  54. runbooks/remediation/s3_disable_static_website_hosting.py +74 -0
  55. runbooks/remediation/s3_downloader.py +215 -0
  56. runbooks/remediation/s3_enable_access_logging.py +562 -0
  57. runbooks/remediation/s3_encryption.py +526 -0
  58. runbooks/remediation/s3_force_ssl_secure_policy.py +143 -0
  59. runbooks/remediation/s3_list.py +141 -0
  60. runbooks/remediation/s3_object_search.py +201 -0
  61. runbooks/remediation/s3_remediation.py +816 -0
  62. runbooks/remediation/scan_for_phrase.py +425 -0
  63. runbooks/remediation/workspaces_list.py +220 -0
  64. runbooks/security/__init__.py +9 -10
  65. runbooks/security/security_baseline_tester.py +4 -2
  66. runbooks-0.7.6.dist-info/METADATA +608 -0
  67. {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/RECORD +84 -76
  68. {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/entry_points.txt +0 -1
  69. {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/top_level.txt +0 -1
  70. jupyter-agent/.env +0 -2
  71. jupyter-agent/.env.template +0 -2
  72. jupyter-agent/.gitattributes +0 -35
  73. jupyter-agent/.gradio/certificate.pem +0 -31
  74. jupyter-agent/README.md +0 -16
  75. jupyter-agent/__main__.log +0 -8
  76. jupyter-agent/app.py +0 -256
  77. jupyter-agent/cloudops-agent.png +0 -0
  78. jupyter-agent/ds-system-prompt.txt +0 -154
  79. jupyter-agent/jupyter-agent.png +0 -0
  80. jupyter-agent/llama3_template.jinja +0 -123
  81. jupyter-agent/requirements.txt +0 -9
  82. jupyter-agent/tmp/4ojbs8a02ir/jupyter-agent.ipynb +0 -68
  83. jupyter-agent/tmp/cm5iasgpm3p/jupyter-agent.ipynb +0 -91
  84. jupyter-agent/tmp/crqbsseag5/jupyter-agent.ipynb +0 -91
  85. jupyter-agent/tmp/hohanq1u097/jupyter-agent.ipynb +0 -57
  86. jupyter-agent/tmp/jns1sam29wm/jupyter-agent.ipynb +0 -53
  87. jupyter-agent/tmp/jupyter-agent.ipynb +0 -27
  88. jupyter-agent/utils.py +0 -409
  89. runbooks/aws/__init__.py +0 -58
  90. runbooks/aws/dynamodb_operations.py +0 -231
  91. runbooks/aws/ec2_copy_image_cross-region.py +0 -195
  92. runbooks/aws/ec2_describe_instances.py +0 -202
  93. runbooks/aws/ec2_ebs_snapshots_delete.py +0 -186
  94. runbooks/aws/ec2_run_instances.py +0 -213
  95. runbooks/aws/ec2_start_stop_instances.py +0 -212
  96. runbooks/aws/ec2_terminate_instances.py +0 -143
  97. runbooks/aws/ec2_unused_eips.py +0 -196
  98. runbooks/aws/ec2_unused_volumes.py +0 -188
  99. runbooks/aws/s3_create_bucket.py +0 -142
  100. runbooks/aws/s3_list_buckets.py +0 -152
  101. runbooks/aws/s3_list_objects.py +0 -156
  102. runbooks/aws/s3_object_operations.py +0 -183
  103. runbooks/aws/tagging_lambda_handler.py +0 -183
  104. runbooks/inventory/FAILED_SCRIPTS_TROUBLESHOOTING.md +0 -619
  105. runbooks/inventory/PASSED_SCRIPTS_GUIDE.md +0 -738
  106. runbooks/inventory/aws_organization.png +0 -0
  107. runbooks/inventory/cfn_move_stack_instances.py +0 -1526
  108. runbooks/inventory/delete_s3_buckets_objects.py +0 -169
  109. runbooks/inventory/lockdown_cfn_stackset_role.py +0 -224
  110. runbooks/inventory/update_aws_actions.py +0 -173
  111. runbooks/inventory/update_cfn_stacksets.py +0 -1215
  112. runbooks/inventory/update_cloudwatch_logs_retention_policy.py +0 -294
  113. runbooks/inventory/update_iam_roles_cross_accounts.py +0 -478
  114. runbooks/inventory/update_s3_public_access_block.py +0 -539
  115. runbooks/organizations/__init__.py +0 -12
  116. runbooks/organizations/manager.py +0 -374
  117. runbooks-0.7.0.dist-info/METADATA +0 -375
  118. /runbooks/inventory/{tests → Tests}/common_test_data.py +0 -0
  119. /runbooks/inventory/{tests → Tests}/common_test_functions.py +0 -0
  120. /runbooks/inventory/{tests → Tests}/script_test_data.py +0 -0
  121. /runbooks/inventory/{tests → Tests}/setup.py +0 -0
  122. /runbooks/inventory/{tests → Tests}/src.py +0 -0
  123. /runbooks/inventory/{tests/test_inventory_modules.py → Tests/test_Inventory_Modules.py} +0 -0
  124. /runbooks/inventory/{tests → Tests}/test_cfn_describe_stacks.py +0 -0
  125. /runbooks/inventory/{tests → Tests}/test_ec2_describe_instances.py +0 -0
  126. /runbooks/inventory/{tests → Tests}/test_lambda_list_functions.py +0 -0
  127. /runbooks/inventory/{tests → Tests}/test_moto_integration_example.py +0 -0
  128. /runbooks/inventory/{tests → Tests}/test_org_list_accounts.py +0 -0
  129. /runbooks/inventory/{Inventory_Modules.py → inventory_modules.py} +0 -0
  130. /runbooks/{aws → operate}/tags.json +0 -0
  131. {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/WHEEL +0 -0
  132. {runbooks-0.7.0.dist-info → runbooks-0.7.6.dist-info}/licenses/LICENSE +0 -0
runbooks/__init__.py CHANGED
@@ -1,13 +1,62 @@
1
1
  """
2
- CloudOps Runbooks - Enterprise CloudOps Automation Toolkit
3
-
4
- Provides comprehensive AWS automation capabilities including:
5
- - Cloud Foundations Assessment Tool (CFAT)
6
- - Multi-account resource inventory
7
- - Organization management
8
- - Control Tower automation
9
- - Identity and access management
10
- - Centralized logging setup
2
+ CloudOps Runbooks - Enterprise AWS Automation & Cloud Foundations Toolkit
3
+
4
+ A comprehensive enterprise-grade automation platform for AWS cloud operations,
5
+ designed for CloudOps, DevOps, and SRE teams managing multi-account environments.
6
+
7
+ ## Core Capabilities
8
+
9
+ ### 🔍 Discovery & Assessment
10
+ - **Cloud Foundations Assessment Tool (CFAT)**: Automated AWS environment discovery
11
+ and best practices assessment with actionable remediation guidance
12
+ - **Multi-Account Inventory**: Comprehensive resource discovery across AWS Organizations
13
+ - **Security Baseline Assessment**: Automated security posture evaluation
14
+ - **Cost & Financial Operations**: Resource utilization and cost optimization analysis
15
+
16
+ ### ⚙️ Operations & Automation
17
+ - **AWS Resource Operations**: Enterprise-grade EC2, S3, DynamoDB management
18
+ - **Organization Management**: AWS Organizations structure and account automation
19
+ - **Identity & Access Management**: Cross-account IAM role and policy management
20
+ - **Infrastructure Automation**: CloudFormation, networking, and compliance operations
21
+
22
+ ### 🏛️ Enterprise Features
23
+ - **Multi-Deployment Support**: CLI, Docker, AWS Lambda, Kubernetes ready
24
+ - **Environment Configuration**: Comprehensive environment variable support
25
+ - **Monitoring & Notifications**: SNS integration and operational awareness
26
+ - **KISS Architecture**: Simple, maintainable, no-legacy-complexity design
27
+
28
+ ## Documentation
29
+
30
+ For comprehensive documentation, examples, and best practices:
31
+ https://cloudops.oceansoft.io/cloud-foundation/cfat-assessment-tool.html
32
+
33
+ ## Quick Start
34
+
35
+ ```python
36
+ # Assessment and Discovery
37
+ from runbooks.cfat import AssessmentRunner
38
+ from runbooks.inventory import InventoryCollector
39
+ from runbooks.security import SecurityBaselineTester
40
+
41
+ # Operations and Automation
42
+ from runbooks.operate import EC2Operations, S3Operations, DynamoDBOperations
43
+
44
+ # Assessment
45
+ runner = AssessmentRunner()
46
+ results = runner.run_assessment()
47
+
48
+ # Resource Operations
49
+ ec2_ops = EC2Operations()
50
+ s3_ops = S3Operations()
51
+ ```
52
+
53
+ ## Target Audience
54
+
55
+ - **CloudOps Engineers**: Multi-account AWS environment management
56
+ - **DevOps Teams**: Infrastructure automation and CI/CD integration
57
+ - **Site Reliability Engineers (SRE)**: Operational excellence and monitoring
58
+ - **Security Engineers**: Compliance assessment and remediation
59
+ - **FinOps Practitioners**: Cost optimization and resource governance
11
60
  """
12
61
 
13
62
  from importlib.metadata import PackageNotFoundError
@@ -18,58 +67,59 @@ try:
18
67
  __version__ = _pkg_version("runbooks")
19
68
  except Exception:
20
69
  # Fallback if metadata is unavailable during editable installs
21
- __version__ = "0.6.2"
70
+ __version__ = "0.7.6"
22
71
 
23
72
  # Core module exports
24
73
  from runbooks.config import RunbooksConfig, load_config, save_config
25
74
  from runbooks.utils import ensure_directory, setup_logging, validate_aws_profile
26
75
 
27
- # Cloud Foundations exports - using direct structure
76
+ # Enterprise module exports with graceful degradation
28
77
  try:
78
+ # Assessment and Discovery
29
79
  from runbooks.cfat.runner import AssessmentRunner
80
+ from runbooks.inventory.collectors.aws_management import OrganizationsManager
30
81
  from runbooks.inventory.core.collector import InventoryCollector
31
- from runbooks.organizations.manager import OUManager
32
-
33
- __all__ = [
34
- "__version__",
35
- "setup_logging",
36
- "load_config",
37
- "save_config",
38
- "RunbooksConfig",
82
+ from runbooks.operate.cloudformation_operations import CloudFormationOperations
83
+ from runbooks.operate.cloudwatch_operations import CloudWatchOperations
84
+ from runbooks.operate.dynamodb_operations import DynamoDBOperations
85
+
86
+ # Operations and Automation
87
+ from runbooks.operate.ec2_operations import EC2Operations
88
+ from runbooks.operate.iam_operations import IAMOperations
89
+ from runbooks.operate.s3_operations import S3Operations
90
+ from runbooks.security.security_baseline_tester import SecurityBaselineTester
91
+
92
+ _enterprise_exports = [
39
93
  "AssessmentRunner",
40
94
  "InventoryCollector",
41
- "OUManager",
42
- "ensure_directory",
43
- "validate_aws_profile",
95
+ "OrganizationsManager",
96
+ "SecurityBaselineTester",
97
+ "EC2Operations",
98
+ "S3Operations",
99
+ "DynamoDBOperations",
100
+ "CloudFormationOperations",
101
+ "IAMOperations",
102
+ "CloudWatchOperations",
44
103
  ]
45
104
  except ImportError as e:
46
- # Graceful degradation if dependencies aren't available
47
- __all__ = [
48
- "__version__",
49
- "setup_logging",
50
- "load_config",
51
- "save_config",
52
- "RunbooksConfig",
53
- "ensure_directory",
54
- "validate_aws_profile",
55
- ]
105
+ # Graceful degradation if enterprise dependencies aren't available
106
+ _enterprise_exports = []
56
107
 
57
108
  # FinOps exports
58
109
  from runbooks.finops import get_cost_data, get_trend, run_dashboard
59
110
 
111
+ # Consolidated exports for enterprise CloudOps platform
60
112
  __all__ = [
113
+ # Core utilities
61
114
  "__version__",
62
115
  "setup_logging",
63
116
  "load_config",
64
117
  "save_config",
65
118
  "RunbooksConfig",
66
- "AssessmentRunner",
67
- "InventoryCollector",
68
- "OUManager",
69
119
  "ensure_directory",
70
120
  "validate_aws_profile",
71
- # FinOps
121
+ # FinOps capabilities
72
122
  "run_dashboard",
73
123
  "get_cost_data",
74
124
  "get_trend",
75
- ]
125
+ ] + _enterprise_exports
runbooks/cfat/README.md CHANGED
@@ -1,49 +1,300 @@
1
- # Cloud Foundation Assessment Tool (CFAT)
2
-
3
- CFAT is an open-source solution designed to provide automated discovery of an AWS environment and its multi-account architecture. Additionally, CFAT will review the environment, checking for common configurations and best practices for your AWS Organization. The tool will produce a backlog of tasks to complete, along with remediation guidance. CFAT is simple to execute, requiring only that it be executed within the AWS Management Account in the AWS CloudShell.
4
-
5
- >**Note:** CFAT can operate with `READONLY` permissions **plus CloudShell permissions** to the AWS account, and does not make any changes to the AWS environment. All information generated from the tool is outputted to your local AWS CloudShell environment.
6
-
7
- ## How to Use
8
-
9
- 1. Go into an AWS account which is a `Management Account` and open CloudShell terminal.
10
- ![Find CloudShell](./docs/open-cloudshell.png)
11
- 2. Ensure you have right now admin permissions or the proper *READONLY* permissions that include ability to use AWS CloudShell
12
- * For least privilege readonly, leverage the IAM Managed Policies:
13
- - `arn:aws:iam::aws:policy/ReadOnlyAccess`
14
- - `arn:aws:iam::aws:policy/AWSCloudShellFullAccess`
15
- 3. Within AWS CloudShell the following command: `curl -sSL https://raw.githubusercontent.com/cloud-foundations-on-aws/cloud-foundations-templates/main/cfat/run-assessment.sh | sh`
16
- ![Run CloudShell](./docs/cloudshell-console-run.png)
17
- 4. Watch screen scroll through output looking for any errors.
18
- <br/><img src="./docs/cloudshell-output.png" alt="drawing" width="50%" height="50%"/>
19
- 5. Once done you will see the tool created a directory called ./cfat
20
- * verify by running `ls` in the current working directory you are in
21
- 6. The CFAT creates a zip archive containing several artifacts (see [Generated Documentation and Artifacts](#generated-documentation-and-artifacts))
22
- 7. Within the CloudShell window, go to top right of the page and click on `Actions` button and click on `Download File`
23
- <br/><img src="./docs/cloudshell-download.png" alt="drawing" width="30%" height="30%"/>
24
- 8. In the download file enter `./cfat/assessment.zip`
25
- <br/><img src="./docs/downloadfile.png" alt="drawing" width="50%" height="50%"/>
26
- 9. File is download which you can unzip and view the generated documentation and artifacts.
27
-
28
- ## Generated Documentation and Artifacts
29
-
30
- Running the CFAT produces an archive assessments folder `./cfat/assessment.zip` in the current working directory you run the program from. Unzipping the archive will enable you to access 4 files which were generated during the assessment:
31
-
32
- 1. **cfat.txt** - file contains a detailed text report of the assessment. Use this file to determine work needed to be completed. An example of a generated report can be found at [./docs/cfat.txt](./docs/cfat.txt). As illustrated below, the header in the report will give you a quick status and an estimated level of effort (loe) to complete the requirements.
33
- ![report header](./docs/report-header.png)
34
- 2. **cfat-checks.csv** - output file of the table result which is located in the detailed report (cfat.txt). The csv output is to let you organize and sort the findings. An example of a generated report can be found at [./docs/cfat-checks.csv](./docs/cfat-checks.csv)
35
- ![check output](./docs/checks-output.png)
36
- 3. **asana-import.csv** - all tasks created in a csv file format that allow you to easily import the items into your Asana managed backlog. An example of a generated import can be found at [./docs/asana-import.csv](./docs/asana-import.csv)
37
- 4. **jira-import.csv** - all tasks created in a csv file format that allow you to easily import the items into your Jira managed backlog. An example of a generated import can be found at[./docs/jira-import.csv](./docs/jira-import.csv)
38
-
39
- ## Features
40
-
41
- * **Automated Discovery:** CFAT automates the discovery process, minimizing the need for manual checks and providing a quick overview of the environment.
42
- * **READONLY Access:** The tool operates with READONLY access (**plus CloudShell permissions**) to the AWS account, ensuring that it does not make any modifications or interfere with the existing setup.
43
- * **Importable Backlog:** The tool creates common project management software importable file allowing you to import CFAT findings into services like Jira and Asana.
44
- * **AWS CloudShell Compatibility:** CFAT is designed to be executed within AWS CloudShell, providing a convenient and secure environment for running discovery.
45
- * **Developed in JavaScript and AWS-SDK v3:** CFAT is implemented using JavaScript and relies on the latest AWS-SDK v3 for seamless interaction with AWS services.
46
-
47
- ## Security Considerations
48
-
49
- * The tool is designed to operate with `READONLY` access (**plus permissions to run CloudShell**), minimizing the risk of unintended changes to your environment. All data is outputted into your local CloudShell environment.
1
+ # Cloud Foundations Assessment Tool (CFAT)
2
+
3
+ **CFAT** is an enterprise-grade, open-source solution designed to provide automated discovery and assessment of AWS environments and multi-account architectures. **Fully integrated with the CloudOps Runbooks CLI**, CFAT offers comprehensive evaluation against Cloud Foundations best practices with advanced enterprise features.
4
+
5
+ CFAT reviews your environment, checking for common configurations and security best practices across your AWS Organization. The tool produces actionable findings with detailed remediation guidance, exportable to popular project management platforms.
6
+
7
+ **Key Enterprise Features:**
8
+ - 🚀 **Integrated CLI Experience**: Seamlessly integrated with `runbooks cfat` commands
9
+ - 📊 **Multi-Format Reporting**: HTML, CSV, JSON, Markdown, and interactive web reports
10
+ - ⚡ **Parallel Execution**: Configurable worker pools for fast assessment
11
+ - 🎯 **Compliance Frameworks**: SOC2, PCI-DSS, HIPAA alignment support
12
+ - 🔗 **Project Management Integration**: Direct export to Jira, Asana, ServiceNow
13
+ - 🌐 **Interactive Web Reports**: Built-in web server for live report viewing
14
+ - 🎚️ **Advanced Configuration**: Category filtering, severity thresholds, check customization
15
+
16
+ >**Note:** CFAT operates with `READONLY` permissions to ensure security and compliance. The tool does not make any changes to your AWS environment - all outputs are generated locally for your analysis.
17
+
18
+ ## 🚀 Quick Start
19
+
20
+ > **⚡ Enterprise Installation**: `pip install runbooks && runbooks cfat assess`
21
+
22
+ ### **Option 1: Install via PyPI (Recommended)**
23
+
24
+ 1. **Install the Package**:
25
+ ```bash
26
+ pip install runbooks
27
+ ```
28
+
29
+ 2. **Run Cloud Foundations Assessment**:
30
+ ```bash
31
+ # Basic comprehensive assessment
32
+ runbooks cfat assess
33
+
34
+ # Assessment with HTML report
35
+ runbooks cfat assess --output html --output-file cfat_report.html
36
+
37
+ # Target specific categories with critical severity
38
+ runbooks cfat assess --categories iam,cloudtrail --severity CRITICAL
39
+ ```
40
+
41
+ 3. **Advanced Usage Examples**:
42
+ ```bash
43
+ # Parallel execution with multiple output formats
44
+ runbooks cfat assess --parallel --max-workers 8 --output all
45
+
46
+ # Compliance framework assessment
47
+ runbooks cfat assess --compliance-framework SOC2 --output json
48
+
49
+ # Export to project management tools
50
+ runbooks cfat assess --export-jira findings.csv --export-asana tasks.csv
51
+
52
+ # Interactive web report
53
+ runbooks cfat assess --serve-web --web-port 8080
54
+ ```
55
+
56
+ ---
57
+
58
+ ### **Option 2: Development Installation**
59
+
60
+ 1. **Clone and Setup**:
61
+ ```bash
62
+ git clone https://github.com/1xOps/CloudOps-Runbooks.git
63
+ cd CloudOps-Runbooks
64
+
65
+ # Install with UV (Rust-based package manager)
66
+ curl -LsSf https://astral.sh/uv/install.sh | sh
67
+ uv sync --all-extras
68
+ ```
69
+
70
+ 2. **Run Assessment**:
71
+ ```bash
72
+ uv run python -m runbooks cfat assess --profile production
73
+ ```
74
+
75
+ ---
76
+
77
+ ### **Option 3: AWS CloudShell (Zero Setup)**
78
+
79
+ 1. **Open AWS CloudShell** in your Management Account
80
+ 2. **Install and Run**:
81
+ ```bash
82
+ pip install runbooks
83
+ runbooks cfat assess --output html
84
+ ```
85
+ 3. **Download Results** using CloudShell's download feature
86
+
87
+ ---
88
+
89
+ ### **CLI Command Reference**
90
+
91
+ ```bash
92
+ # Main CFAT commands
93
+ runbooks cfat --help # Show CFAT help
94
+ runbooks cfat assess # Run comprehensive assessment
95
+ runbooks cfat assess --output all # Generate all report formats
96
+ runbooks cfat assess --categories iam,vpc # Assess specific categories
97
+ runbooks cfat assess --severity CRITICAL # Show only critical findings
98
+
99
+ # Advanced features
100
+ runbooks cfat assess --parallel --max-workers 10 # Fast parallel execution
101
+ runbooks cfat assess --compliance-framework SOC2 # Compliance alignment
102
+ runbooks cfat assess --export-jira jira.csv # Export to Jira
103
+ runbooks cfat assess --serve-web --web-port 8080 # Interactive web report
104
+ ```
105
+
106
+ ### **Prerequisites**
107
+
108
+ For least privilege readonly access, leverage these IAM Managed Policies:
109
+ - `arn:aws:iam::aws:policy/ReadOnlyAccess`
110
+ - `arn:aws:iam::aws:policy/AWSCloudShellFullAccess` (if using CloudShell)
111
+
112
+ **Supported Authentication Methods:**
113
+ - AWS Profiles (recommended)
114
+ - IAM Roles
115
+ - AWS SSO
116
+ - Environment Variables
117
+ - Instance Profiles
118
+ - AWS CloudShell (automatic)
119
+
120
+ ## 📊 Generated Reports and Artifacts
121
+
122
+ CFAT generates comprehensive, multi-format reports designed for different audiences and use cases. The modern integrated CLI provides multiple output options for maximum flexibility.
123
+
124
+ ### **Output Formats**
125
+
126
+ 1. **📋 HTML Reports** (Default)
127
+ - Interactive, styled reports with charts and filtering
128
+ - Remediation links directly to AWS documentation
129
+ - Executive summary with compliance scoring
130
+ - Technical details with step-by-step guidance
131
+ ```bash
132
+ runbooks cfat assess --output html --output-file assessment_report.html
133
+ ```
134
+
135
+ 2. **📈 JSON Output** (Programmatic Integration)
136
+ - Structured data for CI/CD pipelines
137
+ - API integration and automation workflows
138
+ - Custom dashboard development
139
+ ```bash
140
+ runbooks cfat assess --output json --output-file findings.json
141
+ ```
142
+
143
+ 3. **📊 CSV Export** (Data Analysis)
144
+ - Spreadsheet-compatible format
145
+ - Sorting and filtering capabilities
146
+ - Project tracking and progress monitoring
147
+ ```bash
148
+ runbooks cfat assess --output csv --output-file assessment_data.csv
149
+ ```
150
+
151
+ 4. **📝 Markdown Reports** (Documentation)
152
+ - Documentation-friendly format
153
+ - GitHub/GitLab integration
154
+ - Wiki and knowledge base publishing
155
+ ```bash
156
+ runbooks cfat assess --output markdown --output-file assessment.md
157
+ ```
158
+
159
+ 5. **🌐 Interactive Web Reports**
160
+ - Live web server with real-time filtering
161
+ - Collaborative review and discussion
162
+ - Professional presentation format
163
+ ```bash
164
+ runbooks cfat assess --serve-web --web-port 8080
165
+ ```
166
+
167
+ ### **Project Management Integration**
168
+
169
+ **Direct Export to Popular Platforms:**
170
+
171
+ 1. **Jira Integration**
172
+ ```bash
173
+ runbooks cfat assess --export-jira jira_backlog.csv
174
+ ```
175
+ - Pre-formatted for Jira import
176
+ - Issue types and priorities mapped
177
+ - Sprint planning ready
178
+
179
+ 2. **Asana Integration**
180
+ ```bash
181
+ runbooks cfat assess --export-asana asana_tasks.csv
182
+ ```
183
+ - Task hierarchy and dependencies
184
+ - Team assignment capabilities
185
+ - Progress tracking features
186
+
187
+ 3. **ServiceNow Integration**
188
+ ```bash
189
+ runbooks cfat assess --export-servicenow snow_incidents.json
190
+ ```
191
+ - Enterprise ITSM compatibility
192
+ - Incident and change management
193
+ - SLA and priority mapping
194
+
195
+ ### **All-in-One Export**
196
+
197
+ Generate all formats simultaneously:
198
+ ```bash
199
+ runbooks cfat assess --output all
200
+ ```
201
+
202
+ This creates:
203
+ - `cfat_report_TIMESTAMP.html` - Interactive HTML report
204
+ - `cfat_report_TIMESTAMP.json` - Structured data export
205
+ - `cfat_report_TIMESTAMP.csv` - Spreadsheet-compatible data
206
+ - `cfat_report_TIMESTAMP.md` - Documentation format
207
+
208
+ ## 🎯 Assessment Capabilities
209
+
210
+ ### **Multi-Account Architecture Discovery**
211
+ - **Organization Mapping**: Automatic discovery of AWS Organizations structure
212
+ - **Account Inventory**: Comprehensive multi-account resource discovery
213
+ - **Cross-Account Analysis**: Consolidated findings across organizational units
214
+ - **Resource Relationships**: Dependency mapping and service interconnections
215
+
216
+ ### **Security & Compliance Assessment**
217
+ - **Cloud Foundations Alignment**: AWS best practices validation
218
+ - **Security Posture Evaluation**: IAM, network, data protection analysis
219
+ - **Compliance Framework Support**: SOC2, PCI-DSS, HIPAA alignment
220
+ - **Risk Scoring**: Weighted risk assessment with remediation prioritization
221
+
222
+ ### **Operational Excellence**
223
+ - **Configuration Drift Detection**: Identification of non-compliant configurations
224
+ - **Performance Optimization**: Resource utilization and cost efficiency analysis
225
+ - **Automation Readiness**: Infrastructure as Code (IaC) compatibility assessment
226
+ - **Monitoring Coverage**: CloudTrail, CloudWatch, and logging evaluation
227
+
228
+ ### **Enterprise Integration**
229
+ - **CI/CD Pipeline Ready**: JSON output for automated workflows
230
+ - **Project Management Export**: Native integration with Jira, Asana, ServiceNow
231
+ - **Dashboard Compatible**: Structured data for custom visualization
232
+ - **API Integration**: Programmatic access for enterprise tooling
233
+
234
+ ### **Modern Technology Stack**
235
+ - **Python & AWS SDK**: Built with latest boto3 and enterprise Python patterns
236
+ - **Parallel Processing**: Configurable worker pools for optimal performance
237
+ - **Pydantic Models**: Type-safe data validation and serialization
238
+ - **UV Package Management**: Rust-based dependency management for speed
239
+ - **Ruff Formatting**: Modern code quality and formatting standards
240
+
241
+ ## 🔒 Security Considerations
242
+
243
+ ### **Least Privilege Principle**
244
+ - **Read-Only Access**: CFAT operates exclusively with `ReadOnlyAccess` permissions
245
+ - **No Modifications**: Zero-write operations ensure your environment remains unchanged
246
+ - **Audit Compliance**: All activities are logged through standard AWS CloudTrail
247
+ - **Local Data Processing**: Assessment data is processed locally without external transmission
248
+
249
+ ### **Authentication & Authorization**
250
+ - **Multiple Auth Methods**: Support for AWS profiles, IAM roles, SSO, CloudShell
251
+ - **MFA Compatible**: Full support for multi-factor authentication requirements
252
+ - **Cross-Account Roles**: Secure assessment across multiple AWS accounts
253
+ - **Session Management**: Automatic credential refresh and secure session handling
254
+
255
+ ### **Data Protection**
256
+ - **Local Storage Only**: All reports generated and stored locally
257
+ - **No External Dependencies**: Assessment runs entirely within your AWS environment
258
+ - **Encryption in Transit**: All AWS API calls use HTTPS/TLS encryption
259
+ - **Temporary Credentials**: Support for temporary credential mechanisms
260
+
261
+ ### **Enterprise Security Features**
262
+ - **Access Logging**: Comprehensive logging of all assessment activities
263
+ - **Configuration Validation**: Security configuration assessment without exposure
264
+ - **Compliance Reporting**: Security findings aligned with industry frameworks
265
+ - **Audit Trail**: Complete audit trail for security and compliance teams
266
+
267
+ ### **Required IAM Permissions**
268
+
269
+ **Minimum Required Policy** (Read-Only):
270
+ ```json
271
+ {
272
+ "Version": "2012-10-17",
273
+ "Statement": [
274
+ {
275
+ "Effect": "Allow",
276
+ "Action": [
277
+ "iam:Get*",
278
+ "iam:List*",
279
+ "iam:GenerateCredentialReport",
280
+ "organizations:List*",
281
+ "organizations:Describe*",
282
+ "cloudtrail:Get*",
283
+ "cloudtrail:Describe*",
284
+ "config:Get*",
285
+ "config:Describe*",
286
+ "ec2:Describe*",
287
+ "s3:GetBucket*",
288
+ "s3:ListAllMyBuckets",
289
+ "cloudwatch:Describe*",
290
+ "cloudwatch:Get*"
291
+ ],
292
+ "Resource": "*"
293
+ }
294
+ ]
295
+ }
296
+ ```
297
+
298
+ **Recommended Managed Policies:**
299
+ - `arn:aws:iam::aws:policy/ReadOnlyAccess`
300
+ - `arn:aws:iam::aws:policy/AWSCloudShellFullAccess` (if using CloudShell)
runbooks/cfat/__init__.py CHANGED
@@ -34,7 +34,7 @@ Example:
34
34
  print(f"Critical Issues: {report.summary.critical_issues}")
35
35
  ```
36
36
 
37
- Version: 0.5.0 (Enhanced with enterprise features)
37
+ Version: 0.7.6 (Latest with enhanced CLI integration, rust tooling, and modern dependency stack)
38
38
  """
39
39
 
40
40
  # Core assessment engine
@@ -53,7 +53,7 @@ from runbooks.cfat.models import (
53
53
  from runbooks.cfat.runner import AssessmentRunner
54
54
 
55
55
  # Version info
56
- __version__ = "0.5.0"
56
+ __version__ = "0.7.6"
57
57
  __author__ = "CloudOps Runbooks Team"
58
58
 
59
59
  # Public API exports
@@ -12,7 +12,7 @@ This module provides terminal-based AWS cost monitoring with features including:
12
12
  Integrated as a submodule of CloudOps Runbooks for enterprise FinOps automation.
13
13
  """
14
14
 
15
- __version__ = "0.7.0"
15
+ __version__ = "0.7.6"
16
16
 
17
17
  # Core components
18
18
  # AWS client utilities
runbooks/finops/cli.py CHANGED
@@ -10,7 +10,7 @@ from runbooks.finops.helpers import load_config_file
10
10
 
11
11
  console = Console()
12
12
 
13
- __version__ = "0.7.0"
13
+ __version__ = "0.7.6"
14
14
 
15
15
 
16
16
  def welcome_banner() -> None:
@@ -13,8 +13,16 @@ Categories:
13
13
  - aws_management: CloudFormation, Organizations, Control Tower, SSM
14
14
  """
15
15
 
16
+ from runbooks.inventory.collectors.aws_compute import ComputeResourceCollector
17
+ from runbooks.inventory.collectors.aws_management import ManagementResourceCollector, OrganizationsManager
18
+ from runbooks.inventory.collectors.aws_networking import SubnetCollector, VPCCollector
16
19
  from runbooks.inventory.collectors.base import BaseResourceCollector
17
20
 
18
21
  __all__ = [
19
22
  "BaseResourceCollector",
23
+ "ComputeResourceCollector",
24
+ "VPCCollector",
25
+ "SubnetCollector",
26
+ "ManagementResourceCollector",
27
+ "OrganizationsManager",
20
28
  ]