aboutsummaryrefslogtreecommitdiff
path: root/echo/vault.go
blob: 40096fed0e3a34714a6629f27da6242dab989d33 (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
package echo

import (
	"context"

	"code.crute.us/mcrute/golib/service"
	"code.crute.us/mcrute/golib/vault"
	"github.com/labstack/echo/v4"
)

func MakeVaultClient(ctx context.Context, runner *service.AppRunner, log echo.Logger) (vault.VaultClient, error) {
	certRenewal := make(chan *vault.Renewal, 10)

	c, err := vault.NewClientEnv(certRenewal)
	if err != nil {
		return nil, err
	}

	runner.AddJob(vault.MakeRenewalLogger(certRenewal, log))
	runner.AddJobRunNow(c.Run)

	if err = c.LoginApproleEnv(ctx); err != nil {
		return nil, err
	}

	return c, nil
}