devsecops-engine-tools 1.91.0__py3-none-any.whl → 1.93.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 (27) hide show
  1. devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +11 -2
  2. devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/cdxgen/__init__.py +0 -0
  3. devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/cdxgen/cdxgen.py +123 -0
  4. devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +1 -1
  5. devsecops_engine_tools/engine_integrations/__init__.py +0 -0
  6. devsecops_engine_tools/engine_integrations/src/__init__.py +0 -0
  7. devsecops_engine_tools/engine_integrations/src/applications/__init__.py +0 -0
  8. devsecops_engine_tools/engine_integrations/src/applications/runner_engine_integrations.py +169 -0
  9. devsecops_engine_tools/engine_integrations/src/domain/__init__.py +0 -0
  10. devsecops_engine_tools/engine_integrations/src/domain/usecases/__init__.py +0 -0
  11. devsecops_engine_tools/engine_integrations/src/domain/usecases/handle_integrations.py +42 -0
  12. devsecops_engine_tools/engine_integrations/src/infrastructure/__init__.py +0 -0
  13. devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/__init__.py +0 -0
  14. devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/entry_point_integrations.py +33 -0
  15. devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +1 -1
  16. devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +1 -1
  17. devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +9 -94
  18. devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +5 -3
  19. devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +7 -10
  20. devsecops_engine_tools/version.py +1 -1
  21. {devsecops_engine_tools-1.91.0.dist-info → devsecops_engine_tools-1.93.0.dist-info}/METADATA +5 -1
  22. {devsecops_engine_tools-1.91.0.dist-info → devsecops_engine_tools-1.93.0.dist-info}/RECORD +26 -14
  23. devsecops_engine_tools-1.93.0.dist-info/entry_points.txt +3 -0
  24. devsecops_engine_tools-1.91.0.dist-info/entry_points.txt +0 -3
  25. /devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/{ContextDependencies.py → context_dependencies.py} +0 -0
  26. {devsecops_engine_tools-1.91.0.dist-info → devsecops_engine_tools-1.93.0.dist-info}/WHEEL +0 -0
  27. {devsecops_engine_tools-1.91.0.dist-info → devsecops_engine_tools-1.93.0.dist-info}/top_level.txt +0 -0
@@ -22,7 +22,13 @@ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.aws.s
22
22
  from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.printer_pretty_table.printer_pretty_table import (
23
23
  PrinterPrettyTable,
24
24
  )
25
- from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.syft.syft import Syft
25
+ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.syft.syft import (
26
+ Syft
27
+ )
28
+ from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.cdxgen.cdxgen import (
29
+ CdxGen
30
+ )
31
+
26
32
  import sys
27
33
  import argparse
28
34
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
@@ -285,7 +291,10 @@ def application_core():
285
291
  }.get(args["remote_config_source"])
286
292
  metrics_manager_gateway = S3Manager()
287
293
  printer_table_gateway = PrinterPrettyTable()
288
- sbom_tool_gateway = Syft()
294
+ sbom_tool_gateway = {
295
+ "syft": Syft(),
296
+ "cdxgen": CdxGen()
297
+ }
289
298
 
