runbooks 0.1.7__py3-none-any.whl → 0.1.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- runbooks/__init__.py +1 -1
- runbooks/aws/__init__.py +58 -0
- runbooks/aws/dynamodb_operations.py +231 -0
- runbooks/aws/ec2_copy_image_cross-region.py +195 -0
- runbooks/aws/ec2_describe_instances.py +202 -0
- runbooks/aws/ec2_ebs_snapshots_delete.py +186 -0
- runbooks/aws/ec2_run_instances.py +207 -0
- runbooks/aws/ec2_start_stop_instances.py +199 -0
- runbooks/aws/ec2_terminate_instances.py +143 -0
- runbooks/aws/ec2_unused_eips.py +196 -0
- runbooks/aws/ec2_unused_volumes.py +184 -0
- runbooks/aws/s3_create_bucket.py +140 -0
- runbooks/aws/s3_list_buckets.py +152 -0
- runbooks/aws/s3_list_objects.py +151 -0
- runbooks/aws/s3_object_operations.py +183 -0
- runbooks/aws/tagging_lambda_handler.py +172 -0
- runbooks/python101/calculator.py +34 -0
- runbooks/python101/config.py +1 -0
- runbooks/python101/exceptions.py +16 -0
- runbooks/python101/file_manager.py +218 -0
- runbooks/python101/toolkit.py +153 -0
- runbooks/security_baseline/__init__.py +0 -0
- runbooks/security_baseline/checklist/__init__.py +17 -0
- runbooks/security_baseline/checklist/account_level_bucket_public_access.py +86 -0
- runbooks/security_baseline/checklist/alternate_contacts.py +65 -0
- runbooks/security_baseline/checklist/bucket_public_access.py +82 -0
- runbooks/security_baseline/checklist/cloudwatch_alarm_configuration.py +66 -0
- runbooks/security_baseline/checklist/direct_attached_policy.py +69 -0
- runbooks/security_baseline/checklist/guardduty_enabled.py +71 -0
- runbooks/security_baseline/checklist/iam_password_policy.py +43 -0
- runbooks/security_baseline/checklist/iam_user_mfa.py +39 -0
- runbooks/security_baseline/checklist/multi_region_instance_usage.py +55 -0
- runbooks/security_baseline/checklist/multi_region_trail.py +64 -0
- runbooks/security_baseline/checklist/root_access_key.py +72 -0
- runbooks/security_baseline/checklist/root_mfa.py +39 -0
- runbooks/security_baseline/checklist/root_usage.py +128 -0
- runbooks/security_baseline/checklist/trail_enabled.py +68 -0
- runbooks/security_baseline/checklist/trusted_advisor.py +24 -0
- runbooks/security_baseline/report_generator.py +149 -0
- runbooks/security_baseline/run_script.py +76 -0
- runbooks/security_baseline/security_baseline_tester.py +179 -0
- runbooks/security_baseline/utils/__init__.py +1 -0
- runbooks/security_baseline/utils/common.py +109 -0
- runbooks/security_baseline/utils/enums.py +44 -0
- runbooks/security_baseline/utils/language.py +762 -0
- runbooks/security_baseline/utils/level_const.py +5 -0
- runbooks/security_baseline/utils/permission_list.py +26 -0
- runbooks/utils/__init__.py +0 -0
- runbooks/utils/logger.py +36 -0
- {runbooks-0.1.7.dist-info → runbooks-0.1.8.dist-info}/METADATA +2 -2
- runbooks-0.1.8.dist-info/RECORD +54 -0
- runbooks-0.1.7.dist-info/RECORD +0 -6
- {runbooks-0.1.7.dist-info → runbooks-0.1.8.dist-info}/WHEEL +0 -0
- {runbooks-0.1.7.dist-info → runbooks-0.1.8.dist-info}/entry_points.txt +0 -0
- {runbooks-0.1.7.dist-info → runbooks-0.1.8.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
permissions = [
|
2
|
+
"sts:GetCallerIdentity",
|
3
|
+
"ec2:DescribeRegions",
|
4
|
+
"ec2:DescribeInstances",
|
5
|
+
"account:GetAlternateContact",
|
6
|
+
"iam:GenerateCredentialReport",
|
7
|
+
"iam:GetCredentialReport",
|
8
|
+
"iam:GetAccountPasswordPolicy",
|
9
|
+
"iam:ListUsers",
|
10
|
+
"iam:ListAttachedUserPolicies",
|
11
|
+
"iam:ListUserPolicies",
|
12
|
+
"cloudtrail:DescribeTrails",
|
13
|
+
"cloudtrail:GetTrailStatus",
|
14
|
+
"cloudtrail:GetTrail",
|
15
|
+
"s3:GetAccountPublicAccessBlock",
|
16
|
+
"s3:GetBucketPublicAccessBlock",
|
17
|
+
"s3:ListBucket",
|
18
|
+
"s3:ListAllMyBuckets",
|
19
|
+
"cloudwatch:DescribeAlarms",
|
20
|
+
"ec2:DescribeNetworkInterfaces",
|
21
|
+
"ec2:DescribeVpcs",
|
22
|
+
"ec2:DescribeSubnets",
|
23
|
+
"support:DescribeTrustedAdvisorChecks",
|
24
|
+
"guardduty:ListDetectors",
|
25
|
+
"guardduty:GetDetector",
|
26
|
+
]
|
File without changes
|
runbooks/utils/logger.py
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
import logging
|
2
|
+
|
3
|
+
|
4
|
+
## ==============================
|
5
|
+
## CONFIGURE LOGGING
|
6
|
+
## ==============================
|
7
|
+
def configure_logger(module_name: str) -> logging.Logger:
|
8
|
+
"""
|
9
|
+
Configures and returns a logger for a given module.
|
10
|
+
|
11
|
+
Args:
|
12
|
+
module_name (str): The name of the module using the logger.
|
13
|
+
|
14
|
+
Returns:
|
15
|
+
logging.Logger: Configured logger instance.
|
16
|
+
"""
|
17
|
+
logger = logging.getLogger(module_name)
|
18
|
+
logger.setLevel(logging.INFO)
|
19
|
+
|
20
|
+
## Create formatter
|
21
|
+
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
|
22
|
+
|
23
|
+
## Console Handler
|
24
|
+
console_handler = logging.StreamHandler()
|
25
|
+
console_handler.setFormatter(formatter)
|
26
|
+
|
27
|
+
## File Handler
|
28
|
+
file_handler = logging.FileHandler(f"{module_name}.log")
|
29
|
+
file_handler.setFormatter(formatter)
|
30
|
+
|
31
|
+
## Add handlers if not already added
|
32
|
+
if not logger.handlers:
|
33
|
+
logger.addHandler(console_handler)
|
34
|
+
logger.addHandler(file_handler)
|
35
|
+
|
36
|
+
return logger
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: runbooks
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.8
|
4
4
|
Summary: CloudOps Automation Toolkit for DevOps and SRE teams.
|
5
5
|
Author-email: runbooks maintainers <nnthanh101@gmail.com>
|
6
6
|
License: Apache License
|
@@ -255,7 +255,7 @@ Requires-Dist: pandas>=2.2.3
|
|
255
255
|
Requires-Dist: plotly>=5.24.1
|
256
256
|
Requires-Dist: vizro>=0.1.30
|
257
257
|
Requires-Dist: vizro-ai>=0.3.2
|
258
|
-
Requires-Dist: runbooks>=0.1.
|
258
|
+
Requires-Dist: runbooks>=0.1.8
|
259
259
|
|
260
260
|
# 🔥 CloudOps Automation at Scale 🦅
|
261
261
|
|
@@ -0,0 +1,54 @@
|
|
1
|
+
runbooks/__init__.py,sha256=ImR9wfmlMyXaJhnCM8gXdQ32Fu0rB-iXOoVx_-AdMU4,133
|
2
|
+
runbooks/aws/__init__.py,sha256=iswGPspnFaHLE_Zzw2uRraYI2zvJ1Nma5PbdOiBUdEo,1646
|
3
|
+
runbooks/aws/dynamodb_operations.py,sha256=c91YACBHnOELL8Ufj7tRQws9azGqnB6flQsacTi57xQ,6490
|
4
|
+
runbooks/aws/ec2_copy_image_cross-region.py,sha256=2Afoo2ddzswgtdhdzsDq5aZiqXkQ0_kUyRdHbhkaLAA,6017
|
5
|
+
runbooks/aws/ec2_describe_instances.py,sha256=-Wbp0wQakCa7lJ2vfqR3P-lXN5s0jqjBHYhppiZEtSI,6543
|
6
|
+
runbooks/aws/ec2_ebs_snapshots_delete.py,sha256=LwaGGAg_7tdqic1thBLywlHKjMSMyye2B79d4yNtK78,5886
|
7
|
+
runbooks/aws/ec2_run_instances.py,sha256=wE7G8Xn10gG25Smu4SHpfc54rFly40Ba09Cv76XJYGg,6803
|
8
|
+
runbooks/aws/ec2_start_stop_instances.py,sha256=a0yUy9Zb2JmJc7wsGh3UXJZ5P0CI1omRaRCCpV5jOxE,5939
|
9
|
+
runbooks/aws/ec2_terminate_instances.py,sha256=p8ZHHDkT--rlOFah82hG6SJpty4rYZa4hn3yq4MqvQI,4692
|
10
|
+
runbooks/aws/ec2_unused_eips.py,sha256=04pjoeSwm-CfJKT6u9XuHa_D-iK5r9D65FaisQy00Zk,5535
|
11
|
+
runbooks/aws/ec2_unused_volumes.py,sha256=x2kcYV6DUqw77AaKILLtXYfrzAnEg3uoPJD6h5ad2Yg,5686
|
12
|
+
runbooks/aws/s3_create_bucket.py,sha256=-oSYKJ_tCW5fuspuQUYSw8Y_Y9_oqzn9dbmmO80UHc4,4182
|
13
|
+
runbooks/aws/s3_list_buckets.py,sha256=sHh05_KrvpLzOlGZJy8nxTAfTuMaVtMIhb3A9nLh_rQ,4752
|
14
|
+
runbooks/aws/s3_list_objects.py,sha256=VYk-ljQbgXsrt9d-xCJoXe6hPeCgkCa97pf-z7EOk08,4595
|
15
|
+
runbooks/aws/s3_object_operations.py,sha256=46l8v0Xt8pJhTuMjCyLDSLsU06WGxWKad99nQ91o2hg,5400
|
16
|
+
runbooks/aws/tagging_lambda_handler.py,sha256=o4hTUS8ta99tVS4kZ-w_j329NArGZDi46XB-AdvWi4M,5367
|
17
|
+
runbooks/python101/calculator.py,sha256=FEWSHyC6vV0Qoy13Fz-bE-mWP6Xs_yvu39iji260jDs,1365
|
18
|
+
runbooks/python101/config.py,sha256=ILwA7ZyjEDHNdDbOArFAZkDSB-saF-tzeE7xmJ2CtbE,104
|
19
|
+
runbooks/python101/exceptions.py,sha256=4KuSN-Kz-Xx17dU8i4rMbECANA4IXdT5dAposuv3tZc,319
|
20
|
+
runbooks/python101/file_manager.py,sha256=7QLxO2eiwlgcTpdnbd80TIP1CNFGz0ZGpGKnBZvpdAk,7163
|
21
|
+
runbooks/python101/toolkit.py,sha256=bWoP_r8GhsEPFsgTKSeJiilcjxO4A1fynjSDSOnlmzQ,3709
|
22
|
+
runbooks/security_baseline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
|
+
runbooks/security_baseline/report_generator.py,sha256=7APIDceRGI7jxyQw7wdE34xY4fF76x0p7F2aPRvSCCI,6331
|
24
|
+
runbooks/security_baseline/run_script.py,sha256=ZAb6nJK4EnOvwucHrz_QldCaJZlj8_4GqCor1-Higeg,2083
|
25
|
+
runbooks/security_baseline/security_baseline_tester.py,sha256=t5v79qDC2EhfUrJ0NMA-rWoIHbSFo48nJ8J9SjW3VbE,7124
|
26
|
+
runbooks/security_baseline/checklist/__init__.py,sha256=_l8n3aeeSB5jb86E-kNoYAApgTVK_OMhtLbiiYxZ0iM,412
|
27
|
+
runbooks/security_baseline/checklist/account_level_bucket_public_access.py,sha256=RNunFllmsDZqvE91pqSC52MLpxWEClI_of9Wb7LmwpE,3381
|
28
|
+
runbooks/security_baseline/checklist/alternate_contacts.py,sha256=_jW9-mZkrwwJY61J-AS6Az_kjViMupmeyFydeV31Kb8,3038
|
29
|
+
runbooks/security_baseline/checklist/bucket_public_access.py,sha256=6blboPnQQo9YAbUe3f7kLwbL23AgB5WTNOYaEUNaCng,3302
|
30
|
+
runbooks/security_baseline/checklist/cloudwatch_alarm_configuration.py,sha256=ZhxrxpUkNXCIuCJDtQSS7iDWF6XNj_6Wj7mPiDTARtU,2257
|
31
|
+
runbooks/security_baseline/checklist/direct_attached_policy.py,sha256=A_FITUylEnXjAyXh6yXu5XnHgOt9pV6JqX3iKxX4jS0,2563
|
32
|
+
runbooks/security_baseline/checklist/guardduty_enabled.py,sha256=wTNTGYjpbe9HrrFqcD0evvzPhBLnlNmSI61-Qxc-5vY,2443
|
33
|
+
runbooks/security_baseline/checklist/iam_password_policy.py,sha256=44h09PBteGRoheq8kJuJxqNydC7rUQbhLbXWCMOxAy0,1565
|
34
|
+
runbooks/security_baseline/checklist/iam_user_mfa.py,sha256=tBh1KfNR1sg_tA2gP53rH9EIRB04RxhJfHM4TQTC29s,1230
|
35
|
+
runbooks/security_baseline/checklist/multi_region_instance_usage.py,sha256=CatzMma6bMqYWbO-Qw83jU3RU21Nz6TdaT2LliV7-FA,1939
|
36
|
+
runbooks/security_baseline/checklist/multi_region_trail.py,sha256=5OxzvjiIIPwsH9enZz1-jCmD8nniNw7aXOhJYJsmRmQ,2288
|
37
|
+
runbooks/security_baseline/checklist/root_access_key.py,sha256=jzIm046Hkx32cJ2GnlxCXcz8-ZSyGXpXXJl8Ik_9c7Q,2500
|
38
|
+
runbooks/security_baseline/checklist/root_mfa.py,sha256=wTuNCF0rz-H5cia5w8LQXYgnEHGnw0YfGcT5sM2WChI,1289
|
39
|
+
runbooks/security_baseline/checklist/root_usage.py,sha256=lTBn6hqy9ysPlE6dk2NQP1iu_mnN4FEJyIZYhOCWFKY,4654
|
40
|
+
runbooks/security_baseline/checklist/trail_enabled.py,sha256=AioAw_12-NmYGBzLaneWLsd3mejYibDTtwl18vWca-A,2284
|
41
|
+
runbooks/security_baseline/checklist/trusted_advisor.py,sha256=xJTwicdp5VPooVc2-1VFDh41OH7PvBs0osUrN82ANkE,670
|
42
|
+
runbooks/security_baseline/utils/__init__.py,sha256=kK5hPyLqQSuR8Z231QHZ_IgJ5JlxPJCiXmGRSCfO7w0,57
|
43
|
+
runbooks/security_baseline/utils/common.py,sha256=hCgYtgIgzV5Z2LCeXSDXd7LNxYg9NE2s_c-d9w43a-Y,3399
|
44
|
+
runbooks/security_baseline/utils/enums.py,sha256=BGr8EgwZrWsU8kvWkwWsPqELUPGBc2tvJ5SzN9XhWQU,1258
|
45
|
+
runbooks/security_baseline/utils/language.py,sha256=MrSAojEyjHqRDDALdk002snj4xnFbwGgIjAc2buJ8g0,60448
|
46
|
+
runbooks/security_baseline/utils/level_const.py,sha256=l8uYBmgEMjIQTGVVuXPAfDd_Psl6jNfTQw2isI43zO8,88
|
47
|
+
runbooks/security_baseline/utils/permission_list.py,sha256=nq06vlILHp9rfnCpJauCmFCOEGdgFMF-XO3uBFrrd-o,767
|
48
|
+
runbooks/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
|
+
runbooks/utils/logger.py,sha256=ifxqLjDlZoDaG8rtAGVKLZ5dAwcMn16rB4YgMfeUC3E,972
|
50
|
+
runbooks-0.1.8.dist-info/METADATA,sha256=4zvsNO2zEbnz0f7iIP5pw89-EJpwWkMXZm4YsIavyuw,24982
|
51
|
+
runbooks-0.1.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
52
|
+
runbooks-0.1.8.dist-info/entry_points.txt,sha256=dxS4lhytftkG2sBS-tgSRKoWtK-AgQmiAJ4VxJY3f5A,115
|
53
|
+
runbooks-0.1.8.dist-info/top_level.txt,sha256=1EwNxU12QGOLtO0Naw75hXIdSIhgV_b-z_6vhlhVkhM,9
|
54
|
+
runbooks-0.1.8.dist-info/RECORD,,
|
runbooks-0.1.7.dist-info/RECORD
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
runbooks/__init__.py,sha256=iIM66NiwDJHBC3CkhiU8ViMtCXg3bYV5hQ3ENU1rJFk,133
|
2
|
-
runbooks-0.1.7.dist-info/METADATA,sha256=Y3cpxx_9VkdEGD4dwaeo6VGIUzfefWqCtGL_f7Hiqs0,24982
|
3
|
-
runbooks-0.1.7.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
4
|
-
runbooks-0.1.7.dist-info/entry_points.txt,sha256=dxS4lhytftkG2sBS-tgSRKoWtK-AgQmiAJ4VxJY3f5A,115
|
5
|
-
runbooks-0.1.7.dist-info/top_level.txt,sha256=1EwNxU12QGOLtO0Naw75hXIdSIhgV_b-z_6vhlhVkhM,9
|
6
|
-
runbooks-0.1.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|