devsecops-engine-tools 1.90.3__py3-none-any.whl → 1.92.0__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.

Potentially problematic release.


This version of devsecops-engine-tools might be problematic. Click here for more details.

Files changed (24) hide show
  1. devsecops_engine_tools/engine_integrations/__init__.py +0 -0
  2. devsecops_engine_tools/engine_integrations/src/__init__.py +0 -0
  3. devsecops_engine_tools/engine_integrations/src/applications/__init__.py +0 -0
  4. devsecops_engine_tools/engine_integrations/src/applications/runner_engine_integrations.py +169 -0
  5. devsecops_engine_tools/engine_integrations/src/domain/__init__.py +0 -0
  6. devsecops_engine_tools/engine_integrations/src/domain/usecases/__init__.py +0 -0
  7. devsecops_engine_tools/engine_integrations/src/domain/usecases/handle_integrations.py +42 -0
  8. devsecops_engine_tools/engine_integrations/src/infrastructure/__init__.py +0 -0
  9. devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/__init__.py +0 -0
  10. devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/entry_point_integrations.py +33 -0
  11. devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +21 -1
  12. devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +1 -1
  13. devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +1 -1
  14. devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +9 -94
  15. devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +5 -3
  16. devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +7 -10
  17. devsecops_engine_tools/version.py +1 -1
  18. {devsecops_engine_tools-1.90.3.dist-info → devsecops_engine_tools-1.92.0.dist-info}/METADATA +5 -1
  19. {devsecops_engine_tools-1.90.3.dist-info → devsecops_engine_tools-1.92.0.dist-info}/RECORD +23 -13
  20. devsecops_engine_tools-1.92.0.dist-info/entry_points.txt +3 -0
  21. devsecops_engine_tools-1.90.3.dist-info/entry_points.txt +0 -3
  22. /devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/{ContextDependencies.py → context_dependencies.py} +0 -0
  23. {devsecops_engine_tools-1.90.3.dist-info → devsecops_engine_tools-1.92.0.dist-info}/WHEEL +0 -0
  24. {devsecops_engine_tools-1.90.3.dist-info → devsecops_engine_tools-1.92.0.dist-info}/top_level.txt +0 -0
