aboutsummaryrefslogtreecommitdiff
path: root/vault/logger.go
blob: a83eb33f8ad7d94cf477636203387f86208cf483 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package vault

import (
	"context"
	"sync"

	"code.crute.us/mcrute/golib/service"
)

type VaultInfofLogger interface {
	Infof(string, ...interface{})
}

func MakeRenewalLogger(rc chan *Renewal, log VaultInfofLogger) service.RunnerFunc {
	return func(ctx context.Context, wg *sync.WaitGroup) error {
		wg.Add(1)
		defer wg.Done()

		for {
			select {
			case r := <-rc:
				log.Infof("Renewing credential %s at %s", r.Name, r.RenewedAt)
			case <-ctx.Done():
				log.Infof("Shutting down vault renewal logger")
				return nil
			}
		}
		return nil
	}
}