func NewSolver(ctx *controller.Context) *Solver {
	return &Solver{
		Context:          ctx,
		podLister:        ctx.KubeSharedInformerFactory.Core().V1().Pods().Lister(),
		serviceLister:    ctx.KubeSharedInformerFactory.Core().V1().Services().Lister(),
		ingressLister:    ctx.KubeSharedInformerFactory.Extensions().V1beta1().Ingresses().Lister(),
		testReachability: testReachability,
		requiredPasses:   5,
	}
}
// NewSolver returns a new ACME HTTP01 solver for the given Issuer and client.
// TODO: refactor this to have fewer args
NewSolver returns a new ACME HTTP01 solver for the given Issuer and client.
TODO: refactor this to have fewer args
// NewSolver returns a new ACME HTTP01 solver for the given Issuer and client . // TODO : refactor this to have fewer args
func NewSolver(ctx *controller.Context) *Solver {
	return &Solver{
		Context:          ctx,
		podLister:        ctx.KubeSharedInformerFactory.Core().V1().Pods().Lister(),
		serviceLister:    ctx.KubeSharedInformerFactory.Core().V1().Services().Lister(),
		ingressLister:    ctx.KubeSharedInformerFactory.Extensions().V1beta1().Ingresses().Lister(),
		testReachability: testReachability,
		requiredPasses:   5,
	}
}
func NewSolver ( ctx * controller . Context ) * Solver { return & Solver { Context : ctx , podLister : ctx . KubeSharedInformerFactory . Core ( ) . V1 ( ) . Pods ( ) . Lister ( ) , serviceLister : ctx . KubeSharedInformerFactory . Core ( ) . V1 ( ) . Services ( ) . Lister ( ) , ingressLister : ctx . KubeSharedInformerFactory . Extensions ( ) . V1beta1 ( ) . Ingresses ( ) . Lister ( ) , testReachability : testReachability , requiredPasses : 5 , } }
NewSolver returns a new ACME HTTP01 solver for the given Issuer and client.
NewSolver returns a new ACME HTTP01 solver for the given Issuer and client .