TUN-7549: Add metrics route to management service
This commit is contained in:
		
							parent
							
								
									4fd284dbe7
								
							
						
					
					
						commit
						6c0dd59701
					
				|  | @ -12,6 +12,7 @@ import ( | ||||||
| 	"github.com/go-chi/chi/v5" | 	"github.com/go-chi/chi/v5" | ||||||
| 	"github.com/go-chi/cors" | 	"github.com/go-chi/cors" | ||||||
| 	"github.com/google/uuid" | 	"github.com/google/uuid" | ||||||
|  | 	"github.com/prometheus/client_golang/prometheus/promhttp" | ||||||
| 	"github.com/rs/zerolog" | 	"github.com/rs/zerolog" | ||||||
| 	"nhooyr.io/websocket" | 	"nhooyr.io/websocket" | ||||||
| ) | ) | ||||||
|  | @ -38,6 +39,9 @@ type ManagementService struct { | ||||||
| 	clientID  uuid.UUID | 	clientID  uuid.UUID | ||||||
| 	label     string | 	label     string | ||||||
| 
 | 
 | ||||||
|  | 	// Additional Handlers
 | ||||||
|  | 	metricsHandler http.Handler | ||||||
|  | 
 | ||||||
| 	log    *zerolog.Logger | 	log    *zerolog.Logger | ||||||
| 	router chi.Router | 	router chi.Router | ||||||
| 
 | 
 | ||||||
|  | @ -56,18 +60,20 @@ func New(managementHostname string, | ||||||
| 	logger LoggerListener, | 	logger LoggerListener, | ||||||
| ) *ManagementService { | ) *ManagementService { | ||||||
| 	s := &ManagementService{ | 	s := &ManagementService{ | ||||||
| 		Hostname:  managementHostname, | 		Hostname:       managementHostname, | ||||||
| 		log:       log, | 		log:            log, | ||||||
| 		logger:    logger, | 		logger:         logger, | ||||||
| 		serviceIP: serviceIP, | 		serviceIP:      serviceIP, | ||||||
| 		clientID:  clientID, | 		clientID:       clientID, | ||||||
| 		label:     label, | 		label:          label, | ||||||
|  | 		metricsHandler: promhttp.Handler(), | ||||||
| 	} | 	} | ||||||
| 	r := chi.NewRouter() | 	r := chi.NewRouter() | ||||||
| 	r.Use(ValidateAccessTokenQueryMiddleware) | 	r.Use(ValidateAccessTokenQueryMiddleware) | ||||||
| 	r.Get("/ping", ping) | 	r.Get("/ping", ping) | ||||||
| 	r.Head("/ping", ping) | 	r.Head("/ping", ping) | ||||||
| 	r.Get("/logs", s.logs) | 	r.Get("/logs", s.logs) | ||||||
|  | 	r.Get("/metrics", s.metricsHandler.ServeHTTP) | ||||||
| 	r.Route("/host_details", func(r chi.Router) { | 	r.Route("/host_details", func(r chi.Router) { | ||||||
| 		// CORS middleware required to allow dash to access management.argotunnel.com requests
 | 		// CORS middleware required to allow dash to access management.argotunnel.com requests
 | ||||||
| 		r.Use(cors.Handler(cors.Options{ | 		r.Use(cors.Handler(cors.Options{ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue