ThePorgs / Exegol

Fully featured and community-driven hacking environment
https://exegol.readthedocs.io/
GNU General Public License v3.0
1.65k stars 176 forks source link

Docker-desktop auth error #198

Closed Dourin closed 3 months ago

Dourin commented 6 months ago

Describe the bug

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/credentials/store.py:83 in _execute    │
│                                                                                                  │
│    80 │   │   output = None                                                                      │
│    81 │   │   env = create_environment_dict(self.environment)                                    │
│    82 │   │   try:                                                                               │
│ ❱  83 │   │   │   output = subprocess.check_output(                                              │
│    84 │   │   │   │   [self.exe, subcmd], input=data_input, env=env,                             │
│    85 │   │   │   )                                                                              │
│    86 │   │   except subprocess.CalledProcessError as e:                                         │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ data_input = b'https://index.docker.io/v1/'                                                  │ │
│ │        env = {                                                                               │ │
│ │              │   'HOSTTYPE': 'x86_64',                                                       │ │
│ │              │   'LANG': 'en_US.UTF-8',                                                      │ │
│ │              │   'PATH':                                                                     │ │
│ │              '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/… │ │
│ │              │   'TERM': 'xterm-256color',                                                   │ │
│ │              │   'XDG_RUNTIME_DIR': '/mnt/wslg/runtime-dir',                                 │ │
│ │              │   'DISPLAY': ':0',                                                            │ │
│ │              │   'WAYLAND_DISPLAY': 'wayland-0',                                             │ │
│ │              │   'PULSE_SERVER': 'unix:/mnt/wslg/PulseServer',                               │ │
│ │              │   'WSL2_GUI_APPS_ENABLED': '1',                                               │ │
│ │              │   'WSLENV': 'WT_SESSION:WT_PROFILE_ID:',                                      │ │
│ │              │   ... +19                                                                     │ │
│ │              }                                                                               │ │
│ │     output = None                                                                            │ │
│ │       self = <docker.credentials.store.Store object at 0x7f8d7a710bd0>                       │ │
│ │     subcmd = 'get'                                                                           │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3.11/subprocess.py:466 in check_output                                            │
│                                                                                                  │
│    463 │   │   │   empty = b''                                                                   │
│    464 │   │   kwargs['input'] = empty                                                           │
│    465 │                                                                                         │
│ ❱  466 │   return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,                      │
│    467 │   │   │      **kwargs).stdout                                                           │
│    468                                                                                           │
│    469                                                                                           │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │        kw = 'check'                                                                          │ │
│ │    kwargs = {                                                                                │ │
│ │             │   'input': b'https://index.docker.io/v1/',                                     │ │
│ │             │   'env': {                                                                     │ │
│ │             │   │   'HOSTTYPE': 'x86_64',                                                    │ │
│ │             │   │   'LANG': 'en_US.UTF-8',                                                   │ │
│ │             │   │   'PATH':                                                                  │ │
│ │             '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/l… │ │
│ │             │   │   'TERM': 'xterm-256color',                                                │ │
│ │             │   │   'XDG_RUNTIME_DIR': '/mnt/wslg/runtime-dir',                              │ │
│ │             │   │   'DISPLAY': ':0',                                                         │ │
│ │             │   │   'WAYLAND_DISPLAY': 'wayland-0',                                          │ │
│ │             │   │   'PULSE_SERVER': 'unix:/mnt/wslg/PulseServer',                            │ │
│ │             │   │   'WSL2_GUI_APPS_ENABLED': '1',                                            │ │
│ │             │   │   'WSLENV': 'WT_SESSION:WT_PROFILE_ID:',                                   │ │
│ │             │   │   ... +19                                                                  │ │
│ │             │   }                                                                            │ │
│ │             }                                                                                │ │
│ │ popenargs = (['/usr/bin/docker-credential-desktop.exe', 'get'],)                             │ │
│ │   timeout = None                                                                             │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /usr/lib/python3.11/subprocess.py:571 in run                                                     │
│                                                                                                  │
│    568 │   │   │   raise                                                                         │
│    569 │   │   retcode = process.poll()                                                          │
│    570 │   │   if check and retcode:                                                             │
│ ❱  571 │   │   │   raise CalledProcessError(retcode, process.args,                               │
│    572 │   │   │   │   │   │   │   │   │    output=stdout, stderr=stderr)                        │
│    573 │   return CompletedProcess(process.args, retcode, stdout, stderr)                        │
│    574                                                                                           │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ capture_output = False                                                                       │ │
│ │          check = True                                                                        │ │
│ │          input = b'https://index.docker.io/v1/'                                              │ │
│ │         kwargs = {                                                                           │ │
│ │                  │   'stdout': -1,                                                           │ │
│ │                  │   'env': {                                                                │ │
│ │                  │   │   'HOSTTYPE': 'x86_64',                                               │ │
│ │                  │   │   'LANG': 'en_US.UTF-8',                                              │ │
│ │                  │   │   'PATH':                                                             │ │
│ │                  '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/… │ │
│ │                  │   │   'TERM': 'xterm-256color',                                           │ │
│ │                  │   │   'XDG_RUNTIME_DIR': '/mnt/wslg/runtime-dir',                         │ │
│ │                  │   │   'DISPLAY': ':0',                                                    │ │
│ │                  │   │   'WAYLAND_DISPLAY': 'wayland-0',                                     │ │
│ │                  │   │   'PULSE_SERVER': 'unix:/mnt/wslg/PulseServer',                       │ │
│ │                  │   │   'WSL2_GUI_APPS_ENABLED': '1',                                       │ │
│ │                  │   │   'WSLENV': 'WT_SESSION:WT_PROFILE_ID:',                              │ │
│ │                  │   │   ... +19                                                             │ │
│ │                  │   },                                                                      │ │
│ │                  │   'stdin': -1                                                             │ │
│ │                  }                                                                           │ │
│ │      popenargs = (['/usr/bin/docker-credential-desktop.exe', 'get'],)                        │ │
│ │        process = <Popen: returncode: 1 args: ['/usr/bin/docker-credential-desktop.exe',      │ │
│ │                  'get']>                                                                     │ │
│ │        retcode = 1                                                                           │ │
│ │         stderr = None                                                                        │ │
│ │         stdout = b''                                                                         │ │
│ │        timeout = None                                                                        │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
CalledProcessError: Command '['/usr/bin/docker-credential-desktop.exe', 'get']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/auth.py:262 in                         │
│ _resolve_authconfig_credstore                                                                    │
│                                                                                                  │
│   259 │   │   log.debug(f"Looking for auth entry for {repr(registry)}")                          │
│   260 │   │   store = self._get_store_instance(credstore_name)                                   │
│   261 │   │   try:                                                                               │
│ ❱ 262 │   │   │   data = store.get(registry)                                                     │
│   263 │   │   │   res = {                                                                        │
│   264 │   │   │   │   'ServerAddress': registry,                                                 │
│   265 │   │   │   }                                                                              │
│                                                                                                  │
│ ╭────────────────────────────────── locals ──────────────────────────────────╮                   │
│ │ credstore_name = 'desktop.exe'                                             │                   │
│ │       registry = 'https://index.docker.io/v1/'                             │                   │
│ │           self = {'credsStore': 'desktop.exe', 'auths': {}}                │                   │
│ │          store = <docker.credentials.store.Store object at 0x7f8d7a710bd0> │                   │
│ ╰────────────────────────────────────────────────────────────────────────────╯                   │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/credentials/store.py:34 in get         │
│                                                                                                  │
│    31 │   │   """                                                                                │
│    32 │   │   if not isinstance(server, bytes):                                                  │
│    33 │   │   │   server = server.encode('utf-8')                                                │
│ ❱  34 │   │   data = self._execute('get', server)                                                │
│    35 │   │   result = json.loads(data.decode('utf-8'))                                          │
│    36 │   │                                                                                      │
│    37 │   │   # docker-credential-pass will return an object for inexistent servers              │
│                                                                                                  │
│ ╭────────────────────────────── locals ──────────────────────────────╮                           │
│ │   self = <docker.credentials.store.Store object at 0x7f8d7a710bd0> │                           │
│ │ server = b'https://index.docker.io/v1/'                            │                           │
│ ╰────────────────────────────────────────────────────────────────────╯                           │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/credentials/store.py:87 in _execute    │
│                                                                                                  │
│    84 │   │   │   │   [self.exe, subcmd], input=data_input, env=env,                             │
│    85 │   │   │   )                                                                              │
│    86 │   │   except subprocess.CalledProcessError as e:                                         │
│ ❱  87 │   │   │   raise errors.process_store_error(e, self.program)                              │
│    88 │   │   except OSError as e:                                                               │
│    89 │   │   │   if e.errno == errno.ENOENT:                                                    │
│    90 │   │   │   │   raise errors.StoreError(                                                   │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ data_input = b'https://index.docker.io/v1/'                                                  │ │
│ │        env = {                                                                               │ │
│ │              │   'HOSTTYPE': 'x86_64',                                                       │ │
│ │              │   'LANG': 'en_US.UTF-8',                                                      │ │
│ │              │   'PATH':                                                                     │ │
│ │              '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/… │ │
│ │              │   'TERM': 'xterm-256color',                                                   │ │
│ │              │   'XDG_RUNTIME_DIR': '/mnt/wslg/runtime-dir',                                 │ │
│ │              │   'DISPLAY': ':0',                                                            │ │
│ │              │   'WAYLAND_DISPLAY': 'wayland-0',                                             │ │
│ │              │   'PULSE_SERVER': 'unix:/mnt/wslg/PulseServer',                               │ │
│ │              │   'WSL2_GUI_APPS_ENABLED': '1',                                               │ │
│ │              │   'WSLENV': 'WT_SESSION:WT_PROFILE_ID:',                                      │ │
│ │              │   ... +19                                                                     │ │
│ │              }                                                                               │ │
│ │     output = None                                                                            │ │
│ │       self = <docker.credentials.store.Store object at 0x7f8d7a710bd0>                       │ │
│ │     subcmd = 'get'                                                                           │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
StoreError: Credentials store docker-credential-desktop.exe exited with "".

During handling of the above exception, another exception occurred:

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/moondoor/.local/lib/python3.11/site-packages/exegol/manager/ExegolController.py:59 in main │
│                                                                                                  │
│   56 │   │   # Set logger verbosity depending on user input                                      │
│   57 │   │   ExeLog.setVerbosity(ParametersManager().verbosity, ParametersManager().quiet)       │
│   58 │   │   # Start Main controller & Executing action selected by user CLI                     │
│ ❱ 59 │   │   ExegolController.call_action()                                                      │
│   60 │   except KeyboardInterrupt:                                                               │
│   61 │   │   logger.empty_line()                                                                 │
│   62 │   │   logger.info("Exiting")                                                              │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/exegol/manager/ExegolController.py:39 in      │
│ call_action                                                                                      │
│                                                                                                  │
│   36 │   │   │   # Fetch main operation function                                                 │
│   37 │   │   │   main_action = cls.__action()                                                    │
│   38 │   │   │   # Execute main function                                                         │
│ ❱ 39 │   │   │   main_action()                                                                   │
│   40 │   │   else:                                                                               │
│   41 │   │   │   # TODO review required parameters                                               │
│   42 │   │   │   logger.error(f"These parameters are mandatory but missing: {','.join(missing    │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │            cls = <class 'exegol.manager.ExegolController.ExegolController'>                  │ │
│ │    main_action = <bound method ExegolManager.update of <class                                │ │
│ │                  'exegol.manager.ExegolManager.ExegolManager'>>                              │ │
│ │ missing_params = []                                                                          │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/exegol/manager/ExegolManager.py:147 in update │
│                                                                                                  │
│   144 │   │   │   UpdateManager.updateImageSource()                                              │
│   145 │   │   │   UpdateManager.updateResources()                                                │
│   146 │   │   if not ParametersManager().skip_images:                                            │
│ ❱ 147 │   │   │   UpdateManager.updateImage()                                                    │
│   148 │                                                                                          │
│   149 │   @classmethod                                                                           │
│   150 │   def uninstall(cls):                                                                    │
│                                                                                                  │
│ ╭────────────────────────── locals ──────────────────────────╮                                   │
│ │ cls = <class 'exegol.manager.ExegolManager.ExegolManager'> │                                   │
│ ╰────────────────────────────────────────────────────────────╯                                   │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/exegol/manager/UpdateManager.py:74 in         │
│ updateImage                                                                                      │
│                                                                                                  │
│    71 │   │   │   │   if not selected_image.isVersionSpecific() and selected_image.getName() !   │
│    72 │   │   │   │   │   with console.status(f"Synchronizing version tag information. Please    │
│    73 │   │   │   │   │   │   # Download associated version tag.                                 │
│ ❱  74 │   │   │   │   │   │   sync_result = DockerUtils.downloadVersionTag(selected_image)       │
│    75 │   │   │   │   │   # Detect if an error have been triggered during the download           │
│    76 │   │   │   │   │   if type(sync_result) is str:                                           │
│    77 │   │   │   │   │   │   logger.error(f"Error while downloading version tag, {sync_result   │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ available_images = [                                                                         │ │
│ │                    │   ad (3.1.1/3.1.2 amd64) - 23.7GB - ([orange3]Update available (v.3.1.1 │ │
│ │                    :arrow_right: v.3.1.2)[/orange3], 15.5GB),                                │ │
│ │                    │   full (3.1.1/3.1.2 amd64) - 34.5GB - ([orange3]Update available        │ │
│ │                    (v.3.1.1 :arrow_right: v.3.1.2)[/orange3], 21.3GB),                       │ │
│ │                    │   web (3.1.1/3.1.2 amd64) - 15.0GB - ([orange3]Update available         │ │
│ │                    (v.3.1.1 :arrow_right: v.3.1.2)[/orange3], 9.0GB),                        │ │
│ │                    │   light (3.1.1/3.1.2 amd64) - 11.3GB - ([orange3]Update available       │ │
│ │                    (v.3.1.1 :arrow_right: v.3.1.2)[/orange3], 5.5GB),                        │ │
│ │                    │   osint (3.1.1/3.1.2 amd64) - 7.9GB - ([orange3]Update available        │ │
│ │                    (v.3.1.1 :arrow_right: v.3.1.2)[/orange3], 5.1GB)                         │ │
│ │                    ]                                                                         │ │
│ │              cls = <class 'exegol.manager.UpdateManager.UpdateManager'>                      │ │
│ │       image_args = None                                                                      │ │
│ │     install_mode = False                                                                     │ │
│ │   selected_image = full (3.1.1/3.1.2 amd64) - 34.5GB - ([orange3]Update available (v.3.1.1   │ │
│ │                    :arrow_right: v.3.1.2)[/orange3], 21.3GB)                                 │ │
│ │      sync_result = None                                                                      │ │
│ │              tag = None                                                                      │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/exegol/utils/DockerUtils.py:474 in            │
│ downloadVersionTag                                                                               │
│                                                                                                  │
│   471 │   │   │   logger.critical("It's not possible to download a docker image in offline mod   │
│   472 │   │   │   return ""                                                                      │
│   473 │   │   try:                                                                               │
│ ❱ 474 │   │   │   image = cls.__client.images.pull(repository=ConstantConfig.IMAGE_NAME,         │
│   475 │   │   │   │   │   │   │   │   │   │   │    tag=image.getLatestVersionName(),             │
│   476 │   │   │   │   │   │   │   │   │   │   │    platform="linux/" + image.getArch())          │
│   477 │   │   │   return ExegolImage(docker_image=image, isUpToDate=True)                        │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │   cls = <class 'exegol.utils.DockerUtils.DockerUtils'>                                       │ │
│ │ image = full (3.1.1/3.1.2 amd64) - 34.5GB - ([orange3]Update available (v.3.1.1              │ │
│ │         :arrow_right: v.3.1.2)[/orange3], 21.3GB)                                            │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/models/images.py:465 in pull           │
│                                                                                                  │
│   462 │   │   │   )                                                                              │
│   463 │   │   │   del kwargs['stream']                                                           │
│   464 │   │                                                                                      │
│ ❱ 465 │   │   pull_log = self.client.api.pull(                                                   │
│   466 │   │   │   repository, tag=tag, stream=True, all_tags=all_tags, **kwargs                  │
│   467 │   │   )                                                                                  │
│   468 │   │   for _ in pull_log:                                                                 │
│                                                                                                  │
│ ╭─────────────────────────────────── locals ───────────────────────────────────╮                 │
│ │   all_tags = False                                                           │                 │
│ │  image_tag = None                                                            │                 │
│ │     kwargs = {'platform': 'linux/amd64'}                                     │                 │
│ │ repository = 'nwodtuhs/exegol'                                               │                 │
│ │       self = <docker.models.images.ImageCollection object at 0x7f8d79dfc910> │                 │
│ │        tag = 'full-3.1.2'                                                    │                 │
│ ╰──────────────────────────────────────────────────────────────────────────────╯                 │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/api/image.py:410 in pull               │
│                                                                                                  │
│   407 │   │   headers = {}                                                                       │
│   408 │   │                                                                                      │
│   409 │   │   if auth_config is None:                                                            │
│ ❱ 410 │   │   │   header = auth.get_config_header(self, registry)                                │
│   411 │   │   │   if header:                                                                     │
│   412 │   │   │   │   headers['X-Registry-Auth'] = header                                        │
│   413 │   │   else:                                                                              │
│                                                                                                  │
│ ╭─────────────────────────────── locals ───────────────────────────────╮                         │
│ │    all_tags = False                                                  │                         │
│ │ auth_config = None                                                   │                         │
│ │      decode = False                                                  │                         │
│ │     headers = {}                                                     │                         │
│ │   image_tag = None                                                   │                         │
│ │      params = {'tag': 'full-3.1.2', 'fromImage': 'nwodtuhs/exegol'}  │                         │
│ │    platform = 'linux/amd64'                                          │                         │
│ │    registry = 'docker.io'                                            │                         │
│ │   repo_name = 'nwodtuhs/exegol'                                      │                         │
│ │  repository = 'nwodtuhs/exegol'                                      │                         │
│ │        self = <docker.api.client.APIClient object at 0x7f8d7a697450> │                         │
│ │      stream = True                                                   │                         │
│ │         tag = 'full-3.1.2'                                           │                         │
│ ╰──────────────────────────────────────────────────────────────────────╯                         │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/auth.py:45 in get_config_header        │
│                                                                                                  │
│    42 │   │   │   "No auth config in memory - loading from filesystem"                           │
│    43 │   │   )                                                                                  │
│    44 │   │   client._auth_configs = load_config(credstore_env=client.credstore_env)             │
│ ❱  45 │   authcfg = resolve_authconfig(                                                          │
│    46 │   │   client._auth_configs, registry, credstore_env=client.credstore_env                 │
│    47 │   )                                                                                      │
│    48 │   # Do not fail here if no authentication exists for this                                │
│                                                                                                  │
│ ╭───────────────────────────── locals ──────────────────────────────╮                            │
│ │   client = <docker.api.client.APIClient object at 0x7f8d7a697450> │                            │
│ │ registry = 'docker.io'                                            │                            │
│ ╰───────────────────────────────────────────────────────────────────╯                            │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/auth.py:322 in resolve_authconfig      │
│                                                                                                  │
│   319 def resolve_authconfig(authconfig, registry=None, credstore_env=None):                     │
│   320 │   if not isinstance(authconfig, AuthConfig):                                             │
│   321 │   │   authconfig = AuthConfig(authconfig, credstore_env)                                 │
│ ❱ 322 │   return authconfig.resolve_authconfig(registry)                                         │
│   323                                                                                            │
│   324                                                                                            │
│   325 def convert_to_hostname(url):                                                              │
│                                                                                                  │
│ ╭────────────────────────── locals ──────────────────────────╮                                   │
│ │    authconfig = {'credsStore': 'desktop.exe', 'auths': {}} │                                   │
│ │ credstore_env = None                                       │                                   │
│ │      registry = 'docker.io'                                │                                   │
│ ╰────────────────────────────────────────────────────────────╯                                   │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/auth.py:233 in resolve_authconfig      │
│                                                                                                  │
│   230 │   │   │   │   log.debug(                                                                 │
│   231 │   │   │   │   │   f'Using credentials store "{store_name}"'                              │
│   232 │   │   │   │   )                                                                          │
│ ❱ 233 │   │   │   │   cfg = self._resolve_authconfig_credstore(registry, store_name)             │
│   234 │   │   │   │   if cfg is not None:                                                        │
│   235 │   │   │   │   │   return cfg                                                             │
│   236 │   │   │   │   log.debug('No entry in credstore - fetching from auth dict')               │
│                                                                                                  │
│ ╭──────────────────────── locals ─────────────────────────╮                                      │
│ │   registry = 'docker.io'                                │                                      │
│ │       self = {'credsStore': 'desktop.exe', 'auths': {}} │                                      │
│ │ store_name = 'desktop.exe'                              │                                      │
│ ╰─────────────────────────────────────────────────────────╯                                      │
│                                                                                                  │
│ /home/moondoor/.local/lib/python3.11/site-packages/docker/auth.py:278 in                         │
│ _resolve_authconfig_credstore                                                                    │
│                                                                                                  │
│   275 │   │   │   log.debug('No entry found')                                                    │
│   276 │   │   │   return None                                                                    │
│   277 │   │   except credentials.StoreError as e:                                                │
│ ❱ 278 │   │   │   raise errors.DockerException(                                                  │
│   279 │   │   │   │   f'Credentials store error: {repr(e)}'                                      │
│   280 │   │   │   )                                                                              │
│   281                                                                                            │
│                                                                                                  │
│ ╭────────────────────────────────── locals ──────────────────────────────────╮                   │
│ │ credstore_name = 'desktop.exe'                                             │                   │
│ │       registry = 'https://index.docker.io/v1/'                             │                   │
│ │           self = {'credsStore': 'desktop.exe', 'auths': {}}                │                   │
│ │          store = <docker.credentials.store.Store object at 0x7f8d7a710bd0> │                   │
│ ╰────────────────────────────────────────────────────────────────────────────╯                   │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

Steps To Reproduce

exegol update full

Exegol Wrapper Version

[*] Exegol is currently in version v4.2.5
[*] Exegol Discord serv.: https://discord.gg/cXThyp7D6P
[*] Exegol documentation: https://exegol.rtfd.io/
[+] We thank Capgemini for supporting the project (helping with dev) 🙏
[+] We thank HackTheBox for sponsoring the multi-arch support 💚
[D] Pip installation: On ✔
[D] Git source installation: Off 🪓
[D] Host OS: HostOs.WINDOWS (DockerEngine.WLS2)
[D] Arch: amd64
[D] Raw arch: x86_64
[D] Windows release:
[D] Python environment: WSL
[D] Docker engine: DOCKERENGINE.WLS2
[D] Docker desktop: On ✔
[D] Shell type: HostOs.LINUX
[D] Last wrapper update check: 2023-12-19 00:00:00

Host OS

Windows 11

Configuration of the concerned container

exegol info -v full
[*] Exegol is currently in version v4.2.5
[*] Exegol Discord serv.: https://discord.gg/cXThyp7D6P
[*] Exegol documentation: https://exegol.rtfd.io/
[+] We thank Capgemini for supporting the project (helping with dev) 🙏
[+] We thank HackTheBox for sponsoring the multi-arch support 💚
[V] Listing user configurations

🧠 User configurations
┌───────────────────────────────────────────────────────────┐
│ User config file: /home/moondoor/.exegol/config.yml       │
│ Private workspace: /home/moondoor/.exegol/workspaces      │
│ Exegol resources: /home/moondoor/.exegol/exegol-resources │
│ My resources: /home/moondoor/.exegol/my-resources         │
│ Auto-check updates: On ✔                                  │
│ Auto-remove images: On ✔                                  │
│ Auto-update fs: Off 🪓                                    │
│ Default start shell: zsh                                  │
│ Shell logging method: asciinema                           │
│ Shell logging compression: On ✔                           │
└───────────────────────────────────────────────────────────┘

Execution logs in debug mode

[D] Running update module
[*] Exegol is currently in version v4.2.5
[*] Exegol Discord serv.: https://discord.gg/cXThyp7D6P
[*] Exegol documentation: https://exegol.rtfd.io/
[+] We thank Capgemini for supporting the project (helping with dev) 🙏
[+] We thank HackTheBox for sponsoring the multi-arch support 💚
[D] Pip installation: On ✔
[D] Git source installation: Off 🪓
[D] Host OS: HostOs.WINDOWS (DockerEngine.WLS2)
[D] Arch: amd64
[D] Raw arch: x86_64
[D] Windows release:
[D] Python environment: WSL
[D] Docker engine: DOCKERENGINE.WLS2
[D] Docker desktop: On ✔
[D] Shell type: HostOs.LINUX
[D] Last wrapper update check: 2023-12-19 00:00:00

[!] Exegol has not been installed via git clone. Skipping wrapper auto-update operation.
[*] If you have installed Exegol with pip, check for an update with the command pip3 install exegol --upgrade

[D] Loading git at /home/moondoor/.exegol/exegol-resources
[D] Repo path: /home/moondoor/.exegol/exegol-resources/.git
[D] Git repository successfully loaded
[*] Updating Exegol resources
[D] Fetch flags : 4
[D] Fetch note :
[D] Fetch old commit : None
[D] Fetch remote path : main
[D] HEAD UP TO DATE flag detected
[*] Git branch main is already up-to-date.

[D] Fetching remote image tags, digests and sizes
[D] Fetching information from: https://hub.docker.com/v2/repositories/nwodtuhs/exegol/tags?page_size=20
[D] Fetching information from: https://hub.docker.com/v2/repositories/nwodtuhs/exegol/tags?page=2&page_size=20
[D] Max page limit reached. In non-verbose mode, downloads will stop there.
[D] Fetching information from: https://hub.docker.com/v2/repositories/nwodtuhs/exegol/tags?page=3&page_size=20
[D] Fetching information from: https://hub.docker.com/v2/repositories/nwodtuhs/exegol/tags?page=4&page_size=20
[D] Fetching local image tags, digests (and other attributes)
[D] Try to retrieve image version from labels
[D] └── full    → (remote) sha256:a87696f3b27523be0dc5b915d7efcd6ef09bbd8f31f0ab61e8048b1f17c659e0
[D] └── web     → (remote) sha256:14a539bcb8563c2834cac944794ba52b643c3f1c2156be5cf9142820a436c4f8
[D] └── light   → (remote) sha256:ca91e8abc6998c3f13f13222d3670d2b9f3c90a697aa650b33d11d60de9c4cd6
[D] └── osint   → (remote) sha256:63d09a6cf88f496285e8b9d6d4f550fc793c0a7792c0d9bbd9d1bcdfdc208798
[D] Try to retrieve image version from labels
[D] └── nightly → (remote) sha256:158ed782ac31cb9fd8c618b4e7f4dd2f53e1a233109a842e1a909b9ea481674b
[D] Try to retrieve image version from labels
[D] └── nightly-55999787        → (remote) sha256:aa52ebc9dd12a7622ebbef54adfb7132cda978fbb0df321f4f85f55bbf4793ac
[D] The image 'nightly-55999787' (digest: sha256:aa52ebc9dd12a7622ebbef54adfb7132cda978fbb0df321f4f85f55bbf4793ac) has not been found remotely, considering it as
discontinued.
[D] └── ad      → (remote) sha256:6e7f9fbc6ec5d3609b5c9e3dfbad4584e68196a82978201509be7830a85d6357
[D] └── web-3.1.1       → (remote) sha256:9108e175ebcd946d142de06f7ef8c7f8e9baaa996c83bf03c72b804239d925ba
[D] └── osint-3.1.1     → (remote) sha256:4365185cd4082cac6bd05d97eab0c230ba1d2516b8c98e95e1b87e1eb125e3a3
[D] └── light-3.1.1     → (remote) sha256:19a6748bfafb103cdfc51cb4a33ae931d4ffc81b8824399d20e1f9802ef744f8
[D] └── full-3.1.1      → (remote) sha256:3d40ce1506e100b53cf27a653b1cad8ec7bfc1ceefeaa9a7f84e422942afeff3
[D] └── full-3.1.1      → (remote) sha256:3d40ce1506e100b53cf27a653b1cad8ec7bfc1ceefeaa9a7f84e422942afeff3
[D] └── ad-3.1.1        → (remote) sha256:6e7f9fbc6ec5d3609b5c9e3dfbad4584e68196a82978201509be7830a85d6357
[D] └── ad-3.1.1        → (remote) sha256:6e7f9fbc6ec5d3609b5c9e3dfbad4584e68196a82978201509be7830a85d6357
[D] └── web-3.1.0       → (remote) sha256:ca359990a79416693b00fac13cfc2f22a1e84e28106f982aa16a91bd84e5d3f2
[D] └── web-3.1.0       → (remote) sha256:ca359990a79416693b00fac13cfc2f22a1e84e28106f982aa16a91bd84e5d3f2
[D] └── osint-3.1.0     → (remote) sha256:335acb243b310c66ca011665d4e7462a427686eef217ac8dc9a2be45cea4eaea
[D] └── light-3.1.0     → (remote) sha256:96c388d0d36695d71b0665dc9f966b438a562c72cba9c6f9fc97c97b6073017f
[D] └── light-3.1.0     → (remote) sha256:96c388d0d36695d71b0665dc9f966b438a562c72cba9c6f9fc97c97b6073017f
[D] └── ad-3.1.0        → (remote) sha256:2c9ced02cf893114557b17577a34c14b7030c5715d174b8e8ac2a2500da29d58
[D] └── full-3.1.0      → (remote) sha256:b4c29bf24ec7d6055eaef632dbc8915d403f4b349da14599b9282e6f1ec6f695
[D] └── full-3.1.0      → (remote) sha256:b4c29bf24ec7d6055eaef632dbc8915d403f4b349da14599b9282e6f1ec6f695
[D] └── web-3.0.2       → (remote) sha256:2d48210c019f5b4014c8121c908bb832a0a41e78ab9dc70d396c84197619e5c8
[D] └── osint-3.0.2     → (remote) sha256:69dd1008f8c80d2ab0310b1fd21c7aa5afdc58a349166e809805e2a38c8e5e22
[D] └── full-3.0.2      → (remote) sha256:2c2257cb94a8047cd03c59c512c295b89101e5982105e982c406ed850deef7d9
[D] └── full-3.0.2      → (remote) sha256:2c2257cb94a8047cd03c59c512c295b89101e5982105e982c406ed850deef7d9
[D] └── light-3.0.2     → (remote) sha256:28b31faa4a4edf5a66fb21303a86e290d7178fb57a905ef135b933cfddf7e987
[D] └── light-3.0.2     → (remote) sha256:28b31faa4a4edf5a66fb21303a86e290d7178fb57a905ef135b933cfddf7e987
[D] └── ad-3.0.2        → (remote) sha256:3c72c440a5e087e1f90fdadd259ac6f01b8a8f0813510405ee5b2eb6830d85cd
[D] └── web-3.0.1       → (remote) sha256:901640f976728b005c1291fc791db173583be4ce77e06c656fcc9ca1d90b9f78
[D] └── osint-3.0.1     → (remote) sha256:6792268d4ffd890010482584becd8b04666025b71766b0fea76ed355d6b14c4c
[D] └── light-3.0.1     → (remote) sha256:7f4cf4a55f34cc2419b57c8b4286be4e5a053316ecce2e23cce5f17a38590571
[D] └── light-3.0.1     → (remote) sha256:7f4cf4a55f34cc2419b57c8b4286be4e5a053316ecce2e23cce5f17a38590571
[D] └── full-3.0.1      → (remote) sha256:b595b71adbf4f0edc32a388f87771de377d82e059e0f9459fb62b49eb938b5cd
[D] └── full-3.0.1      → (remote) sha256:b595b71adbf4f0edc32a388f87771de377d82e059e0f9459fb62b49eb938b5cd
[D] └── ad-3.0.1        → (remote) sha256:4fc6a3d2d28929f13fb74ff4e9258f51daa8986a0603aaa37ad109bacc7f9381
[D] └── light-3.0.0     → (remote) sha256:2fe0e78dcf1924785bffeb20b52ecde82609f9c91c0fad883bb293dd65d7443d
[D] └── osint-3.0.0     → (remote) sha256:13b3d0f9d9946b0105c997260f84a5b3ea0e35d1b1da974a033def9375c109ea
[D] └── web-3.0.0       → (remote) sha256:fe361319498cdbf0c62688fc675902a54dc12ceff164ef193789d67d1140d970
[D] └── web-3.0.0       → (remote) sha256:fe361319498cdbf0c62688fc675902a54dc12ceff164ef193789d67d1140d970
[D] └── ad-3.0.0        → (remote) sha256:a174289246c5ce40227a52caf4d82faf81420c915791caad6bbf85c7d02cd5c9
[D] └── full-3.0.0      → (remote) sha256:6751cd3bf83461623a9bfab29c36edfef8b5d4e9b80c11015cf53a0061099dce
[D] └── full-3.0.0      → (remote) sha256:6751cd3bf83461623a9bfab29c36edfef8b5d4e9b80c11015cf53a0061099dce
[D] └── full-2.1.1      → (remote) sha256:c19d64e74f346999991a82a740acb392bf0da6c2fbb680c2403250f2bba31cfc
[D] └── ad-2.1.1        → (remote) sha256:b2b9a7642cd765daae0e0e517544cb4f5b0b77f8149f19165479fceb92f14f84
[D] └── web-2.1.1       → (remote) sha256:6ce49800b576f2f97d665e63ab0cb4fb946cf3d575b5918887e93887afe3c2d8
[D] └── light-2.1.1     → (remote) sha256:c048d0ebe19613e01e65d27013c5174fb41cccbe2fd9f8cde9cbb2a56b919371
[D] └── osint-2.1.1     → (remote) sha256:ffe3c2d9693b0b52d11d9104dd2a33f2cf2037b412249db340d59d7ee01497fa
[D] └── full-2.1.0      → (remote) sha256:2462e5169f04b72123ab28d34ae7b326d40240097bcebe65bc968ade06c36a9c
[D] └── ad-2.1.0        → (remote) sha256:eda497aebe8e35d685be9057793606c297548519dd16526b302d50a8f959179d
[D] └── web-2.1.0       → (remote) sha256:4520239532ce14afdfb87e4fcd9633096b90a3e8a28d8b02044e628c53cfb17f
[D] └── light-2.1.0     → (remote) sha256:ffa088736d8a3e2bab9cf3e3ae2b816d779e2a6a984ed41012ef989e3524e8b3
[D] └── osint-2.1.0     → (remote) sha256:f706f54024324899836f7568aeda8608dacd93a98d7114cd5f5b3fd093beba08
[D] └── full-2.0.2      → (remote) N/A
[D] └── light-2.0.2     → (remote) N/A
[D] └── ad-2.0.2        → (remote) N/A
[D] └── web-2.0.2       → (remote) N/A
[D] └── osint-2.0.2     → (remote) N/A
[D] └── full-2.0.1      → (remote) N/A
[D] └── ad-2.0.1        → (remote) N/A
[D] └── web-2.0.1       → (remote) N/A
[D] └── light-2.0.1     → (remote) N/A
[D] └── osint-2.0.1     → (remote) N/A
[D] └── web-2.0.0       → (remote) N/A
[D] └── light-2.0.0     → (remote) N/A
[D] └── osint-2.0.0     → (remote) N/A
[D] └── full-2.0.0b5    → (remote) N/A
[D] └── ad-2.0.0b5      → (remote) N/A
[D] └── web-2.0.0b5     → (remote) N/A
[D] └── light-2.0.0b5   → (remote) N/A
[D] └── osint-2.0.0b5   → (remote) N/A
[*] Updating exegol image : full
[!] This image is already up to date. Skipping.

Exception

No response

Anything else?

No response

Dramelac commented 6 months ago

What error do you have when running docker pull nwodtuhs/exegol:full-3.1.2 ? It seems you have a missconfig in your docker desktop somewhere regarding an authentication mechanism

Dramelac commented 6 months ago

Check if you have a config.json custom. The default path is ~/.docker/config.json. The auth / config might be outdated / wrong, try to move / remove or regenerate the configuration. This error is linked to docker desktop.

Dramelac commented 3 months ago

Closing for inactivity.