diff --git a/demisto_sdk/__main__.py b/demisto_sdk/__main__.py index ee66b7483c2..81b31fed2ac 100644 --- a/demisto_sdk/__main__.py +++ b/demisto_sdk/__main__.py @@ -52,6 +52,7 @@ def main( sdk = DemistoSDK() # Initialize your SDK class sdk.configuration = Configuration() # Initialize the configuration ctx.obj = sdk # Pass sdk instance to context + typer.echo("testing") load_dotenv(CONTENT_PATH / ".env", override=True) if platform.python_version_tuple()[:2] == ("3", "9"): message = typer.style( @@ -503,5 +504,5 @@ def register_commands(_args: list[str] = []): # noqa: C901 register_commands(args) if __name__ == "__main__": - typer.echo("Running Demisto-SDK CLI") + typer.echo("Running Demisto-SDK CLI Testing") app() # Run the main app diff --git a/demisto_sdk/commands/common/docker/docker_image.py b/demisto_sdk/commands/common/docker/docker_image.py index 884a3a1e327..51695b20721 100644 --- a/demisto_sdk/commands/common/docker/docker_image.py +++ b/demisto_sdk/commands/common/docker/docker_image.py @@ -1,3 +1,4 @@ +import os import re from datetime import datetime from typing import Optional @@ -5,6 +6,7 @@ from packaging.version import Version from demisto_sdk.commands.common.constants import ( + DOCKER_REGISTRY_URL, NATIVE_IMAGE_DOCKER_NAME, ) from demisto_sdk.commands.common.docker.dockerhub_client import DockerHubClient @@ -17,7 +19,20 @@ class DockerImage(str): DEMISTO_PYTHON_BASE_IMAGE_REGEX = re.compile( r"[\d\w]+/python3?:(?P[23]\.\d+(\.\d+)?)" # regex to extract python version for image name ) - _dockerhub_client = DockerHubClient() + _dockerhub_client = None + + @classmethod + def _get_dockerhub_client(cls): + """Get or create the DockerHub client with the appropriate registry and credentials.""" + if cls._dockerhub_client is None: + username = os.getenv("DEMISTO_SDK_CR_USER", "") + password = os.getenv("DEMISTO_SDK_CR_PASSWORD", "") + cls._dockerhub_client = DockerHubClient( + registry=DOCKER_REGISTRY_URL, + username=username, + password=password + ) + return cls._dockerhub_client def __new__( cls, docker_image: str, raise_if_not_valid: bool = False @@ -103,7 +118,7 @@ def is_native_image(self) -> bool: @property def creation_date(self) -> datetime: - return self._dockerhub_client.get_docker_image_tag_creation_date( + return self._get_dockerhub_client().get_docker_image_tag_creation_date( self.name, tag=self.tag ) @@ -122,7 +137,7 @@ def python_version(self) -> Optional[Version]: return Version(match.group("python_version")) logger.debug(f"Could not get python version for image {self} from regex") - image_env = self._dockerhub_client.get_image_env(self.name, tag=self.tag) + image_env = self._get_dockerhub_client().get_image_env(self.name, tag=self.tag) if python_version := next( ( @@ -145,17 +160,17 @@ def python_version(self) -> Optional[Version]: @property def is_image_exist(self) -> bool: """ - Returns True if the docker-image exist in dockerhub + Returns True if the docker-image exist in the configured registry """ - return self._dockerhub_client.is_docker_image_exist(self.name, tag=self.tag) + return self._get_dockerhub_client().is_docker_image_exist(self.name, tag=self.tag) @property def latest_tag(self) -> Version: - return self._dockerhub_client.get_latest_docker_image_tag(self.name) + return self._get_dockerhub_client().get_latest_docker_image_tag(self.name) @property def latest_docker_image(self) -> "DockerImage": """ Returns the docker image with the latest tag """ - return DockerImage(self._dockerhub_client.get_latest_docker_image(self.name)) + return DockerImage(self._get_dockerhub_client().get_latest_docker_image(self.name)) diff --git a/demisto_sdk/commands/common/docker/dockerhub_client.py b/demisto_sdk/commands/common/docker/dockerhub_client.py index 30663677ccd..8b4b8c9208a 100644 --- a/demisto_sdk/commands/common/docker/dockerhub_client.py +++ b/demisto_sdk/commands/common/docker/dockerhub_client.py @@ -592,7 +592,7 @@ def get_registry_api_url(registry: str, default_registry: str) -> str: f"Could not parse a valid API URL from the DOCKER_IO environment variable, Error: {str(e)} " ) - logger.debug(f"using provided or default registry, {default_registry=}") + logger.debug(f"using provided or default registry, {default_registry=} {registry=}") return registry or default_registry diff --git a/demisto_sdk/commands/format/update_generic.py b/demisto_sdk/commands/format/update_generic.py index 9c4c9dbb554..eeabbfaee6d 100644 --- a/demisto_sdk/commands/format/update_generic.py +++ b/demisto_sdk/commands/format/update_generic.py @@ -351,7 +351,7 @@ def set_fromVersion(self, default_from_version="", file_type: str = ""): ): return # nothing to set current_fromversion_value = self.data.get(self.from_version_key, "") - logger.info("Setting fromVersion field") + logger.info("Setting fromVersion field testing") if self.from_version: self.data[self.from_version_key] = self.from_version