106 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
| // +build OpenShiftOAuth
 | |
| 
 | |
| package e2e
 | |
| 
 | |
| // TODO
 | |
| /*
 | |
| import (
 | |
| 	"context"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
 | |
| 	"github.com/jenkinsci/kubernetes-operator/pkg/configuration/base/resources"
 | |
| 	"github.com/jenkinsci/kubernetes-operator/pkg/constants"
 | |
| 
 | |
| 	framework "github.com/operator-framework/operator-sdk/pkg/test"
 | |
| 	corev1 "k8s.io/api/core/v1"
 | |
| 	rbacv1 "k8s.io/api/rbac/v1"
 | |
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | |
| )
 | |
| 
 | |
| const (
 | |
| 	skipTestSafeRestart   = true
 | |
| 	skipTestPriorityClass = true
 | |
| )
 | |
| 
 | |
| func updateJenkinsCR(t *testing.T, jenkins *v1alpha2.Jenkins) {
 | |
| 	t.Log("Update Jenkins CR: OpenShiftOAuth")
 | |
| 
 | |
| 	adminRoleBinding := &rbacv1.RoleBinding{
 | |
| 		TypeMeta: metav1.TypeMeta{
 | |
| 			Kind:       "RoleBinding",
 | |
| 			APIVersion: "rbac.authorization.k8s.io/v1",
 | |
| 		},
 | |
| 		ObjectMeta: metav1.ObjectMeta{
 | |
| 			Name:      "admin",
 | |
| 			Namespace: jenkins.Namespace,
 | |
| 		},
 | |
| 		RoleRef: rbacv1.RoleRef{
 | |
| 			APIGroup: "rbac.authorization.k8s.io",
 | |
| 			Kind:     "ClusterRole",
 | |
| 			Name:     "admin",
 | |
| 		},
 | |
| 		Subjects: []rbacv1.Subject{
 | |
| 			{
 | |
| 				Kind:      "ServiceAccount",
 | |
| 				Name:      constants.OperatorName,
 | |
| 				Namespace: jenkins.Namespace,
 | |
| 			},
 | |
| 		},
 | |
| 	}
 | |
| 	if err := framework.Global.Client.Create(context.TODO(), adminRoleBinding, nil); err != nil {
 | |
| 		t.Fatal(err)
 | |
| 	}
 | |
| 
 | |
| 	jenkins.Spec.JenkinsAPISettings = v1alpha2.JenkinsAPISettings{AuthorizationStrategy: v1alpha2.ServiceAccountAuthorizationStrategy}
 | |
| 	jenkins.Spec.Master.Containers[0].Image = "quay.io/openshift/origin-jenkins"
 | |
| 	jenkins.Spec.Master.Containers[0].Command = []string{
 | |
| 		"bash",
 | |
| 		"-c",
 | |
| 		"/var/jenkins/scripts/init.sh && exec /usr/bin/go-init -main /usr/libexec/s2i/run",
 | |
| 	}
 | |
| 	jenkins.Spec.Roles = []rbacv1.RoleRef{
 | |
| 		{
 | |
| 			APIGroup: "rbac.authorization.k8s.io",
 | |
| 			Kind:     "ClusterRole",
 | |
| 			Name:     "admin",
 | |
| 		},
 | |
| 	}
 | |
| 	jenkins.Spec.Master.DisableCSRFProtection = true
 | |
| 	jenkins.Spec.Master.Containers[0].Env = append(jenkins.Spec.Master.Containers[0].Env,
 | |
| 		corev1.EnvVar{
 | |
| 			Name:  "OPENSHIFT_ENABLE_OAUTH",
 | |
| 			Value: "true",
 | |
| 		},
 | |
| 		corev1.EnvVar{
 | |
| 			Name:  "OPENSHIFT_ENABLE_REDIRECT_PROMPT",
 | |
| 			Value: "true",
 | |
| 		},
 | |
| 		corev1.EnvVar{
 | |
| 			Name:  "DISABLE_ADMINISTRATIVE_MONITORS",
 | |
| 			Value: "false",
 | |
| 		},
 | |
| 		corev1.EnvVar{
 | |
| 			Name:  "KUBERNETES_TRUST_CERTIFICATES",
 | |
| 			Value: "true",
 | |
| 		},
 | |
| 		corev1.EnvVar{
 | |
| 			Name:  "JENKINS_UC_INSECURE",
 | |
| 			Value: "false",
 | |
| 		},
 | |
| 		corev1.EnvVar{
 | |
| 			Name:  "JENKINS_SERVICE_NAME",
 | |
| 			Value: resources.GetJenkinsHTTPServiceName(jenkins),
 | |
| 		},
 | |
| 		corev1.EnvVar{
 | |
| 			Name:  "JNLP_SERVICE_NAME",
 | |
| 			Value: resources.GetJenkinsSlavesServiceName(jenkins),
 | |
| 		},
 | |
| 	)
 | |
| 
 | |
| 	if len(jenkins.Spec.Master.Plugins) == 4 && jenkins.Spec.Master.Plugins[3].Name == "devoptics" {
 | |
| 		jenkins.Spec.Master.Plugins = jenkins.Spec.Master.Plugins[0:3] // remove devoptics plugin
 | |
| 	}
 | |
| }
 | |
| */
 |