File without changes
@@ -0,0 +1,169 @@
1
+ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.azure.azure_devops import (
2
+ AzureDevops
3
+ )
4
+ from devsecops_engine_tools.engine_integrations.src.infrastructure.entry_points.entry_point_integrations import (
5
+ init_engine_integrations
6
+ )
7
+ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.aws.secrets_manager import (
8
+ SecretsManager
9
+ )
10
+ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.azure.azure_devops import (
11
+ AzureDevops
12
+ )
13
+ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.github.github_actions import (
14
+ GithubActions,
15
+ )
16
+ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.runtime_local.runtime_local import (
17
+ RuntimeLocal,
18
+ )
19
+ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.defect_dojo.defect_dojo import (
20
+ DefectDojoPlatform
21
+ )
22
+ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.aws.s3_manager import (
23
+ S3Manager,
24
+ )
25
+ import sys
26
+ import argparse
27
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
28
+ from devsecops_engine_tools.engine_utilities import settings
29
+
30
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
31
+
32
+ def get_inputs_from_cli(args):
33
+ parser = argparse.ArgumentParser()
34
+ parser.add_argument(
35
+ "--integration",
36
+ choices=["report_sonar"],
37
+ type=str,
38
+ required=True,
39
+ help="Name of the integration to run",
40
+ )
41
+ parser.add_argument(
42
+ "-rcf",
43
+ "--remote_config_repo",
44
+ type=str,
45
+ required=True,
46
+ help="Name of Config Repo",
47
+ )
48
+ parser.add_argument(
49
+ "-rcb",
50
+ "--remote_config_branch",
51
+ type=str,
52
+ required=False,
53
+ default="",
54
+ help="Name of the branch of Config Repo",
55
+ )
56
+ parser.add_argument(
57
+ "-pd",
58
+ "--platform_devops",
59
+ choices=["azure", "github", "local"],
60
+ type=str,
61
+ required=True,
62
+ help="Platform where is executed",
63
+ )
64
+ parser.add_argument(
65
+ "-rcs",
66
+ "--remote_config_source",
67
+ choices=["azure", "github", "local"],
68
+ type=str,
69
+ required=False,
70
+ help="Source of the remote config repo",
71
+ )
72
+ parser.add_argument(
73
+ "--use_secrets_manager",
74
+ choices=["true", "false"],
75
+ type=str,
76
+ required=True,
77
+ help="Use Secrets Manager to get the tokens",
78
+ )
79
+ parser.add_argument(
80
+ "--send_metrics",
81
+ choices=["true", "false"],
82
+ type=str,
83
+ required=False,
84
+ help="Enable or Disable the send metrics to the driven adapter metrics",
85
+ )
86
+ # report_sonar flags
87
+ parser.add_argument(
88
+ "--sonar_url",
89
+ required=False,
90
+ help="Url to access sonar API",
91
+ )
92
+ parser.add_argument(
93
+ "--sonar_instance",
94
+ required=False,
95
+ help="Name of the sonar instance to recognize tool config",
96
+ )
97
+ parser.add_argument(
98
+ "--token_cmdb",
99
+ required=False,
100
+ help="Token to connect to the CMDB"
101
+ )
102
+ parser.add_argument(
103
+ "--token_vulnerability_management",
104
+ required=False,
105
+ help="Token to connect to the Vulnerability Management",
106
+ )
107
+ parser.add_argument(
108
+ "--token_sonar",
109
+ required=False,
110
+ help="Token to access sonar server",
111
+ )
112
+
113
+ args = parser.parse_args()
114
+ return {
115
+ "integration": args.integration,
116
+ "remote_config_repo": args.remote_config_repo,
117
+ "remote_config_branch": args.remote_config_branch,
118
+ "platform_devops": args.platform_devops,
119
+ "remote_config_source": args.remote_config_source,
120
+ "use_secrets_manager": args.use_secrets_manager,
121
+ "send_metrics": args.send_metrics,
122
+ "sonar_url": args.sonar_url,
123
+ "sonar_instance": args.sonar_instance,
124
+ "token_cmdb": args.token_cmdb,
125
+ "token_vulnerability_management": args.token_vulnerability_management,
126
+ "token_sonar": args.token_sonar,
127
+ }
128
+
129
+ def runner_engine_integrations():
130
+ try:
131
+ args = get_inputs_from_cli(sys.argv[1:])
132
+ if not args["remote_config_source"]:
133
+ args["remote_config_source"] = args["platform_devops"]
134
+
135
+ vulnerability_management_gateway = DefectDojoPlatform()
136
+ secrets_manager_gateway = SecretsManager()
137
+ devops_platform_gateway = {
138
+ "azure": AzureDevops(),
139
+ "github": GithubActions(),
140
+ "local": RuntimeLocal(),
141
+ }.get(args["platform_devops"])
142
+ remote_config_source_gateway = {
143
+ "azure": AzureDevops(),
144
+ "github": GithubActions(),
145
+ "local": RuntimeLocal(),
146
+ }.get(args["remote_config_source"])
147
+ metrics_manager_gateway = S3Manager()
148
+
149
+ init_engine_integrations(
150
+ vulnerability_management_gateway=vulnerability_management_gateway,
151
+ secrets_manager_gateway=secrets_manager_gateway,
152
+ devops_platform_gateway=devops_platform_gateway,
153
+ remote_config_source_gateway=remote_config_source_gateway,
154
+ metrics_manager_gateway=metrics_manager_gateway,
155
+ args=args,
156
+ )
157
+
158
+ except Exception as e:
159
+ logger.error("Error engine_integrations: {0} ".format(str(e)))
160
+ print(
161
+ devops_platform_gateway.message(
162
+ "error", "Error engine_integrations: {0} ".format(str(e))
163
+ )
164
+ )
165
+ print(devops_platform_gateway.result_pipeline("failed"))
166
+
167
+
168
+ if __name__ == "__main__":
169
+ runner_engine_integrations()
@@ -0,0 +1,42 @@
1
+ from devsecops_engine_tools.engine_core.src.domain.model.gateway.vulnerability_management_gateway import (
2
+ VulnerabilityManagementGateway
3
+ )
4
+ from devsecops_engine_tools.engine_core.src.domain.model.gateway.secrets_manager_gateway import (
5
+ SecretsManagerGateway
6
+ )
7
+ from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform_gateway import (
8
+ DevopsPlatformGateway
9
+ )
10
+ from devsecops_engine_tools.engine_core.src.domain.model.gateway.metrics_manager_gateway import (
11
+ MetricsManagerGateway,
12
+ )
13
+ from devsecops_engine_tools.engine_utilities.sonarqube.src.applications.runner_report_sonar import (
14
+ runner_report_sonar
15
+ )
16
+
17
+ class Integrations():
18
+ def __init__(
19
+ self,
20
+ vulnerability_management_gateway: VulnerabilityManagementGateway,
21
+ secrets_manager_gateway: SecretsManagerGateway,
22
+ devops_platform_gateway: DevopsPlatformGateway,
23
+ remote_config_source_gateway: DevopsPlatformGateway,
24
+ metrics_manager_gateway: MetricsManagerGateway,
25
+ ):
26
+ self.vulnerability_management_gateway = vulnerability_management_gateway
27
+ self.secrets_manager_gateway = secrets_manager_gateway
28
+ self.devops_platform_gateway = devops_platform_gateway
29
+ self.remote_config_source_gateway = remote_config_source_gateway
30
+ self.metrics_manager_gateway = metrics_manager_gateway
31
+
32
+ def process(self, args):
33
+ integration = args.get("integration")
34
+ if integration == "report_sonar":
35
+ return runner_report_sonar(
36
+ vulnerability_management_gateway=self.vulnerability_management_gateway,
37
+ secrets_manager_gateway=self.secrets_manager_gateway,
38
+ devops_platform_gateway=self.devops_platform_gateway,
39
+ remote_config_source_gateway=self.remote_config_source_gateway,
40
+ metrics_manager_gateway=self.metrics_manager_gateway,
41
+ args=args,
42
+ )
@@ -0,0 +1,33 @@
1
+ from devsecops_engine_tools.engine_integrations.src.domain.usecases.handle_integrations import (
2
+ Integrations
3
+ )
4
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
5
+ from devsecops_engine_tools.engine_utilities import settings
6
+ from devsecops_engine_tools.engine_utilities.utils.printers import (
7
+ Printers,
8
+ )
9
+
10
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
11
+
12
+
13
+ def init_engine_integrations(
14
+ vulnerability_management_gateway,
15
+ secrets_manager_gateway,
16
+ devops_platform_gateway,
17
+ remote_config_source_gateway,
18
+ metrics_manager_gateway,
19
+ args,
20
+ ):
21
+ config_tool = remote_config_source_gateway.get_remote_config(
22
+ args["remote_config_repo"], "/engine_core/ConfigTool.json", args["remote_config_branch"]
23
+ )
24
+
25
+ Printers.print_logo_tool(config_tool["BANNER"])
26
+
27
+ return Integrations(
28
+ vulnerability_management_gateway=vulnerability_management_gateway,
29
+ secrets_manager_gateway=secrets_manager_gateway,
30
+ devops_platform_gateway=devops_platform_gateway,
31
+ remote_config_source_gateway=remote_config_source_gateway,
32
+ metrics_manager_gateway=metrics_manager_gateway,
33
+ ).process(args)
@@ -1,5 +1,6 @@
1
1
  import copy
2
-
2
+ import os
3
+ import json
3
4
 
4
5
  class HandleFilters:
5
6
  def filter(self, findings):
@@ -9,9 +10,28 @@ class HandleFilters:
9
10
 
10
11
  def filter_tags_days(self, devops_platform_gateway, remote_config, findings):
11
12
  tag_exclusion_days = remote_config["TAG_EXCLUSION_DAYS"]
13
+ runtime_tag_exclusion_days = remote_config["RUNTIME_TAG_EXCLUSION_DAYS"]
12
14
  filtered_findings = []
13
15
  filtered = 0
14
16
 
17
+ if runtime_tag_exclusion_days['ENABLED']:
18
+
19
+ def print_error(devops_platform_gateway, tag_exclusion_days_str, message):
20
+ runtime_message_set = f"Runtime Tag Exclusions days set \"{tag_exclusion_days_str}\". {message}"
21
+ if runtime_tag_exclusion_days['ERROR_ON_FAILED']:
22
+ print(devops_platform_gateway.message("error", runtime_message_set))
23
+ else:
24
+ print(devops_platform_gateway.message("info", f"{runtime_message_set}. Using default TAG_EXCLUSION_DAYS"))
25
+
26
+ tag_exclusion_days_str = os.environ.get('TAG_EXCLUSION_DAYS')
27
+ if tag_exclusion_days_str and tag_exclusion_days_str.strip():
28
+ try:
29
+ tag_exclusion_days = json.loads(tag_exclusion_days_str)
30
+ except:
31
+ print_error(devops_platform_gateway, tag_exclusion_days_str, "Parse Error")
32
+ else:
33
+ print_error(devops_platform_gateway, tag_exclusion_days_str, "Invalid Env Var")
34
+
15
35
  for finding in findings:
