Creating integration-test_device_1 ... Creating integration-test_gateway_1 ... Creating integration-test_authorization_1 ... Creating integration-test_authentication_1 ... Creating integration-test_federation_1 ... Creating integration-test_experiment_1 ... Creating integration-test_authorization_1 ... done Creating integration-test_gateway_1 ... done Creating integration-test_device_1 ... done Creating integration-test_federation_1 ... done Creating integration-test_authentication_1 ... done Creating integration-test_experiment_1 ... done Attaching to integration-test_authorization_1, integration-test_gateway_1, integration-test_device_1, integration-test_federation_1, integration-test_authentication_1, integration-test_experiment_1 authentication_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication_1 | {"level":"info","message":"Authentication Service started successfully"} federation_1 | node:internal/process/promises:289 federation_1 | triggerUncaughtException(err, true /* fromPromise */); federation_1 | ^ federation_1 | federation_1 | [Error: SQLITE_CANTOPEN: unable to open database file] { federation_1 | errno: 14, federation_1 | code: 'SQLITE_CANTOPEN' federation_1 | } federation_1 | federation_1 | Node.js v20.11.0 authorization_1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-02-07T12:24:49Z"} gateway_1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway_1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ authorization_1 | {"client_addr":"127.0.0.1:43582","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-02-07T12:24:49Z"} device_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway_1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf authorization_1 | {"client_addr":"127.0.0.1:43582","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.284346,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:24:49Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1707308689.5897179} gateway_1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf device_1 | {"level":"info","message":"Device Service started successfully"} gateway_1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1707308689.58979} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1707308689.5898015} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"grpc TLS is disabled, serving connections using insecure plaintext","subsystem":"openfga","timestamp":1707308689.5898144} gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿ“ˆ starting metrics server on '0.0.0.0:2112'","subsystem":"openfga","timestamp":1707308689.5898263} gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","date":"2023-06-30T20:11:20Z","go-version":"go1.20.5","level":"info","message":"๐Ÿš€ starting openfga service...","subsystem":"openfga","timestamp":1707308689.5898528,"version":"v1.2.0"} gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"grpc server listening on 'localhost:3012'...","subsystem":"openfga","timestamp":1707308689.5902796} gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1707308689.59106} gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"CreateStore","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-02-07T12:24:49.608146781Z","id":"01HP1REA68P9TCK7E8SHSYAKAA","name":"crosslab","updated_at":"2024-02-07T12:24:49.608146781Z"},"request_id":"a71899b5-92a6-423f-a553-61460318edbb","subsystem":"openfga","timestamp":1707308689.6082294} gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"WriteAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"schema_version":"1.1","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]},"raw_response":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7"},"request_id":"e707af71-154d-42a8-aa96-e39f4d706e9c","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707308689.649875} gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf authorization_1 | {"client_addr":"127.0.0.1:43582","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-02-07T12:24:49Z"} gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf authorization_1 | {"client_addr":"127.0.0.1:43582","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.304448,"resp_status":204,"subsystem":"opa","time":"2024-02-07T12:24:49Z"} gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh authorization_1 | {"level":"info","message":"Authorization Service started successfully"} authorization_1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.61.0/opa_linux_amd64","latest_version":"0.61.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.61.0","subsystem":"opa","time":"2024-02-07T12:24:49Z"} gateway_1 | /docker-entrypoint.sh: Configuration complete; ready for start up gateway_1 | 2024/02/07 12:26:26 [error] 60#60: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:26:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"04ca09d13198c8401a97ee7f47e2cb86"} gateway_1 | 2024/02/07 12:26:31 [error] 62#62: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:26:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e17c2edac61801bf2dab85b801bd9940"} gateway_1 | 2024/02/07 12:26:36 [error] 65#65: *5 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:26:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"189950cf157333c383d0baf100df4cdf"} gateway_1 | {"time_local":"07/Feb/2024:12:26:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e799256defd8c9e3c755f5d4439992e0"} gateway_1 | 2024/02/07 12:26:41 [error] 61#61: *7 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:26:46 [error] 66#66: *9 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:26:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"8ecb86bd64889a7698b4783ceb91426a"} gateway_1 | {"time_local":"07/Feb/2024:12:26:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"172f24374d83854696bf26622ce13f7e"} gateway_1 | 2024/02/07 12:26:51 [error] 63#63: *11 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:26:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"0faafb369edd8ac19992fbbd98cac64c"} gateway_1 | 2024/02/07 12:26:56 [error] 67#67: *13 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:27:01 [error] 64#64: *15 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:27:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"dc92d4c7b364169ba684a132549fde2b"} gateway_1 | {"time_local":"07/Feb/2024:12:27:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ad2e4a675b479b064e068b857589b305"} gateway_1 | 2024/02/07 12:27:06 [error] 60#60: *17 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:27:11 [error] 60#60: *19 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:27:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"bf3c72cb490f0c3e0af2dc1c0d57cc8c"} gateway_1 | 2024/02/07 12:27:16 [error] 60#60: *21 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:27:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"174db9bd5033dcf82d536097c4f023a8"} gateway_1 | 2024/02/07 12:27:21 [error] 60#60: *23 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:27:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"99d2214a43aecbe2e54d09f4e5e4128a"} gateway_1 | {"time_local":"07/Feb/2024:12:27:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"04f321df9c8d9696dbf284e0742a2b7d"} gateway_1 | 2024/02/07 12:27:26 [error] 60#60: *25 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:27:31 [error] 60#60: *27 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:27:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c0a3aec292a38f6f76a6c6db67d7900b"} gateway_1 | 2024/02/07 12:27:36 [error] 60#60: *29 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:27:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"5acee22f5390a3f0532d4fef58c4bb4c"} gateway_1 | 2024/02/07 12:27:41 [error] 60#60: *31 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:27:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2526bbb70697ea264b6d3ae6043d6602"} gateway_1 | {"time_local":"07/Feb/2024:12:27:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4b66f7b6b652281351643429c792d9b9"} gateway_1 | 2024/02/07 12:27:46 [error] 60#60: *33 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:27:51 [error] 60#60: *35 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:27:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2e3a88c6dfe353b7b39efd7967cf5f54"} gateway_1 | {"time_local":"07/Feb/2024:12:27:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b0be733b2b4ff4daa7b70189fb7500d6"} gateway_1 | 2024/02/07 12:27:56 [error] 60#60: *37 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:28:01 [error] 60#60: *39 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"7c049216a02e6617e56c31e24dc354c8"} gateway_1 | 2024/02/07 12:28:06 [error] 60#60: *41 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c490f7882dece3c93018cc68a32e3e37"} gateway_1 | 2024/02/07 12:28:11 [error] 60#60: *43 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"51bbe5b9ea67565342f3e54a889b866f"} gateway_1 | 2024/02/07 12:28:16 [error] 60#60: *45 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b2906bd0b305991b2a92090eb6e41667"} gateway_1 | {"time_local":"07/Feb/2024:12:28:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"7d4a6a822732aaa8ff58fca860185227"} gateway_1 | 2024/02/07 12:28:21 [error] 60#60: *47 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:28:26 [error] 62#62: *49 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"15e887124fab6570884ab97342c11752"} gateway_1 | 2024/02/07 12:28:31 [error] 62#62: *51 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"bd0923191fab816a015880a5d354dd99"} gateway_1 | 2024/02/07 12:28:36 [error] 62#62: *53 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"9d3f322c1c1709da258532adb7a60a23"} gateway_1 | 2024/02/07 12:28:41 [error] 62#62: *55 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d0ba66538d5f8d80985c42c27ccb9b5d"} gateway_1 | 2024/02/07 12:28:46 [error] 62#62: *57 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ec63340d2e8880a334f6015d7b4b21fd"} gateway_1 | 2024/02/07 12:28:51 [error] 62#62: *59 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b8573e7bf054df192845dc4b02969508"} gateway_1 | 2024/02/07 12:28:56 [error] 62#62: *61 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:28:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"94caa94f0ff85136dda4f2cdb803ae98"} gateway_1 | 2024/02/07 12:29:01 [error] 62#62: *63 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e084c453199a885eb1df5d7cda502509"} gateway_1 | 2024/02/07 12:29:06 [error] 62#62: *65 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ff410c47f598c1bda4dadaacd08f10de"} gateway_1 | 2024/02/07 12:29:11 [error] 62#62: *67 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"3f29d394054736b771a8a6d6b29bcd09"} gateway_1 | {"time_local":"07/Feb/2024:12:29:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f94fa17064ce2d5964acf22c18aa18ae"} gateway_1 | 2024/02/07 12:29:16 [error] 62#62: *69 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ef6054c679d38b75034d0a69a53dd4b7"} gateway_1 | 2024/02/07 12:29:21 [error] 62#62: *71 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ca32af57f21855f2fdfa9774d9a9942b"} gateway_1 | 2024/02/07 12:29:26 [error] 62#62: *73 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:29:31 [error] 62#62: *75 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"abce40d29117beeead4c1ac0c1d7ed25"} gateway_1 | 2024/02/07 12:29:36 [error] 62#62: *77 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"986e07fda98bf5237ed6a67ec0091dc6"} gateway_1 | 2024/02/07 12:29:42 [error] 62#62: *79 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"1f8cd2c402d839ef26434b1794258fff"} gateway_1 | 2024/02/07 12:29:47 [error] 65#65: *81 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"8fa338b13b15628efe6475200d16b041"} gateway_1 | 2024/02/07 12:29:52 [error] 65#65: *83 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"96705691670255babf570a9d4c93fd32"} gateway_1 | 2024/02/07 12:29:57 [error] 65#65: *85 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:29:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d20297362ef878b10a1367892fc5923d"} gateway_1 | 2024/02/07 12:30:02 [error] 65#65: *87 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:30:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2187865ae80336664b29af8ef25a655c"} gateway_1 | 2024/02/07 12:30:07 [error] 65#65: *89 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:30:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"7b230580766041c3b945277260699216"} gateway_1 | 2024/02/07 12:30:12 [error] 65#65: *91 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:30:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4e0420527e32af7a8b4f5a40d4dd5023"} gateway_1 | 2024/02/07 12:30:17 [error] 65#65: *93 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:30:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4a0fc66b6bf37af41b7fb2b6ddeefc48"} gateway_1 | {"time_local":"07/Feb/2024:12:30:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b89506f9d01cc3c0a62129f39179e3f5"} gateway_1 | 2024/02/07 12:30:22 [error] 65#65: *95 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:30:27 [error] 65#65: *97 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:30:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"1228eb93b0b1d21c03da39e9fdc06770"} gateway_1 | {"time_local":"07/Feb/2024:12:30:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"137d58e3e872842fa11e94c89e2d43e0"} gateway_1 | 2024/02/07 12:30:32 [error] 65#65: *99 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:30:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"192181cbcfcbc5ecee1fb160aeeb0aed"} gateway_1 | 2024/02/07 12:30:37 [error] 65#65: *101 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:30:42 [error] 65#65: *103 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:30:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c6cf31f00d536f3e15d97d82f1bb4bc6"} gateway_1 | 2024/02/07 12:30:47 [error] 65#65: *105 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:30:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"a8bbaf20e57e7cfc305186c3f9d0b3c1"} gateway_1 | 2024/02/07 12:30:52 [error] 65#65: *107 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:30:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"5ec9889fa2acfbb158f0c1d845f68da6"} gateway_1 | {"time_local":"07/Feb/2024:12:30:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e1f25462e3b4988ced238ef7c299365a"} gateway_1 | 2024/02/07 12:30:57 [error] 65#65: *109 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"6ec3aec2daef1f398bc759360f331f8c"} gateway_1 | 2024/02/07 12:31:02 [error] 65#65: *111 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:31:07 [error] 61#61: *113 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c59a47322639fea30c9aa3d7273c779c"} gateway_1 | 2024/02/07 12:31:12 [error] 61#61: *115 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"0a8fa3f65f91fd45fb017be6517ecf8a"} gateway_1 | 2024/02/07 12:31:17 [error] 61#61: *117 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"74e5108b641aacb074acc3daa23c0065"} gateway_1 | {"time_local":"07/Feb/2024:12:31:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e5c99f82292a6dab1f5b6590f9affe21"} gateway_1 | 2024/02/07 12:31:22 [error] 61#61: *119 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4d3bee607524f9c7a065f8c0e7564ac2"} gateway_1 | 2024/02/07 12:31:27 [error] 61#61: *121 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:31:32 [error] 61#61: *123 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"422e20dcbf008c597ad746a7479feb67"} gateway_1 | 2024/02/07 12:31:37 [error] 61#61: *125 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f1d9687ce9e145bac45e8ccfd447a5f7"} gateway_1 | 2024/02/07 12:31:42 [error] 61#61: *127 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"78b5eec0e8299f6483c9955015667b02"} gateway_1 | 2024/02/07 12:31:47 [error] 61#61: *129 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"1c30eabf113cd7dfd96d46af67e7c7ad"} gateway_1 | {"time_local":"07/Feb/2024:12:31:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2091f2efbe6413fe17982355979dd7f8"} gateway_1 | 2024/02/07 12:31:52 [error] 61#61: *131 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/07 12:31:57 [error] 61#61: *133 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:31:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2cb327d7278f9925ea7c96802100ef0b"} gateway_1 | 2024/02/07 12:32:02 [error] 61#61: *135 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"07/Feb/2024:12:32:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"0751e68fb46568df6ecb7786eb69b36c"} integration-test_federation_1 exited with code 1 experiment_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} gateway_1 | {"time_local":"07/Feb/2024:12:32:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f1258ff17cfd51b6aa606501410c4625"} authentication_1 | {"level":"info","message":"HEAD /auth/status 200 7ms","method":"HEAD","requestID":"f1258ff17cfd51b6aa606501410c4625","responseTime":7,"status":200,"url":"/auth/status"} gateway_1 | {"time_local":"07/Feb/2024:12:32:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /device/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.028","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"5780d56870a26475048d5f02a6a08654"} device_1 | {"level":"info","message":"HEAD /device/status 200 8ms","method":"HEAD","requestID":"e8196e70-c5b4-11ee-a67d-e74dcc3610a3","responseTime":8,"status":200,"url":"/device/status"} experiment_1 | {"level":"info","message":"Experiment Service started successfully"} gateway_1 | {"time_local":"07/Feb/2024:12:32:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.322","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ce36e1ceb36705d1911212db1ef7de53"} authorization_1 | {"level":"info","message":"HEAD /authorization/status 200 216ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"ce36e1ceb36705d1911212db1ef7de53"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":216}} authentication_1 | {"level":"info","message":"POST /login 201 120ms","method":"POST","requestID":"26ab1f1c30bd1643afcd34835f9604c5","responseTime":120,"status":201,"url":"/login"} gateway_1 | {"time_local":"07/Feb/2024:12:32:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26ab1f1c30bd1643afcd34835f9604c5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNDl9.V-pFsH7OJxTerPiBwsujc4wWOHGvn8-LNiHsjsbX0bg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 1646ms","method":"GET","requestID":"c588a6021266673147c37a621816620d","responseTime":1646,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:33308","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:29Z"} authorization_1 | {"client_addr":"127.0.0.1:33308","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":497,"resp_duration":1.175742,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309149,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNDl9.V-pFsH7OJxTerPiBwsujc4wWOHGvn8-LNiHsjsbX0bg"} authorization_1 | {"level":"info","message":"POST /authorize 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"353","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c588a6021266673147c37a621816620d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":25}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"d9da5252-d214-4fbd-b470-6b8634c3835e","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309151.1640697} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1165f7ee-4b67-473c-b695-9910929f4ab6","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309151.1646645} authorization_1 | {"level":"info","message":"POST /relations/update 200 1835ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"144","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c588a6021266673147c37a621816620d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":1835}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 3077ms","method":"POST","requestID":"c588a6021266673147c37a621816620d","responseTime":3077,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"07/Feb/2024:12:32:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"216","request_time":"4.753","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c588a6021266673147c37a621816620d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNTJ9.vpQkg86uFluOuiQHhdliVF8_h_XwIJ_iiRW9dZTDRto","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"aea26ee05e173eba55cb05ea998dd4c6","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:33308","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:32Z"} authorization_1 | {"client_addr":"127.0.0.1:33308","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":497,"resp_duration":0.947855,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309152,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNTJ9.vpQkg86uFluOuiQHhdliVF8_h_XwIJ_iiRW9dZTDRto"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"353","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aea26ee05e173eba55cb05ea998dd4c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"c0e2af21-d98d-4ee5-8365-258733826334","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309152.250765} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1cd92c3-eb36-4259-aabf-6e8297c0f212","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309152.2509751} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"144","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aea26ee05e173eba55cb05ea998dd4c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 1077ms","method":"POST","requestID":"aea26ee05e173eba55cb05ea998dd4c6","responseTime":1077,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"07/Feb/2024:12:32:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"216","request_time":"1.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aea26ee05e173eba55cb05ea998dd4c6"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"50dd8de8b6d6d786a7c1476f95df239b","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5e2be6dc011e9d000635ab2b65f7332d","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"07/Feb/2024:12:32:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e86b7714-c222-405b-b161-d8a373f5642b/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"50dd8de8b6d6d786a7c1476f95df239b"} device_1 | {"level":"info","message":"OPTIONS /devices/e86b7714-c222-405b-b161-d8a373f5642b/websocket 200 2ms","method":"OPTIONS","requestID":"50dd8de8b6d6d786a7c1476f95df239b","responseTime":2,"status":200,"url":"/devices/e86b7714-c222-405b-b161-d8a373f5642b/websocket"} gateway_1 | {"time_local":"07/Feb/2024:12:32:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.008","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5e2be6dc011e9d000635ab2b65f7332d"} device_1 | {"level":"info","message":"OPTIONS /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d/websocket 200 0ms","method":"OPTIONS","requestID":"5e2be6dc011e9d000635ab2b65f7332d","responseTime":0,"status":200,"url":"/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0db2a6b58d8edf9ce56b0654a1fbcc3e","responseTime":6,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"d95dd5c67cc4f73896112c1db47d5790","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.180977,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0db2a6b58d8edf9ce56b0654a1fbcc3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:60008","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"client_addr":"127.0.0.1:60008","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.037664,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} authorization_1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d95dd5c67cc4f73896112c1db47d5790"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:32:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e86b7714-c222-405b-b161-d8a373f5642b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0db2a6b58d8edf9ce56b0654a1fbcc3e"} device_1 | {"level":"info","message":"POST /devices/e86b7714-c222-405b-b161-d8a373f5642b/websocket 200 39ms","method":"POST","requestID":"0db2a6b58d8edf9ce56b0654a1fbcc3e","responseTime":39,"status":200,"url":"/devices/e86b7714-c222-405b-b161-d8a373f5642b/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:32:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.296","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d95dd5c67cc4f73896112c1db47d5790"} device_1 | {"level":"info","message":"POST /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d/websocket 200 281ms","method":"POST","requestID":"d95dd5c67cc4f73896112c1db47d5790","responseTime":281,"status":200,"url":"/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"01dbe00c6b8a419b6d10311d34ffffd9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.761941,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01dbe00c6b8a419b6d10311d34ffffd9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:32:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e86b7714-c222-405b-b161-d8a373f5642b? HTTP/1.1","status": "200","body_bytes_sent":"215","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01dbe00c6b8a419b6d10311d34ffffd9"} device_1 | {"level":"info","message":"GET /devices/e86b7714-c222-405b-b161-d8a373f5642b? 200 15ms","method":"GET","requestID":"01dbe00c6b8a419b6d10311d34ffffd9","responseTime":15,"status":200,"url":"/devices/e86b7714-c222-405b-b161-d8a373f5642b?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e399b3bfc8c446de6fa88bc2c9e0a575","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.001025,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e399b3bfc8c446de6fa88bc2c9e0a575"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:32:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d? HTTP/1.1","status": "200","body_bytes_sent":"215","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e399b3bfc8c446de6fa88bc2c9e0a575"} device_1 | {"level":"info","message":"GET /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d? 200 12ms","method":"GET","requestID":"e399b3bfc8c446de6fa88bc2c9e0a575","responseTime":12,"status":200,"url":"/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"531a49b07aae9ef32426b8d340ff376b","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":505,"resp_duration":1.002864,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:49Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"357","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"531a49b07aae9ef32426b8d340ff376b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.956959,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01b3d820-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:60008","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"client_addr":"127.0.0.1:60008","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.616034,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01b44d50-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e86b7714-c222-405b-b161-d8a373f5642b? 200 22ms","method":"GET","requestID":"01b3d820-c5b5-11ee-a67d-e74dcc3610a3","responseTime":22,"status":200,"url":"/devices/e86b7714-c222-405b-b161-d8a373f5642b?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d? 200 21ms","method":"GET","requestID":"01b44d50-c5b5-11ee-a67d-e74dcc3610a3","responseTime":21,"status":200,"url":"/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.746366,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"client_addr":"127.0.0.1:60008","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"020b46f0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:60008","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.816408,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"020b9510-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"GET /devices/e86b7714-c222-405b-b161-d8a373f5642b? 200 18ms","method":"GET","requestID":"020b46f0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":18,"status":200,"url":"/devices/e86b7714-c222-405b-b161-d8a373f5642b?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d? 200 22ms","method":"GET","requestID":"020b9510-c5b5-11ee-a67d-e74dcc3610a3","responseTime":22,"status":200,"url":"/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.760196,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"021001e0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e86b7714-c222-405b-b161-d8a373f5642b/signaling 200 15ms","method":"POST","requestID":"021001e0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":15,"status":200,"url":"/devices/e86b7714-c222-405b-b161-d8a373f5642b/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.706007,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0212e810-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d/signaling 200 12ms","method":"POST","requestID":"0212e810-c5b5-11ee-a67d-e74dcc3610a3","responseTime":12,"status":200,"url":"/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"878afe2c-2bc3-4778-9443-f545096f39c2"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"cdc8594f-9a34-43c9-9a4f-bc84675d1e91"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"14b3bdc2-ae8d-4afc-8db6-9849e4a60fb2"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":513,"resp_duration":0.929261,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:50Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309169,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNjl9.Vgl-IZBu17u4Dmm3qIfuHuWbhHFTr0QuEmIeutufrFU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"361","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02164370-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9bbcb4f7-ac59-4a06-82c9-742fac61f1f0#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"5c58d42b-87ef-47e3-8a8a-2de9adacad61","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309171.0794806} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c709e692-f459-4c3d-965d-edf8986c840b","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309171.079954} authorization_1 | {"level":"info","message":"POST /relations/update 200 160ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"179","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"531a49b07aae9ef32426b8d340ff376b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":160}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1298ms","method":"POST","requestID":"531a49b07aae9ef32426b8d340ff376b","responseTime":1298,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"07/Feb/2024:12:32:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"1.326","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"531a49b07aae9ef32426b8d340ff376b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzF9.Ytd9qRpyzEGzsbUwSQ-PeGasvF8QzooFO2hUXesWPsc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"73e780f475d6c2a85f7fb9b0696645f1","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:51Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.885921,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309171,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzF9.Ytd9qRpyzEGzsbUwSQ-PeGasvF8QzooFO2hUXesWPsc"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73e780f475d6c2a85f7fb9b0696645f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:32:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e86b7714-c222-405b-b161-d8a373f5642b? HTTP/1.1","status": "200","body_bytes_sent":"215","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73e780f475d6c2a85f7fb9b0696645f1"} device_1 | {"level":"info","message":"GET /devices/e86b7714-c222-405b-b161-d8a373f5642b? 200 16ms","method":"GET","requestID":"73e780f475d6c2a85f7fb9b0696645f1","responseTime":16,"status":200,"url":"/devices/e86b7714-c222-405b-b161-d8a373f5642b?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzF9.Ytd9qRpyzEGzsbUwSQ-PeGasvF8QzooFO2hUXesWPsc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ca647138e89f3740a0d194db95370248","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:51Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.935194,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309171,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzF9.Ytd9qRpyzEGzsbUwSQ-PeGasvF8QzooFO2hUXesWPsc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca647138e89f3740a0d194db95370248"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:32:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d? HTTP/1.1","status": "200","body_bytes_sent":"215","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca647138e89f3740a0d194db95370248"} device_1 | {"level":"info","message":"GET /devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d? 200 12ms","method":"GET","requestID":"ca647138e89f3740a0d194db95370248","responseTime":12,"status":200,"url":"/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d?"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"7cb17745-482a-419e-b222-212b5d83877f","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309171.2464025} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af6a94d7-0dc5-41ba-972d-8864143eae77","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309171.2468076} authorization_1 | {"level":"info","message":"POST /relations/update 200 251ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"160","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02164370-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":251}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 425ms","method":"POST","requestID":"02164370-c5b5-11ee-a67d-e74dcc3610a3","responseTime":425,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9fcd05f5-43a7-4573-9ace-8f53b55a3156","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"78b2b46efc3d717e3c1b618ccfe001b7","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 14ms","method":"POST","requestID":"78b2b46efc3d717e3c1b618ccfe001b7","responseTime":14,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:32:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch","requestID":"78b2b46efc3d717e3c1b618ccfe001b7"} device_1 | {"data":{"peerconnection":"9fcd05f5-43a7-4573-9ace-8f53b55a3156","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5903b125eb08bbd1cd749c0a19ad6e0a","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.077854,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309173,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5903b125eb08bbd1cd749c0a19ad6e0a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} gateway_1 | {"time_local":"07/Feb/2024:12:32:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5903b125eb08bbd1cd749c0a19ad6e0a"} experiment_1 | {"level":"info","message":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 200 23ms","method":"GET","requestID":"5903b125eb08bbd1cd749c0a19ad6e0a","responseTime":23,"status":200,"url":"/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"52e48082e56239805eefb516414bf76e","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.28413,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309173,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52e48082e56239805eefb516414bf76e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} gateway_1 | {"time_local":"07/Feb/2024:12:32:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52e48082e56239805eefb516414bf76e"} experiment_1 | {"level":"info","message":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 200 22ms","method":"GET","requestID":"52e48082e56239805eefb516414bf76e","responseTime":22,"status":200,"url":"/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2b55eeaa025534f7122080b71c7dd0fd","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.323586,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309173,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b55eeaa025534f7122080b71c7dd0fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"data":{"peerconnection":"9fcd05f5-43a7-4573-9ace-8f53b55a3156","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} gateway_1 | {"time_local":"07/Feb/2024:12:32:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b55eeaa025534f7122080b71c7dd0fd"} experiment_1 | {"level":"info","message":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 200 23ms","method":"GET","requestID":"2b55eeaa025534f7122080b71c7dd0fd","responseTime":23,"status":200,"url":"/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"689a7ac114082bf317028611093f5f88","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.865927,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309173,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"689a7ac114082bf317028611093f5f88"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} gateway_1 | {"time_local":"07/Feb/2024:12:32:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"689a7ac114082bf317028611093f5f88"} experiment_1 | {"level":"info","message":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 200 18ms","method":"GET","requestID":"689a7ac114082bf317028611093f5f88","responseTime":18,"status":200,"url":"/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9fcd05f5-43a7-4573-9ace-8f53b55a3156","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa7886fc77e9aab4daa085b00caf2f49","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","contextual_tuples":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9fcd05f5-43a7-4573-9ace-8f53b55a3156","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df248890-274d-4dce-9f20-99a8906d9b13","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309173.5169065} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.91543,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0397b350-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4e42240c183ad80bc4235f304ae31f3f","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":2.018028,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309173,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e42240c183ad80bc4235f304ae31f3f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} gateway_1 | {"time_local":"07/Feb/2024:12:32:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e42240c183ad80bc4235f304ae31f3f"} experiment_1 | {"level":"info","message":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 200 21ms","method":"GET","requestID":"4e42240c183ad80bc4235f304ae31f3f","responseTime":21,"status":200,"url":"/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156 200 184ms","method":"GET","requestID":"0397b350-c5b5-11ee-a67d-e74dcc3610a3","responseTime":184,"status":200,"url":"/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9c871c645882b0755e90890c86e5ef43","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.373349,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309173,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c871c645882b0755e90890c86e5ef43"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway_1 | {"time_local":"07/Feb/2024:12:32:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.381","http_referrer":"","http_user_agent":"node-fetch","requestID":"fa7886fc77e9aab4daa085b00caf2f49"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 374ms","method":"POST","requestID":"fa7886fc77e9aab4daa085b00caf2f49","responseTime":374,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} gateway_1 | {"time_local":"07/Feb/2024:12:32:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c871c645882b0755e90890c86e5ef43"} experiment_1 | {"level":"info","message":"GET /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 200 170ms","method":"GET","requestID":"9c871c645882b0755e90890c86e5ef43","responseTime":170,"status":200,"url":"/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"70dbea8d11d6c09f3757f113ee7d345c","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.860866,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309173,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"423","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70dbea8d11d6c09f3757f113ee7d345c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":572,"resp_duration":0.721005,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:53Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"peerconnection:http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309173,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzN9.VAkR85HiHQEXaYKZjCXDO5tn-oN0GmFqaoOgnh2zp0o"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"431","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03d44720-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9fcd05f5-43a7-4573-9ace-8f53b55a3156","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"341c734b28d6f32d31034b30f864e7d1","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0c43a75cd4457fb0a2737efdcc29ff93","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: '0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9fcd05f5-43a7-4573-9ace-8f53b55a3156': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9fcd05f5-43a7-4573-9ace-8f53b55a3156","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]},"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":null},"raw_response":{},"request_id":"e6e37762-8712-4f20-b167-d6d86c320c45","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309173.9414723} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b8980bf-08d3-4f40-bf29-a504aa31649f","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309173.9416711} authorization_1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"187","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03d44720-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device_1 | {"data":{"peerconnection":"9fcd05f5-43a7-4573-9ace-8f53b55a3156","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156 204 511ms","method":"DELETE","requestID":"03d44720-c5b5-11ee-a67d-e74dcc3610a3","responseTime":511,"status":204,"url":"/peerconnections/9fcd05f5-43a7-4573-9ace-8f53b55a3156"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: '0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9bbcb4f7-ac59-4a06-82c9-742fac61f1f0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9bbcb4f7-ac59-4a06-82c9-742fac61f1f0","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]},"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":null},"raw_response":{},"request_id":"a3338aa7-95d3-4cb8-95a2-8c2c8279b9f7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309174.922151} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38977257-41a7-44bc-83e5-18d26966a651","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309174.9225612} authorization_1 | {"level":"info","message":"POST /relations/update 200 221ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"179","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70dbea8d11d6c09f3757f113ee7d345c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":221}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} gateway_1 | {"time_local":"07/Feb/2024:12:32:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"3.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70dbea8d11d6c09f3757f113ee7d345c"} experiment_1 | {"level":"info","message":"DELETE /experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0 204 3092ms","method":"DELETE","requestID":"70dbea8d11d6c09f3757f113ee7d345c","responseTime":3092,"status":204,"url":"/experiments/9bbcb4f7-ac59-4a06-82c9-742fac61f1f0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzZ9.tNRm01dVE7rwJlForP963RoSQrLWjIuXQncCITgC3zs","level":"info","message":"auth send jwt"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 3059ms","method":"POST","requestID":"341c734b28d6f32d31034b30f864e7d1","responseTime":3059,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"c9341e204e19a7e5e7b14922b8b3010f","responseTime":7,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 3058ms","method":"POST","requestID":"0c43a75cd4457fb0a2737efdcc29ff93","responseTime":3058,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:32:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1757","request_time":"7.736","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0495c9e01973b855f4394ea2fed4de1c"} gateway_1 | {"time_local":"07/Feb/2024:12:32:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"3.064","http_referrer":"","http_user_agent":"node-fetch","requestID":"341c734b28d6f32d31034b30f864e7d1"} gateway_1 | {"time_local":"07/Feb/2024:12:32:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"3.064","http_referrer":"","http_user_agent":"node-fetch","requestID":"0c43a75cd4457fb0a2737efdcc29ff93"} gateway_1 | {"time_local":"07/Feb/2024:12:32:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1488","request_time":"7.574","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ac492406af83aea492a0d9f4b3775f07"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:57Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":497,"resp_duration":0.66522,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309176,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzZ9.tNRm01dVE7rwJlForP963RoSQrLWjIuXQncCITgC3zs"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1695860f-1cd5-4bc0-8a9f-5b3cec37ed9d' closed"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"353","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9341e204e19a7e5e7b14922b8b3010f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"77c161e3-50e3-4bbf-95aa-04d15f6dc18a","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309177.0154514} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81256155-7265-4300-a1fd-a0947d3f464a","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309177.0158868} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"144","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9341e204e19a7e5e7b14922b8b3010f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e86b7714-c222-405b-b161-d8a373f5642b' closed"} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 402ms","method":"POST","requestID":"c9341e204e19a7e5e7b14922b8b3010f","responseTime":402,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"07/Feb/2024:12:32:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"216","request_time":"0.423","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9341e204e19a7e5e7b14922b8b3010f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzd9.b8S5b46ieFDEnm_vB5IFj5r_p1t3SlUQnpuqVj3AI1U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b05ee5a491bbe0ffa8866ce8fcc12899","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:57Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":497,"resp_duration":0.850565,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309177,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzd9.b8S5b46ieFDEnm_vB5IFj5r_p1t3SlUQnpuqVj3AI1U"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"353","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b05ee5a491bbe0ffa8866ce8fcc12899"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"27d204dc-5528-44a5-9b4d-c4a289fadb94","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309177.4277241} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"012aa119-5690-49bc-a61d-46484cb28509","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309177.4280944} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"144","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b05ee5a491bbe0ffa8866ce8fcc12899"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 281ms","method":"POST","requestID":"b05ee5a491bbe0ffa8866ce8fcc12899","responseTime":281,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"07/Feb/2024:12:32:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"224","request_time":"0.321","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b05ee5a491bbe0ffa8866ce8fcc12899"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzh9.Zilg8WRKO207EGzeqnqBCgaoGaIMrSJx4wg95JU_QMY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8a37252019521853acc7a6a468c5adc1","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:58Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.809482,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309178,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzh9.Zilg8WRKO207EGzeqnqBCgaoGaIMrSJx4wg95JU_QMY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a37252019521853acc7a6a468c5adc1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:32:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a HTTP/1.1","status": "200","body_bytes_sent":"755","request_time":"0.326","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"8a37252019521853acc7a6a468c5adc1"} device_1 | {"level":"info","message":"PATCH /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a 200 318ms","method":"PATCH","requestID":"8a37252019521853acc7a6a468c5adc1","responseTime":318,"status":200,"url":"/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzh9.Zilg8WRKO207EGzeqnqBCgaoGaIMrSJx4wg95JU_QMY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2f63cad21cc7218a23826e88e11c8798","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:58Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.289791,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309178,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzh9.Zilg8WRKO207EGzeqnqBCgaoGaIMrSJx4wg95JU_QMY"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2f63cad21cc7218a23826e88e11c8798"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:32:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.391","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2f63cad21cc7218a23826e88e11c8798"} device_1 | {"level":"info","message":"POST /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a/websocket 200 384ms","method":"POST","requestID":"2f63cad21cc7218a23826e88e11c8798","responseTime":384,"status":200,"url":"/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1e8bc8d4b01db950cabb390fd5671e1a","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"07/Feb/2024:12:32:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d110d42d-b818-4801-b50a-eb7f963b00da/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1e8bc8d4b01db950cabb390fd5671e1a"} device_1 | {"level":"info","message":"OPTIONS /devices/d110d42d-b818-4801-b50a-eb7f963b00da/websocket 200 1ms","method":"OPTIONS","requestID":"1e8bc8d4b01db950cabb390fd5671e1a","responseTime":1,"status":200,"url":"/devices/d110d42d-b818-4801-b50a-eb7f963b00da/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzl9.Bzs5OoUmwjEOzs8GZZvGAPnTotVsXLGIJR-ewEIbDS0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7f74105fe476dcca71f62f7c434ae830","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:32:59Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.102328,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:32:59Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309179,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxNzl9.Bzs5OoUmwjEOzs8GZZvGAPnTotVsXLGIJR-ewEIbDS0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f74105fe476dcca71f62f7c434ae830"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:32:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d110d42d-b818-4801-b50a-eb7f963b00da/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.265","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7f74105fe476dcca71f62f7c434ae830"} device_1 | {"level":"info","message":"POST /devices/d110d42d-b818-4801-b50a-eb7f963b00da/websocket 200 258ms","method":"POST","requestID":"7f74105fe476dcca71f62f7c434ae830","responseTime":258,"status":200,"url":"/devices/d110d42d-b818-4801-b50a-eb7f963b00da/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b0dd732bdc1d8dd68c391fc4646bb9c5","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:00Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.095937,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309180,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0dd732bdc1d8dd68c391fc4646bb9c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d110d42d-b818-4801-b50a-eb7f963b00da? HTTP/1.1","status": "200","body_bytes_sent":"215","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0dd732bdc1d8dd68c391fc4646bb9c5"} device_1 | {"level":"info","message":"GET /devices/d110d42d-b818-4801-b50a-eb7f963b00da? 200 11ms","method":"GET","requestID":"b0dd732bdc1d8dd68c391fc4646bb9c5","responseTime":11,"status":200,"url":"/devices/d110d42d-b818-4801-b50a-eb7f963b00da?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a431dd1897457bb30b1fb8aa471d506c","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:00Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.051495,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309180,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a431dd1897457bb30b1fb8aa471d506c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a? HTTP/1.1","status": "200","body_bytes_sent":"754","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a431dd1897457bb30b1fb8aa471d506c"} device_1 | {"level":"info","message":"GET /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a? 200 10ms","method":"GET","requestID":"a431dd1897457bb30b1fb8aa471d506c","responseTime":10,"status":200,"url":"/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"95a7567c436d1ddede79a194c3d811b0","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:00Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":505,"resp_duration":1.122267,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:00Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309180,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"357","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95a7567c436d1ddede79a194c3d811b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:00Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":2.14064,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309180,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07f986d0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:41016","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:00Z"} authorization_1 | {"client_addr":"127.0.0.1:41016","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.182059,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:00Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309180,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07f9d4f0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"GET /devices/d110d42d-b818-4801-b50a-eb7f963b00da? 200 14ms","method":"GET","requestID":"07f986d0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":14,"status":200,"url":"/devices/d110d42d-b818-4801-b50a-eb7f963b00da?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a? 200 15ms","method":"GET","requestID":"07f9d4f0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":15,"status":200,"url":"/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.86515,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"client_addr":"127.0.0.1:41016","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309180,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"089c0860-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:41016","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.982867,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309180,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"089c5680-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d110d42d-b818-4801-b50a-eb7f963b00da? 200 16ms","method":"GET","requestID":"089c0860-c5b5-11ee-a67d-e74dcc3610a3","responseTime":16,"status":200,"url":"/devices/d110d42d-b818-4801-b50a-eb7f963b00da?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a? 200 15ms","method":"GET","requestID":"089c5680-c5b5-11ee-a67d-e74dcc3610a3","responseTime":15,"status":200,"url":"/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.851477,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"089f15a0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d110d42d-b818-4801-b50a-eb7f963b00da/signaling 200 8ms","method":"POST","requestID":"089f15a0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":8,"status":200,"url":"/devices/d110d42d-b818-4801-b50a-eb7f963b00da/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.618433,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08a0c350-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a/signaling 200 8ms","method":"POST","requestID":"08a0c350-c5b5-11ee-a67d-e74dcc3610a3","responseTime":8,"status":200,"url":"/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"d6e544b6-4069-4c5f-a477-c098a75f94fc"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9d6f5288-ba26-48ad-ac18-16a36e611666"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e13405e2-45ee-4048-a9fd-2b4f253b0a2d"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":513,"resp_duration":0.836875,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309180,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODB9.8lLzUckKwVq4UkGsJATs7mRkD7M70F7b8Q0-RlpyJVE"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"361","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08a27100-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdcc3f54e-fbe4-4483-bae9-c1ab65136b26#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdcc3f54e-fbe4-4483-bae9-c1ab65136b26","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"edb28ad1-dc8a-4f09-8b98-6728cc215a77","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309182.2506835} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3123321-a2fa-46bc-81cc-5259a1c5de3f","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309182.2512584} authorization_1 | {"level":"info","message":"POST /relations/update 200 318ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"179","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95a7567c436d1ddede79a194c3d811b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":318}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"4379c6e5-24d8-4f21-8575-feda8ee5919d","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309182.2589712} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"daad1638-5f90-4bee-ac05-5b90b458dc79","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309182.2593277} authorization_1 | {"level":"info","message":"POST /relations/update 200 283ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"160","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08a27100-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":283}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 2115ms","method":"POST","requestID":"95a7567c436d1ddede79a194c3d811b0","responseTime":2115,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"07/Feb/2024:12:33:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"2.125","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95a7567c436d1ddede79a194c3d811b0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODJ9.Lxr6Q-wgDbEQX47nOL549PxGdhvNv8V1He_QFtq_wO8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f5642ca9ab1d851a466a210bf50c5ed4","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:02Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.977071,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309182,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODJ9.Lxr6Q-wgDbEQX47nOL549PxGdhvNv8V1He_QFtq_wO8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5642ca9ab1d851a466a210bf50c5ed4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 625ms","method":"POST","requestID":"08a27100-c5b5-11ee-a67d-e74dcc3610a3","responseTime":625,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d110d42d-b818-4801-b50a-eb7f963b00da? HTTP/1.1","status": "200","body_bytes_sent":"215","request_time":"0.322","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5642ca9ab1d851a466a210bf50c5ed4"} device_1 | {"level":"info","message":"GET /devices/d110d42d-b818-4801-b50a-eb7f963b00da? 200 317ms","method":"GET","requestID":"f5642ca9ab1d851a466a210bf50c5ed4","responseTime":317,"status":200,"url":"/devices/d110d42d-b818-4801-b50a-eb7f963b00da?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODJ9.Lxr6Q-wgDbEQX47nOL549PxGdhvNv8V1He_QFtq_wO8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee7737541ccddbad0ec64399240d7497","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:02Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.990923,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309182,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODJ9.Lxr6Q-wgDbEQX47nOL549PxGdhvNv8V1He_QFtq_wO8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee7737541ccddbad0ec64399240d7497"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a? HTTP/1.1","status": "200","body_bytes_sent":"754","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee7737541ccddbad0ec64399240d7497"} device_1 | {"level":"info","message":"GET /devices/b7add6cf-b09b-46ed-b311-9e96024fea8a? 200 10ms","method":"GET","requestID":"ee7737541ccddbad0ec64399240d7497","responseTime":10,"status":200,"url":"/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a?"} device_1 | {"data":{"peerconnection":"1cc1457b-0cca-427a-a3e7-fcafed6b58d1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1cc1457b-0cca-427a-a3e7-fcafed6b58d1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6109970a3121a3fdf065ca5aecbb02b1","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 240ms","method":"POST","requestID":"6109970a3121a3fdf065ca5aecbb02b1","responseTime":240,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch","requestID":"6109970a3121a3fdf065ca5aecbb02b1"} device_1 | {"data":{"peerconnection":"1cc1457b-0cca-427a-a3e7-fcafed6b58d1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0461c4ccc84ced08fa5c20a8d0f01d4c","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.281806,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309183,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0461c4ccc84ced08fa5c20a8d0f01d4c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"data":{"peerconnection":"1cc1457b-0cca-427a-a3e7-fcafed6b58d1","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} gateway_1 | {"time_local":"07/Feb/2024:12:33:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0461c4ccc84ced08fa5c20a8d0f01d4c"} experiment_1 | {"level":"info","message":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 200 148ms","method":"GET","requestID":"0461c4ccc84ced08fa5c20a8d0f01d4c","responseTime":148,"status":200,"url":"/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e4152f2a60fa194426a5fa34f3a5e0b","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.388259,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309183,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e4152f2a60fa194426a5fa34f3a5e0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} gateway_1 | {"time_local":"07/Feb/2024:12:33:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e4152f2a60fa194426a5fa34f3a5e0b"} experiment_1 | {"level":"info","message":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 200 19ms","method":"GET","requestID":"4e4152f2a60fa194426a5fa34f3a5e0b","responseTime":19,"status":200,"url":"/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"eb9c39a12e9cb300d21b339f06cbe7e3","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.042605,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309183,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb9c39a12e9cb300d21b339f06cbe7e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} gateway_1 | {"time_local":"07/Feb/2024:12:33:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb9c39a12e9cb300d21b339f06cbe7e3"} experiment_1 | {"level":"info","message":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 200 17ms","method":"GET","requestID":"eb9c39a12e9cb300d21b339f06cbe7e3","responseTime":17,"status":200,"url":"/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1cc1457b-0cca-427a-a3e7-fcafed6b58d1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f5c21de540abf3e1a7117ccb3cb5884b","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","contextual_tuples":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1cc1457b-0cca-427a-a3e7-fcafed6b58d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63338f76-fd72-4933-b539-2136c2a66c49","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309183.571522} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.341977,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09961fd0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"03699fb4506dc58d6896a6a7b6128dc3","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.485112,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309183,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03699fb4506dc58d6896a6a7b6128dc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} experiment_1 | {"level":"info","message":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 200 20ms","method":"GET","requestID":"03699fb4506dc58d6896a6a7b6128dc3","responseTime":20,"status":200,"url":"/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} gateway_1 | {"time_local":"07/Feb/2024:12:33:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03699fb4506dc58d6896a6a7b6128dc3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"96d5dd34e7f845c0ab117353c7607028","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":2.518302,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309183,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96d5dd34e7f845c0ab117353c7607028"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} gateway_1 | {"time_local":"07/Feb/2024:12:33:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96d5dd34e7f845c0ab117353c7607028"} experiment_1 | {"level":"info","message":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 200 20ms","method":"GET","requestID":"96d5dd34e7f845c0ab117353c7607028","responseTime":20,"status":200,"url":"/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1 200 237ms","method":"GET","requestID":"09961fd0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":237,"status":200,"url":"/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fa04b2d56074e58493e2a7026465d17a","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.327118,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309183,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODN9.Hdw4fM0w-x2zjYlhT_1r5L2pXotD7dWl6QcL737vqtA"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa04b2d56074e58493e2a7026465d17a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 652ms","method":"POST","requestID":"f5c21de540abf3e1a7117ccb3cb5884b","responseTime":652,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.658","http_referrer":"","http_user_agent":"node-fetch","requestID":"f5c21de540abf3e1a7117ccb3cb5884b"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} gateway_1 | {"time_local":"07/Feb/2024:12:33:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.346","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa04b2d56074e58493e2a7026465d17a"} experiment_1 | {"level":"info","message":"GET /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 200 340ms","method":"GET","requestID":"fa04b2d56074e58493e2a7026465d17a","responseTime":340,"status":200,"url":"/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODR9.KZhuryLH7l0pwLSavGFlUR3kMinc72j93nfSb_Ywpz4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74d984b2962243090d8ebc427dadbd02","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:04Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.109514,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:04Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309184,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODR9.KZhuryLH7l0pwLSavGFlUR3kMinc72j93nfSb_Ywpz4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"423","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74d984b2962243090d8ebc427dadbd02"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:04Z"} authorization_1 | {"client_addr":"127.0.0.1:60000","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":572,"resp_duration":1.041965,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:04Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"peerconnection:http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309184,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxODR9.KZhuryLH7l0pwLSavGFlUR3kMinc72j93nfSb_Ywpz4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"431","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09fd6d20-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1cc1457b-0cca-427a-a3e7-fcafed6b58d1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"65b0654b98173a46dc66bda6584fa0bc","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: '0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1cc1457b-0cca-427a-a3e7-fcafed6b58d1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1cc1457b-0cca-427a-a3e7-fcafed6b58d1","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]},"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":null},"raw_response":{},"request_id":"f0488c65-3ffe-4f4d-be29-3ab0e857477e","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309184.2666533} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"618c7f97-03aa-456b-9d66-08ff70f17df8","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309184.2669852} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f6e089a68fd232b3cb06ed3d05dd1034","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"187","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09fd6d20-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"data":{"peerconnection":"1cc1457b-0cca-427a-a3e7-fcafed6b58d1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1 204 820ms","method":"DELETE","requestID":"09fd6d20-c5b5-11ee-a67d-e74dcc3610a3","responseTime":820,"status":204,"url":"/peerconnections/1cc1457b-0cca-427a-a3e7-fcafed6b58d1"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: '0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdcc3f54e-fbe4-4483-bae9-c1ab65136b26': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdcc3f54e-fbe4-4483-bae9-c1ab65136b26","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]},"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":null},"raw_response":{},"request_id":"8f2a0b95-9f11-450e-b6d9-260a3970b698","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309185.775275} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b386a0cb-7518-4b3a-9643-af4d3396f4fc","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309185.776399} authorization_1 | {"level":"info","message":"POST /relations/update 200 448ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"179","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74d984b2962243090d8ebc427dadbd02"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":448}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} gateway_1 | {"time_local":"07/Feb/2024:12:33:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"5.842","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74d984b2962243090d8ebc427dadbd02"} gateway_1 | {"time_local":"07/Feb/2024:12:33:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1439","request_time":"10.846","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"8c127cf7d02de8bd9b309b634bac0386"} experiment_1 | {"level":"info","message":"DELETE /experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26 204 5840ms","method":"DELETE","requestID":"74d984b2962243090d8ebc427dadbd02","responseTime":5840,"status":204,"url":"/experiments/dcc3f54e-fbe4-4483-bae9-c1ab65136b26"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTB9.cbS--HEkSCevJPGX1IBmspT6bbZBRjLzJes-JvISCX8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"34c622dff3a17c1fa20864f8ccfc4ec9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"07/Feb/2024:12:33:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"10.177","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"55f33becee982f0fde5fe94c6662c027"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:10Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":497,"resp_duration":0.913821,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309190,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTB9.cbS--HEkSCevJPGX1IBmspT6bbZBRjLzJes-JvISCX8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"353","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34c622dff3a17c1fa20864f8ccfc4ec9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"2946c4b0-f5b9-48c5-9681-43ce3e9a3a16","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309190.0908668} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b13332b3-8b60-439b-ae5f-b0e9f5b3945e","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309190.0910563} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"144","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34c622dff3a17c1fa20864f8ccfc4ec9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5833ms","method":"POST","requestID":"65b0654b98173a46dc66bda6584fa0bc","responseTime":5833,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"5.838","http_referrer":"","http_user_agent":"node-fetch","requestID":"65b0654b98173a46dc66bda6584fa0bc"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5834ms","method":"POST","requestID":"f6e089a68fd232b3cb06ed3d05dd1034","responseTime":5834,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"5.838","http_referrer":"","http_user_agent":"node-fetch","requestID":"f6e089a68fd232b3cb06ed3d05dd1034"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b7add6cf-b09b-46ed-b311-9e96024fea8a' closed"} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 1272ms","method":"POST","requestID":"34c622dff3a17c1fa20864f8ccfc4ec9","responseTime":1272,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"07/Feb/2024:12:33:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"224","request_time":"1.278","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34c622dff3a17c1fa20864f8ccfc4ec9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTF9.JXmfpuzr_GrZgZHCR-6HdBPaK-8NRauNvC-3dOSohMI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"60c666dc858bde6e2637ab7dc28c1918","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:11Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":497,"resp_duration":1.247779,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:11Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309191,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTF9.JXmfpuzr_GrZgZHCR-6HdBPaK-8NRauNvC-3dOSohMI"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"353","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60c666dc858bde6e2637ab7dc28c1918"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"460486e3-e9e2-41f3-9072-a25e4d6e0003","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309191.3713832} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c60fb2f-f3cf-431b-9c7e-12986d9b2e71","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309191.3716233} authorization_1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"144","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60c666dc858bde6e2637ab7dc28c1918"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d110d42d-b818-4801-b50a-eb7f963b00da' closed"} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 1075ms","method":"POST","requestID":"60c666dc858bde6e2637ab7dc28c1918","responseTime":1075,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"07/Feb/2024:12:33:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"216","request_time":"1.114","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60c666dc858bde6e2637ab7dc28c1918"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTN9._yYNlBXtq13R0-yOBbo8yheIZJv_bg7DKvHMlpoF0zo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd5a2211d8509a5c7afdf1709dbe9ab7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.832327,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:13Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309193,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTN9._yYNlBXtq13R0-yOBbo8yheIZJv_bg7DKvHMlpoF0zo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd5a2211d8509a5c7afdf1709dbe9ab7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa HTTP/1.1","status": "200","body_bytes_sent":"755","request_time":"0.191","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"bd5a2211d8509a5c7afdf1709dbe9ab7"} device_1 | {"level":"info","message":"PATCH /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa 200 186ms","method":"PATCH","requestID":"bd5a2211d8509a5c7afdf1709dbe9ab7","responseTime":186,"status":200,"url":"/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTN9._yYNlBXtq13R0-yOBbo8yheIZJv_bg7DKvHMlpoF0zo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5f53e3cc64ae4931550411aaf47fe0b2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:13Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.309001,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:13Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309193,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTN9._yYNlBXtq13R0-yOBbo8yheIZJv_bg7DKvHMlpoF0zo"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f53e3cc64ae4931550411aaf47fe0b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.174","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5f53e3cc64ae4931550411aaf47fe0b2"} device_1 | {"level":"info","message":"POST /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa/websocket 200 168ms","method":"POST","requestID":"5f53e3cc64ae4931550411aaf47fe0b2","responseTime":168,"status":200,"url":"/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cc45f7a7f70129eda1f5cef56f6297fc","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"07/Feb/2024:12:33:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cc45f7a7f70129eda1f5cef56f6297fc"} device_1 | {"level":"info","message":"OPTIONS /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f/websocket 200 1ms","method":"OPTIONS","requestID":"cc45f7a7f70129eda1f5cef56f6297fc","responseTime":1,"status":200,"url":"/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"953508ad839fcca221a3503deee711e6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.795701,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:14Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309194,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"953508ad839fcca221a3503deee711e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.232","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"953508ad839fcca221a3503deee711e6"} device_1 | {"level":"info","message":"POST /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f/websocket 200 228ms","method":"POST","requestID":"953508ad839fcca221a3503deee711e6","responseTime":228,"status":200,"url":"/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"807a8478f6c5562fe35597b4e235f5b6","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.884892,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309194,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"807a8478f6c5562fe35597b4e235f5b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa? HTTP/1.1","status": "200","body_bytes_sent":"754","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"807a8478f6c5562fe35597b4e235f5b6"} device_1 | {"level":"info","message":"GET /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa? 200 10ms","method":"GET","requestID":"807a8478f6c5562fe35597b4e235f5b6","responseTime":10,"status":200,"url":"/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c65ed404e8c080061bcdb94d08401075","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.847534,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309194,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c65ed404e8c080061bcdb94d08401075"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f? HTTP/1.1","status": "200","body_bytes_sent":"215","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c65ed404e8c080061bcdb94d08401075"} device_1 | {"level":"info","message":"GET /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f? 200 9ms","method":"GET","requestID":"c65ed404e8c080061bcdb94d08401075","responseTime":9,"status":200,"url":"/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7418e840f0ef3a44357d1147da16452e","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:14Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":505,"resp_duration":0.95952,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309194,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"357","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7418e840f0ef3a44357d1147da16452e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.687032,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309194,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"107d8cc0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35324","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35324","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.347513,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309194,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"107ddae0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa? 200 15ms","method":"GET","requestID":"107d8cc0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":15,"status":200,"url":"/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f? 200 15ms","method":"GET","requestID":"107ddae0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":15,"status":200,"url":"/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.082153,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35324","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309194,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10d01990-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:35324","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.007401,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309194,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10d08ec0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"GET /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa? 200 13ms","method":"GET","requestID":"10d01990-c5b5-11ee-a67d-e74dcc3610a3","responseTime":13,"status":200,"url":"/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f? 200 14ms","method":"GET","requestID":"10d08ec0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":14,"status":200,"url":"/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.83257,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10d326d0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa/signaling 200 8ms","method":"POST","requestID":"10d326d0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":8,"status":200,"url":"/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.009141,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10d4d480-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f/signaling 200 10ms","method":"POST","requestID":"10d4d480-c5b5-11ee-a67d-e74dcc3610a3","responseTime":10,"status":200,"url":"/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e70193b1-be42-4154-b3ba-29ed8c682650"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"eedccbdb-2c4b-417c-bbc1-530d87b7b123"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a1643e2c-b4ed-4ec2-9f99-143d5b6cfe47"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":513,"resp_duration":2.005773,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309194,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTR9.5C1GMR3LVPqhXZXBXeAxF3bxZCUC_2ZWV5mElcEKsGc"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"361","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10d6f760-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc29a5012-c23d-44ce-91e8-e215b9bca015#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc29a5012-c23d-44ce-91e8-e215b9bca015","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"c28032d4-de15-42ce-8b75-129a7e0ded24","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309195.84032} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2c4bc1e-2cab-4b61-96de-a4d17ad58bed","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309195.840728} authorization_1 | {"level":"info","message":"POST /relations/update 200 145ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"179","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7418e840f0ef3a44357d1147da16452e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":145}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"72225c69-987f-46ff-b241-628fa310be96","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309195.8426843} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c54fb2a-678d-408c-ab3b-e4eb42cc0b68","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309195.8432956} authorization_1 | {"level":"info","message":"POST /relations/update 200 98ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"160","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10d6f760-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":98}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1036ms","method":"POST","requestID":"7418e840f0ef3a44357d1147da16452e","responseTime":1036,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"07/Feb/2024:12:33:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"1.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7418e840f0ef3a44357d1147da16452e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTV9.t80FWS6v3SGp9tm2cfPGWK9YwzsMcsFbP-GLYjYUcmg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"81c6b4a2cdad40817d60cd25a79617bd","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.981618,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309195,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTV9.t80FWS6v3SGp9tm2cfPGWK9YwzsMcsFbP-GLYjYUcmg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81c6b4a2cdad40817d60cd25a79617bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 355ms","method":"POST","requestID":"10d6f760-c5b5-11ee-a67d-e74dcc3610a3","responseTime":355,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa? HTTP/1.1","status": "200","body_bytes_sent":"754","request_time":"0.235","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81c6b4a2cdad40817d60cd25a79617bd"} device_1 | {"level":"info","message":"GET /devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa? 200 231ms","method":"GET","requestID":"81c6b4a2cdad40817d60cd25a79617bd","responseTime":231,"status":200,"url":"/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTZ9.b84OvQPgKGqgGGp-o4JdPWzrpdgXcM_nV-9WSKhao4Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2126f3a830f06418b15579a825d08e83","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.716682,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309196,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTZ9.b84OvQPgKGqgGGp-o4JdPWzrpdgXcM_nV-9WSKhao4Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2126f3a830f06418b15579a825d08e83"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f? HTTP/1.1","status": "200","body_bytes_sent":"215","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2126f3a830f06418b15579a825d08e83"} device_1 | {"level":"info","message":"GET /devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f? 200 9ms","method":"GET","requestID":"2126f3a830f06418b15579a825d08e83","responseTime":9,"status":200,"url":"/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f?"} device_1 | {"data":{"peerconnection":"0d9c3a04-e579-4e64-a863-f7974de26136","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0d9c3a04-e579-4e64-a863-f7974de26136","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6d50e67ff75566768e7d87adb2d5090f","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 226ms","method":"POST","requestID":"6d50e67ff75566768e7d87adb2d5090f","responseTime":226,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.228","http_referrer":"","http_user_agent":"node-fetch","requestID":"6d50e67ff75566768e7d87adb2d5090f"} device_1 | {"data":{"peerconnection":"0d9c3a04-e579-4e64-a863-f7974de26136","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTZ9.b84OvQPgKGqgGGp-o4JdPWzrpdgXcM_nV-9WSKhao4Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a3a047bc72f645adfd9dd25d3d262d8","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.707992,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309196,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTZ9.b84OvQPgKGqgGGp-o4JdPWzrpdgXcM_nV-9WSKhao4Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a3a047bc72f645adfd9dd25d3d262d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} gateway_1 | {"time_local":"07/Feb/2024:12:33:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.264","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a3a047bc72f645adfd9dd25d3d262d8"} experiment_1 | {"level":"info","message":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 200 259ms","method":"GET","requestID":"9a3a047bc72f645adfd9dd25d3d262d8","responseTime":259,"status":200,"url":"/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} device_1 | {"data":{"peerconnection":"0d9c3a04-e579-4e64-a863-f7974de26136","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTZ9.b84OvQPgKGqgGGp-o4JdPWzrpdgXcM_nV-9WSKhao4Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b8192304ffec2fe6a89727735037aa6","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:16Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.04227,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:16Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309196,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTZ9.b84OvQPgKGqgGGp-o4JdPWzrpdgXcM_nV-9WSKhao4Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b8192304ffec2fe6a89727735037aa6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} gateway_1 | {"time_local":"07/Feb/2024:12:33:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b8192304ffec2fe6a89727735037aa6"} experiment_1 | {"level":"info","message":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 200 13ms","method":"GET","requestID":"1b8192304ffec2fe6a89727735037aa6","responseTime":13,"status":200,"url":"/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0d9c3a04-e579-4e64-a863-f7974de26136","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f613507bf5df55f3c0bfbc2085f15a8f","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTd9.kEhr_Dk0O6L5YJajfDuzrTzkXcQ2SJ4mqbUwbJIeYXg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8a0ea2e0caf0bc17967696c105bd6cf9","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:17Z"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.70167,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309197,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTd9.kEhr_Dk0O6L5YJajfDuzrTzkXcQ2SJ4mqbUwbJIeYXg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a0ea2e0caf0bc17967696c105bd6cf9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","contextual_tuples":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d9c3a04-e579-4e64-a863-f7974de26136","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7ade3c6-5916-40cc-b400-b17992011ee6","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309197.0797217} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.861049,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:17Z"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway_1 | {"time_local":"07/Feb/2024:12:33:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a0ea2e0caf0bc17967696c105bd6cf9"} experiment_1 | {"level":"info","message":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 200 13ms","method":"GET","requestID":"8a0ea2e0caf0bc17967696c105bd6cf9","responseTime":13,"status":200,"url":"/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11a34810-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTd9.kEhr_Dk0O6L5YJajfDuzrTzkXcQ2SJ4mqbUwbJIeYXg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0e14f5383072c76e97ed0d60787f219f","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.981598,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309197,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTd9.kEhr_Dk0O6L5YJajfDuzrTzkXcQ2SJ4mqbUwbJIeYXg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e14f5383072c76e97ed0d60787f219f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} experiment_1 | {"level":"info","message":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 200 18ms","method":"GET","requestID":"0e14f5383072c76e97ed0d60787f219f","responseTime":18,"status":200,"url":"/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} gateway_1 | {"time_local":"07/Feb/2024:12:33:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e14f5383072c76e97ed0d60787f219f"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136 200 206ms","method":"GET","requestID":"11a34810-c5b5-11ee-a67d-e74dcc3610a3","responseTime":206,"status":200,"url":"/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTd9.kEhr_Dk0O6L5YJajfDuzrTzkXcQ2SJ4mqbUwbJIeYXg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"921977d8f628ecdbc7f3657f8fb3fe40","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.717091,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309197,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTd9.kEhr_Dk0O6L5YJajfDuzrTzkXcQ2SJ4mqbUwbJIeYXg"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"921977d8f628ecdbc7f3657f8fb3fe40"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 395ms","method":"POST","requestID":"f613507bf5df55f3c0bfbc2085f15a8f","responseTime":395,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.401","http_referrer":"","http_user_agent":"node-fetch","requestID":"f613507bf5df55f3c0bfbc2085f15a8f"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} gateway_1 | {"time_local":"07/Feb/2024:12:33:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"921977d8f628ecdbc7f3657f8fb3fe40"} experiment_1 | {"level":"info","message":"GET /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 200 148ms","method":"GET","requestID":"921977d8f628ecdbc7f3657f8fb3fe40","responseTime":148,"status":200,"url":"/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTd9.kEhr_Dk0O6L5YJajfDuzrTzkXcQ2SJ4mqbUwbJIeYXg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fc5bcf3d2db7eeda25399e6831d8ff40","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.013607,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309197,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTd9.kEhr_Dk0O6L5YJajfDuzrTzkXcQ2SJ4mqbUwbJIeYXg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"423","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc5bcf3d2db7eeda25399e6831d8ff40"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":572,"resp_duration":0.666303,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:17Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"peerconnection:http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309197,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkxOTd9.kEhr_Dk0O6L5YJajfDuzrTzkXcQ2SJ4mqbUwbJIeYXg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"431","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11e1fec0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0d9c3a04-e579-4e64-a863-f7974de26136","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: '0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d9c3a04-e579-4e64-a863-f7974de26136': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d9c3a04-e579-4e64-a863-f7974de26136","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]},"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":null},"raw_response":{},"request_id":"1771160f-f3a4-4480-8569-ee86b0fb64d4","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309197.5042546} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71d6cde0-a661-47a4-ade4-b83c8d294b24","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309197.5045004} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2598b39180ef8e007421a35824eb35d4","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"99e356fe8b30fa31d92b129299737ad0","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"187","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11e1fec0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"0d9c3a04-e579-4e64-a863-f7974de26136","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136 204 434ms","method":"DELETE","requestID":"11e1fec0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":434,"status":204,"url":"/peerconnections/0d9c3a04-e579-4e64-a863-f7974de26136"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: '0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc29a5012-c23d-44ce-91e8-e215b9bca015': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc29a5012-c23d-44ce-91e8-e215b9bca015","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]},"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":null},"raw_response":{},"request_id":"121fc34f-b246-4965-8197-c9660386ccc2","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309198.3389218} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f50bbbd-1710-47d7-9374-8b5756e63410","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309198.339155} authorization_1 | {"level":"info","message":"POST /relations/update 200 213ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"179","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc5bcf3d2db7eeda25399e6831d8ff40"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":213}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} gateway_1 | {"time_local":"07/Feb/2024:12:33:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"3.904","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc5bcf3d2db7eeda25399e6831d8ff40"} gateway_1 | {"time_local":"07/Feb/2024:12:33:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1438","request_time":"7.998","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b96e3704bc554f3cfed30ee3de0e256d"} experiment_1 | {"level":"info","message":"DELETE /experiments/c29a5012-c23d-44ce-91e8-e215b9bca015 204 3901ms","method":"DELETE","requestID":"fc5bcf3d2db7eeda25399e6831d8ff40","responseTime":3901,"status":204,"url":"/experiments/c29a5012-c23d-44ce-91e8-e215b9bca015"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 3869ms","method":"POST","requestID":"2598b39180ef8e007421a35824eb35d4","responseTime":3869,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"3.873","http_referrer":"","http_user_agent":"node-fetch","requestID":"2598b39180ef8e007421a35824eb35d4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 3868ms","method":"POST","requestID":"99e356fe8b30fa31d92b129299737ad0","responseTime":3868,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"3.874","http_referrer":"","http_user_agent":"node-fetch","requestID":"99e356fe8b30fa31d92b129299737ad0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMDF9.BM9xJ0sWdqO1xOUFrm2E9RAMHnv1SvIvGF2J-DplLLw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e218ed3e045212b2e990530d4d77f88","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"07/Feb/2024:12:33:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"6.733","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e1deacf3f334308b16e1d8785a2e02e8"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:21Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":497,"resp_duration":1.05346,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309201,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMDF9.BM9xJ0sWdqO1xOUFrm2E9RAMHnv1SvIvGF2J-DplLLw"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"353","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e218ed3e045212b2e990530d4d77f88"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"a7a52d13-2219-4436-bb72-75f9d5edf35b","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309201.3958428} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d492c511-831d-480c-b187-f19f3794e0b3","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309201.3960915} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"144","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e218ed3e045212b2e990530d4d77f88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7e4bb542-e1f2-4bee-8ab6-82f0703b5caa' closed"} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 3237ms","method":"POST","requestID":"3e218ed3e045212b2e990530d4d77f88","responseTime":3237,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"07/Feb/2024:12:33:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"224","request_time":"3.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e218ed3e045212b2e990530d4d77f88"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMDR9.ZIoMAfqAlFgIehQdOx1HPsl5YgBTRASTqZ8kKTLoDAo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"fc352b95a3c52f784fb4ad55b7db1b0d","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:24Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":497,"resp_duration":2.496206,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309204,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMDR9.ZIoMAfqAlFgIehQdOx1HPsl5YgBTRASTqZ8kKTLoDAo"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"353","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc352b95a3c52f784fb4ad55b7db1b0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"5788a154-aee6-4105-9eec-da064ab33923","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309204.6443403} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8870f457-70c0-4dfe-a16f-520853e622a3","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309204.644481} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"144","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc352b95a3c52f784fb4ad55b7db1b0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6f0a8cf3-44a6-468e-82c2-9bb7592d729f' closed"} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 2951ms","method":"POST","requestID":"fc352b95a3c52f784fb4ad55b7db1b0d","responseTime":2951,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"07/Feb/2024:12:33:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"224","request_time":"2.985","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc352b95a3c52f784fb4ad55b7db1b0d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMDh9.2b4nkVyFyStwVAv8cVwanYDhBJ_iTFhauEsoDfdDb-k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"ad5cd6b8ed709a782359d2b8aeae8fb7","responseTime":7,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMDh9.2b4nkVyFyStwVAv8cVwanYDhBJ_iTFhauEsoDfdDb-k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"bd7f25740b51274d3b15d3ae4171bd35","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:28Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.139363,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:28Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309208,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMDh9.2b4nkVyFyStwVAv8cVwanYDhBJ_iTFhauEsoDfdDb-k"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad5cd6b8ed709a782359d2b8aeae8fb7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:51966","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:28Z"} authorization_1 | {"client_addr":"127.0.0.1:51966","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.825299,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:28Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309208,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMDh9.2b4nkVyFyStwVAv8cVwanYDhBJ_iTFhauEsoDfdDb-k"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd7f25740b51274d3b15d3ae4171bd35"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/7f5925a8-279b-4776-9bd3-5cde807774aa 200 1619ms","method":"PATCH","requestID":"ad5cd6b8ed709a782359d2b8aeae8fb7","responseTime":1619,"status":200,"url":"/devices/7f5925a8-279b-4776-9bd3-5cde807774aa"} gateway_1 | {"time_local":"07/Feb/2024:12:33:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7f5925a8-279b-4776-9bd3-5cde807774aa HTTP/1.1","status": "200","body_bytes_sent":"755","request_time":"1.629","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ad5cd6b8ed709a782359d2b8aeae8fb7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTB9.kl9c4ttHacWZhmPpwUTWUvCbikapDIVtkOKz6XVQs7U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"102e1ad6f4005df4379b79d64fc3363c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:30Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.406844,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309210,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTB9.kl9c4ttHacWZhmPpwUTWUvCbikapDIVtkOKz6XVQs7U"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"102e1ad6f4005df4379b79d64fc3363c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9f51d715-afdd-4905-99b2-96881ef0f684 HTTP/1.1","status": "200","body_bytes_sent":"755","request_time":"3.374","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"bd7f25740b51274d3b15d3ae4171bd35"} device_1 | {"level":"info","message":"PATCH /devices/9f51d715-afdd-4905-99b2-96881ef0f684 200 3361ms","method":"PATCH","requestID":"bd7f25740b51274d3b15d3ae4171bd35","responseTime":3361,"status":200,"url":"/devices/9f51d715-afdd-4905-99b2-96881ef0f684"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTJ9.m1vpwZ15BCT9siDuJWAn0s_LDIWl5fcEdrguBtC8BP4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d67198d90941eb97424bb4e2838d79b9","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:32Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.230206,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:32Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309212,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTJ9.m1vpwZ15BCT9siDuJWAn0s_LDIWl5fcEdrguBtC8BP4"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d67198d90941eb97424bb4e2838d79b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7f5925a8-279b-4776-9bd3-5cde807774aa/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"3.182","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"102e1ad6f4005df4379b79d64fc3363c"} device_1 | {"level":"info","message":"POST /devices/7f5925a8-279b-4776-9bd3-5cde807774aa/websocket 200 3176ms","method":"POST","requestID":"102e1ad6f4005df4379b79d64fc3363c","responseTime":3176,"status":200,"url":"/devices/7f5925a8-279b-4776-9bd3-5cde807774aa/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9f51d715-afdd-4905-99b2-96881ef0f684/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"2.385","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d67198d90941eb97424bb4e2838d79b9"} device_1 | {"level":"info","message":"POST /devices/9f51d715-afdd-4905-99b2-96881ef0f684/websocket 200 2378ms","method":"POST","requestID":"d67198d90941eb97424bb4e2838d79b9","responseTime":2378,"status":200,"url":"/devices/9f51d715-afdd-4905-99b2-96881ef0f684/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"570819841add9ba3605e108bde9c074f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.159676,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309216,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"570819841add9ba3605e108bde9c074f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f51d715-afdd-4905-99b2-96881ef0f684? HTTP/1.1","status": "200","body_bytes_sent":"754","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"570819841add9ba3605e108bde9c074f"} device_1 | {"level":"info","message":"GET /devices/9f51d715-afdd-4905-99b2-96881ef0f684? 200 13ms","method":"GET","requestID":"570819841add9ba3605e108bde9c074f","responseTime":13,"status":200,"url":"/devices/9f51d715-afdd-4905-99b2-96881ef0f684?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ac623c3b2396036fef404a0d0eda6403","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.126912,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309216,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac623c3b2396036fef404a0d0eda6403"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7f5925a8-279b-4776-9bd3-5cde807774aa? HTTP/1.1","status": "200","body_bytes_sent":"754","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac623c3b2396036fef404a0d0eda6403"} device_1 | {"level":"info","message":"GET /devices/7f5925a8-279b-4776-9bd3-5cde807774aa? 200 12ms","method":"GET","requestID":"ac623c3b2396036fef404a0d0eda6403","responseTime":12,"status":200,"url":"/devices/7f5925a8-279b-4776-9bd3-5cde807774aa?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"46b9fce1fbc9016dd8892cebfd425c3a","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:36Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":505,"resp_duration":1.119272,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309216,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"357","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46b9fce1fbc9016dd8892cebfd425c3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:38Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.39569,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309216,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e86d790-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:55610","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:38Z"} authorization_1 | {"client_addr":"127.0.0.1:55610","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.931516,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309216,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e8725b0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"GET /devices/9f51d715-afdd-4905-99b2-96881ef0f684? 200 15ms","method":"GET","requestID":"1e86d790-c5b5-11ee-a67d-e74dcc3610a3","responseTime":15,"status":200,"url":"/devices/9f51d715-afdd-4905-99b2-96881ef0f684?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7f5925a8-279b-4776-9bd3-5cde807774aa? 200 18ms","method":"GET","requestID":"1e8725b0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":18,"status":200,"url":"/devices/7f5925a8-279b-4776-9bd3-5cde807774aa?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.686804,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:41Z"} authorization_1 | {"client_addr":"127.0.0.1:55610","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309216,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20402050-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:55610","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.694397,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:41Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9f51d715-afdd-4905-99b2-96881ef0f684? 200 13ms","method":"GET","requestID":"20402050-c5b5-11ee-a67d-e74dcc3610a3","responseTime":13,"status":200,"url":"/devices/9f51d715-afdd-4905-99b2-96881ef0f684?"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309216,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20409580-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7f5925a8-279b-4776-9bd3-5cde807774aa? 200 16ms","method":"GET","requestID":"20409580-c5b5-11ee-a67d-e74dcc3610a3","responseTime":16,"status":200,"url":"/devices/7f5925a8-279b-4776-9bd3-5cde807774aa?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.01003,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:41Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20437bb0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9f51d715-afdd-4905-99b2-96881ef0f684/signaling 200 9ms","method":"POST","requestID":"20437bb0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":9,"status":200,"url":"/devices/9f51d715-afdd-4905-99b2-96881ef0f684/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.024739,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:41Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20457780-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7f5925a8-279b-4776-9bd3-5cde807774aa/signaling 200 10ms","method":"POST","requestID":"20457780-c5b5-11ee-a67d-e74dcc3610a3","responseTime":10,"status":200,"url":"/devices/7f5925a8-279b-4776-9bd3-5cde807774aa/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"4a6e100f-aeb0-4dc3-9af2-c07300e06474"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"76bdc30e-6b30-45c9-ad8e-519aea317b9c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"aeca02de-aefc-4f77-83df-3599024c1a1d"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:41Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":513,"resp_duration":1.125742,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309216,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMTZ9.sBysjjClRojfgHskNFvz-sBDRYPt3TcmiLZkj_tH9zg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"361","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20479a60-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa19165de-308c-43a5-a78c-35735d9a71fe#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa19165de-308c-43a5-a78c-35735d9a71fe","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"8928ab22-70ca-4b49-a325-0f0dde66d9c7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309222.3860614} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23fa1c8b-387a-493e-83e3-edf180d44f4c","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309222.386404} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]}},"raw_response":{},"request_id":"8abde640-86e2-4b22-ac99-2d3cbe3aec33","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309222.3905528} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dfa749a9-ec0c-4a35-a4f8-e9f0a36252f2","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309222.391095} authorization_1 | {"level":"info","message":"POST /relations/update 200 796ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"179","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46b9fce1fbc9016dd8892cebfd425c3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":796}} authorization_1 | {"level":"info","message":"POST /relations/update 200 742ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"160","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20479a60-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":742}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 5780ms","method":"POST","requestID":"46b9fce1fbc9016dd8892cebfd425c3a","responseTime":5780,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"07/Feb/2024:12:33:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"5.788","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46b9fce1fbc9016dd8892cebfd425c3a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjJ9.UmR-a15ITtmBh1GDTfpAiEXrR8JNcBFQy4ldODI5fdc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7bfaf9ac980e48ee1f9072c182ddbe86","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:42Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":1.676064,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309222,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjJ9.UmR-a15ITtmBh1GDTfpAiEXrR8JNcBFQy4ldODI5fdc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bfaf9ac980e48ee1f9072c182ddbe86"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 1487ms","method":"POST","requestID":"20479a60-c5b5-11ee-a67d-e74dcc3610a3","responseTime":1487,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f51d715-afdd-4905-99b2-96881ef0f684? HTTP/1.1","status": "200","body_bytes_sent":"754","request_time":"0.720","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bfaf9ac980e48ee1f9072c182ddbe86"} device_1 | {"level":"info","message":"GET /devices/9f51d715-afdd-4905-99b2-96881ef0f684? 200 713ms","method":"GET","requestID":"7bfaf9ac980e48ee1f9072c182ddbe86","responseTime":713,"status":200,"url":"/devices/9f51d715-afdd-4905-99b2-96881ef0f684?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjN9.HYIoc3deGE9p32qoVJEQ5dQg3t4PtMNT5Xvo6clilwg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8c1ed8402eec9408ce64d5154f470d6d","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":548,"resp_duration":0.984965,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"device:http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa","object_type":"device","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309223,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjN9.HYIoc3deGE9p32qoVJEQ5dQg3t4PtMNT5Xvo6clilwg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"413","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c1ed8402eec9408ce64d5154f470d6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"07/Feb/2024:12:33:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7f5925a8-279b-4776-9bd3-5cde807774aa? HTTP/1.1","status": "200","body_bytes_sent":"754","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c1ed8402eec9408ce64d5154f470d6d"} device_1 | {"level":"info","message":"GET /devices/7f5925a8-279b-4776-9bd3-5cde807774aa? 200 11ms","method":"GET","requestID":"8c1ed8402eec9408ce64d5154f470d6d","responseTime":11,"status":200,"url":"/devices/7f5925a8-279b-4776-9bd3-5cde807774aa?"} device_1 | {"data":{"peerconnection":"ca1e700c-e535-42ff-b249-c51e83fce02f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"ca1e700c-e535-42ff-b249-c51e83fce02f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"ca1e700c-e535-42ff-b249-c51e83fce02f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8cc42a5367a4b19d03cdec25290d3b42","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjN9.HYIoc3deGE9p32qoVJEQ5dQg3t4PtMNT5Xvo6clilwg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0b2706e70b3695dc0edf2b17c3ae3196","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:43Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.30448,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309223,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjN9.HYIoc3deGE9p32qoVJEQ5dQg3t4PtMNT5Xvo6clilwg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b2706e70b3695dc0edf2b17c3ae3196"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"peerconnection":"ca1e700c-e535-42ff-b249-c51e83fce02f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1545ms","method":"POST","requestID":"8cc42a5367a4b19d03cdec25290d3b42","responseTime":1545,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.547","http_referrer":"","http_user_agent":"node-fetch","requestID":"8cc42a5367a4b19d03cdec25290d3b42"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"1.417","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b2706e70b3695dc0edf2b17c3ae3196"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 1410ms","method":"GET","requestID":"0b2706e70b3695dc0edf2b17c3ae3196","responseTime":1410,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjR9.0bJ5gaqP6-URJRKcum5O8eKara6hi7xPccGjvPDyS0k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"28da691abcc47bde792595ab93a32816","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.108167,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309224,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjR9.0bJ5gaqP6-URJRKcum5O8eKara6hi7xPccGjvPDyS0k"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28da691abcc47bde792595ab93a32816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"data":{"peerconnection":"ca1e700c-e535-42ff-b249-c51e83fce02f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.565","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28da691abcc47bde792595ab93a32816"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 560ms","method":"GET","requestID":"28da691abcc47bde792595ab93a32816","responseTime":560,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"000225c296e7adc26f532d57633383bc","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.294138,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309225,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"000225c296e7adc26f532d57633383bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 17ms","method":"GET","requestID":"000225c296e7adc26f532d57633383bc","responseTime":17,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"000225c296e7adc26f532d57633383bc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4ad75cfa646c05fbee186d2999f29d02","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.082773,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309225,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ad75cfa646c05fbee186d2999f29d02"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ad75cfa646c05fbee186d2999f29d02"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 17ms","method":"GET","requestID":"4ad75cfa646c05fbee186d2999f29d02","responseTime":17,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"ca1e700c-e535-42ff-b249-c51e83fce02f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"06595df964e54c4598dc60f52f07e2b8","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","contextual_tuples":null,"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fca1e700c-e535-42ff-b249-c51e83fce02f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4a81362-8b46-440e-99b7-6680caa904a0","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309225.6943457} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.439912,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22b14760-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"74aee2a73d9ce4b3f2d9dbc55ebdc797","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.317692,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309225,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74aee2a73d9ce4b3f2d9dbc55ebdc797"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74aee2a73d9ce4b3f2d9dbc55ebdc797"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 16ms","method":"GET","requestID":"74aee2a73d9ce4b3f2d9dbc55ebdc797","responseTime":16,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9b780c80c69a9c427ca0faf633b479ef","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.175845,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309225,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b780c80c69a9c427ca0faf633b479ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b780c80c69a9c427ca0faf633b479ef"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 16ms","method":"GET","requestID":"9b780c80c69a9c427ca0faf633b479ef","responseTime":16,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9ae4666c99661127dc47653def78555b","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:45Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.416617,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309225,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjV9.lg-UqFoveY1RY9dN5jTf_SjjmZ0AkOVOALXXCAeaFYk"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ae4666c99661127dc47653def78555b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ae4666c99661127dc47653def78555b"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 18ms","method":"GET","requestID":"9ae4666c99661127dc47653def78555b","responseTime":18,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cf607f2e4e387d3180a94100496fe455","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.917972,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309226,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf607f2e4e387d3180a94100496fe455"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf607f2e4e387d3180a94100496fe455"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 17ms","method":"GET","requestID":"cf607f2e4e387d3180a94100496fe455","responseTime":17,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8e8272e5b2d5075b2170500b66964993","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.29222,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309226,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e8272e5b2d5075b2170500b66964993"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e8272e5b2d5075b2170500b66964993"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 15ms","method":"GET","requestID":"8e8272e5b2d5075b2170500b66964993","responseTime":15,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"48ab5b33ea130e4c9053b90e7ff59b93","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.230329,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309226,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48ab5b33ea130e4c9053b90e7ff59b93"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 18ms","method":"GET","requestID":"48ab5b33ea130e4c9053b90e7ff59b93","responseTime":18,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"48ab5b33ea130e4c9053b90e7ff59b93"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"44d8ade7908a25b59d93488b77c8585e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":2.27234,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309226,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44d8ade7908a25b59d93488b77c8585e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44d8ade7908a25b59d93488b77c8585e"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 18ms","method":"GET","requestID":"44d8ade7908a25b59d93488b77c8585e","responseTime":18,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"181f6408f356ffb9e68a4c737c83888b","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.216982,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309226,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"181f6408f356ffb9e68a4c737c83888b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"181f6408f356ffb9e68a4c737c83888b"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 20ms","method":"GET","requestID":"181f6408f356ffb9e68a4c737c83888b","responseTime":20,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"af911bae49d22674ae3b36d015f65005","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.924316,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309226,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af911bae49d22674ae3b36d015f65005"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af911bae49d22674ae3b36d015f65005"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 16ms","method":"GET","requestID":"af911bae49d22674ae3b36d015f65005","responseTime":16,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"115d48135722269c3b00e89a47fd880a","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f 200 1201ms","method":"GET","requestID":"22b14760-c5b5-11ee-a67d-e74dcc3610a3","responseTime":1201,"status":200,"url":"/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.713901,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309226,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjZ9.iUoZZXe-28O1kEqTGHGs8hLa10Wv6mELBk5R5OYpC_k"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"115d48135722269c3b00e89a47fd880a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"115d48135722269c3b00e89a47fd880a"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 20ms","method":"GET","requestID":"115d48135722269c3b00e89a47fd880a","responseTime":20,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjd9.sCHBlfwudXDtqkazdoewi4FKQakZ1FKi2sKu0lxECac","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8ea5a5af54ec01e47581ffca3fb5b4dc","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":1.172751,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309227,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjd9.sCHBlfwudXDtqkazdoewi4FKQakZ1FKi2sKu0lxECac"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"421","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ea5a5af54ec01e47581ffca3fb5b4dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1970ms","method":"POST","requestID":"06595df964e54c4598dc60f52f07e2b8","responseTime":1970,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.975","http_referrer":"","http_user_agent":"node-fetch","requestID":"06595df964e54c4598dc60f52f07e2b8"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.648","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ea5a5af54ec01e47581ffca3fb5b4dc"} experiment_1 | {"level":"info","message":"GET /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 200 642ms","method":"GET","requestID":"8ea5a5af54ec01e47581ffca3fb5b4dc","responseTime":642,"status":200,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjd9.sCHBlfwudXDtqkazdoewi4FKQakZ1FKi2sKu0lxECac","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"81cdbeb58aa1b32db1c2b6e093cf3402","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":560,"resp_duration":0.716299,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:47Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"experiment:http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309227,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjd9.sCHBlfwudXDtqkazdoewi4FKQakZ1FKi2sKu0lxECac"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"423","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81cdbeb58aa1b32db1c2b6e093cf3402"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-07T12:33:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35322","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":572,"resp_duration":0.97601,"resp_status":200,"subsystem":"opa","time":"2024-02-07T12:33:47Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f","openfga":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","store":"01HP1REA68P9TCK7E8SHSYAKAA"},"response":{"result":{"allow":true,"enc":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","object":"peerconnection:http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"1WUDftmj_Akt0Mlr3IHGm5pJWUY99hO90IKk5tDlZyZmfjQF-0c9NJFU-rM1hzTMHMPa0LQQTRuBk9XnmZVzrg","iat":1707309227,"sub":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010","subject_alt":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYmRkZTRkNC0xZjFjLTRlYjYtOWQ3ZS00MWEwMDY5ZDcwMTAiLCJlZGdlVG9rZW4iOiIxV1VEZnRtal9Ba3QwTWxyM0lIR201cEpXVVk5OWhPOTBJS2s1dERsWnlabWZqUUYtMGM5TkpGVS1yTTFoelRNSE1QYTBMUVFUUnVCazlYbm1aVnpyZyIsImFkbWluIjp0cnVlLCJpYXQiOjE3MDczMDkyMjd9.sCHBlfwudXDtqkazdoewi4FKQakZ1FKi2sKu0lxECac"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"431","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23e0c6b0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"ca1e700c-e535-42ff-b249-c51e83fce02f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"32e8d2ba053110725fef4d3fdfb52591","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:13:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: '0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fca1e700c-e535-42ff-b249-c51e83fce02f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fca1e700c-e535-42ff-b249-c51e83fce02f","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]},"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":null},"raw_response":{},"request_id":"273bbe74-1844-45ce-8b96-f46f4de71933","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309227.696162} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2b99922-6374-4857-90d8-7779854dc183","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309227.6964774} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1e71c99b371ae9840796345708e57bfc","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"187","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23e0c6b0-c5b5-11ee-a67d-e74dcc3610a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"data":{"peerconnection":"ca1e700c-e535-42ff-b249-c51e83fce02f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f 204 1681ms","method":"DELETE","requestID":"23e0c6b0-c5b5-11ee-a67d-e74dcc3610a3","responseTime":1681,"status":204,"url":"/peerconnections/ca1e700c-e535-42ff-b249-c51e83fce02f"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: '0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa19165de-308c-43a5-a78c-35735d9a71fe': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"authorization_model_id":"01HP1REA7H4BR76X495HTTBAH7","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa19165de-308c-43a5-a78c-35735d9a71fe","relation":"owner","user":"0bdde4d4-1f1c-4eb6-9d7e-41a0069d7010"}]},"store_id":"01HP1REA68P9TCK7E8SHSYAKAA","writes":null},"raw_response":{},"request_id":"079bcfe0-5c40-4c74-ba4a-ab99c7d47239","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309231.3484077} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50762","raw_request":{"id":"01HP1REA7H4BR76X495HTTBAH7","store_id":"01HP1REA68P9TCK7E8SHSYAKAA"},"raw_response":{"authorization_model":{"id":"01HP1REA7H4BR76X495HTTBAH7","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec7d5f89-01af-4359-8a65-32bfc120172f","store_id":"01HP1REA68P9TCK7E8SHSYAKAA","subsystem":"openfga","timestamp":1707309231.3488839} authorization_1 | {"level":"info","message":"POST /relations/update 200 1016ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"179","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81cdbeb58aa1b32db1c2b6e093cf3402"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":1016}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} gateway_1 | {"time_local":"07/Feb/2024:12:33:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a19165de-308c-43a5-a78c-35735d9a71fe HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"9.860","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81cdbeb58aa1b32db1c2b6e093cf3402"} gateway_1 | {"time_local":"07/Feb/2024:12:33:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"22.834","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"1afd4d79a6908b7965b5f48e1b88f6b5"} gateway_1 | {"time_local":"07/Feb/2024:12:33:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"23.783","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4a840fcc0e4b73cf694e369b3a97c404"} experiment_1 | {"level":"info","message":"DELETE /experiments/a19165de-308c-43a5-a78c-35735d9a71fe 204 9861ms","method":"DELETE","requestID":"81cdbeb58aa1b32db1c2b6e093cf3402","responseTime":9861,"status":204,"url":"/experiments/a19165de-308c-43a5-a78c-35735d9a71fe"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7f5925a8-279b-4776-9bd3-5cde807774aa' closed"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9833ms","method":"POST","requestID":"32e8d2ba053110725fef4d3fdfb52591","responseTime":9833,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"9.837","http_referrer":"","http_user_agent":"node-fetch","requestID":"32e8d2ba053110725fef4d3fdfb52591"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9832ms","method":"POST","requestID":"1e71c99b371ae9840796345708e57bfc","responseTime":9832,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"07/Feb/2024:12:33:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"9.839","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e71c99b371ae9840796345708e57bfc"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9f51d715-afdd-4905-99b2-96881ef0f684' closed"}