@@ -10,10 +10,12 @@ import (
1010 "time"
1111
1212 "github.com/dxta-dev/app/internal/internal_api/handler"
13+ "github.com/dxta-dev/app/internal/onboarding"
1314 "github.com/dxta-dev/app/internal/util"
1415 "github.com/go-chi/chi/v5"
1516 "github.com/go-chi/chi/v5/middleware"
1617 "github.com/go-chi/jwtauth/v5"
18+ "go.temporal.io/sdk/client"
1719
1820 "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
1921 instrruntime "go.opentelemetry.io/contrib/instrumentation/runtime"
@@ -50,6 +52,11 @@ func initTracer(ctx context.Context, res *sdkresource.Resource) (*sdktrace.Trace
5052}
5153
5254func main () {
55+ cfg , err := onboarding .LoadConfig ()
56+ if err != nil {
57+ log .Fatalln ("Failed to load configuration:" , err )
58+ }
59+
5360 isEndpointProvided := os .Getenv ("OTEL_EXPORTER_OTLP_ENDPOINT" ) != "" ||
5461 os .Getenv ("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT" ) != ""
5562
@@ -112,6 +119,18 @@ func main() {
112119 srv .IdleTimeout = 30 * time .Second
113120 }
114121
122+ temporalClient , err := client .Dial (client.Options {
123+ HostPort : cfg .TemporalHostPort ,
124+ Namespace : cfg .TemporalOnboardingNamespace ,
125+ })
126+ if err != nil {
127+ log .Fatalf ("Unable to create Temporal client: %v" , err )
128+ }
129+
130+ defer temporalClient .Close ()
131+
132+ usersHandler := handler .NewUsers (temporalClient , * cfg )
133+
115134 r .Route ("/tenant" , func (r chi.Router ) {
116135 if os .Getenv ("ENABLE_JWT_AUTH" ) == "true" {
117136 pubKey , _ := util .GetRawPublicKey ()
@@ -134,6 +153,12 @@ func main() {
134153 w .Write ([]byte (`OK` ))
135154 })
136155
156+ r .Get ("/ready" , func (w http.ResponseWriter , r * http.Request ) {
157+ w .Write ([]byte (`OK` ))
158+ })
159+
160+ r .Get ("/users-count" , usersHandler .UsersCount )
161+
137162 go func () {
138163 log .Printf ("Listening on %s\n " , srv .Addr )
139164 if err := srv .ListenAndServe (); err != nil && err != http .ErrServerClosed {
0 commit comments