16
36
  exclude = False
17
37
  for tag in finding.tags:
@@ -4,7 +4,7 @@ from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.gate
4
4
  from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.driven_adapters.dependency_check.dependency_check_deserialize import (
5
5
  DependencyCheckDeserialize,
6
6
  )
7
- from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.ContextDependencies import (
7
+ from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.context_dependencies import (
8
8
  ContextDependencies,
9
9
  )
10
10
 
@@ -1,7 +1,7 @@
1
1
  from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.gateways.tool_gateway import (
2
2
  ToolGateway,
3
3
  )
4
- from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.ContextDependencies import (
4
+ from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.context_dependencies import (
5
5
  ContextDependencies,
6
6
  )
7
7
 
@@ -1,111 +1,30 @@
1
- from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.aws.secrets_manager import (
2
- SecretsManager
3
- )
4
- from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.azure.azure_devops import (
5
- AzureDevops
6
- )
7
- from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.defect_dojo.defect_dojo import (
8
- DefectDojoPlatform
9
- )
10
1
  from devsecops_engine_tools.engine_utilities.sonarqube.src.infrastructure.driven_adapters.sonarqube.sonarqube_report import(
11
2
  SonarAdapter
12
3
  )
13
- from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.aws.s3_manager import (
14
- S3Manager,
15
- )
16
4
  from devsecops_engine_tools.engine_utilities.sonarqube.src.infrastructure.entry_points.entry_point_report_sonar import (
17
5
  init_report_sonar
18
6
  )
19
- import sys
20
- import argparse
21
7
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
22
8
  from devsecops_engine_tools.engine_utilities import settings
23
9
 
24
10
  logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
25
11
 
26
- def get_inputs_from_cli(args):
27
- parser = argparse.ArgumentParser()
28
- parser.add_argument(
29
- "-rcf",
30
- "--remote_config_repo",
31
- type=str,
32
- required=True,
33
- help="Name of Config Repo",
34
- )
35
- parser.add_argument(
36
- "-rcb",
37
- "--remote_config_branch",
38
- type=str,
39
- required=False,
40
- default="",
41
- help="Name of the branch of Config Repo",
42
- )
43
- parser.add_argument(
44
- "--use_secrets_manager",
45
- choices=["true", "false"],
46
- type=str,
47
- required=True,
48
- help="Use Secrets Manager to get the tokens",
49
- )
50
- parser.add_argument(
51
- "--send_metrics",
52
- choices=["true", "false"],
53
- type=str,
54
- required=False,
55
- help="Enable or Disable the send metrics to the driven adapter metrics",
56
- )
57
- parser.add_argument(
58
- "--sonar_url",
59
- required=False,
60
- help="Url to access sonar API",
61
- )
62
- parser.add_argument(
63
- "--sonar_instance",
64
- required=False,
65
- help="Name of the sonar instance to recognize tool config",
66
- )
67
- parser.add_argument(
68
- "--token_cmdb",
69
- required=False,
70
- help="Token to connect to the CMDB"
71
- )
72
- parser.add_argument(
73
- "--token_vulnerability_management",
74
- required=False,
75
- help="Token to connect to the Vulnerability Management",
76
- )
77
- parser.add_argument(
78
- "--token_sonar",
79
- required=False,
80
- help="Token to access sonar server",
81
- )
82
-
83
- args = parser.parse_args()
84
- return {
85
- "remote_config_repo": args.remote_config_repo,
86
- "remote_config_branch": args.remote_config_branch,
87
- "use_secrets_manager": args.use_secrets_manager,
88
- "send_metrics": args.send_metrics,
89
- "sonar_url": args.sonar_url,
90
- "sonar_instance": args.sonar_instance,
91
- "token_cmdb": args.token_cmdb,
92
- "token_vulnerability_management": args.token_vulnerability_management,
93
- "token_sonar": args.token_sonar,
94
- }
95
-
96
- def runner_report_sonar():
12
+ def runner_report_sonar(
13
+ vulnerability_management_gateway,
14
+ secrets_manager_gateway,
15
+ devops_platform_gateway,
16
+ remote_config_source_gateway,
17
+ metrics_manager_gateway,
18
+ args
19
+ ):
97
20
  try:
98
- vulnerability_management_gateway = DefectDojoPlatform()
99
- secrets_manager_gateway = SecretsManager()
100
- devops_platform_gateway = AzureDevops()
101
21
  sonar_gateway = SonarAdapter()
102
- metrics_manager_gateway = S3Manager()
103
- args = get_inputs_from_cli(sys.argv[1:])
104
22
 
105
23
  init_report_sonar(
106
24
  vulnerability_management_gateway=vulnerability_management_gateway,
107
25
  secrets_manager_gateway=secrets_manager_gateway,
108
26
  devops_platform_gateway=devops_platform_gateway,
27
+ remote_config_source_gateway=remote_config_source_gateway,
109
28
  sonar_gateway=sonar_gateway,
110
29
  metrics_manager_gateway=metrics_manager_gateway,
111
30
  args=args,
@@ -119,7 +38,3 @@ def runner_report_sonar():
119
38
  )
120
39
  )
121
40
  print(devops_platform_gateway.result_pipeline("failed"))
122
-
123
-
124
- if __name__ == "__main__":
125
- runner_report_sonar()
@@ -33,11 +33,13 @@ class ReportSonar:
33
33
  vulnerability_management_gateway: VulnerabilityManagementGateway,
34
34
  secrets_manager_gateway: SecretsManagerGateway,
35
35
  devops_platform_gateway: DevopsPlatformGateway,
36
+ remote_config_source_gateway: DevopsPlatformGateway,
36
37
  sonar_gateway: SonarGateway
37
38
  ):
