func (c *Config) WithKubeconfigFile(kubecfg string) *Config {
	c.kubeconfig = kubecfg
	return c
}
WithKubeconfigFile creates a new klient.Client and injects it in the cfg
package envconf
import (
	"encoding/hex"
	"fmt"
	"log"
	"math/rand"
	"regexp"
	"time"
	"sigs.k8s.io/e2e-framework/klient"
	"sigs.k8s.io/e2e-framework/pkg/flags"
)
type Config struct {
	client              klient.Client
	kubeconfig          string
	namespace           string
	assessmentRegex     *regexp.Regexp
	featureRegex        *regexp.Regexp
	labels              map[string]string
	skipFeatureRegex    *regexp.Regexp
	skipLabels          map[string]string
	skipAssessmentRegex *regexp.Regexp
}
func New() *Config {
	return &Config{}
}
func NewWithKubeConfig(kubeconfig string) *Config {
	c := &Config{}
	return c.WithKubeconfigFile(kubeconfig)
}
func NewFromFlags() (*Config, error) {
	envFlags, err := flags.Parse()
	if err != nil {
		log.Fatalf("flags parse failed: %s", err)
	}
	e := New()
	if envFlags.Assessment() != "" {
		e.assessmentRegex = regexp.MustCompile(envFlags.Assessment())
	}
	if envFlags.Feature() != "" {
		e.featureRegex = regexp.MustCompile(envFlags.Feature())
	}
	e.labels = envFlags.Labels()
	e.namespace = envFlags.Namespace()
	e.kubeconfig = envFlags.Kubeconfig()
	if envFlags.SkipFeatures() != "" {
		e.skipFeatureRegex = regexp.MustCompile(envFlags.SkipFeatures())
	}
	if envFlags.SkipAssessment() != "" {
		e.skipAssessmentRegex = regexp.MustCompile(envFlags.SkipAssessment())
	}
	e.skipLabels = envFlags.SkipLabels()
	return e, nil
}