Skip to content

Exception: UUID object is not iterable #16307

@black-dragon74

Description

@black-dragon74

Describe the bug
After upgrading to 2025.8.0 when accessing System > Outpost integrations an exception is raised with message stating: UUID object is not iterable

The stack track can be found below.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Admin Interface > System > Outpost Integrations"
  2. You'll see the exception in logs

Expected behavior
No exception and outpost integrations is listed.

Screenshots
If applicable, add screenshots to help explain your problem.

Logs

Stacktrace from authentik
{
    "asn": {
        
    },
    "geo": {
       
    },
    "message": "'UUID' object is not iterable",
    "exception": [
        {
            "frames": [
                {
                    "name": "thread_handler",
                    "lineno": 489,
                    "locals": {
                        "args": "'(functools.partial(<bound method BaseHandler.process_exception_by_middleware of '+219",
                        "func": "<built-in method run of _contextvars.Context object at 0x7fefef11d000>",
                        "loop": "<uvloop.Loop running=True closed=False debug=False>",
                        "self": "<asgiref.sync.SyncToAsync object at 0x7fefec269e50>",
                        "kwargs": "{}",
                        "exc_info": "'(<class \\'TypeError\\'>, TypeError(\"\\'UUID\\' object is not iterable\"), <traceback obj'+23",
                        "task_context": "[]"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/asgiref/sync.py"
                },
                {
                    "name": "_get_response_async",
                    "lineno": 253,
                    "locals": {
                        "e": "TypeError(\"'UUID' object is not iterable\")",
                        "self": "<django.core.handlers.asgi.ASGIHandler object at 0x7feff0486ba0>",
                        "request": "\"<ASGIRequest: GET '/api/v3/outposts/service_connections/all/eafcf980-7c22-4bfb-a\"+25",
                        "callback": "<function ServiceConnectionViewSet at 0x7feff0ee0fe0>",
                        "response": "None",
                        "callback_args": "()",
                        "callback_kwargs": "{'pk': 'eafcf980-7c22-4bfb-ae20-775a3589cbe6'}",
                        "wrapped_callback": "<asgiref.sync.SyncToAsync object at 0x7fefec269350>",
                        "middleware_method": "<asgiref.sync.SyncToAsync object at 0x7feff04870e0>"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/django/core/handlers/base.py"
                },
                {
                    "name": "__call__",
                    "lineno": 439,
                    "locals": {
                        "args": "\"(<ASGIRequest: GET '/api/v3/outposts/service_connections/all/eafcf980-7c22-4bfb-\"+28",
                        "func": "<built-in method run of _contextvars.Context object at 0x7fefef1c5140>",
                        "loop": "<uvloop.Loop running=True closed=False debug=False>",
                        "self": "<asgiref.sync.SyncToAsync object at 0x7fefec269350>",
                        "child": "'functools.partial(<function ServiceConnectionViewSet at 0x7fefec24ae80>, <ASGIRe'+142",
                        "kwargs": "{'pk': 'eafcf980-7c22-4bfb-ae20-775a3589cbe6'}",
                        "context": "<_contextvars.Context object at 0x7fefef1c5140>",
                        "executor": "<asgiref.current_thread_executor.CurrentThreadExecutor object at 0x7fefec2665f0>",
                        "exec_coro": "<Future finished exception=TypeError(\"'UUID' object is not iterable\")>",
                        "task_context": "[]",
                        "current_thread_executor": "<asgiref.current_thread_executor.CurrentThreadExecutor object at 0x7fefec2665f0>"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/asgiref/sync.py"
                },
                {
                    "name": "run",
                    "lineno": 40,
                    "locals": {
                        "self": "None"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/asgiref/current_thread_executor.py"
                },
                {
                    "name": "thread_handler",
                    "lineno": 493,
                    "locals": {
                        "args": "'(functools.partial(<function ServiceConnectionViewSet at 0x7fefec24ae80>, <ASGIR'+145",
                        "func": "<built-in method run of _contextvars.Context object at 0x7fefef1c5140>",
                        "loop": "<uvloop.Loop running=True closed=False debug=False>",
                        "self": "<asgiref.sync.SyncToAsync object at 0x7fefec269350>",
                        "kwargs": "{}",
                        "exc_info": "(None, None, None)",
                        "task_context": "[]"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/asgiref/sync.py"
                },
                {
                    "name": "sentry_wrapped_callback",
                    "lineno": 94,
                    "locals": {
                        "args": "()",
                        "kwargs": "{'pk': 'eafcf980-7c22-4bfb-ae20-775a3589cbe6'}",
                        "request": "\"<ASGIRequest: GET '/api/v3/outposts/service_connections/all/eafcf980-7c22-4bfb-a\"+25",
                        "callback": "<function ServiceConnectionViewSet at 0x7feff0ee0fe0>",
                        "sentry_scope": "<Scope id=0x7fefeedb9460 name=asgi type=ScopeType.ISOLATION>",
                        "current_scope": "<Scope id=0x7fefeee7fe60 name=None type=ScopeType.CURRENT>",
                        "DjangoIntegration": "<class 'sentry_sdk.integrations.django.DjangoIntegration'>"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/integrations/django/views.py"
                },
                {
                    "name": "_view_wrapper",
                    "lineno": 65,
                    "locals": {
                        "args": "()",
                        "kwargs": "{'pk': 'eafcf980-7c22-4bfb-ae20-775a3589cbe6'}",
                        "request": "\"<ASGIRequest: GET '/api/v3/outposts/service_connections/all/eafcf980-7c22-4bfb-a\"+25",
                        "view_func": "<function ServiceConnectionViewSet at 0x7feff0ee0f40>"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/django/views/decorators/csrf.py"
                },
                {
                    "name": "view",
                    "lineno": 125,
                    "locals": {
                        "cls": "<class 'authentik.outposts.api.service_connections.ServiceConnectionViewSet'>",
                        "args": "()",
                        "self": "'<authentik.outposts.api.service_connections.ServiceConnectionViewSet object at 0'+14",
                        "action": "'state'",
                        "kwargs": "{'pk': 'eafcf980-7c22-4bfb-ae20-775a3589cbe6'}",
                        "method": "'head'",
                        "actions": "{'get': 'state', 'head': 'state'}",
                        "handler": "'<bound method ServiceConnectionViewSet.state of <authentik.outposts.api.service_'+63",
                        "request": "\"<ASGIRequest: GET '/api/v3/outposts/service_connections/all/eafcf980-7c22-4bfb-a\"+25",
                        "initkwargs": "\"{'pagination_class': None, 'filter_backends': [<class 'authentik.rbac.filters.Ob\"+240"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/rest_framework/viewsets.py"
                },
                {
                    "name": "dispatch",
                    "lineno": 515,
                    "locals": {
                        "args": "()",
                        "self": "'<authentik.outposts.api.service_connections.ServiceConnectionViewSet object at 0'+14",
                        "kwargs": "{'pk': 'eafcf980-7c22-4bfb-ae20-775a3589cbe6'}",
                        "handler": "'<bound method ServiceConnectionViewSet.state of <authentik.outposts.api.service_'+63",
                        "request": "\"<rest_framework.request.Request: GET '/api/v3/outposts/service_connections/all/e\"+44"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/rest_framework/views.py"
                },
                {
                    "name": "handle_exception",
                    "lineno": 475,
                    "locals": {
                        "exc": "TypeError(\"'UUID' object is not iterable\")",
                        "self": "'<authentik.outposts.api.service_connections.ServiceConnectionViewSet object at 0'+14",
                        "context": "\"{'view': <authentik.outposts.api.service_connections.ServiceConnectionViewSet ob\"+231",
                        "response": "None",
                        "exception_handler": "<function exception_handler at 0x7feff374e980>"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/rest_framework/views.py"
                },
                {
                    "name": "raise_uncaught_exception",
                    "lineno": 486,
                    "locals": {
                        "exc": "TypeError(\"'UUID' object is not iterable\")",
                        "self": "'<authentik.outposts.api.service_connections.ServiceConnectionViewSet object at 0'+14"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/rest_framework/views.py"
                },
                {
                    "name": "dispatch",
                    "lineno": 512,
                    "locals": {
                        "args": "()",
                        "self": "'<authentik.outposts.api.service_connections.ServiceConnectionViewSet object at 0'+14",
                        "kwargs": "{'pk': 'eafcf980-7c22-4bfb-ae20-775a3589cbe6'}",
                        "handler": "'<bound method ServiceConnectionViewSet.state of <authentik.outposts.api.service_'+63",
                        "request": "\"<rest_framework.request.Request: GET '/api/v3/outposts/service_connections/all/e\"+44"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/rest_framework/views.py"
                },
                {
                    "name": "state",
                    "lineno": 83,
                    "locals": {
                        "pk": "'eafcf980-7c22-4bfb-ae20-775a3589cbe6'",
                        "self": "'<authentik.outposts.api.service_connections.ServiceConnectionViewSet object at 0'+14",
                        "request": "\"<rest_framework.request.Request: GET '/api/v3/outposts/service_connections/all/e\"+44",
                        "connection": "<DockerServiceConnection: Docker Service-Connection Local Docker connection>"
                    },
                    "filename": "/authentik/outposts/api/service_connections.py"
                },
                {
                    "name": "state",
                    "lineno": 154,
                    "locals": {
                        "self": "<DockerServiceConnection: Docker Service-Connection Local Docker connection>",
                        "state": "None",
                        "outpost_service_connection_monitor": "'Actor(<function outpost_service_connection_monitor at 0x7feff228dd00>, queue_nam'+86"
                    },
                    "filename": "/authentik/outposts/models.py"
                },
                {
                    "name": "send_with_options",
                    "lineno": 169,
                    "locals": {
                        "args": "UUID('eafcf980-7c22-4bfb-ae20-775a3589cbe6')",
                        "self": "'Actor(<function outpost_service_connection_monitor at 0x7feff228dd00>, queue_nam'+86",
                        "delay": "None",
                        "kwargs": "None",
                        "options": "\"{'rel_obj': <DockerServiceConnection: Docker Service-Connection Local Docker con\"+9"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/dramatiq/actor.py"
                },
                {
                    "name": "message_with_options",
                    "lineno": 124,
                    "locals": {
                        "args": "UUID('eafcf980-7c22-4bfb-ae20-775a3589cbe6')",
                        "name": "'on_success'",
                        "self": "'Actor(<function outpost_service_connection_monitor at 0x7feff228dd00>, queue_nam'+86",
                        "kwargs": "None",
                        "options": "\"{'rel_obj': <DockerServiceConnection: Docker Service-Connection Local Docker con\"+9",
                        "callback": "None"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/dramatiq/actor.py"
                },
                {
                    "name": "__init__",
                    "lineno": 10,
                    "locals": {
                        "args": "UUID('eafcf980-7c22-4bfb-ae20-775a3589cbe6')",
                        "self": "\"Message(queue_name='default', actor_name='authentik.outposts.tasks.outpost_servi\"+268",
                        "kwargs": "{}",
                        "options": "\"{'rel_obj': <DockerServiceConnection: Docker Service-Connection Local Docker con\"+9",
                        "actor_name": "'authentik.outposts.tasks.outpost_service_connection_monitor'",
                        "message_id": "<factory>",
                        "queue_name": "'default'",
                        "message_timestamp": "<factory>"
                    },
                    "filename": "<string>"
                },
                {
                    "name": "__post_init__",
                    "lineno": 89,
                    "locals": {
                        "self": "\"Message(queue_name='default', actor_name='authentik.outposts.tasks.outpost_servi\"+268"
                    },
                    "filename": "/ak-root/.venv/lib/python3.13/site-packages/dramatiq/message.py"
                }
            ],
            "exc_type": "TypeError",
            "is_cause": false,
            "is_group": false,
            "exc_notes": [],
            "exc_value": "'UUID' object is not iterable",
            "exceptions": [],
            "syntax_error": null
        }
    ],
    "http_request": {
        "args": {},
        "path": "/api/v3/outposts/service_connections/all/eafcf980-7c22-4bfb-ae20-775a3589cbe6/state/",
        "method": "GET",
        "request_id": "4faa103ce87d4e25878d1b0d48297472",
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
    }
}

Version and Deployment (please complete the following information):

  • authentik version: 2025.8.0
  • Deployment: docker-compose

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions