You've already forked prometheus-fail2ban-exporter
							
							feat: use goreleaser
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Golang Tests / unittest (stable, ubuntu-latest-amd64) (push) Failing after 15s
				
			
		
			
				
	
				Golang Tests / unittest (stable, ubuntu-latest-arm64) (push) Failing after 15s
				
			
		
			
				
	
				Markdown linter / markdown-lint (push) Failing after 13s
				
			
		
			
				
	
				Golang CI lint / golangci (stable, ubuntu-latest-amd64) (push) Failing after 28s
				
			
		
			
				
	
				Golang CI lint / golangci (stable, ubuntu-latest-arm64) (push) Failing after 2m39s
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Golang Tests / unittest (stable, ubuntu-latest-amd64) (push) Failing after 15s
				
			Golang Tests / unittest (stable, ubuntu-latest-arm64) (push) Failing after 15s
				
			Markdown linter / markdown-lint (push) Failing after 13s
				
			Golang CI lint / golangci (stable, ubuntu-latest-amd64) (push) Failing after 28s
				
			Golang CI lint / golangci (stable, ubuntu-latest-arm64) (push) Failing after 2m39s
				
			This commit is contained in:
		
							
								
								
									
										64
									
								
								main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								main.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | ||||
| package main | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"log" | ||||
| 	"os" | ||||
| 	"os/signal" | ||||
| 	"syscall" | ||||
|  | ||||
| 	"git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter/cfg" | ||||
| 	"git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter/collector/f2b" | ||||
| 	"git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter/collector/textfile" | ||||
| 	"git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter/server" | ||||
| 	"github.com/prometheus/client_golang/prometheus" | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	version = "dev" | ||||
| 	date    = "unknown" | ||||
| ) | ||||
|  | ||||
| func printAppVersion() { | ||||
| 	fmt.Printf("Version:    %s\n", version) | ||||
| 	fmt.Printf("Build date: %s\n", date) | ||||
| } | ||||
|  | ||||
| func main() { | ||||
| 	appSettings := cfg.Parse() | ||||
| 	if appSettings.VersionMode { | ||||
| 		printAppVersion() | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	handleGracefulShutdown() | ||||
| 	log.Printf("fail2ban exporter version %s", version) | ||||
| 	log.Printf("starting server at %s", appSettings.MetricsAddress) | ||||
|  | ||||
| 	f2bCollector := f2b.NewExporter(appSettings, version) | ||||
| 	prometheus.MustRegister(f2bCollector) | ||||
|  | ||||
| 	textFileCollector := textfile.NewCollector(appSettings) | ||||
| 	prometheus.MustRegister(textFileCollector) | ||||
|  | ||||
| 	if !appSettings.DryRunMode { | ||||
| 		svrErr := server.StartServer(appSettings, textFileCollector) | ||||
| 		err := <-svrErr | ||||
| 		log.Fatal(err) | ||||
| 	} else { | ||||
| 		log.Print("running in dry-run mode - exiting") | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func handleGracefulShutdown() { | ||||
| 	var signals = make(chan os.Signal, 1) | ||||
|  | ||||
| 	signal.Notify(signals, syscall.SIGTERM) | ||||
| 	signal.Notify(signals, syscall.SIGINT) | ||||
|  | ||||
| 	go func() { | ||||
| 		sig := <-signals | ||||
| 		log.Printf("caught signal: %+v", sig) | ||||
| 		os.Exit(0) | ||||
| 	}() | ||||
| } | ||||
		Reference in New Issue
	
	Block a user