kubernetes-operator/test/e2e/mode_openshift_oauth.go

105 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
}
}
*/