Go to file
2021-05-26 10:02:21 +02:00
.github/workflows chore: update workflow 2021-05-18 15:18:05 +02:00
config Merge branch 'main' of github.com:foomo/keel 2021-05-25 12:17:23 +02:00
env initial commit 2021-05-18 08:34:47 +02:00
log refactor: resolve error type from error 2021-05-26 10:02:21 +02:00
metrics initial commit 2021-05-18 08:34:47 +02:00
net feat: disable stack trace by default 2021-05-26 09:58:25 +02:00
telemetry feat: use trace provider interface and noop tracer when disabled 2021-05-26 09:59:55 +02:00
utils/net/http initial commit 2021-05-18 08:34:47 +02:00
.editorconfig initial commit 2021-05-18 08:34:47 +02:00
.gitignore initial commit 2021-05-18 08:34:47 +02:00
.golangci.yml initial commit 2021-05-18 08:34:47 +02:00
closer.go feat: add more closers 2021-05-20 07:33:49 +02:00
go.mod feat: add request id middleware 2021-05-20 08:42:33 +02:00
go.sum feat: add request id middleware 2021-05-20 08:42:33 +02:00
ldflags.go initial commit 2021-05-18 08:34:47 +02:00
main.go initial commit 2021-05-18 08:34:47 +02:00
Makefile feat: add log and telemetry closers by default 2021-05-20 07:34:22 +02:00
option.go initial commit 2021-05-18 08:34:47 +02:00
README.md fix: fix bade 2021-05-18 10:16:11 +02:00
server.go feat: use trace provider interface and noop tracer when disabled 2021-05-26 09:59:55 +02:00
service_http_prometheus.go feat: set service name 2021-05-22 22:33:38 +02:00
service_http_viper.go feat: set service name 2021-05-22 22:33:38 +02:00
service_http_zap.go feat: set service name 2021-05-22 22:33:38 +02:00
service_http.go feat: set service name 2021-05-22 22:33:38 +02:00
service.go initial commit 2021-05-18 08:34:47 +02:00

keel

GitHub Super-Linter

Opinionated way to run services.

Stack

  • Configuration: Viper
  • Metrics: Prometheus
  • Telemetry: Open Telemetry
  • Logging: Zap

Example

package main

import (
	"github.com/foomo/keel"
	"github.com/foomo/keel/config"
	"github.com/foomo/keel/log"
	"github.com/foomo/keel/net/http/middleware"
	"github.com/foomo/keel/telemetry"
)

func main() {
	svr := keel.NewServer()

	// register Closers for graceful shutdowns
	svr.AddClosers(telemetry.Provider())

	// add zap service
	svr.AddServices(keel.NewDefaultServiceHTTPZap())

	// add viper service
	svr.AddServices(keel.NewDefaultServiceHTTPViper())

	// add prometheus service
	svr.AddServices(keel.NewDefaultServiceHTTPPrometheus())

	svr.Run()
}