runbooks 0.7.5__tar.gz → 0.7.6__tar.gz

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 (302) hide show
  1. {runbooks-0.7.5 → runbooks-0.7.6}/PKG-INFO +4 -2
  2. {runbooks-0.7.5 → runbooks-0.7.6}/pyproject.toml +51 -33
  3. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/__init__.py +1 -1
  4. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/__init__.py +2 -2
  5. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/__init__.py +1 -1
  6. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/cli.py +1 -1
  7. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/__init__.py +2 -2
  8. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/__init__.py +2 -2
  9. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/acm_remediation.py +1 -1
  10. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/base.py +1 -1
  11. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cloudtrail_remediation.py +1 -1
  12. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cognito_remediation.py +1 -1
  13. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/dynamodb_remediation.py +1 -1
  14. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_remediation.py +1 -1
  15. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_unattached_ebs_volumes.py +1 -1
  16. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/kms_enable_key_rotation.py +1 -1
  17. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/kms_remediation.py +1 -1
  18. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/lambda_remediation.py +1 -1
  19. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/multi_account.py +1 -1
  20. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/rds_remediation.py +1 -1
  21. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/requirements.txt +2 -2
  22. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_block_public_access.py +1 -1
  23. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_enable_access_logging.py +1 -1
  24. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_encryption.py +1 -1
  25. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_remediation.py +1 -1
  26. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/__init__.py +1 -1
  27. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/PKG-INFO +4 -2
  28. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/SOURCES.txt +12 -51
  29. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/requires.txt +3 -1
  30. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/top_level.txt +0 -1
  31. runbooks-0.7.5/.actrc +0 -6
  32. runbooks-0.7.5/.gitignore +0 -202
  33. runbooks-0.7.5/.gitmodules +0 -3
  34. runbooks-0.7.5/.pre-commit-config.yaml +0 -10
  35. runbooks-0.7.5/.python-version +0 -1
  36. runbooks-0.7.5/CHANGELOG.md +0 -38
  37. runbooks-0.7.5/Quickstart.md +0 -68
  38. runbooks-0.7.5/README.docs.md +0 -19
  39. runbooks-0.7.5/Taskfile.yaml +0 -750
  40. runbooks-0.7.5/docker-build-push.sh +0 -64
  41. runbooks-0.7.5/execute_landing_page.py +0 -181
  42. runbooks-0.7.5/output/dev/landing-page/css/styles.css +0 -551
  43. runbooks-0.7.5/output/dev/landing-page/index.html +0 -178
  44. runbooks-0.7.5/output/dev/landing-page/js/main.js +0 -100
  45. runbooks-0.7.5/references/.gitkeep +0 -0
  46. runbooks-0.7.5/reports/.gitkeep +0 -0
  47. runbooks-0.7.5/reports/figures/.gitkeep +0 -0
  48. runbooks-0.7.5/src/jupyter-agent/.env +0 -2
  49. runbooks-0.7.5/src/jupyter-agent/.env.template +0 -2
  50. runbooks-0.7.5/src/jupyter-agent/.gitattributes +0 -35
  51. runbooks-0.7.5/src/jupyter-agent/.gradio/certificate.pem +0 -31
  52. runbooks-0.7.5/src/jupyter-agent/README.md +0 -16
  53. runbooks-0.7.5/src/jupyter-agent/__main__.log +0 -8
  54. runbooks-0.7.5/src/jupyter-agent/app.py +0 -256
  55. runbooks-0.7.5/src/jupyter-agent/cloudops-agent.png +0 -0
  56. runbooks-0.7.5/src/jupyter-agent/ds-system-prompt.txt +0 -154
  57. runbooks-0.7.5/src/jupyter-agent/jupyter-agent.png +0 -0
  58. runbooks-0.7.5/src/jupyter-agent/llama3_template.jinja +0 -123
  59. runbooks-0.7.5/src/jupyter-agent/requirements.txt +0 -9
  60. runbooks-0.7.5/src/jupyter-agent/tmp/4ojbs8a02ir/jupyter-agent.ipynb +0 -68
  61. runbooks-0.7.5/src/jupyter-agent/tmp/cm5iasgpm3p/jupyter-agent.ipynb +0 -91
  62. runbooks-0.7.5/src/jupyter-agent/tmp/crqbsseag5/jupyter-agent.ipynb +0 -91
  63. runbooks-0.7.5/src/jupyter-agent/tmp/hohanq1u097/jupyter-agent.ipynb +0 -57
  64. runbooks-0.7.5/src/jupyter-agent/tmp/jns1sam29wm/jupyter-agent.ipynb +0 -53
  65. runbooks-0.7.5/src/jupyter-agent/tmp/jupyter-agent.ipynb +0 -27
  66. runbooks-0.7.5/src/jupyter-agent/utils.py +0 -409
  67. runbooks-0.7.5/src/main.python101.py +0 -115
  68. runbooks-0.7.5/src/runbooks/inventory/aws_organization.png +0 -0
  69. runbooks-0.7.5/uv.lock +0 -5257
  70. {runbooks-0.7.5 → runbooks-0.7.6}/LICENSE +0 -0
  71. {runbooks-0.7.5 → runbooks-0.7.6}/MANIFEST.in +0 -0
  72. {runbooks-0.7.5 → runbooks-0.7.6}/README.md +0 -0
  73. {runbooks-0.7.5 → runbooks-0.7.6}/setup.cfg +0 -0
  74. {runbooks-0.7.5 → runbooks-0.7.6}/src/conftest.py +0 -0
  75. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/__main__.py +0 -0
  76. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/base.py +0 -0
  77. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/README.md +0 -0
  78. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/app.ts +0 -0
  79. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/__init__.py +0 -0
  80. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/asana-import.csv +0 -0
  81. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/cfat-checks.csv +0 -0
  82. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/cfat.txt +0 -0
  83. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/collectors.py +0 -0
  84. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/jira-import.csv +0 -0
  85. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/runner.py +0 -0
  86. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/validators.py +0 -0
  87. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/cli.py +0 -0
  88. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/asana-import.csv +0 -0
  89. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cfat-checks.csv +0 -0
  90. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cfat.txt +0 -0
  91. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/checks-output.png +0 -0
  92. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cloudshell-console-run.png +0 -0
  93. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cloudshell-download.png +0 -0
  94. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cloudshell-output.png +0 -0
  95. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/downloadfile.png +0 -0
  96. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/jira-import.csv +0 -0
  97. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/open-cloudshell.png +0 -0
  98. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/report-header.png +0 -0
  99. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/models.py +0 -0
  100. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/package-lock.json +0 -0
  101. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/package.json +0 -0
  102. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/report.py +0 -0
  103. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/reporting/__init__.py +0 -0
  104. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/reporting/exporters.py +0 -0
  105. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/reporting/formatters.py +0 -0
  106. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/reporting/templates.py +0 -0
  107. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/run-assessment.sh +0 -0
  108. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/runner.py +0 -0
  109. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-cloudtrail-existence.ts +0 -0
  110. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-config-existence.ts +0 -0
  111. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-control-tower.ts +0 -0
  112. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-ec2-existence.ts +0 -0
  113. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-iam-users.ts +0 -0
  114. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-legacy-cur.ts +0 -0
  115. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-org-cloudformation.ts +0 -0
  116. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-vpc-existence.ts +0 -0
  117. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/create-asanaimport.ts +0 -0
  118. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/create-backlog.ts +0 -0
  119. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/create-jiraimport.ts +0 -0
  120. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/create-report.ts +0 -0
  121. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/define-account-type.ts +0 -0
  122. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-enabled-org-policy-types.ts +0 -0
  123. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-enabled-org-services.ts +0 -0
  124. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-idc-info.ts +0 -0
  125. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-org-da-accounts.ts +0 -0
  126. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-org-details.ts +0 -0
  127. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-org-member-accounts.ts +0 -0
  128. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-org-ous.ts +0 -0
  129. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-regions.ts +0 -0
  130. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/zip-assessment.ts +0 -0
  131. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/types/index.d.ts +0 -0
  132. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/__init__.py +0 -0
  133. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/test_cli.py +0 -0
  134. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/test_integration.py +0 -0
  135. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/test_models.py +0 -0
  136. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/test_reporting.py +0 -0
  137. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tsconfig.json +0 -0
  138. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/webpack.config.cjs +0 -0
  139. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/config.py +0 -0
  140. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/README.md +0 -0
  141. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/aws_client.py +0 -0
  142. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/cost_processor.py +0 -0
  143. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/dashboard_runner.py +0 -0
  144. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/helpers.py +0 -0
  145. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/main.py +0 -0
  146. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/profile_processor.py +0 -0
  147. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/types.py +0 -0
  148. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/visualisations.py +0 -0
  149. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/.gitignore +0 -0
  150. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/ArgumentsClass.py +0 -0
  151. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/LandingZone/delete_lz.py +0 -0
  152. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/README.md +0 -0
  153. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/common_test_data.py +0 -0
  154. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/common_test_functions.py +0 -0
  155. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/script_test_data.py +0 -0
  156. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/setup.py +0 -0
  157. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/src.py +0 -0
  158. /runbooks-0.7.5/src/runbooks/inventory/tests/test_inventory_modules.py → /runbooks-0.7.6/src/runbooks/inventory/Tests/test_Inventory_Modules.py +0 -0
  159. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_cfn_describe_stacks.py +0 -0
  160. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_ec2_describe_instances.py +0 -0
  161. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_lambda_list_functions.py +0 -0
  162. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_moto_integration_example.py +0 -0
  163. {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_org_list_accounts.py +0 -0
  164. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/__init__.py +0 -0
  165. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/account_class.py +0 -0
  166. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/all_my_instances_wrapper.py +0 -0
  167. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/aws_decorators.py +0 -0
  168. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/check_cloudtrail_compliance.py +0 -0
  169. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/check_controltower_readiness.py +0 -0
  170. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/check_landingzone_readiness.py +0 -0
  171. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/cloudtrail.md +0 -0
  172. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/__init__.py +0 -0
  173. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/aws_compute.py +0 -0
  174. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/aws_management.py +0 -0
  175. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/aws_networking.py +0 -0
  176. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/base.py +0 -0
  177. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/core/__init__.py +0 -0
  178. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/core/collector.py +0 -0
  179. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/core/formatter.py +0 -0
  180. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/discovery.md +0 -0
  181. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/draw_org_structure.py +0 -0
  182. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/ec2_vpc_utils.py +0 -0
  183. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_cfn_drift_detection.py +0 -0
  184. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_cfn_orphaned_stacks.py +0 -0
  185. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_cfn_stackset_drift.py +0 -0
  186. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_ec2_security_groups.py +0 -0
  187. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_landingzone_versions.py +0 -0
  188. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_vpc_flow_logs.py +0 -0
  189. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/inventory.sh +0 -0
  190. /runbooks-0.7.5/src/runbooks/inventory/Inventory_Modules.py → /runbooks-0.7.6/src/runbooks/inventory/inventory_modules.py +0 -0
  191. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_cfn_stacks.py +0 -0
  192. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_cfn_stackset_operation_results.py +0 -0
  193. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_cfn_stackset_operations.py +0 -0
  194. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_cfn_stacksets.py +0 -0
  195. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_config_recorders_delivery_channels.py +0 -0
  196. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ds_directories.py +0 -0
  197. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ec2_availability_zones.py +0 -0
  198. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ec2_ebs_volumes.py +0 -0
  199. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ec2_instances.py +0 -0
  200. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ecs_clusters_and_tasks.py +0 -0
  201. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_elbs_load_balancers.py +0 -0
  202. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_enis_network_interfaces.py +0 -0
  203. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_guardduty_detectors.py +0 -0
  204. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_iam_policies.py +0 -0
  205. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_iam_roles.py +0 -0
  206. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_iam_saml_providers.py +0 -0
  207. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_lambda_functions.py +0 -0
  208. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_org_accounts.py +0 -0
  209. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_org_accounts_users.py +0 -0
  210. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_rds_db_instances.py +0 -0
  211. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_route53_hosted_zones.py +0 -0
  212. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_servicecatalog_provisioned_products.py +0 -0
  213. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_sns_topics.py +0 -0
  214. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ssm_parameters.py +0 -0
  215. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_vpc_subnets.py +0 -0
  216. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_vpcs.py +0 -0
  217. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/models/__init__.py +0 -0
  218. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/models/account.py +0 -0
  219. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/models/inventory.py +0 -0
  220. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/models/resource.py +0 -0
  221. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/recover_cfn_stack_ids.py +0 -0
  222. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/requirements.txt +0 -0
  223. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/run_on_multi_accounts.py +0 -0
  224. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/utils/__init__.py +0 -0
  225. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/utils/aws_helpers.py +0 -0
  226. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/utils/threading_utils.py +0 -0
  227. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/utils/validation.py +0 -0
  228. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/verify_ec2_security_groups.py +0 -0
  229. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/main.py +0 -0
  230. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/base.py +0 -0
  231. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/cloudformation_operations.py +0 -0
  232. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/cloudwatch_operations.py +0 -0
  233. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/dynamodb_operations.py +0 -0
  234. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/ec2_operations.py +0 -0
  235. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/iam_operations.py +0 -0
  236. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/s3_operations.py +0 -0
  237. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/tagging_operations.py +0 -0
  238. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/tags.json +0 -0
  239. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/CLAUDE.md +0 -0
  240. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/DOME9.md +0 -0
  241. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/README.md +0 -0
  242. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/Tests/__init__.py +0 -0
  243. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/Tests/update_policy.py +0 -0
  244. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/acm_cert_expired_unused.py +0 -0
  245. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/api_gateway_list.py +0 -0
  246. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cloudtrail_s3_modifications.py +0 -0
  247. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cognito_active_users.py +0 -0
  248. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cognito_user_password_reset.py +0 -0
  249. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/commons.py +0 -0
  250. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/dynamodb_optimize.py +0 -0
  251. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/dynamodb_server_side_encryption.py +0 -0
  252. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_public_ips.py +0 -0
  253. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_subnet_disable_auto_ip_assignment.py +0 -0
  254. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_unused_security_groups.py +0 -0
  255. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/lambda_list.py +0 -0
  256. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/rds_instance_list.py +0 -0
  257. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/rds_snapshot_list.py +0 -0
  258. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_bucket_public_access.py +0 -0
  259. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_disable_static_website_hosting.py +0 -0
  260. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_downloader.py +0 -0
  261. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_force_ssl_secure_policy.py +0 -0
  262. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_list.py +0 -0
  263. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_object_search.py +0 -0
  264. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/scan_for_phrase.py +0 -0
  265. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/workspaces_list.py +0 -0
  266. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/README.md +0 -0
  267. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/__init__.py +0 -0
  268. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/account_level_bucket_public_access.py +0 -0
  269. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/alternate_contacts.py +0 -0
  270. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/bucket_public_access.py +0 -0
  271. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/cloudwatch_alarm_configuration.py +0 -0
  272. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/direct_attached_policy.py +0 -0
  273. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/guardduty_enabled.py +0 -0
  274. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/iam_password_policy.py +0 -0
  275. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/iam_user_mfa.py +0 -0
  276. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/multi_region_instance_usage.py +0 -0
  277. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/multi_region_trail.py +0 -0
  278. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/root_access_key.py +0 -0
  279. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/root_mfa.py +0 -0
  280. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/root_usage.py +0 -0
  281. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/trail_enabled.py +0 -0
  282. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/trusted_advisor.py +0 -0
  283. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/config-origin.json +0 -0
  284. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/config.json +0 -0
  285. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/permission.json +0 -0
  286. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_generator.py +0 -0
  287. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_template_en.html +0 -0
  288. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_template_jp.html +0 -0
  289. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_template_kr.html +0 -0
  290. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_template_vn.html +0 -0
  291. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/run_script.py +0 -0
  292. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/security_baseline_tester.py +0 -0
  293. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/__init__.py +0 -0
  294. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/common.py +0 -0
  295. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/enums.py +0 -0
  296. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/language.py +0 -0
  297. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/level_const.py +0 -0
  298. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/permission_list.py +0 -0
  299. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/utils/__init__.py +0 -0
  300. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/utils/logger.py +0 -0
  301. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/dependency_links.txt +0 -0
  302. {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runbooks
3
- Version: 0.7.5
3
+ Version: 0.7.6
4
4
  Summary: CloudOps Automation Toolkit with Enhanced Cloud Foundations Assessment for DevOps and SRE teams.
5
5
  Author-email: Maintainers <nnthanh101@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -34,8 +34,9 @@ Requires-Dist: markdown>=3.7.0
34
34
  Requires-Dist: prettytable>=3.16.0
35
35
  Requires-Dist: simplejson>=3.20.1
36
36
  Requires-Dist: python-dateutil>=2.9.0
37
- Requires-Dist: loguru>=0.7.5
37
+ Requires-Dist: loguru>=0.7.3
38
38
  Requires-Dist: tqdm>=4.67.1
39
+ Requires-Dist: graphviz>=0.20.1
39
40
  Requires-Dist: rich>=14.0.0
40
41
  Requires-Dist: reportlab>=3.6.1
41
42
  Requires-Dist: requests>=2.32.0
@@ -43,6 +44,7 @@ Requires-Dist: packaging>=21.0
43
44
  Requires-Dist: pyyaml>=6.0.2
44
45
  Requires-Dist: jmespath>=1.0.1
45
46
  Requires-Dist: urllib3<1.27,>=1.26.18
47
+ Requires-Dist: mcp>=1.12.3
46
48
  Dynamic: license-file
47
49
 
48
50
  # 🚀 CloudOps Runbooks - Enterprise AWS Automation Toolkit
@@ -13,7 +13,7 @@
13
13
  ## Metadata: https://docs.astral.sh/uv/concepts/projects/config/
14
14
  name = "runbooks"
15
15
  ## Enhanced with AWS Operations integration, unified CLI architecture, and comprehensive service operations
16
- version = "0.7.5"
16
+ version = "0.7.6"
17
17
  description = "CloudOps Automation Toolkit with Enhanced Cloud Foundations Assessment for DevOps and SRE teams."
18
18
  readme = "README.md"
19
19
  requires-python = ">=3.11,<3.14"
@@ -41,38 +41,33 @@ dependencies = [
41
41
  "boto3>=1.35.40",
42
42
  "botocore>=1.35.40",
43
43
  "diagrams>=0.24.4",
44
-
45
44
  ## CLI Framework
46
45
  "click>=8.2.1",
47
-
48
46
  ## Data Models and Validation
49
47
  "pydantic>=2.10.0",
50
-
51
48
  ## CFAT-specific additions for enhanced assessment
52
- "jinja2>=3.1.4", # HTML report templating (also used by security module)
53
- "werkzeug>=3.1.0", # Web server for interactive reports
54
- "markdown>=3.7.0", # Markdown processing for reports
55
-
49
+ "jinja2>=3.1.4", # HTML report templating (also used by security module)
50
+ "werkzeug>=3.1.0", # Web server for interactive reports
51
+ "markdown>=3.7.0", # Markdown processing for reports
56
52
  ## Utilities: Logging & Monitoring
57
53
  "prettytable>=3.16.0",
58
54
  "simplejson>=3.20.1",
59
55
  "python-dateutil>=2.9.0",
60
- "loguru>=0.7.5",
56
+ "loguru>=0.7.3",
61
57
  "tqdm>=4.67.1",
62
-
58
+ "graphviz>=0.20.1", # Organization diagram generation
63
59
  ## FinOps module dependencies (simplified and aligned)
64
- "rich>=14.0.0", # Rich text and beautiful formatting in the terminal
65
- "reportlab>=3.6.1", # PDF generation
66
- "requests>=2.32.0", # HTTP requests for version checking
67
- "packaging>=21.0", # Core utilities for Python packages
68
- "pyyaml>=6.0.2", # YAML parsing
69
-
70
- ## Security Module Dependencies
71
- "jmespath>=1.0.1", # JSON query parsing for AWS responses
72
- "urllib3>=1.26.18,<1.27", # HTTP library (compatible with awscli)
73
-
60
+ "rich>=14.0.0", # Rich text and beautiful formatting in the terminal
61
+ "reportlab>=3.6.1", # PDF generation
62
+ "requests>=2.32.0", # HTTP requests for version checking
63
+ "packaging>=21.0", # Core utilities for Python packages
64
+ "pyyaml>=6.0.2", # YAML parsing
65
+ ## Security Module Dependencies
66
+ "jmespath>=1.0.1", # JSON query parsing for AWS responses
67
+ "urllib3>=1.26.18,<1.27", # HTTP library (compatible with awscli)
74
68
  ## 1xOps/CloudOps-Runbooks: https://pypi.org/project/runbooks/
75
69
  # "runbooks>=0.3.0"
70
+ "mcp>=1.12.3",
76
71
  ]
77
72
 
78
73
  ##─────────────────────────────────
@@ -183,61 +178,84 @@ analytics = [
183
178
  license-files = ["LICENSE"]
184
179
 
185
180
  [tool.pytest.ini_options]
186
- ## Pytest Configuration for AWS Cloud Foundations Inventory Scripts
187
- pythonpath = ["src"]
181
+ ## Pytest Configuration for CloudOps Runbooks Testing Framework
182
+ pythonpath = ["src", "src/runbooks", "src/runbooks/inventory"]
188
183
  testpaths = [
189
184
  "tests",
190
- "src/runbooks/inventory/tests"
185
+ "src/runbooks/inventory/tests",
186
+ "src/runbooks/*/tests"
191
187
  ]
192
188
  python_files = ["test_*.py", "*_test.py"]
193
189
  python_classes = ["Test*"]
194
190
  python_functions = ["test_*"]
195
191
 
196
- ## Test Discovery and Execution
192
+ ## Test Discovery and Execution
197
193
  addopts = [
198
194
  "--strict-markers",
199
195
  "--strict-config",
200
196
  "--verbose",
201
197
  "--tb=short",
202
- "--maxfail=3",
198
+ "--maxfail=5",
203
199
  "--durations=10",
204
- # Coverage options (uncomment when ready)
205
- # "--cov=src/runbooks/inventory",
206
- # "--cov-report=term-missing",
207
- # "--cov-report=html:htmlcov",
208
- # "--cov-fail-under=80",
200
+ "--disable-warnings",
201
+ # Coverage options (enabled for improved quality gates)
202
+ "--cov=src/runbooks",
203
+ "--cov-report=term-missing",
204
+ "--cov-report=html:htmlcov",
205
+ "--cov-fail-under=75",
206
+ # Performance and logging
207
+ "--capture=no",
209
208
  ]
210
209
 
211
- ## Test Markers for Organization
210
+ ## Test Markers for Organization (Enhanced for CloudOps)
212
211
  markers = [
213
212
  "functional: marks tests as functional tests (deselect with '-m \"not functional\"')",
214
- "integration: marks tests as integration tests",
213
+ "integration: marks tests as integration tests with moto AWS mocking",
215
214
  "unit: Unit tests (fast, no external dependencies)",
216
215
  "e2e: End-to-end tests (requires real AWS credentials)",
217
216
  "slow: Slow tests (long-running operations)",
217
+ "import_validation: Import validation tests for failed scripts",
218
218
  "aws_service: Tests specific AWS service interactions",
219
219
  "cli: Tests CLI argument parsing and validation",
220
220
  "inventory: Tests for inventory collection scripts",
221
+ "security: Tests for security baseline and assessment",
222
+ "cfat: Tests for Cloud Foundations Assessment Tool",
223
+ "finops: Tests for cost and usage analytics",
224
+ "remediation: Tests for AWS security remediation scripts",
225
+ "operate: Tests for AWS resource operations",
221
226
  "organizations: Tests for AWS Organizations functionality",
222
227
  "cloudformation: Tests for CloudFormation operations",
223
228
  "ec2: Tests for EC2 service operations",
224
229
  "iam: Tests for IAM service operations",
230
+ "s3: Tests for S3 service operations",
225
231
  "models: Tests for data model validation",
226
232
  "assessment: Tests for assessment engine functionality",
227
233
  "reporting: Tests for report generation",
234
+ "performance: Performance and benchmark tests",
235
+ "moto_aws: Tests using moto AWS service mocking",
228
236
  ]
229
237
 
230
- ## Filterwarnings for cleaner test output
238
+ ## Filterwarnings for cleaner test output (Enhanced)
231
239
  filterwarnings = [
232
240
  "ignore::DeprecationWarning",
233
241
  "ignore::PendingDeprecationWarning",
234
242
  "ignore:Call to deprecated create function:DeprecationWarning",
235
243
  "ignore::pytest.PytestCollectionWarning",
244
+ "ignore::pytest.PytestUnraisableExceptionWarning",
245
+ "ignore:.*unclosed.*:ResourceWarning",
246
+ "ignore:.*ssl.*:DeprecationWarning",
247
+ "ignore:.*urllib3.*:DeprecationWarning",
248
+ "ignore:.*boto.*:DeprecationWarning",
249
+ "ignore:.*aws.*:DeprecationWarning",
236
250
  ]
237
251
 
238
252
  ## Async test configuration
239
253
  asyncio_mode = "auto"
240
254
 
255
+ ## Test timeout settings (commented out - requires pytest-timeout)
256
+ # timeout = 300
257
+ # timeout_method = "thread"
258
+
241
259
 
242
260
  [project.scripts]
243
261
  ## CLI Commands
@@ -67,7 +67,7 @@ try:
67
67
  __version__ = _pkg_version("runbooks")
68
68
  except Exception:
69
69
  # Fallback if metadata is unavailable during editable installs
70
- __version__ = "0.7.5"
70
+ __version__ = "0.7.6"
71
71
 
72
72
  # Core module exports
73
73
  from runbooks.config import RunbooksConfig, load_config, save_config
@@ -34,7 +34,7 @@ Example:
34
34
  print(f"Critical Issues: {report.summary.critical_issues}")
35
35
  ```
36
36
 
37
- Version: 0.7.5 (Latest with enhanced CLI integration, rust tooling, and modern dependency stack)
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.7.5"
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.5"
15
+ __version__ = "0.7.6"
16
16
 
17
17
  # Core components
18
18
  # AWS client utilities
@@ -10,7 +10,7 @@ from runbooks.finops.helpers import load_config_file
10
10
 
11
11
  console = Console()
12
12
 
13
- __version__ = "0.7.5"
13
+ __version__ = "0.7.6"
14
14
 
15
15
 
16
16
  def welcome_banner() -> None:
@@ -169,7 +169,7 @@ runbooks operate iam update-roles-cross-accounts --role-name deployment-role
169
169
  - **Platform Teams**: Self-service infrastructure capabilities
170
170
  - **Security Teams**: Compliance automation and policy enforcement
171
171
 
172
- Version: 0.7.5 - Enterprise Production Ready
172
+ Version: 0.7.6 - Enterprise Production Ready
173
173
  Compatibility: AWS SDK v3, Python 3.8+, Multi-deployment ready
174
174
  """
175
175
 
@@ -183,7 +183,7 @@ from runbooks.operate.s3_operations import S3Operations
183
183
  from runbooks.operate.tagging_operations import TaggingOperations
184
184
 
185
185
  # Version info
186
- __version__ = "0.7.5"
186
+ __version__ = "0.7.6"
187
187
  __author__ = "CloudOps Runbooks Team"
188
188
 
189
189
  # Public API exports
@@ -41,7 +41,7 @@ automation lifecycle by bridging assessment findings to automated fixes.
41
41
  - CloudTrail Policy Analysis & Reversion, Resource Scanning
42
42
  - Workspace Management, Cross-Service Utilities
43
43
 
44
- Version: 0.7.5 - Enterprise Production Ready
44
+ Version: 0.7.6 - Enterprise Production Ready
45
45
  Compatibility: AWS SDK v3, Python 3.8+, Multi-deployment ready
46
46
  """
47
47
 
@@ -66,7 +66,7 @@ from runbooks.remediation.rds_remediation import RDSSecurityRemediation
66
66
  from runbooks.remediation.s3_remediation import S3SecurityRemediation
67
67
 
68
68
  # Version info
69
- __version__ = "0.7.5"
69
+ __version__ = "0.7.6"
70
70
  __author__ = "CloudOps Runbooks Team"
71
71
 
72
72
  # Public API exports
@@ -68,7 +68,7 @@ results = acm_remediation.cleanup_expired_certificates(
68
68
  )
69
69
  ```
70
70
 
71
- Version: 0.7.5 - Enterprise Production Ready with CRITICAL SAFETY FEATURES
71
+ Version: 0.7.6 - Enterprise Production Ready with CRITICAL SAFETY FEATURES
72
72
  """
73
73
 
74
74
  import json
@@ -60,7 +60,7 @@ Each remediation operation includes compliance framework mapping:
60
60
  - **AWS Well-Architected Framework**: Pillar and principle mapping
61
61
  - **CheckPoint CloudGuard/Dome9**: Rule-by-rule remediation mapping
62
62
 
63
- Version: 0.7.5 - Enterprise Production Ready
63
+ Version: 0.7.6 - Enterprise Production Ready
64
64
  Compatibility: AWS SDK v3, Python 3.8+, Multi-deployment ready
65
65
  """
66
66
 
@@ -71,7 +71,7 @@ results = cloudtrail_remediation.analyze_s3_policy_changes(
71
71
  )
72
72
  ```
73
73
 
74
- Version: 0.7.5 - Enterprise Production Ready with CRITICAL SAFETY FEATURES
74
+ Version: 0.7.6 - Enterprise Production Ready with CRITICAL SAFETY FEATURES
75
75
  """
76
76
 
77
77
  import json
@@ -73,7 +73,7 @@ results = cognito_remediation.reset_user_password(
73
73
  )
74
74
  ```
75
75
 
76
- Version: 0.7.5 - Enterprise Production Ready with CRITICAL SAFETY FEATURES
76
+ Version: 0.7.6 - Enterprise Production Ready with CRITICAL SAFETY FEATURES
77
77
  """
78
78
 
79
79
  import getpass
@@ -54,7 +54,7 @@ results = dynamodb_remediation.comprehensive_dynamodb_security(
54
54
  )
55
55
  ```
56
56
 
57
- Version: 0.7.5 - Enterprise Production Ready
57
+ Version: 0.7.6 - Enterprise Production Ready
58
58
  """
59
59
 
60
60
  import json
@@ -55,7 +55,7 @@ results = ec2_remediation.cleanup_unused_resources(
55
55
  )
56
56
  ```
57
57
 
58
- Version: 0.7.5 - Enterprise Production Ready
58
+ Version: 0.7.6 - Enterprise Production Ready
59
59
  """
60
60
 
61
61
  import datetime
@@ -31,7 +31,7 @@ python ec2_unattached_ebs_volumes.py
31
31
  ⚠️ **DATA LOSS**: Deleted volumes cannot be recovered
32
32
  ⚠️ **COST IMPACT**: Verify volumes are truly unused before deletion
33
33
 
34
- Version: 0.7.5 - Enterprise Production Ready
34
+ Version: 0.7.6 - Enterprise Production Ready
35
35
  Compliance: CIS AWS Foundations, Cost Optimization Best Practices
36
36
  """
37
37
 
@@ -43,7 +43,7 @@ python kms_enable_key_rotation.py --rotation-days 365
43
43
  ⚠️ **COST IMPACT**: Key rotation may impact application performance
44
44
  ⚠️ **TESTING**: Verify applications handle key rotation gracefully
45
45
 
46
- Version: 0.7.5 - Enterprise Production Ready
46
+ Version: 0.7.6 - Enterprise Production Ready
47
47
  Compliance: CIS AWS Foundations 3.8, NIST SP 800-57
48
48
  """
49
49
 
@@ -53,7 +53,7 @@ results = kms_remediation.enable_key_rotation_bulk(
53
53
  )
54
54
  ```
55
55
 
56
- Version: 0.7.5 - Enterprise Production Ready
56
+ Version: 0.7.6 - Enterprise Production Ready
57
57
  """
58
58
 
59
59
  import json
@@ -59,7 +59,7 @@ results = lambda_remediation.comprehensive_lambda_security(
59
59
  )
60
60
  ```
61
61
 
62
- Version: 0.7.5 - Enterprise Production Ready
62
+ Version: 0.7.6 - Enterprise Production Ready
63
63
  """
64
64
 
65
65
  import copy
@@ -55,7 +55,7 @@ results = remediator.bulk_s3_security(
55
55
  )
56
56
  ```
57
57
 
58
- Version: 0.7.5 - Enterprise Production Ready
58
+ Version: 0.7.6 - Enterprise Production Ready
59
59
  """
60
60
 
61
61
  import concurrent.futures
@@ -59,7 +59,7 @@ results = rds_remediation.comprehensive_rds_security(
59
59
  )
60
60
  ```
61
61
 
62
- Version: 0.7.5 - Enterprise Production Ready
62
+ Version: 0.7.6 - Enterprise Production Ready
63
63
  """
64
64
 
65
65
  import json
@@ -24,7 +24,7 @@ contourpy==1.2.0
24
24
  cryptography==42.0.4
25
25
  debugpy==1.8.1
26
26
  decorator==5.1.1
27
- defusedxml==0.7.5
27
+ defusedxml==0.7.6
28
28
  executing==2.0.1
29
29
  fastjsonschema==2.19.1
30
30
  fqdn==1.5.1
@@ -74,7 +74,7 @@ platformdirs==4.2.0
74
74
  prompt-toolkit==3.0.43
75
75
  protobuf==4.25.3
76
76
  psutil==5.9.8
77
- ptyprocess==0.7.5
77
+ ptyprocess==0.7.6
78
78
  publicsuffix2==2.20191221
79
79
  pure-eval==0.2.2
80
80
  pyasn1==0.5.1
@@ -47,7 +47,7 @@ python s3_block_public_access.py --block
47
47
  ⚠️ **WEBSITE HOSTING**: Will disable S3 static website hosting features
48
48
  ⚠️ **CDN INTEGRATION**: May affect CloudFront and other CDN configurations
49
49
 
50
- Version: 0.7.5 - Enterprise Production Ready
50
+ Version: 0.7.6 - Enterprise Production Ready
51
51
  Compliance: CIS AWS Foundations 2.1.5, NIST SP 800-53
52
52
  """
53
53
 
@@ -53,7 +53,7 @@ python s3_enable_access_logging.py --log-bucket audit-logs --log-prefix access-l
53
53
  ⚠️ **COST IMPACT**: Access logging incurs additional storage costs
54
54
  ⚠️ **RETENTION**: Consider lifecycle policies for log management
55
55
 
56
- Version: 0.7.5 - Enterprise Production Ready
56
+ Version: 0.7.6 - Enterprise Production Ready
57
57
  Compliance: CIS AWS Foundations 3.1, SOC2 A1.1, PCI DSS 10.2
58
58
  """
59
59
 
@@ -53,7 +53,7 @@ python s3_encryption.py --encryption-type sse-kms --create-kms-key
53
53
  ⚠️ **KEY MANAGEMENT**: Customer-managed keys require proper lifecycle management
54
54
  ⚠️ **COMPLIANCE**: Some regulations require specific encryption types
55
55
 
56
- Version: 0.7.5 - Enterprise Production Ready
56
+ Version: 0.7.6 - Enterprise Production Ready
57
57
  Compliance: CIS AWS Foundations 2.1.1, SOC2 A1.2, PCI DSS 3.4
58
58
  """
59
59
 
@@ -46,7 +46,7 @@ Migrated and enhanced from these original remediation scripts:
46
46
  - **D9.AWS.S3.02**: S3 bucket public access prevention
47
47
  - **D9.AWS.S3.03**: S3 bucket encryption enforcement
48
48
 
49
- Version: 0.7.5 - Enterprise Production Ready
49
+ Version: 0.7.6 - Enterprise Production Ready
50
50
  """
51
51
 
52
52
  import json
@@ -52,7 +52,7 @@ from .run_script import parse_arguments
52
52
  from .security_baseline_tester import SecurityBaselineTester
53
53
 
54
54
  # Version info
55
- __version__ = "0.7.5"
55
+ __version__ = "0.7.6"
56
56
  __author__ = "CloudOps Runbooks Team"
57
57
 
58
58
  # Public API
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runbooks
3
- Version: 0.7.5
3
+ Version: 0.7.6
4
4
  Summary: CloudOps Automation Toolkit with Enhanced Cloud Foundations Assessment for DevOps and SRE teams.
5
5
  Author-email: Maintainers <nnthanh101@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -34,8 +34,9 @@ Requires-Dist: markdown>=3.7.0
34
34
  Requires-Dist: prettytable>=3.16.0
35
35
  Requires-Dist: simplejson>=3.20.1
36
36
  Requires-Dist: python-dateutil>=2.9.0
37
- Requires-Dist: loguru>=0.7.5
37
+ Requires-Dist: loguru>=0.7.3
38
38
  Requires-Dist: tqdm>=4.67.1
39
+ Requires-Dist: graphviz>=0.20.1
39
40
  Requires-Dist: rich>=14.0.0
40
41
  Requires-Dist: reportlab>=3.6.1
41
42
  Requires-Dist: requests>=2.32.0
@@ -43,6 +44,7 @@ Requires-Dist: packaging>=21.0
43
44
  Requires-Dist: pyyaml>=6.0.2
44
45
  Requires-Dist: jmespath>=1.0.1
45
46
  Requires-Dist: urllib3<1.27,>=1.26.18
47
+ Requires-Dist: mcp>=1.12.3
46
48
  Dynamic: license-file
47
49
 
48
50
  # 🚀 CloudOps Runbooks - Enterprise AWS Automation Toolkit
@@ -1,47 +1,9 @@
1
- .actrc
2
- .gitignore
3
- .gitmodules
4
- .pre-commit-config.yaml
5
- .python-version
6
- CHANGELOG.md
7
1
  LICENSE
8
2
  MANIFEST.in
9
- Quickstart.md
10
3
  README
11
- README.docs.md
12
4
  README.md
13
- Taskfile.yaml
14
- docker-build-push.sh
15
- execute_landing_page.py
16
5
  pyproject.toml
17
- uv.lock
18
- output/dev/landing-page/index.html
19
- output/dev/landing-page/css/styles.css
20
- output/dev/landing-page/js/main.js
21
- references/.gitkeep
22
- reports/.gitkeep
23
- reports/figures/.gitkeep
24
6
  src/conftest.py
25
- src/main.python101.py
26
- src/jupyter-agent/.env
27
- src/jupyter-agent/.env.template
28
- src/jupyter-agent/.gitattributes
29
- src/jupyter-agent/README.md
30
- src/jupyter-agent/__main__.log
31
- src/jupyter-agent/app.py
32
- src/jupyter-agent/cloudops-agent.png
33
- src/jupyter-agent/ds-system-prompt.txt
34
- src/jupyter-agent/jupyter-agent.png
35
- src/jupyter-agent/llama3_template.jinja
36
- src/jupyter-agent/requirements.txt
37
- src/jupyter-agent/utils.py
38
- src/jupyter-agent/.gradio/certificate.pem
39
- src/jupyter-agent/tmp/jupyter-agent.ipynb
40
- src/jupyter-agent/tmp/4ojbs8a02ir/jupyter-agent.ipynb
41
- src/jupyter-agent/tmp/cm5iasgpm3p/jupyter-agent.ipynb
42
- src/jupyter-agent/tmp/crqbsseag5/jupyter-agent.ipynb
43
- src/jupyter-agent/tmp/hohanq1u097/jupyter-agent.ipynb
44
- src/jupyter-agent/tmp/jns1sam29wm/jupyter-agent.ipynb
45
7
  src/runbooks/__init__.py
46
8
  src/runbooks/__main__.py
47
9
  src/runbooks/base.py
@@ -129,13 +91,11 @@ src/runbooks/finops/types.py
129
91
  src/runbooks/finops/visualisations.py
130
92
  src/runbooks/inventory/.gitignore
131
93
  src/runbooks/inventory/ArgumentsClass.py
132
- src/runbooks/inventory/Inventory_Modules.py
133
94
  src/runbooks/inventory/README.md
134
95
  src/runbooks/inventory/__init__.py
135
96
  src/runbooks/inventory/account_class.py
136
97
  src/runbooks/inventory/all_my_instances_wrapper.py
137
98
  src/runbooks/inventory/aws_decorators.py
138
- src/runbooks/inventory/aws_organization.png
139
99
  src/runbooks/inventory/check_cloudtrail_compliance.py
140
100
  src/runbooks/inventory/check_controltower_readiness.py
141
101
  src/runbooks/inventory/check_landingzone_readiness.py
@@ -150,6 +110,7 @@ src/runbooks/inventory/find_ec2_security_groups.py
150
110
  src/runbooks/inventory/find_landingzone_versions.py
151
111
  src/runbooks/inventory/find_vpc_flow_logs.py
152
112
  src/runbooks/inventory/inventory.sh
113
+ src/runbooks/inventory/inventory_modules.py
153
114
  src/runbooks/inventory/list_cfn_stacks.py
154
115
  src/runbooks/inventory/list_cfn_stackset_operation_results.py
155
116
  src/runbooks/inventory/list_cfn_stackset_operations.py
@@ -181,6 +142,17 @@ src/runbooks/inventory/requirements.txt
181
142
  src/runbooks/inventory/run_on_multi_accounts.py
182
143
  src/runbooks/inventory/verify_ec2_security_groups.py
183
144
  src/runbooks/inventory/LandingZone/delete_lz.py
145
+ src/runbooks/inventory/Tests/common_test_data.py
146
+ src/runbooks/inventory/Tests/common_test_functions.py
147
+ src/runbooks/inventory/Tests/script_test_data.py
148
+ src/runbooks/inventory/Tests/setup.py
149
+ src/runbooks/inventory/Tests/src.py
150
+ src/runbooks/inventory/Tests/test_Inventory_Modules.py
151
+ src/runbooks/inventory/Tests/test_cfn_describe_stacks.py
152
+ src/runbooks/inventory/Tests/test_ec2_describe_instances.py
153
+ src/runbooks/inventory/Tests/test_lambda_list_functions.py
154
+ src/runbooks/inventory/Tests/test_moto_integration_example.py
155
+ src/runbooks/inventory/Tests/test_org_list_accounts.py
184
156
  src/runbooks/inventory/collectors/__init__.py
185
157
  src/runbooks/inventory/collectors/aws_compute.py
186
158
  src/runbooks/inventory/collectors/aws_management.py
@@ -193,17 +165,6 @@ src/runbooks/inventory/models/__init__.py
193
165
  src/runbooks/inventory/models/account.py
194
166
  src/runbooks/inventory/models/inventory.py
195
167
  src/runbooks/inventory/models/resource.py
196
- src/runbooks/inventory/tests/common_test_data.py
197
- src/runbooks/inventory/tests/common_test_functions.py
198
- src/runbooks/inventory/tests/script_test_data.py
199
- src/runbooks/inventory/tests/setup.py
200
- src/runbooks/inventory/tests/src.py
201
- src/runbooks/inventory/tests/test_cfn_describe_stacks.py
202
- src/runbooks/inventory/tests/test_ec2_describe_instances.py
203
- src/runbooks/inventory/tests/test_inventory_modules.py
204
- src/runbooks/inventory/tests/test_lambda_list_functions.py
205
- src/runbooks/inventory/tests/test_moto_integration_example.py
206
- src/runbooks/inventory/tests/test_org_list_accounts.py
207
168
  src/runbooks/inventory/utils/__init__.py
208
169
  src/runbooks/inventory/utils/aws_helpers.py
209
170
  src/runbooks/inventory/utils/threading_utils.py
@@ -9,8 +9,9 @@ markdown>=3.7.0
9
9
  prettytable>=3.16.0
10
10
  simplejson>=3.20.1
11
11
  python-dateutil>=2.9.0
12
- loguru>=0.7.5
12
+ loguru>=0.7.3
13
13
  tqdm>=4.67.1
14
+ graphviz>=0.20.1
14
15
  rich>=14.0.0
15
16
  reportlab>=3.6.1
16
17
  requests>=2.32.0
@@ -18,3 +19,4 @@ packaging>=21.0
18
19
  pyyaml>=6.0.2
19
20
  jmespath>=1.0.1
20
21
  urllib3<1.27,>=1.26.18
22
+ mcp>=1.12.3
@@ -1,3 +1,2 @@
1
1
  conftest
2
- jupyter-agent
3
2
  runbooks
runbooks-0.7.5/.actrc DELETED
@@ -1,6 +0,0 @@
1
- --container-architecture linux/amd64
2
- --bind
3
- -P ubuntu-latest=nnthanh101/runbooks:latest
4
- -P ubuntu-22.04=nnthanh101/runbooks:latest
5
- -P ubuntu-20.04=nnthanh101/runbooks:latest
6
- --platform nnthanh101/runbooks