chiguirez / snout

Entry point or bootstrap for MS built on GO, it handles Signalling, config vars and envVars

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

snout Go Reference

Bootstrap package for building Services in Go, Handle Signaling and Config coming from env, yaml or json files as well as envVars

Example

func main() {
	kernel := snout.Kernel[Config]{
		RunE: Run,
	}
	kernelBootstrap := kernel.Bootstrap(
	    context.Background(),
	)
	if err := kernelBootstrap.Initialize(); err != nil {
		if err != context.Canceled {
			panic(err)
		}
	}
}

type Config struct {
	Kafka struct {
		BrokerAddress string `snout:"broker_address"`
		ConsumerGroup string `snout:"consumer_group"`
		Topic         string `snout:"topic"`
	} `snout:"kafka"`
	App struct {
		//...
	} `snout:"app"`
}

func Run(ctx context.Context, cfg Config) error{
  //
  // ..  
  //
}

About

Entry point or bootstrap for MS built on GO, it handles Signalling, config vars and envVars

License:MIT License


Languages

Language:Go 100.0%