func NewBuilder() *Builder {
	return &Builder{
		con: &container{},
	}
}
NewBuilder returns a new instance of builder
package container
import (
	errors "github.com/pkg/errors"
	corev1 "k8s.io/api/core/v1"
)
type container struct {
	corev1.Container  
}
type OptionFunc func(*container)
type Predicate func(*container) (nameOrMsg string, ok bool)
func predicateFailedError(message string) error {
	return errors.Errorf("predicatefailed: %s", message)
}
func (c *container) asContainer() corev1.Container {
	return corev1.Container{
		Name:                     c.Name,
		Image:                    c.Image,
		Command:                  c.Command,
		Args:                     c.Args,
		WorkingDir:               c.WorkingDir,
		Ports:                    c.Ports,
		EnvFrom:                  c.EnvFrom,
		Env:                      c.Env,
		Resources:                c.Resources,
		VolumeMounts:             c.VolumeMounts,
		VolumeDevices:            c.VolumeDevices,
		LivenessProbe:            c.LivenessProbe,
		ReadinessProbe:           c.ReadinessProbe,
		Lifecycle:                c.Lifecycle,
		TerminationMessagePath:   c.TerminationMessagePath,
		TerminationMessagePolicy: c.TerminationMessagePolicy,
		ImagePullPolicy:          c.ImagePullPolicy,
		SecurityContext:          c.SecurityContext,
		Stdin:                    c.Stdin,
		StdinOnce:                c.StdinOnce,
		TTY:                      c.TTY,
	}
}
func New(opts ...OptionFunc) corev1.Container {
	c := &container{}
	for _, o := range opts {
		o(c)
	}
	return c.asContainer()
}
type Builder struct {
	con    *container   
	checks []Predicate  
	errors []error      
}