Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scytale init error message with "Server closed" #350

Closed
VicLin66 opened this issue Mar 14, 2024 · 5 comments
Closed

scytale init error message with "Server closed" #350

VicLin66 opened this issue Mar 14, 2024 · 5 comments
Assignees
Labels
good first issue Good for newcomers

Comments

@VicLin66
Copy link

Somebody can help with this issue?
I launched the scytale, but it showed some "Server closed" messages, wondering if it got some error?

$ ./scytale 
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"initialized Viper environment","configurationFile":"/etc/scytale/scytale.yaml"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"webhook_list_size_value","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_list_size_value","type":"gauge"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"notification_unmarshall_failed_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_notification_unmarshall_failed_count","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"dns_ready_query_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_dns_ready_query_count","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"dns_ready","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_dns_ready","type":"gauge"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"webhook_sns_notification_received_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_sns_notification_received_count","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"webhook_sns_notification_sent_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_sns_notification_sent_count","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"webhook_sns_subscribe_attempt_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_sns_subscribe_attempt_count","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"webhook_sns_subscribed_value","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_sns_subscribed_value","type":"gauge"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"auth_capability_check","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_auth_capability_check","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"auth_validation","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_auth_validation","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"auth_from_nbf_seconds","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_auth_from_nbf_seconds","type":"histogram"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"auth_from_exp_seconds","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_auth_from_exp_seconds","type":"histogram"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"chrysom_polls_total","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_chrysom_polls_total","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"received_wrp_message_total","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_received_wrp_message_total","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"sd_error_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_error_count","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"sd_update_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_update_count","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"sd_instance_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_instance_count","type":"gauge"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"sd_last_error_timestamp","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_last_error_timestamp","type":"gauge"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"sd_last_update_timestamp","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_last_update_timestamp","type":"gauge"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"api_requests_total","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_api_requests_total","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"in_flight_requests","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_in_flight_requests","type":"gauge"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"active_connections","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_active_connections","type":"gauge"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"rejected_connections","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_rejected_connections","type":"counter"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"request_duration_seconds","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_request_duration_seconds","type":"histogram"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"request_size_bytes","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_request_size_bytes","type":"histogram"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"response_size_bytes","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_response_size_bytes","type":"histogram"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"time_writing_header_seconds","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_time_writing_header_seconds","type":"histogram"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"merging metric","name":"maximum_processors","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_maximum_processors","type":"gauge"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"webhook_sns_subscribe_attempt_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_webhook_sns_subscribe_attempt_count"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"sd_last_update_timestamp","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_sd_last_update_timestamp"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"request_duration_seconds","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_request_duration_seconds"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"response_size_bytes","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_response_size_bytes"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"maximum_processors","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_maximum_processors"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"dns_ready_query_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_dns_ready_query_count"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"auth_validation","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_auth_validation"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"chrysom_polls_total","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_chrysom_polls_total"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"sd_instance_count","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_sd_instance_count"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"rejected_connections","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_rejected_connections"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"request_size_bytes","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_request_size_bytes"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"sd_last_error_timestamp","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_sd_last_error_timestamp"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"active_connections","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_active_connections"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"notification_unmarshall_failed_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_notification_unmarshall_failed_count"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"auth_capability_check","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_auth_capability_check"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"webhook_list_size_value","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_webhook_list_size_value"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"dns_ready","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_dns_ready"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"auth_from_nbf_seconds","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_auth_from_nbf_seconds"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"received_wrp_message_total","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_received_wrp_message_total"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"in_flight_requests","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_in_flight_requests"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"time_writing_header_seconds","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_time_writing_header_seconds"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"webhook_sns_notification_sent_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_webhook_sns_notification_sent_count"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"webhook_sns_subscribed_value","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_webhook_sns_subscribed_value"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"api_requests_total","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_api_requests_total"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"webhook_sns_notification_received_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_webhook_sns_notification_received_count"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"auth_from_exp_seconds","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_auth_from_exp_seconds"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"sd_error_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_sd_error_count"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"registering merged metric","name":"sd_update_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_sd_update_count"}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"initialized viper environment","configuartionFile:":"/etc/scytale/scytale.yaml"}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"tracing status","enabled":false}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"using a fixed set of instances for service discovery","instances":["http://localhost:6400"]}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"creating primary handler"}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"using service discovery for fanout"}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"decoded string","string":"dXNlcjpwYXNz","i":4}
{"key":"debug","ts":"2024-03-14T14:25:35+08:00","message":"Created list of allowed basic auths","allowed":{"user":"pass"},"config":["dXNlcjpwYXNz"]}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"subscription monitor starting","fixed":{"Instancer":["http://localhost:6400"]},"eventCount":0}
{"key":"error","ts":"2024-03-14T14:25:35+08:00","message":"service discovery update","fixed":{"Instancer":["http://localhost:6400"]},"instances":["http://localhost:6400"],"eventCount":1}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"Health Monitor Started"}
{"key":"error","ts":"2024-03-14T14:25:35+08:00","message":"starting server","serverName":"scytale","bindAddress":":6300"}
{"key":"error","ts":"2024-03-14T14:25:35+08:00","message":"starting server","serverName":"scytale.health","bindAddress":":6301"}
{"key":"error","ts":"2024-03-14T14:25:35+08:00","message":"starting server","serverName":"scytale.pprof","bindAddress":":6302"}
{"key":"error","ts":"2024-03-14T14:25:35+08:00","message":"starting server","serverName":"scytale.metrics","bindAddress":":6303"}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"starting restartable func","serverName":"scytale.metrics","bindAddress":":6303","errors":[{"error":"http: Server closed"}]}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"starting restartable func","serverName":"scytale","bindAddress":":6300","errors":[{"error":"http: Server closed"}]}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"starting restartable func","serverName":"scytale.pprof","bindAddress":":6302","errors":[{"error":"http: Server closed"}]}
{"key":"info","ts":"2024-03-14T14:25:35+08:00","message":"starting restartable func","serverName":"scytale.health","bindAddress":400 Bad Request":6301","errors":[{"error":"http: Server closed"}]}
{"key":"error","ts":"2024-03-14T14:25:35+08:00","message":"key refresh","uri":"http://localhost","keys":[],"new":[],"deleted":[],"error":"Get \"http://localhost\": dial tcp [::1]:80: connect: connection refused"}