290
299
  init_engine_core(
291
300
  vulnerability_management_gateway,
@@ -0,0 +1,123 @@
1
+ from dataclasses import dataclass
2
+ import requests
3
+ import subprocess
4
+ import platform
5
+
6
+ from devsecops_engine_tools.engine_core.src.domain.model.gateway.sbom_manager import (
7
+ SbomManagerGateway,
8
+ )
9
+ from devsecops_engine_tools.engine_utilities.sbom.deserealizator import (
10
+ get_list_component,
11
+ )
12
+ from devsecops_engine_tools.engine_core.src.domain.model.component import (
13
+ Component,
14
+ )
15
+
16
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
17
+ from devsecops_engine_tools.engine_utilities import settings
18
+
19
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
20
+
21
+
22
+ @dataclass
23
+ class CdxGen(SbomManagerGateway):
24
+
25
+ def get_components(self, artifact, config, service_name) -> "list[Component]":
26
+ try:
27
+ cdxgen_version = config["CDXGEN"]["CDXGEN_VERSION"]
28
+ slim = "-slim" if config["CDXGEN"]["SLIM_BINARY"] else ""
29
+ os_platform = platform.system()
30
+ base_url = (
31
+ f"https://github.com/CycloneDX/cdxgen/releases/download/v{cdxgen_version}/"
32
+ )
33
+
34
+ command_prefix = "cdxgen"
35
+ if os_platform == "Linux":
36
+ file = f"cdxgen-linux-amd64{slim}"
37
+ command_prefix = self._install_tool_unix(
38
+ file, base_url + file, command_prefix
39
+ )
40
+ elif os_platform == "Darwin":
41
+ file = f"cdxgen-darwin-amd64{slim}"
42
+ command_prefix = self._install_tool_unix(
43
+ file, base_url + file, command_prefix
44
+ )
45
+ elif os_platform == "Windows":
46
+ file = f"cdxgen-windows-amd64{slim}.exe"
47
+ command_prefix = self._install_tool_windows(
48
+ file, base_url + file, "cdxgen.exe"
49
+ )
50
+ else:
51
+ logger.warning(f"{os_platform} is not supported.")
52
+ return None
53
+
54
+ result_sbom = self._run_cdxgen(command_prefix, artifact, service_name)
55
+ return get_list_component(result_sbom, config["CDXGEN"]["OUTPUT_FORMAT"])
56
+ except Exception as e:
57
+ logger.error(f"Error generating SBOM: {e}")
58
+ return None
59
+
60
+ def _run_cdxgen(self, command_prefix, artifact, service_name):
61
+ result_file = f"{service_name}_SBOM.json"
62
+ command = [
63
+ command_prefix,
64
+ artifact,
65
+ "-o",
66
+ result_file,
67
+ ]
68
+
69
+ try:
70
+ subprocess.run(
71
+ command,
72
+ check=True,
73
+ stdout=subprocess.PIPE,
74
+ stderr=subprocess.PIPE,
75
+ text=True,
76
+ )
77
+ print(f"SBOM generated and saved to: {result_file}")
78
+ return result_file
79
+ except Exception as e:
80
+ logger.error(f"Error running cdxgen: {e}")
81
+
82
+ def _install_tool_unix(self, file, url, command_prefix):
83
+ installed = subprocess.run(
84
+ ["which", command_prefix],
85
+ stdout=subprocess.PIPE,
86
+ stderr=subprocess.PIPE,
87
+ )
88
+ if installed.returncode == 1:
89
+ try:
90
+ self._download_tool(file, url)
91
+ subprocess.run(
92
+ ["chmod", "+x", f"./{file}"],
93
+ stdout=subprocess.PIPE,
94
+ stderr=subprocess.PIPE,
95
+ )
96
+ return f"./{file}"
97
+ except Exception as e:
98
+ logger.error(f"Error installing cdxgen: {e}")
99
+ else:
100
+ return installed.stdout.decode("utf-8").strip()
101
+
102
+ def _install_tool_windows(self, file, url, command_prefix):
103
+ try:
104
+ installed = subprocess.run(
105
+ [command_prefix, "--version"],
106
+ stdout=subprocess.PIPE,
107
+ stderr=subprocess.PIPE,
108
+ )
109
+ return installed.stdout.decode("utf-8").strip()
110
+ except:
111
+ try:
112
+ self._download_tool(file, url)
113
+ return f"{file}"
114
+ except Exception as e:
115
+ logger.error(f"Error installing cdxgen: {e}")
116
+
117
+ def _download_tool(self, file, url):
118
+ try:
119
+ response = requests.get(url, allow_redirects=True)
120
+ with open(file, "wb") as compress_file:
121
+ compress_file.write(response.content)
122
+ except Exception as e:
123
+ logger.error(f"Error downloading cdxgen: {e}")
@@ -14,7 +14,6 @@ from devsecops_engine_tools.engine_utilities.utils.printers import (
14
14
  Printers,
15
15
  )
16
16
 
17
-
18
17
  def init_engine_core(
19
18
  vulnerability_management_gateway: any,
20
19
  secrets_manager_gateway: any,
@@ -29,6 +28,7 @@ def init_engine_core(
29
28
  args["remote_config_repo"], "/engine_core/ConfigTool.json", args["remote_config_branch"]
30
29
  )
31
30
  Printers.print_logo_tool(config_tool["BANNER"])
31
+ sbom_tool_gateway = sbom_tool_gateway.get(config_tool["SBOM_MANAGER"]["TOOL"].lower())
32
32
 
33
33
  if config_tool[args["module"].upper()]["ENABLED"]:
34
34
  if args["module"] == "engine_risk":
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)
@@ -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.91.0'
1
+ version = '1.93.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.91.0
3
+ Version: 1.93.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,9 +1,9 @@
1
1
  devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- devsecops_engine_tools/version.py,sha256=Pq20F2_fSR_lumYd84Z8uP9BrIUqHZYSHiST1yUqnRE,19
2
+ devsecops_engine_tools/version.py,sha256=Cq2d_sTJlpopO1NPuYFPni1ALB_Qz7XCbOThymniec8,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
6
- devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py,sha256=sacJDgi_oPUIWUfO6vrg1kDvjpbeLzfGHgqL3xwcGao,10586
6
+ devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py,sha256=tw8E4AVN7SL1bLfqVe_XPJ2pZT5AN8N1KEIfo6Itwpk,10770
7
7
  devsecops_engine_tools/engine_core/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  devsecops_engine_tools/engine_core/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -37,6 +37,8 @@ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_man
37
37
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py,sha256=ELihQBgSPH4f9QCyg2dgjudsFitaqgdsljnVOmaA_v4,1972
38
38
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py,sha256=dKe8hno53uC7JDzRWeBdBeRbDHAasEYLxVaFSvWUVxU,5863
40
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/cdxgen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/cdxgen/cdxgen.py,sha256=t1CTeQG2ePBwUdeNinSYEi3vyMjufD0KuHUIxRZCsAU,4370
40
42
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
43
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=ZjtlXKAhAwHCSJTkA2X0Z-4utoCY6lvipqYJ6gkk6OU,32417
42
44
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -50,7 +52,7 @@ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_lo
50
52
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
53
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/syft.py,sha256=hP5MitHTeZf3Ia-xwi5bUdIU5hIwbUNuDSzcsqlxG5c,4457
52
54
  devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py,sha256=9SykudY1IljqXEho5hjRIwArsUfHueP4nJBXnSrbc14,2537
55
+ devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py,sha256=BjA2jQfWpZrCfk9tpaZFL2A8dSKj26p-zIP61GBLqXk,2627
54
56
  devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
57
  devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py,sha256=wfy_PosHS0rrvkdiUYczxIcc8ZNwfqzWwqVxrmRTCBI,264
56
58
  devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py,sha256=lDtaozInb5m2R8Y-oGQasroksCRw_N_Ltz7gLkSguX8,380
@@ -89,6 +91,16 @@ devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/entry_point_d
89
91
  devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
92
  devsecops_engine_tools/engine_dast/src/infrastructure/helpers/file_generator_tool.py,sha256=usSGuFYziitOj3aGa9ifvpfJ-J3qX4c0GXbPm3PmTnQ,2604
91
93
  devsecops_engine_tools/engine_dast/src/infrastructure/helpers/json_handler.py,sha256=qQkSO0EXguVGZN6hSb356sB0HS0ZdcjfXsnPelfUnyg,444
94
+ devsecops_engine_tools/engine_integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ devsecops_engine_tools/engine_integrations/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
+ devsecops_engine_tools/engine_integrations/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ devsecops_engine_tools/engine_integrations/src/applications/runner_engine_integrations.py,sha256=oynNsETemfPXG7bKTaQnH161-OkVySt_6brB2Oqh8m8,5594
98
+ devsecops_engine_tools/engine_integrations/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
+ devsecops_engine_tools/engine_integrations/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
+ devsecops_engine_tools/engine_integrations/src/domain/usecases/handle_integrations.py,sha256=lPGwUNN9Oth3uQp-akNSUkJWnkP_o03lvkv4MnCsnO8,1935
101
+ devsecops_engine_tools/engine_integrations/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
+ devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
+ devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/entry_point_integrations.py,sha256=RV2oynZVww4q9KeH8ISCpVTT7ZwbNy6F99MwIGk_B5A,1194
92
104
  devsecops_engine_tools/engine_risk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
105
  devsecops_engine_tools/engine_risk/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
106
  devsecops_engine_tools/engine_risk/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -226,8 +238,8 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_de
226
238
  devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
239
  devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
240
  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
241
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/context_dependencies.py,sha256=wm_QYNrAWePWsn6YXBtHRriIp1mfx2awuitzuBRwd5o,376
231
243
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
244
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py,sha256=A4WPW-cNMlitI7-P2L-W2hFUPvIU7Ejk6JxRJGATfwc,301
233
245
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py,sha256=78WSYsEzt4394FEURSBmwV1pBztlORXaePFQ6GOZGGk,444
@@ -239,10 +251,10 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init_
239
251
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
252
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
253
  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
254
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py,sha256=jlz_6bAgCNPKqWgnPow6twOYYMf7ewUh5d1WPwHCrSk,7318
243
255
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
256
  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
257
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=lYRl76dPzvfossuRJaRFGwTZNdC9wxJ23AivZdp9nhM,11608
246
258
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
247
259
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py,sha256=t2nAJ86ZyL6nz_tdrcWZ3cf5pnXhJ_q1AfVAbNhcrSk,3772
248
260
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -324,19 +336,19 @@ devsecops_engine_tools/engine_utilities/sbom/deserealizator.py,sha256=6mFNI0B-MB
324
336
  devsecops_engine_tools/engine_utilities/sonarqube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
337
  devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
326
338
  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
339
+ devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py,sha256=FpCY8WUIa3N1LWTVDjy_ZG8-uOFfNnIJXydJjCPBTYM,1485
328
340
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
329
341
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
330
342
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
331
343
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py,sha256=mgycD3bzC_BYv7qT0tMLAro9hyNOvi4gJRzceYNF0t8,1339
332
344
  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
345
+ devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py,sha256=KJNOTqgxX-wCOJtD_LlyZt5Pp388_MzQO4IdQDcSIJ0,10912
334
346
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
347
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
348
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
349
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py,sha256=BpCLMgFQjytZc1HfZ5hXqX44E8T0JhLpAaNOVq5pFjo,4909
338
350
  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
351
+ devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py,sha256=7Rw310PgVhnGyyltFZ4zvxnC78ukMKQBlMQhI5Z0owI,2790
340
352
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
341
353
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py,sha256=SGOWrkzQrvOt9bRhhSfgiMzj1695e1W0B9ox9C1ihQI,294
342
354
  devsecops_engine_tools/engine_utilities/ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -350,8 +362,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
350
362
  devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
351
363
  devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
352
364
  devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=HCjS900TBoNcHrC4LaiP-Kf9frVdtagF130qOUgnO2M,6757
353
- devsecops_engine_tools-1.91.0.dist-info/METADATA,sha256=QJ5jedYf5bS8WEXFpXeV2lJ-SHn4XfT7PmhNywRQl-0,12093
354
- devsecops_engine_tools-1.91.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
355
- devsecops_engine_tools-1.91.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
356
- devsecops_engine_tools-1.91.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
357
- devsecops_engine_tools-1.91.0.dist-info/RECORD,,
365
+ devsecops_engine_tools-1.93.0.dist-info/METADATA,sha256=42BtV6Bz8Uq6qlx9r_987lu22T7LLOqIOD3teQoeX_M,12218
366
+ devsecops_engine_tools-1.93.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
367
+ devsecops_engine_tools-1.93.0.dist-info/entry_points.txt,sha256=OWAww5aBsGeMv0kWhSgVNB0ySKKpYuJd4dly0ikFPkc,283
368
+ devsecops_engine_tools-1.93.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
369
+ devsecops_engine_tools-1.93.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