func RedirectURL(URL string) string {
	return fmt.Sprintf("%s/oauth2/callback", URL)
}
RedirectURL build the redirect URL for oauth2 proxy
package proxy
import (
	"crypto/rand"
	"crypto/sha256"
	"encoding/base64"
	"fmt"
	"path/filepath"
	"strings"
	"time"
	"github.com/dexidp/dex/api"
	apiv1 "github.com/jenkins-x/sso-operator/pkg/apis/jenkins.io/v1"
	"github.com/jenkins-x/sso-operator/pkg/kubernetes"
	"github.com/operator-framework/operator-sdk/pkg/sdk"
	"github.com/pkg/errors"
	appsv1 "k8s.io/api/apps/v1"
	v1 "k8s.io/api/core/v1"
	apierrors "k8s.io/apimachinery/pkg/api/errors"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	k8slabels "k8s.io/apimachinery/pkg/labels"
	"k8s.io/apimachinery/pkg/util/intstr"
)
const (
	configPath          = "/config/oauth2_proxy.cfg"
	configVolumeName    = "proxy-config"
	configSecretName    = "proxy-secret"  
	secretVersionEnv    = "SECRET_VERSION"
	portName            = "proxy-port"
	port                = 4180
	healthPath          = "/ping"
	replicas            = 1
	publicPort          = 80
	cookieSecretLen     = 32
	fakeURL             = "https://fake-oauth2-proxy"
	createTimeout       = time.Duration(60 * time.Second)
	createIntervalCheck = time.Duration(10 * time.Second)
	readyTimeout        = time.Duration(5 * time.Minute)
	appLabel            = "app"
	releaseLabel        = "release"
	exposeAnnotation         = "fabric8.io/expose"
	exposeIngressAnnotation  = "fabric8.io/ingress.annotations"
	ingressNameAnnotation    = "fabric8.io/ingress.name"
	ingressClassAnnotations  = "kubernetes.io/ingress.class"
	oldCertManagerAnnotation = "certmanager.k8s.io/issuer"
	certManagerAnnotation    = "cert-manager.io/issuer"
	ingressClass             = "nginx"
)
type Proxy struct {
	AppName    string
	Secret     *v1.Secret
	Deployment *appsv1.Deployment
	Service    *v1.Service
}
func FakeRedirectURL() string {
	return RedirectURL(fakeURL)
}