38
39
  self.vulnerability_management_gateway = vulnerability_management_gateway
39
40
  self.secrets_manager_gateway = secrets_manager_gateway
40
41
  self.devops_platform_gateway = devops_platform_gateway
42
+ self.remote_config_source_gateway = remote_config_source_gateway
41
43
  self.sonar_gateway = sonar_gateway
42
44
 
43
45
  def process(self, args):
@@ -58,7 +60,7 @@ class ReportSonar:
58
60
  pipeline_name,
59
61
  self.devops_platform_gateway.get_source_code_management_uri()
60
62
  )
61
- config_tool = self.devops_platform_gateway.get_remote_config(
63
+ config_tool = self.remote_config_source_gateway.get_remote_config(
62
64
  args["remote_config_repo"],
63
65
  "/engine_core/ConfigTool.json",
64
66
  args["remote_config_branch"]
@@ -78,9 +80,9 @@ class ReportSonar:
78
80
  secret = args
79
81
  secret_tool = None
80
82
 
81
- report_config_tool = self.devops_platform_gateway.get_remote_config(
83
+ report_config_tool = self.remote_config_source_gateway.get_remote_config(
82
84
  args["remote_config_repo"],
83
- "/report_sonar/ConfigTool.json",
85
+ "/engine_integrations/report_sonar/ConfigTool.json",
84
86
  args["remote_config_branch"]
85
87
  )
86
88
 
@@ -1,9 +1,6 @@
1
1
  from devsecops_engine_tools.engine_utilities.sonarqube.src.domain.usecases.report_sonar import (
2
2
  ReportSonar,
3
3
  )
4
- from devsecops_engine_tools.engine_utilities.utils.printers import (
5
- Printers,
6
- )
7
4
  from devsecops_engine_tools.engine_core.src.domain.usecases.metrics_manager import (
8
5
  MetricsManager,
9
6
  )
@@ -18,21 +15,20 @@ def init_report_sonar(
18
15
  vulnerability_management_gateway,
19
16
  secrets_manager_gateway,
20
17
  devops_platform_gateway,
18
+ remote_config_source_gateway,
21
19
  sonar_gateway,
22
20
  metrics_manager_gateway,
23
21
  args,
24
22
  ):
25
- config_tool = devops_platform_gateway.get_remote_config(
23
+ config_tool = remote_config_source_gateway.get_remote_config(
26
24
  args["remote_config_repo"], "/engine_core/ConfigTool.json", args["remote_config_branch"]
27
25
  )
28
- report_config_tool = devops_platform_gateway.get_remote_config(
29
- args["remote_config_repo"], "/report_sonar/ConfigTool.json", args["remote_config_branch"]
26
+ report_config_tool = remote_config_source_gateway.get_remote_config(
27
+ args["remote_config_repo"], "/engine_integrations/report_sonar/ConfigTool.json", args["remote_config_branch"]
30
28
  )
31
- excluded_pipelines = devops_platform_gateway.get_remote_config(
32
- args["remote_config_repo"], "/report_sonar/Exclusions.json", args["remote_config_branch"]
29
+ excluded_pipelines = remote_config_source_gateway.get_remote_config(
30
+ args["remote_config_repo"], "/engine_integrations/report_sonar/Exclusions.json", args["remote_config_branch"]
33
31
  )
34
-
35
- Printers.print_logo_tool(config_tool["BANNER"])
36
32
 
37
33
  pipeline_name = devops_platform_gateway.get_variable("pipeline_name")
38
34
  branch = devops_platform_gateway.get_variable("branch_tag")
@@ -61,6 +57,7 @@ def init_report_sonar(
61
57
  vulnerability_management_gateway,
62
58
  secrets_manager_gateway,
63
59
  devops_platform_gateway,
60
+ remote_config_source_gateway,
64
61
  sonar_gateway,
65
62
  ).process(args)
66
63
 
@@ -1 +1 @@
1
- version = '1.90.3'
1
+ version = '1.92.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.90.3
3
+ Version: 1.92.0
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -108,6 +108,10 @@ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_con
108
108
  ┃ ┗ 📂engine_dependencies
109
109
  ┃ ┗ 📜ConfigTool.json
110
110
  ┃ ┗ 📜Exclusions.json
111
+ ┣ 📂engine_integrations
112
+ ┃ ┗ 📂report_sonar
113
+ ┃ ┗ 📜ConfigTool.json
114
+ ┃ ┗ 📜Exclusions.json
111
115
  ```
112
116
  For more information visit [here](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/example_remote_config_local/README.md)
113
117
  #### Tools available for the modules (Configuration engine_core/ConfigTool.json)
@@ -1,5 +1,5 @@
1
1
  devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- devsecops_engine_tools/version.py,sha256=9YVPhGcLCWCPLZghdMnrd-hGosImCZx1kHRXkJvUG0I,19
2
+ devsecops_engine_tools/version.py,sha256=FeVSuxqtPUNlpG-piPV3vN-uMENWSK-k4OamGUwT6Ao,19
3
3
  devsecops_engine_tools/engine_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  devsecops_engine_tools/engine_core/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  devsecops_engine_tools/engine_core/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -89,6 +89,16 @@ devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/entry_point_d
89
89
  devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
90
  devsecops_engine_tools/engine_dast/src/infrastructure/helpers/file_generator_tool.py,sha256=usSGuFYziitOj3aGa9ifvpfJ-J3qX4c0GXbPm3PmTnQ,2604
91
91
  devsecops_engine_tools/engine_dast/src/infrastructure/helpers/json_handler.py,sha256=qQkSO0EXguVGZN6hSb356sB0HS0ZdcjfXsnPelfUnyg,444
92
+ devsecops_engine_tools/engine_integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
+ devsecops_engine_tools/engine_integrations/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
+ devsecops_engine_tools/engine_integrations/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ devsecops_engine_tools/engine_integrations/src/applications/runner_engine_integrations.py,sha256=oynNsETemfPXG7bKTaQnH161-OkVySt_6brB2Oqh8m8,5594
96
+ devsecops_engine_tools/engine_integrations/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ devsecops_engine_tools/engine_integrations/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
+ devsecops_engine_tools/engine_integrations/src/domain/usecases/handle_integrations.py,sha256=lPGwUNN9Oth3uQp-akNSUkJWnkP_o03lvkv4MnCsnO8,1935
99
+ devsecops_engine_tools/engine_integrations/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
+ devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
+ devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/entry_point_integrations.py,sha256=RV2oynZVww4q9KeH8ISCpVTT7ZwbNy6F99MwIGk_B5A,1194
92
102
  devsecops_engine_tools/engine_risk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
103
  devsecops_engine_tools/engine_risk/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
104
  devsecops_engine_tools/engine_risk/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -104,7 +114,7 @@ devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py,sha256=4wqDj-
104
114
  devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py,sha256=ixUlW4rL8ZRj_v1tQHeQiQlzAWV3DUqU1I56aqWja8M,17052
105
115
  devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py,sha256=VYdmcbAuNNvdHCegRfvza7YJ8FHbFNyDosrKJrMW93I,765
106
116
  devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py,sha256=UNULFNbGAgQKxUQ7buEgL8uIzyVP3GEpGKguDIuZTUc,4113
107
- devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py,sha256=vluqHpEgzbsh1fyuE-UX41u2yj8TYiRX3UabiwrEcbw,1810
117
+ devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py,sha256=npd5MQus_cf6sv7JIAi5YGURyXJDSXxX1big7ts7MjY,2948
108
118
  devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
119
  devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
120
  devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -226,8 +236,8 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_de
226
236
  devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
237
  devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
238
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
- devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/ContextDependencies.py,sha256=wm_QYNrAWePWsn6YXBtHRriIp1mfx2awuitzuBRwd5o,376
230
239
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/context_dependencies.py,sha256=wm_QYNrAWePWsn6YXBtHRriIp1mfx2awuitzuBRwd5o,376
231
241
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
242
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py,sha256=A4WPW-cNMlitI7-P2L-W2hFUPvIU7Ejk6JxRJGATfwc,301
233
243
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py,sha256=78WSYsEzt4394FEURSBmwV1pBztlORXaePFQ6GOZGGk,444
@@ -239,10 +249,10 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init_
239
249
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
250
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
251
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py,sha256=yT8C4bGIMii8XE8wnJW0bv6NI2DP-fpvGZTnG5H7gSg,8875
242
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py,sha256=5KF8gplfB0sqr9i9_dkmeiV6q-diyQWK7JjS59msY4w,7317
252
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py,sha256=jlz_6bAgCNPKqWgnPow6twOYYMf7ewUh5d1WPwHCrSk,7318
243
253
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
254
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py,sha256=ZUk-e1PKzV7uRAT7BpET363pgl2eMnXMCGSpewsOpKg,2236
245
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=kT4Qwahl4HKVMwwwB3mJS5JlIi2jv3ajGV_8zmGfnhs,11607
255
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=lYRl76dPzvfossuRJaRFGwTZNdC9wxJ23AivZdp9nhM,11608
246
256
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
247
257
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py,sha256=t2nAJ86ZyL6nz_tdrcWZ3cf5pnXhJ_q1AfVAbNhcrSk,3772
248
258
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -324,19 +334,19 @@ devsecops_engine_tools/engine_utilities/sbom/deserealizator.py,sha256=6mFNI0B-MB
324
334
  devsecops_engine_tools/engine_utilities/sonarqube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
335
  devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
326
336
  devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
327
- devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py,sha256=NYXNgxjH-bzpBB0eOY-kaKX0ZqKyEakw2Khads3tRmo,4099
337
+ devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py,sha256=FpCY8WUIa3N1LWTVDjy_ZG8-uOFfNnIJXydJjCPBTYM,1485
328
338
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
329
339
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
330
340
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
331
341
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py,sha256=mgycD3bzC_BYv7qT0tMLAro9hyNOvi4gJRzceYNF0t8,1339
332
342
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
333
- devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py,sha256=gXtkP3Ty4IoJpReWklVAGwuvxhqvrZUVThftOtTVYYo,10748
343
+ devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py,sha256=KJNOTqgxX-wCOJtD_LlyZt5Pp388_MzQO4IdQDcSIJ0,10912
334
344
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
345
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
346
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
347
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py,sha256=BpCLMgFQjytZc1HfZ5hXqX44E8T0JhLpAaNOVq5pFjo,4909
338
348
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
- devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py,sha256=72jwdpOuuvfT5ItBmBom30C968iEmvfOG422uvslyB8,2801
349
+ devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py,sha256=7Rw310PgVhnGyyltFZ4zvxnC78ukMKQBlMQhI5Z0owI,2790
340
350
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
341
351
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py,sha256=SGOWrkzQrvOt9bRhhSfgiMzj1695e1W0B9ox9C1ihQI,294
342
352
  devsecops_engine_tools/engine_utilities/ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -350,8 +360,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
350
360
  devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
351
361
  devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
352
362
  devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=HCjS900TBoNcHrC4LaiP-Kf9frVdtagF130qOUgnO2M,6757
353
- devsecops_engine_tools-1.90.3.dist-info/METADATA,sha256=xNZMegRxqx_Zby2Bzh6QA3jQ3MVWph-HfEeF44ato_k,12093
354
- devsecops_engine_tools-1.90.3.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
355
- devsecops_engine_tools-1.90.3.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
356
- devsecops_engine_tools-1.90.3.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
357
- devsecops_engine_tools-1.90.3.dist-info/RECORD,,
363
+ devsecops_engine_tools-1.92.0.dist-info/METADATA,sha256=j-vjgPr62Gi7wIqI9DQ1MDpDtLkQK0myhcCt418qHzw,12218
364
+ devsecops_engine_tools-1.92.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
365
+ devsecops_engine_tools-1.92.0.dist-info/entry_points.txt,sha256=OWAww5aBsGeMv0kWhSgVNB0ySKKpYuJd4dly0ikFPkc,283
366
+ devsecops_engine_tools-1.92.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
367
+ devsecops_engine_tools-1.92.0.dist-info/RECORD,,
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ devsecops-engine-tools = devsecops_engine_tools.engine_core.src.applications.runner_engine_core:application_core
3
+ devsecops-engine-tools-integrations = devsecops_engine_tools.engine_integrations.src.applications.runner_engine_integrations:runner_engine_integrations
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- devsecops-engine-tools = devsecops_engine_tools.engine_core.src.applications.runner_engine_core:application_core
3
- devsecops-engine-tools.report-sonar = devsecops_engine_tools.engine_utilities.sonarqube.src.applications.runner_report_sonar:runner_report_sonar