summaryrefslogtreecommitdiff
path: root/config/options.go
diff options
context:
space:
mode:
Diffstat (limited to 'config/options.go')
-rw-r--r--config/options.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/config/options.go b/config/options.go
index 0934f83c..f7d7bda0 100644
--- a/config/options.go
+++ b/config/options.go
@@ -56,6 +56,9 @@ const (
defaultAuthProxyUserCreation = false
defaultMaintenanceMode = false
defaultMaintenanceMessage = "Miniflux is currently under maintenance"
+ defaultMetricsCollector = false
+ defaultMetricsRefreshInterval = 60
+ defaultMetricsAllowedNetworks = "127.0.0.1/8"
)
// Options contains configuration options.
@@ -106,6 +109,9 @@ type Options struct {
authProxyUserCreation bool
maintenanceMode bool
maintenanceMessage string
+ metricsCollector bool
+ metricsRefreshInterval int
+ metricsAllowedNetworks []string
}
// NewOptions returns Options with default values.
@@ -155,6 +161,9 @@ func NewOptions() *Options {
authProxyUserCreation: defaultAuthProxyUserCreation,
maintenanceMode: defaultMaintenanceMode,
maintenanceMessage: defaultMaintenanceMessage,
+ metricsCollector: defaultMetricsCollector,
+ metricsRefreshInterval: defaultMetricsRefreshInterval,
+ metricsAllowedNetworks: []string{defaultMetricsAllowedNetworks},
}
}
@@ -398,6 +407,21 @@ func (o *Options) IsAuthProxyUserCreationAllowed() bool {
return o.authProxyUserCreation
}
+// HasMetricsCollector returns true if metrics collection is enabled.
+func (o *Options) HasMetricsCollector() bool {
+ return o.metricsCollector
+}
+
+// MetricsRefreshInterval returns the refresh interval in seconds.
+func (o *Options) MetricsRefreshInterval() int {
+ return o.metricsRefreshInterval
+}
+
+// MetricsAllowedNetworks returns the list of networks allowed to connect to the metrics endpoint.
+func (o *Options) MetricsAllowedNetworks() []string {
+ return o.metricsAllowedNetworks
+}
+
func (o *Options) String() string {
var builder strings.Builder
builder.WriteString(fmt.Sprintf("LOG_DATE_TIME: %v\n", o.logDateTime))
@@ -446,5 +470,8 @@ func (o *Options) String() string {
builder.WriteString(fmt.Sprintf("AUTH_PROXY_USER_CREATION: %v\n", o.authProxyUserCreation))
builder.WriteString(fmt.Sprintf("MAINTENANCE_MODE: %v\n", o.maintenanceMode))
builder.WriteString(fmt.Sprintf("MAINTENANCE_MESSAGE: %v\n", o.maintenanceMessage))
+ builder.WriteString(fmt.Sprintf("METRICS_COLLECTOR: %v\n", o.metricsCollector))
+ builder.WriteString(fmt.Sprintf("METRICS_REFRESH_INTERVAL: %v\n", o.metricsRefreshInterval))
+ builder.WriteString(fmt.Sprintf("METRICS_ALLOWED_NETWORKS: %v\n", o.metricsAllowedNetworks))
return builder.String()
}