{"key":"debug","ts":"2024-03-14T14:26:52+08:00","message":"accepted connection","serverName":"scytale","bindAddress":":6300","listenNetwork":"tcp","listenAddress":"[::]:6300","remoteAddress":"[::1]:46396"}

I send curl command to tr1d1um (curl -H 'Authorization: Basic dXNlcjpwYXNz' -i http://localhost:6100/api/v2/device/mac:112233445566/stat), but it showed "400 Bad Request", not sure if it is related with tr1d1um or scytale error.

$ curl -H 'Authorization: Basic dXNlcjpwYXNz' -i http://localhost:6100/api/v2/device/mac:112233445566/stat
HTTP/1.1 400 Bad Request
X-Midt-Server: tr1d1um
X-Midt-Version: development
X-Scytale-Build: 0.1.4
X-Scytale-Flavor: mint
X-Scytale-Region: east
X-Scytale-Server: scytale
X-Scytale-Start-Time: 14 Mar 24 06:25 UTC
X-Webpa-Transaction-Id: teh1_vupyPtom2ZY1aCm8A
Date: Thu, 14 Mar 2024 06:31:40 GMT
Content-Length: 44
Content-Type: text/plain; charset=utf-8

{"code": 400, "message": "Invalid endpoint"}
@denopink
Copy link
Contributor

From the quick scan of your ticket, sounds like tr1d1um doesn't like the scytale endpoint it was provided.

Try curling your scytale server ports to make sure your scytale server is working as expected.
After confirming, then make sure youre using the correct local scytale url for your tr1d1um config's targetURL. For example targetURL: http://localhost:{YOUR_LOCAL_PORT}/api/v3

@denopink denopink self-assigned this Mar 14, 2024
@denopink denopink added the good first issue Good for newcomers label Mar 14, 2024
@VicLin66
Copy link
Author

@denopink Hi, thanks for info. After I set targetURL to "targetURL: http://localhost:6300/api/v3", the error message got different with tr1d1um launch. (503 Service Unavailable)
My scytale version is v.9.6, and tr1d1um version is v0.9.9.
I also list the scytale and tr1d1um's start log and message process logs (handle curl command request).
Does something still error or need to be fixed with yaml config file?
I noticed that curl request replied "dial tcp [::1]:6400: connect: connection refused", does it matter?

curl command request and result,

 curl -i -H 'Authorization: Basic dXNlcjpwYXNz' http://localhost:6100/api/v3/device/mac:112233445566/stat
HTTP/1.1 503 Service Unavailable
X-Midt-Server: tr1d1um
X-Midt-Version: development
X-Scytale-Build: 0.1.4
X-Scytale-Flavor: mint
X-Scytale-Region: east
X-Scytale-Server: scytale
X-Scytale-Start-Time: 18 Mar 24 03:26 UTC
X-Webpa-Transaction-Id: 3rJpg0M-NlCkWreRH2hzIw
X-Xmidt-Error: "http://localhost:6400/api/v3/device/mac:112233445566/stat",,"dial tcp [::1]:6400: connect: connection refused"
X-Xmidt-Span: "http://localhost:6400/api/v3/device/mac:112233445566/stat","2024-03-18T03:28:17Z","397.913µs"
Date: Mon, 18 Mar 2024 03:28:17 GMT
Content-Length: 113
Content-Type: text/plain; charset=utf-8

Get "http://localhost:6400/api/v3/device/mac:112233445566/stat": dial tcp [::1]:6400: connect: connection refused
# tr1d1um launch
$ tr1d1um 
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tfx.Printer <= github.com/xmidt-org/arrange.Logger.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] SUPPLY\t*zap.Logger\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] SUPPLY\t*viper.Viper\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tarrange.Unmarshaler <= github.com/xmidt-org/arrange.ForViper.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tmain.httpClientTimeout[name = \"xmidtClientTimeout\"] <= fx.Annotated{Name: \"xmidtClientTimeout\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tmain.httpClientTimeout[name = \"argusClientTimeout\"] <= fx.Annotated{Name: \"argusClientTimeout\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tpromhttp.HandlerOpts <= github.com/xmidt-org/touchstone/touchhttp.Provide.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\ttouchhttp.Handler <= github.com/xmidt-org/touchstone/touchhttp.Provide.func2()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*ancla.Measures <= github.com/xmidt-org/ancla.NewMeasures()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tstring[name = \"default_key_id\"] <= main.consts()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tcandlelight.Config <= reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tmain.httpClientTimeout[name = \"xmidt_client_timeout\"] <= fx.Annotated{Name: \"xmidt_client_timeout\", Target: main.configureXmidtClientTimeout()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tmain.httpClientTimeout[name = \"argus_client_timeout\"] <= fx.Annotated{Name: \"argus_client_timeout\", Target: main.configureArgusClientTimeout()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tcandlelight.Tracing <= main.loadTracing()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*http.Client <= main.newHTTPClient()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*prometheus.CounterVec[name = \"auth_validation\"] <= fx.Annotated{Name: \"auth_validation\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetrics.CounterVec.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*prometheus.CounterVec[name = \"auth_capability_check\"] <= fx.Annotated{Name: \"auth_capability_check\", Target: github.com/xmidt-org/bascule/basculechecks.ProvideMetrics.CounterVec.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.ParseURL <= main.provideAuthChain.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tmain.JWTValidator <= reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tclortho.Config <= main.provideAuthChain.func2()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.EncodedBasicKeys[name = \"encoded_basic_auths\"] <= fx.Annotated{Name: \"encoded_basic_auths\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.COption[group = \"bascule_constructor_options\"] <= fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBasicTokenFactory.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.EOption[group = \"bascule_enforcer_options\"] <= fx.Annotated{Group: \"bascule_enforcer_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBasicAuth.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbascule.Leeway[name = \"jwt_leeway\"] <= fx.Annotated{Name: \"jwt_leeway\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.COption[group = \"bascule_constructor_options\"] <= fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBearerTokenFactory.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculechecks.CapabilitiesValidatorConfig <= reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculechecks.CapabilitiesChecker <= github.com/xmidt-org/bascule/basculechecks.NewCapabilitiesValidator()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculechecks.MetricOption[group = \"bascule_capability_options\"] <= github.com/xmidt-org/bascule/basculechecks.NewCapabilitiesValidator()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbascule.Validator[name = \"bascule_validator_capabilities\"] <= fx.Annotated{Name: \"bascule_validator_capabilities\", Target: github.com/xmidt-org/bascule/basculechecks.ProvideMetricValidator.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbascule.Validator[group = \"bascule_bearer_validators\"] <= fx.Annotated{Group: \"bascule_bearer_validators\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBearerValidator.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbascule.Validator[group = \"bascule_bearer_validators\"] <= fx.Annotated{Group: \"bascule_bearer_validators\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBearerValidator.func2()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.EOption[group = \"bascule_enforcer_options\"] <= fx.Annotated{Group: \"bascule_enforcer_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBearerValidator.func3()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] SUPPLY\tfunc(context.Context) *zap.Logger\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\talice.Constructor[name = \"alice_set_logger\"] <= fx.Annotated{Name: \"alice_set_logger\", Target: github.com/xmidt-org/bascule/basculehttp.SetLogger()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.COption[group = \"bascule_constructor_options\"] <= fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideLogger.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.EOption[group = \"bascule_enforcer_options\"] <= fx.Annotated{Group: \"bascule_enforcer_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideLogger.func2()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\talice.Constructor[name = \"alice_set_logger_info\"] <= fx.Annotated{Name: \"alice_set_logger_info\", Target: github.com/xmidt-org/bascule/basculehttp.SetBasculeInfo()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*basculehttp.MetricListener[name = \"bascule_metric_listener\"] <= fx.Annotated{Name: \"bascule_metric_listener\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetricListener.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\talice.Constructor[name = \"alice_listener\"] <= fx.Annotated{Name: \"alice_listener\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetricListener.func2()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.COption[group = \"bascule_constructor_options\"] <= fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetricListener.func3()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.EOption[group = \"bascule_enforcer_options\"] <= fx.Annotated{Group: \"bascule_enforcer_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetricListener.func4()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\talice.Constructor[name = \"alice_enforcer\"] <= fx.Annotated{Name: \"alice_enforcer\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideEnforcer.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.COption[group = \"bascule_constructor_options\"] <= fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideOnErrorHTTPResponse.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbasculehttp.COption[group = \"bascule_constructor_options\"] <= fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideParseURL.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\talice.Constructor[name = \"alice_constructor\"] <= fx.Annotated{Name: \"alice_constructor\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideConstructor.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\talice.Chain[name = \"auth_chain\"] <= fx.Annotated{Name: \"auth_chain\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideServerChain.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tint[name = \"requestMaxRetries\"] <= fx.Annotated{Name: \"requestMaxRetries\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\ttime.Duration[name = \"requestRetryInterval\"] <= fx.Annotated{Name: \"requestRetryInterval\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tbool[name = \"previousVersionSupport\"] <= fx.Annotated{Name: \"previousVersionSupport\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tstring[name = \"targetURL\"] <= fx.Annotated{Name: \"targetURL\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tstring[name = \"WRPSource\"] <= fx.Annotated{Name: \"WRPSource\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t[]string[name = \"supportedServices\"] <= fx.Annotated{Name: \"supportedServices\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\talice.Chain[name = \"middleware_primary_metrics\"] <= main.metricMiddleware()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\talice.Chain[name = \"middleware_alternate_metrics\"] <= main.metricMiddleware()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\talice.Chain[name = \"middleware_health_metrics\"] <= main.metricMiddleware()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t[]int[name = \"reducedLoggingResponseCodes\"] <= fx.Annotated{Name: \"reducedLoggingResponseCodes\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*mux.Router[name = \"api_router\"] <= fx.Annotated{Name: \"api_router\", Target: main.provideAPIRouter()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tstring[name = \"url_prefix\"] <= fx.Annotated{Name: \"url_prefix\", Target: main.provideURLPrefix()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*stat.ServiceOptions <= main.provideServiceOptions()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*translation.ServiceOptions <= main.provideServiceOptions()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*mux.Router[name = \"server_primary\"] <= fx.Annotated{Name: \"server_primary\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*mux.Router[name = \"server_alternate\"] <= fx.Annotated{Name: \"server_alternate\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*mux.Router[name = \"server_health\"] <= fx.Annotated{Name: \"server_health\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*mux.Router[name = \"server_pprof\"] <= fx.Annotated{Name: \"server_pprof\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*mux.Router[name = \"server_metrics\"] <= fx.Annotated{Name: \"server_metrics\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tmain.authAcquirerConfig[name = \"authAcquirer\"] <= fx.Annotated{Name: \"authAcquirer\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tancla.Config <= reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\ttouchstone.Config <= reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\ttouchhttp.Config <= reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\thttp.Handler[name = \"add_webhook_handler\"] <= main.provideWebhookHandlers()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\thttp.Handler[name = \"v2_add_webhook_handler\"] <= main.provideWebhookHandlers()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\thttp.Handler[name = \"get_all_webhooks_handler\"] <= main.provideWebhookHandlers()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tprometheus.Gatherer <= github.com/xmidt-org/touchstone.Provide.func1() from module \"touchstone\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tprometheus.Registerer <= github.com/xmidt-org/touchstone.Provide.func1() from module \"touchstone\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*touchstone.Factory <= github.com/xmidt-org/touchstone.Provide.func2() from module \"touchstone\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tclortho.KeyRing <= github.com/xmidt-org/clortho/clorthofx.newKeyRing() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tclortho.Fetcher <= github.com/xmidt-org/clortho/clorthofx.newFetcher() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*clorthozap.Listener <= github.com/xmidt-org/clortho/clorthofx.newZapListener() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\t*clorthometrics.Listener <= github.com/xmidt-org/clortho/clorthofx.newMetricsListener() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tclortho.Refresher <= github.com/xmidt-org/clortho/clorthofx.newRefresher() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tclortho.Resolver <= github.com/xmidt-org/clortho/clorthofx.newResolver() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tclortho.KeyAccessor <= github.com/xmidt-org/clortho/clorthofx.newKeyAccessor() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tfx.Lifecycle <= go.uber.org/fx.New.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tfx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] PROVIDE\tfx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] DECORATE\t*zap.Logger <= github.com/xmidt-org/clortho/clorthofx.decorateLogger() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] INVOKE\t\tgit.luolix.top/xmidt-org/clortho/clorthofx.Provide.func1() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/clortho/clorthofx.newKeyRing() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/clortho/clorthofx.newFetcher() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/arrange.Logger.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/arrange.ForViper.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[jwtValidator] => *main.JWTValidator"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: main.provideAuthChain.func2()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tsupply: stub(*zap.Logger)\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tdecorate: github.com/xmidt-org/clortho/clorthofx.decorateLogger() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/clortho/clorthofx.newZapListener() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[prometheus] => *touchstone.Config"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/touchstone.Provide.func1() from module \"touchstone\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/touchstone.Provide.func2() from module \"touchstone\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/clortho/clorthofx.newMetricsListener() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: go.uber.org/fx.New.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/clortho/clorthofx.newRefresher() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] INVOKE\t\treflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: go.uber.org/fx.(*App).shutdowner-fm()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[servers.pprof] => *arrangehttp.ServerConfig"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"server_pprof\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange PPROF] Mapping pprof HTTP handlers to /debug/pprof"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] INVOKE\t\treflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: main.metricMiddleware()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[servers.health] => *arrangehttp.ServerConfig"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"server_health\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] INVOKE\t\tmain.handlePrimaryEndpoint()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tsupply: stub(*viper.Viper)\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[servers.primary] => *arrangehttp.ServerConfig"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"server_primary\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[previousVersionSupport] => *bool"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"previousVersionSupport\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"url_prefix\", Target: main.provideURLPrefix()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"api_router\", Target: main.provideAPIRouter()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"alice_set_logger\", Target: github.com/xmidt-org/bascule/basculehttp.SetLogger()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[authx.inbound] => *basculehttp.EncodedBasicKeys"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"encoded_basic_auths\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBasicTokenFactory.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: main.consts()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/clortho/clorthofx.newResolver() from module \"clortho\"\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[jwtValidator.leeway] => *bascule.Leeway"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"jwt_leeway\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBearerTokenFactory.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tsupply: stub(func(context.Context) *zap.Logger)\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideLogger.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"auth_validation\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetrics.CounterVec.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"bascule_metric_listener\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetricListener.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetricListener.func3()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideOnErrorHTTPResponse.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: main.provideAuthChain.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_constructor_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideParseURL.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"alice_constructor\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideConstructor.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_enforcer_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBasicAuth.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_bearer_validators\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBearerValidator.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_bearer_validators\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBearerValidator.func2()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[capabilityCheck] => *basculechecks.CapabilitiesValidatorConfig"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/bascule/basculechecks.NewCapabilitiesValidator()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"auth_capability_check\", Target: github.com/xmidt-org/bascule/basculechecks.ProvideMetrics.CounterVec.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"bascule_validator_capabilities\", Target: github.com/xmidt-org/bascule/basculechecks.ProvideMetricValidator.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_enforcer_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideBearerValidator.func3()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_enforcer_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideLogger.func2()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Group: \"bascule_enforcer_options\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetricListener.func4()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"alice_enforcer\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideEnforcer.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"alice_listener\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideMetricListener.func2()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"alice_set_logger_info\", Target: github.com/xmidt-org/bascule/basculehttp.SetBasculeInfo()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"auth_chain\", Target: github.com/xmidt-org/bascule/basculehttp.ProvideServerChain.func1()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[tracing] => *candlelight.Config"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"tracing status","enabled":false}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: main.loadTracing()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[xmidtClientTimeout] => *main.httpClientTimeout"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"xmidtClientTimeout\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"xmidt_client_timeout\", Target: main.configureXmidtClientTimeout()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[requestMaxRetries] => *int"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"requestMaxRetries\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[requestRetryInterval] => *time.Duration"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"requestRetryInterval\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[targetURL] => *string"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"targetURL\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[WRPSource] => *string"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"WRPSource\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: main.provideServiceOptions()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[authAcquirer] => *main.authAcquirerConfig"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"authAcquirer\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[logging.reducedLoggingResponseCodes] => *[]int"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"reducedLoggingResponseCodes\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[supportedServices] => *[]string"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"supportedServices\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] INVOKE\t\tmain.handleWebhookRoutes()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[webhook] => *ancla.Config"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[argusClientTimeout] => *main.httpClientTimeout"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"argusClientTimeout\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"argus_client_timeout\", Target: main.configureArgusClientTimeout()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/ancla.NewMeasures()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"Webhook service enabled"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"Webhook service enabled"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: main.provideWebhookHandlers()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] INVOKE\t\tmain.buildMetricsRoutes()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[servers.metrics] => *arrangehttp.ServerConfig"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"server_metrics\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[prometheus.handler] => *touchhttp.Config"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: reflect.makeFuncStub()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/touchstone/touchhttp.Provide.func1()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: github.com/xmidt-org/touchstone/touchhttp.Provide.func2()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] INVOKE\t\tmain.buildAPIAltRouter()\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Arrange] UNMARSHAL KEY\t[servers.alternate] => *arrangehttp.ServerConfig"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUN\tprovide: fx.Annotated{Name: \"server_alternate\", Target: reflect.makeFuncStub()}\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/clortho.Refresher.Start-fm() executing (caller: github.com/xmidt-org/clortho/clorthofx.newRefresher)\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/clortho.Refresher.Start-fm() called by github.com/xmidt-org/clortho/clorthofx.newRefresher ran successfully in 8.391µs\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() executing (caller: github.com/xmidt-org/arrange/arrangehttp.(*Server).provide)\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() called by github.com/xmidt-org/arrange/arrangehttp.(*Server).provide ran successfully in 240.36µs\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() executing (caller: github.com/xmidt-org/arrange/arrangehttp.(*Server).provide)\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() called by github.com/xmidt-org/arrange/arrangehttp.(*Server).provide ran successfully in 51.338µs\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() executing (caller: github.com/xmidt-org/arrange/arrangehttp.(*Server).provide)\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() called by github.com/xmidt-org/arrange/arrangehttp.(*Server).provide ran successfully in 23.653µs\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() executing (caller: github.com/xmidt-org/arrange/arrangehttp.(*Server).provide)\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() called by github.com/xmidt-org/arrange/arrangehttp.(*Server).provide ran successfully in 25.882µs\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() executing (caller: github.com/xmidt-org/arrange/arrangehttp.(*Server).provide)\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] HOOK OnStart\t\tgit.luolix.top/xmidt-org/arrange/arrangehttp.(*Server).provide.ServerOnStart.func3() called by github.com/xmidt-org/arrange/arrangehttp.(*Server).provide ran successfully in 23.784µs\n"}
{"key":"info","ts":"2024-03-18T11:26:46+08:00","message":"[Fx] RUNNING\n"}
{"key":"error","ts":"2024-03-18T11:26:46+08:00","name":"clortho","message":"key refresh","uri":"http://localhost/available","keys":[],"new":[],"deleted":[],"error":"Get \"http://localhost/available\": dial tcp [::1]:80: connect: connection refused"}
# tr1d1um window, after issue curl command "curl -i -H 'Authorization: Basic dXNlcjpwYXNz' http://localhost:6100/api/v3/device/mac:112233445566/stat"
{"key":"debug","ts":"2024-03-18T11:28:17+08:00","message":"authentication accepted by enforcer","request.Headers":{"Accept":["*/*"],"Authorization-Type":["Basic"],"User-Agent":["curl/7.29.0"]},"request.URL":"/api/v3/device/mac:112233445566/stat","request.Method":"GET","request.address":"::1","request.path":"/api/v3/device/mac:112233445566/stat","request.query":"","request.tid":"E0OJM9YidcOzA3UxngXX3g"}
{"key":"error","ts":"2024-03-18T11:28:17+08:00","message":"Request arrival not capture for logger","request.Headers":{"Accept":["*/*"],"Authorization-Type":["Basic"],"User-Agent":["curl/7.29.0"]},"request.URL":"/api/v3/device/mac:112233445566/stat","request.Method":"GET","request.address":"::1","request.path":"/api/v3/device/mac:112233445566/stat","request.query":"","request.tid":"E0OJM9YidcOzA3UxngXX3g","satClientID":"user","deviceid":"mac:112233445566","tid":"3rJpg0M-NlCkWreRH2hzIw"}
{"key":"info","ts":"2024-03-18T11:28:17+08:00","message":"response","request.Headers":{"Accept":["*/*"],"Authorization-Type":["Basic"],"User-Agent":["curl/7.29.0"]},"request.URL":"/api/v3/device/mac:112233445566/stat","request.Method":"GET","request.address":"::1","request.path":"/api/v3/device/mac:112233445566/stat","request.query":"","request.tid":"E0OJM9YidcOzA3UxngXX3g","satClientID":"user","deviceid":"mac:112233445566","response":{"code":503,"headers":{"X-Midt-Server":["tr1d1um"],"X-Midt-Version":["development"],"X-Scytale-Build":["0.1.4"],"X-Scytale-Flavor":["mint"],"X-Scytale-Region":["east"],"X-Scytale-Server":["scytale"],"X-Scytale-Start-Time":["18 Mar 24 03:26 UTC"],"X-Webpa-Transaction-Id":["3rJpg0M-NlCkWreRH2hzIw"],"X-Xmidt-Error":["\"http://localhost:6400/api/v3/device/mac:112233445566/stat\",,\"dial tcp [::1]:6400: connect: connection refused\""],"X-Xmidt-Span":["\"http://localhost:6400/api/v3/device/mac:112233445566/stat\",\"2024-03-18T03:28:17Z\",\"397.913µs\""]}}}

# scytale launch
$ scytale 
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"initialized Viper environment","configurationFile":"/etc/scytale/scytale.yaml"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"webhook_list_size_value","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_list_size_value","type":"gauge"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"notification_unmarshall_failed_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_notification_unmarshall_failed_count","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"dns_ready_query_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_dns_ready_query_count","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"dns_ready","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_dns_ready","type":"gauge"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"webhook_sns_notification_received_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_sns_notification_received_count","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"webhook_sns_notification_sent_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_sns_notification_sent_count","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"webhook_sns_subscribe_attempt_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_sns_subscribe_attempt_count","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"webhook_sns_subscribed_value","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_webhook_sns_subscribed_value","type":"gauge"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"auth_capability_check","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_auth_capability_check","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"auth_validation","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_auth_validation","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"auth_from_nbf_seconds","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_auth_from_nbf_seconds","type":"histogram"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"auth_from_exp_seconds","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_auth_from_exp_seconds","type":"histogram"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"chrysom_polls_total","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_chrysom_polls_total","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"received_wrp_message_total","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_received_wrp_message_total","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"sd_error_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_error_count","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"sd_update_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_update_count","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"sd_instance_count","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_instance_count","type":"gauge"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"sd_last_error_timestamp","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_last_error_timestamp","type":"gauge"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"sd_last_update_timestamp","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_sd_last_update_timestamp","type":"gauge"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"api_requests_total","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_api_requests_total","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"in_flight_requests","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_in_flight_requests","type":"gauge"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"active_connections","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_active_connections","type":"gauge"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"rejected_connections","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_rejected_connections","type":"counter"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"request_duration_seconds","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_request_duration_seconds","type":"histogram"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"request_size_bytes","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_request_size_bytes","type":"histogram"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"response_size_bytes","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_response_size_bytes","type":"histogram"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"time_writing_header_seconds","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_time_writing_header_seconds","type":"histogram"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"merging metric","name":"maximum_processors","namespace":"xmidt","subsystem":"scytale","fqn":"xmidt_scytale_maximum_processors","type":"gauge"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"request_size_bytes","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_request_size_bytes"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"received_wrp_message_total","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_received_wrp_message_total"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"auth_capability_check","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_auth_capability_check"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"sd_instance_count","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_sd_instance_count"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"dns_ready","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_dns_ready"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"webhook_sns_subscribe_attempt_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_webhook_sns_subscribe_attempt_count"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"auth_from_nbf_seconds","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_auth_from_nbf_seconds"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"api_requests_total","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_api_requests_total"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"in_flight_requests","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_in_flight_requests"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"notification_unmarshall_failed_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_notification_unmarshall_failed_count"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"auth_validation","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_auth_validation"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"chrysom_polls_total","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_chrysom_polls_total"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"rejected_connections","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_rejected_connections"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"request_duration_seconds","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_request_duration_seconds"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"webhook_list_size_value","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_webhook_list_size_value"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"webhook_sns_notification_sent_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_webhook_sns_notification_sent_count"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"webhook_sns_subscribed_value","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_webhook_sns_subscribed_value"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"active_connections","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_active_connections"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"response_size_bytes","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_response_size_bytes"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"webhook_sns_notification_received_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_webhook_sns_notification_received_count"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"sd_last_update_timestamp","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_sd_last_update_timestamp"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"maximum_processors","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_maximum_processors"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"sd_last_error_timestamp","namespace":"xmidt","subsystem":"scytale","type":"gauge","fqn":"xmidt_scytale_sd_last_error_timestamp"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"auth_from_exp_seconds","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_auth_from_exp_seconds"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"sd_error_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_sd_error_count"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"time_writing_header_seconds","namespace":"xmidt","subsystem":"scytale","type":"histogram","fqn":"xmidt_scytale_time_writing_header_seconds"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"dns_ready_query_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_dns_ready_query_count"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"registering merged metric","name":"sd_update_count","namespace":"xmidt","subsystem":"scytale","type":"counter","fqn":"xmidt_scytale_sd_update_count"}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"initialized viper environment","configuartionFile:":"/etc/scytale/scytale.yaml"}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"tracing status","enabled":false}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"using a fixed set of instances for service discovery","instances":["http://localhost:6400"]}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"creating primary handler"}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"using service discovery for fanout"}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"decoded string","string":"dXNlcjpwYXNz","i":4}
{"key":"debug","ts":"2024-03-18T11:26:51+08:00","message":"Created list of allowed basic auths","allowed":{"user":"pass"},"config":["dXNlcjpwYXNz"]}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"subscription monitor starting","fixed":{"Instancer":["http://localhost:6400"]},"eventCount":0}
{"key":"error","ts":"2024-03-18T11:26:51+08:00","message":"service discovery update","fixed":{"Instancer":["http://localhost:6400"]},"instances":["http://localhost:6400"],"eventCount":1}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"Health Monitor Started"}
{"key":"error","ts":"2024-03-18T11:26:51+08:00","message":"starting server","serverName":"scytale","bindAddress":":6300"}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"starting restartable func","serverName":"scytale","bindAddress":":6300","errors":[{"error":"http: Server closed"}]}
{"key":"error","ts":"2024-03-18T11:26:51+08:00","message":"starting server","serverName":"scytale.health","bindAddress":":6301"}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"starting restartable func","serverName":"scytale.health","bindAddress":":6301","errors":[{"error":"http: Server closed"}]}
{"key":"error","ts":"2024-03-18T11:26:51+08:00","message":"starting server","serverName":"scytale.pprof","bindAddress":":6302"}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"starting restartable func","serverName":"scytale.pprof","bindAddress":":6302","errors":[{"error":"http: Server closed"}]}
{"key":"error","ts":"2024-03-18T11:26:51+08:00","message":"key refresh","uri":"http://localhost","keys":[],"new":[],"deleted":[],"error":"Get \"http://localhost\": dial tcp [::1]:80: connect: connection refused"}
{"key":"error","ts":"2024-03-18T11:26:51+08:00","message":"starting server","serverName":"scytale.metrics","bindAddress":":6303"}
{"key":"info","ts":"2024-03-18T11:26:51+08:00","message":"starting restartable func","serverName":"scytale.metrics","bindAddress":":6303","errors":[{"error":"http: Server closed"}]}

# scytale window, after issue curl command "curl -i -H 'Authorization: Basic dXNlcjpwYXNz' http://localhost:6100/api/v3/device/mac:112233445566/stat"
{"key":"debug","ts":"2024-03-18T11:28:17+08:00","message":"accepted connection","serverName":"scytale","bindAddress":":6300","listenNetwork":"tcp","listenAddress":"[::]:6300","remoteAddress":"[::1]:41224"}
{"key":"debug","ts":"2024-03-18T11:28:17+08:00","caller":"/home/runner/go/pkg/mod/github.com/xmidt-org/bascule@v0.11.5/basculehttp/enforcer.go:102","message":"authentication accepted by enforcer","requestHeaders":{"Accept-Encoding":["gzip"],"Authorization-Type":["Basic"],"User-Agent":["Go-http-client/1.1"]},"requestURL":"/api/v3/device/mac:112233445566/stat","method":"GET","ts":"2024-03-18T03:28:17Z"}
{"key":"error","ts":"2024-03-18T11:28:17+08:00","message":"fanout request complete","requestHeaders":{"Accept-Encoding":["gzip"],"Authorization-Type":["Basic"],"User-Agent":["Go-http-client/1.1"]},"requestURL":"/api/v3/device/mac:112233445566/stat","method":"GET","statusCode":503,"url":"http://localhost:6400/api/v3/device/mac:112233445566/stat","error":"dial tcp [::1]:6400: connect: connection refused"}
{"key":"error","ts":"2024-03-18T11:28:17+08:00","message":"all fanout requests failed","requestHeaders":{"Accept-Encoding":["gzip"],"Authorization-Type":["Basic"],"User-Agent":["Go-http-client/1.1"]},"requestURL":"/api/v3/device/mac:112233445566/stat","method":"GET","statusCode":503,"url":"/api/v3/device/mac:112233445566/stat"}
{"key":"debug","ts":"2024-03-18T11:28:17+08:00","message":"wrote fanout response","requestHeaders":{"Accept-Encoding":["gzip"],"Authorization-Type":["Basic"],"User-Agent":["Go-http-client/1.1"]},"requestURL":"/api/v3/device/mac:112233445566/stat","method":"GET","bytes":113}

@denopink
Copy link
Contributor

The 503 is expected since that's scytale trying to reach out to a local talaria on port 6400.

looks like your scytale server is working as expected 🙂

if you have any questions regarding talaria, then feel free to create a new ticket in talaria

otherwise I'm closing this ticket

@VicLin66
Copy link
Author

@denopink sorry for disturb, do you know about my new issue with case xmidt-org/tr1d1um#498?

@denopink
Copy link
Contributor

yup, it's on my queue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants