func()

in goalresolvers/goal_resolver.go [139:164]


func (g *webhookTlsManagerGoalResolver) Resolve(ctx context.Context) (*WebhookTlsManagerGoal, *error) {
	logger := log.MustGetLogger(ctx)
	logger.Infof(ctx, "Resolve: isKubeSystemNamespaceBlocked=%v, IsWebhookTlsManagerEnabled=%v", g.isKubeSystemNamespaceBlocked, g.IsWebhookTlsManagerEnabled)
	goal := &WebhookTlsManagerGoal{
		IsKubeSystemNamespaceBlocked: g.isKubeSystemNamespaceBlocked,
		IsWebhookTlsManagerEnabled:   g.IsWebhookTlsManagerEnabled,
	}

	rotateCert, cerr := g.shouldRotateCert(ctx)
	if cerr != nil {
		logger.Errorf(ctx, "Failed to check cert expiration date. error: %s", *cerr)
		return nil, cerr
	}
	if !rotateCert {
		logger.Info(ctx, "no need to rotate cert.")
		goal.CertData = nil
	} else {
		data, cerr := g.generateCertificates(ctx)
		if cerr != nil {
			logger.Errorf(ctx, "generateCertificates. error: %s", *cerr)
			return nil, cerr
		}
		goal.CertData = data
	}
	return goal, nil
}