Initial cloud-services repo - gateway service + pkg modules

This commit is contained in:
Chris Rai
2026-01-30 23:14:52 -05:00
commit fbb820d7b3
1037 changed files with 171318 additions and 0 deletions

41
pkg/health/kafka.go Normal file
View File

@@ -0,0 +1,41 @@
package health
import (
"context"
)
type GetKafkaConsumerFunc func() (KafkaConnCheckInterface, error)
func NewKafkaCheck(fn GetKafkaConsumerFunc) CheckFunc {
return func(ctx context.Context) error {
conn, err := fn()
if err != nil {
return err
}
return conn.Check(ctx)
}
}
type KafkaConnCheckInterface interface {
Check(ctx context.Context) error
}
type GetMultiKafkaConsumerFunc func() ([]KafkaConnCheckInterface, error)
func NewKafkaMultiCheck(fn GetMultiKafkaConsumerFunc) CheckFunc {
return func(ctx context.Context) error {
conns, err := fn()
if err != nil {
return err
}
for _, connection := range conns {
err = connection.Check(ctx)
if err != nil {
return err
}
}
return err
}
}