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.
- {runbooks-0.7.5 → runbooks-0.7.6}/PKG-INFO +4 -2
- {runbooks-0.7.5 → runbooks-0.7.6}/pyproject.toml +51 -33
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/__init__.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/__init__.py +2 -2
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/__init__.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/cli.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/__init__.py +2 -2
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/__init__.py +2 -2
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/acm_remediation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/base.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cloudtrail_remediation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cognito_remediation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/dynamodb_remediation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_remediation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_unattached_ebs_volumes.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/kms_enable_key_rotation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/kms_remediation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/lambda_remediation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/multi_account.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/rds_remediation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/requirements.txt +2 -2
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_block_public_access.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_enable_access_logging.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_encryption.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_remediation.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/__init__.py +1 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/PKG-INFO +4 -2
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/SOURCES.txt +12 -51
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/requires.txt +3 -1
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/top_level.txt +0 -1
- runbooks-0.7.5/.actrc +0 -6
- runbooks-0.7.5/.gitignore +0 -202
- runbooks-0.7.5/.gitmodules +0 -3
- runbooks-0.7.5/.pre-commit-config.yaml +0 -10
- runbooks-0.7.5/.python-version +0 -1
- runbooks-0.7.5/CHANGELOG.md +0 -38
- runbooks-0.7.5/Quickstart.md +0 -68
- runbooks-0.7.5/README.docs.md +0 -19
- runbooks-0.7.5/Taskfile.yaml +0 -750
- runbooks-0.7.5/docker-build-push.sh +0 -64
- runbooks-0.7.5/execute_landing_page.py +0 -181
- runbooks-0.7.5/output/dev/landing-page/css/styles.css +0 -551
- runbooks-0.7.5/output/dev/landing-page/index.html +0 -178
- runbooks-0.7.5/output/dev/landing-page/js/main.js +0 -100
- runbooks-0.7.5/references/.gitkeep +0 -0
- runbooks-0.7.5/reports/.gitkeep +0 -0
- runbooks-0.7.5/reports/figures/.gitkeep +0 -0
- runbooks-0.7.5/src/jupyter-agent/.env +0 -2
- runbooks-0.7.5/src/jupyter-agent/.env.template +0 -2
- runbooks-0.7.5/src/jupyter-agent/.gitattributes +0 -35
- runbooks-0.7.5/src/jupyter-agent/.gradio/certificate.pem +0 -31
- runbooks-0.7.5/src/jupyter-agent/README.md +0 -16
- runbooks-0.7.5/src/jupyter-agent/__main__.log +0 -8
- runbooks-0.7.5/src/jupyter-agent/app.py +0 -256
- runbooks-0.7.5/src/jupyter-agent/cloudops-agent.png +0 -0
- runbooks-0.7.5/src/jupyter-agent/ds-system-prompt.txt +0 -154
- runbooks-0.7.5/src/jupyter-agent/jupyter-agent.png +0 -0
- runbooks-0.7.5/src/jupyter-agent/llama3_template.jinja +0 -123
- runbooks-0.7.5/src/jupyter-agent/requirements.txt +0 -9
- runbooks-0.7.5/src/jupyter-agent/tmp/4ojbs8a02ir/jupyter-agent.ipynb +0 -68
- runbooks-0.7.5/src/jupyter-agent/tmp/cm5iasgpm3p/jupyter-agent.ipynb +0 -91
- runbooks-0.7.5/src/jupyter-agent/tmp/crqbsseag5/jupyter-agent.ipynb +0 -91
- runbooks-0.7.5/src/jupyter-agent/tmp/hohanq1u097/jupyter-agent.ipynb +0 -57
- runbooks-0.7.5/src/jupyter-agent/tmp/jns1sam29wm/jupyter-agent.ipynb +0 -53
- runbooks-0.7.5/src/jupyter-agent/tmp/jupyter-agent.ipynb +0 -27
- runbooks-0.7.5/src/jupyter-agent/utils.py +0 -409
- runbooks-0.7.5/src/main.python101.py +0 -115
- runbooks-0.7.5/src/runbooks/inventory/aws_organization.png +0 -0
- runbooks-0.7.5/uv.lock +0 -5257
- {runbooks-0.7.5 → runbooks-0.7.6}/LICENSE +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/MANIFEST.in +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/README.md +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/setup.cfg +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/conftest.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/__main__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/base.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/README.md +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/app.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/asana-import.csv +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/cfat-checks.csv +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/cfat.txt +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/collectors.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/jira-import.csv +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/runner.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/assessment/validators.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/cli.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/asana-import.csv +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cfat-checks.csv +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cfat.txt +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/checks-output.png +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cloudshell-console-run.png +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cloudshell-download.png +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/cloudshell-output.png +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/downloadfile.png +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/jira-import.csv +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/open-cloudshell.png +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/docs/report-header.png +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/models.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/package-lock.json +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/package.json +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/report.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/reporting/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/reporting/exporters.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/reporting/formatters.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/reporting/templates.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/run-assessment.sh +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/runner.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-cloudtrail-existence.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-config-existence.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-control-tower.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-ec2-existence.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-iam-users.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-legacy-cur.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-org-cloudformation.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/check-vpc-existence.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/create-asanaimport.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/create-backlog.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/create-jiraimport.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/create-report.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/define-account-type.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-enabled-org-policy-types.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-enabled-org-services.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-idc-info.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-org-da-accounts.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-org-details.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-org-member-accounts.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-org-ous.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/get-regions.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/actions/zip-assessment.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/src/types/index.d.ts +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/test_cli.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/test_integration.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/test_models.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tests/test_reporting.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/tsconfig.json +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/cfat/webpack.config.cjs +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/config.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/README.md +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/aws_client.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/cost_processor.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/dashboard_runner.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/helpers.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/main.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/profile_processor.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/types.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/finops/visualisations.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/.gitignore +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/ArgumentsClass.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/LandingZone/delete_lz.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/README.md +0 -0
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/common_test_data.py +0 -0
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/common_test_functions.py +0 -0
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/script_test_data.py +0 -0
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/setup.py +0 -0
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/src.py +0 -0
- /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
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_cfn_describe_stacks.py +0 -0
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_ec2_describe_instances.py +0 -0
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_lambda_list_functions.py +0 -0
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_moto_integration_example.py +0 -0
- {runbooks-0.7.5/src/runbooks/inventory/tests → runbooks-0.7.6/src/runbooks/inventory/Tests}/test_org_list_accounts.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/account_class.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/all_my_instances_wrapper.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/aws_decorators.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/check_cloudtrail_compliance.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/check_controltower_readiness.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/check_landingzone_readiness.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/cloudtrail.md +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/aws_compute.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/aws_management.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/aws_networking.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/collectors/base.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/core/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/core/collector.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/core/formatter.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/discovery.md +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/draw_org_structure.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/ec2_vpc_utils.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_cfn_drift_detection.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_cfn_orphaned_stacks.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_cfn_stackset_drift.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_ec2_security_groups.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_landingzone_versions.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/find_vpc_flow_logs.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/inventory.sh +0 -0
- /runbooks-0.7.5/src/runbooks/inventory/Inventory_Modules.py → /runbooks-0.7.6/src/runbooks/inventory/inventory_modules.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_cfn_stacks.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_cfn_stackset_operation_results.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_cfn_stackset_operations.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_cfn_stacksets.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_config_recorders_delivery_channels.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ds_directories.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ec2_availability_zones.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ec2_ebs_volumes.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ec2_instances.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ecs_clusters_and_tasks.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_elbs_load_balancers.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_enis_network_interfaces.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_guardduty_detectors.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_iam_policies.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_iam_roles.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_iam_saml_providers.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_lambda_functions.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_org_accounts.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_org_accounts_users.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_rds_db_instances.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_route53_hosted_zones.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_servicecatalog_provisioned_products.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_sns_topics.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_ssm_parameters.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_vpc_subnets.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/list_vpcs.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/models/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/models/account.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/models/inventory.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/models/resource.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/recover_cfn_stack_ids.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/requirements.txt +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/run_on_multi_accounts.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/utils/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/utils/aws_helpers.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/utils/threading_utils.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/utils/validation.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/inventory/verify_ec2_security_groups.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/main.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/base.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/cloudformation_operations.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/cloudwatch_operations.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/dynamodb_operations.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/ec2_operations.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/iam_operations.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/s3_operations.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/tagging_operations.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/operate/tags.json +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/CLAUDE.md +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/DOME9.md +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/README.md +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/Tests/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/Tests/update_policy.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/acm_cert_expired_unused.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/api_gateway_list.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cloudtrail_s3_modifications.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cognito_active_users.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/cognito_user_password_reset.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/commons.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/dynamodb_optimize.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/dynamodb_server_side_encryption.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_public_ips.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_subnet_disable_auto_ip_assignment.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/ec2_unused_security_groups.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/lambda_list.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/rds_instance_list.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/rds_snapshot_list.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_bucket_public_access.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_disable_static_website_hosting.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_downloader.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_force_ssl_secure_policy.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_list.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/s3_object_search.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/scan_for_phrase.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/remediation/workspaces_list.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/README.md +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/account_level_bucket_public_access.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/alternate_contacts.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/bucket_public_access.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/cloudwatch_alarm_configuration.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/direct_attached_policy.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/guardduty_enabled.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/iam_password_policy.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/iam_user_mfa.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/multi_region_instance_usage.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/multi_region_trail.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/root_access_key.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/root_mfa.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/root_usage.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/trail_enabled.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/checklist/trusted_advisor.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/config-origin.json +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/config.json +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/permission.json +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_generator.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_template_en.html +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_template_jp.html +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_template_kr.html +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/report_template_vn.html +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/run_script.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/security_baseline_tester.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/common.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/enums.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/language.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/level_const.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/security/utils/permission_list.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/utils/__init__.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks/utils/logger.py +0 -0
- {runbooks-0.7.5 → runbooks-0.7.6}/src/runbooks.egg-info/dependency_links.txt +0 -0
- {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.
|
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.
|
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.
|
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",
|
53
|
-
"werkzeug>=3.1.0",
|
54
|
-
"markdown>=3.7.0",
|
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.
|
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",
|
65
|
-
"reportlab>=3.6.1",
|
66
|
-
"requests>=2.32.0",
|
67
|
-
"packaging>=21.0",
|
68
|
-
"pyyaml>=6.0.2",
|
69
|
-
|
70
|
-
|
71
|
-
"
|
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
|
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=
|
198
|
+
"--maxfail=5",
|
203
199
|
"--durations=10",
|
204
|
-
|
205
|
-
#
|
206
|
-
|
207
|
-
|
208
|
-
|
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.
|
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.
|
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.
|
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.
|
15
|
+
__version__ = "0.7.6"
|
16
16
|
|
17
17
|
# Core components
|
18
18
|
# AWS client utilities
|
@@ -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.
|
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.
|
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.
|
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.
|
69
|
+
__version__ = "0.7.6"
|
70
70
|
__author__ = "CloudOps Runbooks Team"
|
71
71
|
|
72
72
|
# Public API exports
|
@@ -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.
|
63
|
+
Version: 0.7.6 - Enterprise Production Ready
|
64
64
|
Compatibility: AWS SDK v3, Python 3.8+, Multi-deployment ready
|
65
65
|
"""
|
66
66
|
|
@@ -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.
|
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.
|
46
|
+
Version: 0.7.6 - Enterprise Production Ready
|
47
47
|
Compliance: CIS AWS Foundations 3.8, NIST SP 800-57
|
48
48
|
"""
|
49
49
|
|
@@ -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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
49
|
+
Version: 0.7.6 - Enterprise Production Ready
|
50
50
|
"""
|
51
51
|
|
52
52
|
import json
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: runbooks
|
3
|
-
Version: 0.7.
|
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.
|
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.
|
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
|