Allow /metrics on default port; reduce memory if not enabled
This commit is contained in:
		
							parent
							
								
									bb3fe4f830
								
							
						
					
					
						commit
						358b344916
					
				
					 9 changed files with 184 additions and 125 deletions
				
			
		|  | @ -40,7 +40,6 @@ var flagsServe = append( | |||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "listen-http", Aliases: []string{"listen_http", "l"}, EnvVars: []string{"NTFY_LISTEN_HTTP"}, Value: server.DefaultListenHTTP, Usage: "ip:port used as HTTP listen address"}), | ||||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "listen-https", Aliases: []string{"listen_https", "L"}, EnvVars: []string{"NTFY_LISTEN_HTTPS"}, Usage: "ip:port used as HTTPS listen address"}), | ||||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "listen-unix", Aliases: []string{"listen_unix", "U"}, EnvVars: []string{"NTFY_LISTEN_UNIX"}, Usage: "listen on unix socket path"}), | ||||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "listen-metrics-http", Aliases: []string{"listen_metrics_http"}, EnvVars: []string{"NTFY_LISTEN_METRICS_HTTP"}, Usage: "ip:port used to expose the metrics endpoint"}), | ||||
| 	altsrc.NewIntFlag(&cli.IntFlag{Name: "listen-unix-mode", Aliases: []string{"listen_unix_mode"}, EnvVars: []string{"NTFY_LISTEN_UNIX_MODE"}, DefaultText: "system default", Usage: "file permissions of unix socket, e.g. 0700"}), | ||||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "key-file", Aliases: []string{"key_file", "K"}, EnvVars: []string{"NTFY_KEY_FILE"}, Usage: "private key file, if listen-https is set"}), | ||||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "cert-file", Aliases: []string{"cert_file", "E"}, EnvVars: []string{"NTFY_CERT_FILE"}, Usage: "certificate file, if listen-https is set"}), | ||||
|  | @ -87,6 +86,8 @@ var flagsServe = append( | |||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "stripe-secret-key", Aliases: []string{"stripe_secret_key"}, EnvVars: []string{"NTFY_STRIPE_SECRET_KEY"}, Value: "", Usage: "key used for the Stripe API communication, this enables payments"}), | ||||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "stripe-webhook-key", Aliases: []string{"stripe_webhook_key"}, EnvVars: []string{"NTFY_STRIPE_WEBHOOK_KEY"}, Value: "", Usage: "key required to validate the authenticity of incoming webhooks from Stripe"}), | ||||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "billing-contact", Aliases: []string{"billing_contact"}, EnvVars: []string{"NTFY_BILLING_CONTACT"}, Value: "", Usage: "e-mail or website to display in upgrade dialog (only if payments are enabled)"}), | ||||
| 	altsrc.NewBoolFlag(&cli.BoolFlag{Name: "enable-metrics", Aliases: []string{"enable_metrics"}, EnvVars: []string{"NTFY_ENABLE_METRICS"}, Value: false, Usage: "if set, Prometheus metrics are exposed via the /metrics endpoint"}), | ||||
| 	altsrc.NewStringFlag(&cli.StringFlag{Name: "metrics-listen-http", Aliases: []string{"metrics_listen_http"}, EnvVars: []string{"NTFY_METRICS_LISTEN_HTTP"}, Usage: "ip:port used to expose the metrics endpoint (implicitly enables metrics)"}), | ||||
| ) | ||||
| 
 | ||||
| var cmdServe = &cli.Command{ | ||||
|  | @ -119,7 +120,6 @@ func execServe(c *cli.Context) error { | |||
| 	listenHTTPS := c.String("listen-https") | ||||
| 	listenUnix := c.String("listen-unix") | ||||
| 	listenUnixMode := c.Int("listen-unix-mode") | ||||
| 	listenMetricsHTTP := c.String("listen-metrics-http") | ||||
| 	keyFile := c.String("key-file") | ||||
| 	certFile := c.String("cert-file") | ||||
| 	firebaseKeyFile := c.String("firebase-key-file") | ||||
|  | @ -165,6 +165,8 @@ func execServe(c *cli.Context) error { | |||
| 	stripeSecretKey := c.String("stripe-secret-key") | ||||
| 	stripeWebhookKey := c.String("stripe-webhook-key") | ||||
| 	billingContact := c.String("billing-contact") | ||||
| 	metricsListenHTTP := c.String("metrics-listen-http") | ||||
| 	enableMetrics := c.Bool("enable-metrics") || metricsListenHTTP != "" | ||||
| 
 | ||||
| 	// Check values | ||||
| 	if firebaseKeyFile != "" && !util.FileExists(firebaseKeyFile) { | ||||
|  | @ -271,7 +273,6 @@ func execServe(c *cli.Context) error { | |||
| 	conf.ListenHTTPS = listenHTTPS | ||||
| 	conf.ListenUnix = listenUnix | ||||
| 	conf.ListenUnixMode = fs.FileMode(listenUnixMode) | ||||
| 	conf.ListenMetricsHTTP = listenMetricsHTTP | ||||
| 	conf.KeyFile = keyFile | ||||
| 	conf.CertFile = certFile | ||||
| 	conf.FirebaseKeyFile = firebaseKeyFile | ||||
|  | @ -318,6 +319,8 @@ func execServe(c *cli.Context) error { | |||
| 	conf.EnableSignup = enableSignup | ||||
| 	conf.EnableLogin = enableLogin | ||||
| 	conf.EnableReservations = enableReservations | ||||
| 	conf.EnableMetrics = enableMetrics | ||||
| 	conf.MetricsListenHTTP = metricsListenHTTP | ||||
| 	conf.Version = c.App.Version | ||||
| 
 | ||||
| 	// Set up hot-reloading of config | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue