Go to file
Kevin Franklin Kim aa79868e55 chore: update deps
2022-03-08 21:13:08 +01:00
.github chore: update deps 2022-03-08 21:13:08 +01:00
config feat: extend config with exampl 2021-09-14 08:55:54 +02:00
env initial commit 2021-05-18 08:34:47 +02:00
errors feat: add mongo persistance 2021-10-01 16:19:13 +02:00
example feat: update otel 2022-03-08 14:56:59 +01:00
integration/temporal feat: remove deprecated var 2022-03-08 14:58:40 +01:00
jwt feat: add keeltime 2022-01-03 13:20:06 +01:00
log feat: use msgAndArgs for must 2022-02-11 15:34:49 +01:00
metrics docs: mark metrics as deprecated 2021-09-10 12:00:38 +02:00
net fix: only reconnect connection on error 2022-02-02 11:38:26 +01:00
persistence feat: update otel 2022-03-08 14:56:59 +01:00
telemetry fix: use NewOTLPGRPCTraceProvider 2022-03-08 18:17:22 +01:00
test fix: handle error 2022-02-16 16:29:46 +01:00
time feat: add keeltime 2022-01-03 13:20:06 +01:00
utils/net/http revert: don't send error handler 2021-09-10 12:01:20 +02:00
.editorconfig chore: linting 2021-11-19 14:16:09 +01:00
.gitignore chore: ignore log files 2022-03-08 14:57:21 +01:00
.golangci.yml chore: disable gocyclo 2022-03-08 14:57:12 +01:00
.husky.yaml chore: add husky 2021-12-14 16:56:34 +01:00
.prettierrc.yml chore: update github workflow 2021-11-19 12:29:44 +01:00
closer.go feat: update otel 2022-03-08 14:56:59 +01:00
go.mod feat: update otel 2022-03-08 14:56:59 +01:00
go.sum feat: update otel 2022-03-08 14:56:59 +01:00
ldflags.go initial commit 2021-05-18 08:34:47 +02:00
LICENSE docs: add license 2021-07-26 15:58:31 +02:00
Makefile feat: update otel 2022-03-08 14:56:59 +01:00
option.go fix: use NewOTLPGRPCTraceProvider 2022-03-08 18:17:22 +01:00
README.md chore: linting 2021-11-19 14:16:09 +01:00
server_test.go test: add timeout 2022-02-03 09:02:34 +01:00
server.go feat: update otel 2022-03-08 14:56:59 +01:00
service.go feat: add name 2021-11-16 15:31:09 +01:00
servicehttp.go wip: remove comments 2021-11-17 11:41:03 +01:00
servicehttpprometheus.go feat: update telemetry 2021-09-06 22:15:23 +02:00
servicehttpviper.go feat: update telemetry 2021-09-06 22:15:23 +02:00
servicehttpzap.go feat: update telemetry 2021-09-06 22:15:23 +02:00

keel

Go Report Card godoc GitHub Super-Linter

Opinionated way to run services.

Stack

  • Zap
  • Viper
  • Open Telemetry
  • Nats
  • GoTSRPC

Examples

See the examples folder for usages

package main

import (
  "net/http"

  "github.com/foomo/keel"
)

func main() {
  svr := keel.NewServer(
    keel.WithHTTPZapService(true),
    keel.WithHTTPViperService(true),
    keel.WithHTTPPrometheusService(true),
  )

  l := svr.Logger()

  svs := newService()

  svr.AddService(
    keel.NewServiceHTTP(l, "demo", ":8080", svs),
  )

  svr.Run()
}

func newService() *http.ServeMux {
  s := http.NewServeMux()
  s.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(http.StatusOK)
    _, _ = w.Write([]byte("OK"))
  })
  return s
}

How to Contribute

Make a pull request...

License

Distributed under MIT License, please see license file within the code for more details.