Creating integration-test_experiment_1 ... Creating integration-test_authentication_1 ... Creating integration-test_gateway_1 ... Creating integration-test_authorization_1 ... Creating integration-test_device_1 ... Creating integration-test_federation_1 ... Creating integration-test_authorization_1 ... done Creating integration-test_gateway_1 ... done Creating integration-test_experiment_1 ... done Creating integration-test_federation_1 ... done Creating integration-test_device_1 ... done Creating integration-test_authentication_1 ... done Attaching to integration-test_authorization_1, integration-test_gateway_1, integration-test_experiment_1, integration-test_federation_1, integration-test_device_1, integration-test_authentication_1 authorization_1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-02-20T17:18:24Z"} device_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization_1 | {"client_addr":"127.0.0.1:45318","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-02-20T17:18:25Z"} experiment_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device_1 | {"level":"info","message":"Device 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.1 experiment_1 | {"level":"info","message":"Experiment Service started successfully"} 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:45318","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.279711,"resp_status":200,"subsystem":"opa","time":"2024-02-20T17:18:25Z"} gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1708449505.5450408} gateway_1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1708449505.5460005} integration-test_federation_1 exited with code 1 authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1708449505.546029} gateway_1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway_1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh 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":1708449505.546052} gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh 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","level":"info","message":"๐Ÿ“ˆ starting metrics server on '0.0.0.0:2112'","subsystem":"openfga","timestamp":1708449505.54608} 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":1708449505.546129,"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":1708449505.54663} 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":1708449505.547581} gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf 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":"CreateStore","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41624","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-02-20T17:18:25.563130075Z","id":"01HQ3RD88VSNGDXQZQTKVR2REP","name":"crosslab","updated_at":"2024-02-20T17:18:25.563130075Z"},"request_id":"02b8aa91-7292-4d2d-9c46-99c361e35ed5","subsystem":"openfga","timestamp":1708449505.5632064} gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf 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 | {"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:41624","raw_request":{"schema_version":"1.1","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","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":"01HQ3RD89T52RRGDA5G4046JEZ"},"request_id":"507f4a89-6a04-41aa-b0c5-5a16fea7f88c","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449505.594171} gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh authorization_1 | {"client_addr":"127.0.0.1:45318","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-02-20T17:18:25Z"} gateway_1 | /docker-entrypoint.sh: Configuration complete; ready for start up authorization_1 | {"client_addr":"127.0.0.1:45318","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.273286,"resp_status":204,"subsystem":"opa","time":"2024-02-20T17:18:25Z"} authorization_1 | {"level":"info","message":"Authorization Service started successfully"} gateway_1 | 2024/02/20 17:21:41 [error] 60#60: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:21: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":"1d4b74b8ffd2116fee29dc5a1164106d"} gateway_1 | 2024/02/20 17:21:50 [error] 61#61: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" 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-20T17:18:25Z"} gateway_1 | {"time_local":"20/Feb/2024:17:21:50 +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":"6827e3890a859f8baa865040c42457fa"} gateway_1 | {"time_local":"20/Feb/2024:17:21:55 +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":"67e39dcc9321bff31d065bd5579c23a8"} gateway_1 | 2024/02/20 17:21:55 [error] 62#62: *5 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/20 17:22:00 [error] 63#63: *7 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:00 +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":"39834551f10b896d61f9eb37f538b46a"} gateway_1 | 2024/02/20 17:22:05 [error] 65#65: *9 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:05 +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":"42865b8afa4533b9fa737efc799ca820"} gateway_1 | {"time_local":"20/Feb/2024:17:22:10 +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":"2084405da5afd03c2e32105d157b5d41"} gateway_1 | 2024/02/20 17:22:10 [error] 64#64: *11 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/20 17:22:15 [error] 66#66: *13 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:15 +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":"a1d3f32f426a6778cfb3633283d0e930"} gateway_1 | 2024/02/20 17:22:20 [error] 67#67: *15 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:20 +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":"d9e34460c4730ab6a2b14b4a0a2cde0d"} gateway_1 | {"time_local":"20/Feb/2024:17:22:25 +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":"9d11a9becbab492bbae16af9df04c8f7"} gateway_1 | 2024/02/20 17:22:25 [error] 60#60: *17 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/20 17:22:30 [error] 60#60: *19 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:30 +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":"787e837fd6f0cc842761dccd4759706a"} gateway_1 | 2024/02/20 17:22:35 [error] 60#60: *21 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:35 +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":"55670a2c286374a7dfb50b7586951727"} gateway_1 | 2024/02/20 17:22:40 [error] 60#60: *23 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:40 +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":"a242946feeba520ad1019337e75c9c2c"} gateway_1 | 2024/02/20 17:22:45 [error] 60#60: *25 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:45 +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":"935ee814e0e13087e0a9fb879d3f8eb5"} gateway_1 | 2024/02/20 17:22:50 [error] 60#60: *27 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:50 +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":"a0d9888b1cd0f027c74da31876577de5"} gateway_1 | 2024/02/20 17:22:55 [error] 60#60: *29 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:22:55 +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":"fc5fa22e78373274c809680c67612b17"} gateway_1 | 2024/02/20 17:23:00 [error] 60#60: *31 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23:00 +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":"9eaeb80d322620129d498b99f5f58bec"} gateway_1 | 2024/02/20 17:23:05 [error] 60#60: *33 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23:05 +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":"89259c75811f39c8d667e228c5c5878a"} gateway_1 | 2024/02/20 17:23:10 [error] 60#60: *35 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23:10 +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":"a22ba144f5e314c5935a790b8765c906"} gateway_1 | 2024/02/20 17:23:15 [error] 60#60: *37 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23:15 +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":"a47f094606517e8a6afa5e36d5e364bd"} gateway_1 | 2024/02/20 17:23:20 [error] 60#60: *39 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23:20 +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":"7ebc5622cdf80f81045fae0b9452907c"} gateway_1 | 2024/02/20 17:23:26 [error] 60#60: *41 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23: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":"cf974899467893e05f45a4966318776a"} gateway_1 | 2024/02/20 17:23:31 [error] 60#60: *43 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23: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":"e271b75fe3d65f9b5a176bdfd5f1a727"} gateway_1 | 2024/02/20 17:23:36 [error] 60#60: *45 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23: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":"c3c74a1039800f87aed07fbef1d6a4af"} gateway_1 | {"time_local":"20/Feb/2024:17:23: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":"b5356b08185796870deb15d82df4fd8e"} gateway_1 | 2024/02/20 17:23:41 [error] 60#60: *47 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/20 17:23:47 [error] 61#61: *49 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23: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":"84be082db808f5215512d0d39aa253e1"} gateway_1 | 2024/02/20 17:23:52 [error] 61#61: *51 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:23: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":"ec43703c2f0443e2b6fad5aac3b6217d"} gateway_1 | {"time_local":"20/Feb/2024:17:24:00 +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":"dc600404219d18038a992ee000cfc62a"} gateway_1 | 2024/02/20 17:24:00 [error] 61#61: *53 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/20 17:24:05 [error] 61#61: *55 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:24:05 +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":"d329f5ff26ea8f67bb196330765822ec"} gateway_1 | {"time_local":"20/Feb/2024:17:24:10 +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":"36fec5a6e803f6325430d4f763775a56"} gateway_1 | 2024/02/20 17:24:10 [error] 61#61: *57 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/20 17:24:15 [error] 61#61: *59 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:24:15 +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":"d151107386758ed25ce48fedbbf464d0"} gateway_1 | 2024/02/20 17:24:21 [error] 61#61: *61 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:24: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":"158cafe54b42a83a6f4235ec4d52c7c4"} gateway_1 | 2024/02/20 17:24:27 [error] 61#61: *63 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:24: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":"7b889961f7eb8bc0880e5e945b9ffe7f"} gateway_1 | 2024/02/20 17:24:32 [error] 61#61: *65 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:24: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.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f9ec1ea4790522c95e6daf7b8d8ac7be"} gateway_1 | {"time_local":"20/Feb/2024:17:24: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":"1353dd4b6c255bf6ce0df171a3be7362"} gateway_1 | 2024/02/20 17:24:37 [error] 61#61: *67 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | 2024/02/20 17:24:42 [error] 61#61: *69 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:24: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":"71fdb8ee8bdf6643d55fb00952c9bd69"} gateway_1 | 2024/02/20 17:24:47 [error] 61#61: *71 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:24: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":"d196ef13f5dce1b2835e36a97f09efe4"} gateway_1 | 2024/02/20 17:24:52 [error] 61#61: *73 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:24: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":"c56fe13d12ea45b840933d226a689ee2"} gateway_1 | 2024/02/20 17:24:57 [error] 61#61: *75 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:24: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":"aa4d258cc3291d0e074c6f9a6bfa0485"} gateway_1 | 2024/02/20 17:25:02 [error] 61#61: *77 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"abbc79622350e996cc04516564b2dad1"} gateway_1 | 2024/02/20 17:25:07 [error] 61#61: *79 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"b1ae914ff79eefb346953955f18488cf"} gateway_1 | 2024/02/20 17:25:12 [error] 62#62: *81 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"f095b75577ec55cd40e710ab571801df"} gateway_1 | 2024/02/20 17:25:17 [error] 62#62: *83 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"7fca314ebe24b5008c728ed9c594d995"} gateway_1 | 2024/02/20 17:25:22 [error] 62#62: *85 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"8a44a273ac50bc30d30bf4959fda83e8"} gateway_1 | 2024/02/20 17:25:27 [error] 62#62: *87 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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.001","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"1bd4d6317ce29887359103516bd63d22"} gateway_1 | 2024/02/20 17:25:32 [error] 62#62: *89 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"f1b7bb083b685063ea8af2af3aefb935"} gateway_1 | 2024/02/20 17:25:37 [error] 62#62: *91 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"606a438f59b434a9b1828efa3093a8dc"} gateway_1 | 2024/02/20 17:25:42 [error] 62#62: *93 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"f845b1ecf1a434a044d8dae65b015b9c"} gateway_1 | 2024/02/20 17:25:47 [error] 62#62: *95 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"4de44fe0e62999da747fb9f948257c41"} gateway_1 | 2024/02/20 17:25:52 [error] 62#62: *97 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "HEAD /auth/status HTTP/1.1", upstream: "http://127.0.0.1:3000/auth/status", host: "localhost" gateway_1 | {"time_local":"20/Feb/2024:17:25: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":"a4e0eb4e4490ca72b31c2d85e83e9b64"} authentication_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication_1 | {"level":"info","message":"Authentication Service started successfully"} gateway_1 | {"time_local":"20/Feb/2024:17:25:58 +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":"5cb93b3dd9b106c912d341f578e92969"} authentication_1 | {"level":"info","message":"HEAD /auth/status 200 8ms","method":"HEAD","requestID":"5cb93b3dd9b106c912d341f578e92969","responseTime":8,"status":200,"url":"/auth/status"} gateway_1 | {"time_local":"20/Feb/2024:17:25:58 +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.012","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"604aa78c4ce257cbff0ce8363bd83d1a"} device_1 | {"level":"info","message":"HEAD /device/status 200 8ms","method":"HEAD","requestID":"1c26a790-d015-11ee-b77a-3793dea99e22","responseTime":8,"status":200,"url":"/device/status"} gateway_1 | {"time_local":"20/Feb/2024:17:25:58 +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.071","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"9379faeb5f0b7dda5072e5e86c45a4a5"} authorization_1 | {"level":"info","message":"HEAD /authorization/status 200 37ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"9379faeb5f0b7dda5072e5e86c45a4a5"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":37}} authentication_1 | {"level":"info","message":"POST /login 201 212ms","method":"POST","requestID":"3a060caf029d700eaf759b7d417c7110","responseTime":212,"status":201,"url":"/login"} gateway_1 | {"time_local":"20/Feb/2024:17:26:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.228","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a060caf029d700eaf759b7d417c7110"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUyMmIwOTlkLTUwYmItNGRlNy1hOWJhLWJjNzViMzRkNzEyMCIsImVkZ2VUb2tlbiI6IjlQRkplaGZkMDB2T05GMFVTN1lMWHhXdEsxQ3BabjUwTU9BOEdCS2k0eUx0N05aZTlqUkxTMWdpQXkxZ0tVZnZ4REZvN0ZwUW9kYXlDRHJzSWdRMmxnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ0OTk2MX0.vCugbHNFXdSOE499rjQEyFnZuXndszonc0iZrsPgNOk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"ba555b9b4cf080a2c450fef58bc15914","responseTime":10,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:45920","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T17:26:01Z"} authorization_1 | {"client_addr":"127.0.0.1:45920","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.21805,"resp_status":200,"subsystem":"opa","time":"2024-02-20T17:26:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3RD89T52RRGDA5G4046JEZ","store":"01HQ3RD88VSNGDXQZQTKVR2REP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F522b099d-50bb-4de7-a9ba-bc75b34d7120","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"9PFJehfd00vONF0US7YLXxWtK1CpZn50MOA8GBKi4yLt7NZe9jRLS1giAy1gKUfvxDFo7FpQodayCDrsIgQ2lg","iat":1708449961,"sub":"http://localhost/users/522b099d-50bb-4de7-a9ba-bc75b34d7120"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/522b099d-50bb-4de7-a9ba-bc75b34d7120","subject_alt":"http://localhost/users/522b099d-50bb-4de7-a9ba-bc75b34d7120"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUyMmIwOTlkLTUwYmItNGRlNy1hOWJhLWJjNzViMzRkNzEyMCIsImVkZ2VUb2tlbiI6IjlQRkplaGZkMDB2T05GMFVTN1lMWHhXdEsxQ3BabjUwTU9BOEdCS2k0eUx0N05aZTlqUkxTMWdpQXkxZ0tVZnZ4REZvN0ZwUW9kYXlDRHJzSWdRMmxnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ0OTk2MX0.vCugbHNFXdSOE499rjQEyFnZuXndszonc0iZrsPgNOk"} authorization_1 | {"level":"info","message":"POST /authorize 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba555b9b4cf080a2c450fef58bc15914"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":29}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41624","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57731e7d-0bdd-41e5-9b3c-1d421eb2578a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2cbad135-b4d4-4dc2-80e4-4569dac56ab3","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449961.7852278} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba555b9b4cf080a2c450fef58bc15914"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} 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:41624","raw_request":{"id":"01HQ3RD89T52RRGDA5G4046JEZ","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP"},"raw_response":{"authorization_model":{"id":"01HQ3RD89T52RRGDA5G4046JEZ","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":"59ae2c85-95a8-428f-be44-0577068e387e","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449961.8183224} authorization_1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba555b9b4cf080a2c450fef58bc15914"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} authorization_1 | {"authorization_model_id":"01HQ3RD89T52RRGDA5G4046JEZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41624","raw_request":{"authorization_model_id":"01HQ3RD89T52RRGDA5G4046JEZ","deletes":null,"store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57731e7d-0bdd-41e5-9b3c-1d421eb2578a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F522b099d-50bb-4de7-a9ba-bc75b34d7120"}]}},"raw_response":{},"request_id":"ae192316-4abd-467f-9172-704e59275646","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449961.9338331} 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:41624","raw_request":{"id":"01HQ3RD89T52RRGDA5G4046JEZ","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP"},"raw_response":{"authorization_model":{"id":"01HQ3RD89T52RRGDA5G4046JEZ","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":"bf6f6ac1-87c8-4ba8-939e-ded4f78d0dfa","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449961.9344504} authorization_1 | {"level":"info","message":"POST /relations/update 200 119ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba555b9b4cf080a2c450fef58bc15914"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":119}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41624","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57731e7d-0bdd-41e5-9b3c-1d421eb2578a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57731e7d-0bdd-41e5-9b3c-1d421eb2578a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F522b099d-50bb-4de7-a9ba-bc75b34d7120"},"timestamp":"2024-02-20T17:26:01.933809927Z"}]},"request_id":"b486d1db-d7c8-485e-9c62-62c2becf1661","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449961.942267} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba555b9b4cf080a2c450fef58bc15914"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 411ms","method":"POST","requestID":"ba555b9b4cf080a2c450fef58bc15914","responseTime":411,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:17:26:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.440","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba555b9b4cf080a2c450fef58bc15914"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUyMmIwOTlkLTUwYmItNGRlNy1hOWJhLWJjNzViMzRkNzEyMCIsImVkZ2VUb2tlbiI6IjlQRkplaGZkMDB2T05GMFVTN1lMWHhXdEsxQ3BabjUwTU9BOEdCS2k0eUx0N05aZTlqUkxTMWdpQXkxZ0tVZnZ4REZvN0ZwUW9kYXlDRHJzSWdRMmxnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ0OTk2MX0.vCugbHNFXdSOE499rjQEyFnZuXndszonc0iZrsPgNOk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f746b88bb36ac7643bd64c73bcf889b5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:45920","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T17:26:01Z"} authorization_1 | {"client_addr":"127.0.0.1:45920","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.692241,"resp_status":200,"subsystem":"opa","time":"2024-02-20T17:26:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3RD89T52RRGDA5G4046JEZ","store":"01HQ3RD88VSNGDXQZQTKVR2REP"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F522b099d-50bb-4de7-a9ba-bc75b34d7120","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"9PFJehfd00vONF0US7YLXxWtK1CpZn50MOA8GBKi4yLt7NZe9jRLS1giAy1gKUfvxDFo7FpQodayCDrsIgQ2lg","iat":1708449961,"sub":"http://localhost/users/522b099d-50bb-4de7-a9ba-bc75b34d7120"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/522b099d-50bb-4de7-a9ba-bc75b34d7120","subject_alt":"http://localhost/users/522b099d-50bb-4de7-a9ba-bc75b34d7120"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzUyMmIwOTlkLTUwYmItNGRlNy1hOWJhLWJjNzViMzRkNzEyMCIsImVkZ2VUb2tlbiI6IjlQRkplaGZkMDB2T05GMFVTN1lMWHhXdEsxQ3BabjUwTU9BOEdCS2k0eUx0N05aZTlqUkxTMWdpQXkxZ0tVZnZ4REZvN0ZwUW9kYXlDRHJzSWdRMmxnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ0OTk2MX0.vCugbHNFXdSOE499rjQEyFnZuXndszonc0iZrsPgNOk"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f746b88bb36ac7643bd64c73bcf889b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41624","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc47861fe-4a72-4328-b0e3-14742543768a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e89cfc56-572b-4f90-8a09-1cd4bbd12fc1","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449962.1097844} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f746b88bb36ac7643bd64c73bcf889b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} 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:41624","raw_request":{"id":"01HQ3RD89T52RRGDA5G4046JEZ","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP"},"raw_response":{"authorization_model":{"id":"01HQ3RD89T52RRGDA5G4046JEZ","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":"00224de9-ad80-4c45-a3a4-8a5de148fe42","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449962.118145} 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":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f746b88bb36ac7643bd64c73bcf889b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3RD89T52RRGDA5G4046JEZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41624","raw_request":{"authorization_model_id":"01HQ3RD89T52RRGDA5G4046JEZ","deletes":null,"store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc47861fe-4a72-4328-b0e3-14742543768a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F522b099d-50bb-4de7-a9ba-bc75b34d7120"}]}},"raw_response":{},"request_id":"5f4fb85e-88a0-445c-92d4-b3afb2365ad5","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449962.242449} 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:41624","raw_request":{"id":"01HQ3RD89T52RRGDA5G4046JEZ","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP"},"raw_response":{"authorization_model":{"id":"01HQ3RD89T52RRGDA5G4046JEZ","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":"46e25825-1481-4395-b90f-31f01b940b6b","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449962.2427647} authorization_1 | {"level":"info","message":"POST /relations/update 200 128ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f746b88bb36ac7643bd64c73bcf889b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":128}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41624","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc47861fe-4a72-4328-b0e3-14742543768a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc47861fe-4a72-4328-b0e3-14742543768a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F522b099d-50bb-4de7-a9ba-bc75b34d7120"},"timestamp":"2024-02-20T17:26:02.242438486Z"}]},"request_id":"9e63cb50-db31-44b8-8faf-134df1f4f736","store_id":"01HQ3RD88VSNGDXQZQTKVR2REP","subsystem":"openfga","timestamp":1708449962.251181} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f746b88bb36ac7643bd64c73bcf889b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 280ms","method":"POST","requestID":"f746b88bb36ac7643bd64c73bcf889b5","responseTime":280,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:17:26:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.320","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f746b88bb36ac7643bd64c73bcf889b5"}