Search in sources :

Example 11 with RoleBindingBuilder

use of io.fabric8.openshift.api.model.RoleBindingBuilder in project kubernetes-client by fabric8io.

the class OpenshiftRoleBindingTest method testCreateInline.

@Test
void testCreateInline() throws Exception {
    server.expect().post().withPath("/apis/authorization.openshift.io/v1/namespaces/test/rolebindings").andReturn(201, expectedRoleBinding).once();
    RoleBinding response = client.roleBindings().create(new RoleBindingBuilder().withNewMetadata().endMetadata().addNewSubject().withKind("User").withName("testuser1").endSubject().addNewSubject().withKind("User").withName("testuser2").endSubject().addNewSubject().withKind("ServiceAccount").withName("svcacct").endSubject().addNewSubject().withKind("Group").withName("testgroup").endSubject().build());
    assertEquals(expectedRoleBinding, response);
    assertEquals(expectedRoleBinding, new ObjectMapper().readerFor(RoleBinding.class).readValue(server.getLastRequest().getBody().inputStream()));
}
Also used : RoleBindingBuilder(io.fabric8.openshift.api.model.RoleBindingBuilder) RoleBinding(io.fabric8.openshift.api.model.RoleBinding) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.jupiter.api.Test)

Example 12 with RoleBindingBuilder

use of io.fabric8.openshift.api.model.RoleBindingBuilder in project kubernetes-client by fabric8io.

the class OpenshiftRoleBindingTest method testReplaceWithOnlySubjects.

@Test
void testReplaceWithOnlySubjects() throws Exception {
    server.expect().get().withPath("/apis/authorization.openshift.io/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once();
    server.expect().put().withPath("/apis/authorization.openshift.io/v1/namespaces/test/rolebindings/testrb").andReturn(200, expectedRoleBinding).once();
    RoleBinding response = client.roleBindings().withName("testrb").replace(new RoleBindingBuilder().withNewMetadata().endMetadata().addNewSubject().withKind("User").withName("testuser1").endSubject().addNewSubject().withKind("User").withName("testuser2").endSubject().addNewSubject().withKind("ServiceAccount").withName("svcacct").endSubject().addNewSubject().withKind("Group").withName("testgroup").endSubject().build());
    assertEquals(expectedRoleBinding, response);
    assertEquals(expectedRoleBinding, new ObjectMapper().readerFor(RoleBinding.class).readValue(server.getLastRequest().getBody().inputStream()));
}
Also used : RoleBindingBuilder(io.fabric8.openshift.api.model.RoleBindingBuilder) RoleBinding(io.fabric8.openshift.api.model.RoleBinding) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.jupiter.api.Test)

Example 13 with RoleBindingBuilder

use of io.fabric8.openshift.api.model.RoleBindingBuilder in project kubernetes-client by fabric8io.

the class ProjectOperationsImpl method initRoleBindings.

private List<HasMetadata> initRoleBindings(String name, String adminUser) {
    RoleBinding roleBindingPuller = new RoleBindingBuilder().withNewMetadata().addToAnnotations(OPENSHIFT_IO_DESCRIPTION_ANNOTATION, "Allows all pods in this namespace to pull images from this namespace.  It is auto-managed by a controller; remove subjects to disable.").withName("system:image-pullers").withNamespace(name).endMetadata().withNewRoleRef().withApiGroup(RBAC_AUTHORIZATION_APIGROUP).withKind(CLUSTER_ROLE).withName("system:image-puller").endRoleRef().addNewSubject().withApiGroup(RBAC_AUTHORIZATION_APIGROUP).withKind("Group").withName("system:serviceaccounts:" + name).endSubject().build();
    RoleBinding roleBindingBuilder = new RoleBindingBuilder().withNewMetadata().addToAnnotations(OPENSHIFT_IO_DESCRIPTION_ANNOTATION, "Allows builds in this namespace to push images to" + "this namespace.  It is auto-managed by a controller; remove subjects to disable.").withName("system:image-builders").withNamespace(name).endMetadata().withNewRoleRef().withApiGroup(RBAC_AUTHORIZATION_APIGROUP).withKind(CLUSTER_ROLE).withName("system:image-builder").endRoleRef().addNewSubject().withKind("ServiceAccount").withName("builder").withNamespace(name).endSubject().build();
    RoleBinding roleBindingDeployer = new RoleBindingBuilder().withNewMetadata().addToAnnotations(OPENSHIFT_IO_DESCRIPTION_ANNOTATION, " Allows deploymentconfigs in this namespace to rollout" + " pods in this namespace.  It is auto-managed by a controller; remove subjects" + " to disable.").withName("system:deployers").withNamespace(name).endMetadata().withNewRoleRef().withApiGroup(RBAC_AUTHORIZATION_APIGROUP).withKind(CLUSTER_ROLE).withName("system:deployer").endRoleRef().addNewSubject().withKind("ServiceAccount").withName("deployer").withNamespace(name).endSubject().build();
    RoleBinding roleBindingAdmin = new RoleBindingBuilder().withNewMetadata().withName("admin").withNamespace(name).endMetadata().withNewRoleRef().withApiGroup(RBAC_AUTHORIZATION_APIGROUP).withKind(CLUSTER_ROLE).withName("admin").endRoleRef().addNewSubject().withApiGroup(RBAC_AUTHORIZATION_APIGROUP).withKind("User").withName(adminUser).endSubject().build();
    List<HasMetadata> resources = new ArrayList<>();
    resources.add(roleBindingPuller);
    resources.add(roleBindingBuilder);
    resources.add(roleBindingDeployer);
    resources.add(roleBindingAdmin);
    return resources;
}
Also used : HasMetadata(io.fabric8.kubernetes.api.model.HasMetadata) RoleBindingBuilder(io.fabric8.kubernetes.api.model.rbac.RoleBindingBuilder) ArrayList(java.util.ArrayList) RoleBinding(io.fabric8.kubernetes.api.model.rbac.RoleBinding)

Example 14 with RoleBindingBuilder

use of io.fabric8.openshift.api.model.RoleBindingBuilder in project strimzi by strimzi.

the class RoleBindingOperatorIT method getModified.

@Override
protected RoleBinding getModified() {
    Subject ks = new SubjectBuilder().withKind("ServiceAccount").withName("my-service-account2").withNamespace("my-namespace2").build();
    // RoleRef cannot be changed
    RoleRef roleRef = new RoleRefBuilder().withName("my-cluster-role").withApiGroup("rbac.authorization.k8s.io").withKind("ClusterRole").build();
    return new RoleBindingBuilder().withNewMetadata().withName(resourceName).withNamespace(namespace).withLabels(singletonMap("state", "modified")).endMetadata().withSubjects(ks).withRoleRef(roleRef).build();
}
Also used : RoleBindingBuilder(io.fabric8.kubernetes.api.model.rbac.RoleBindingBuilder) RoleRef(io.fabric8.kubernetes.api.model.rbac.RoleRef) SubjectBuilder(io.fabric8.kubernetes.api.model.rbac.SubjectBuilder) Subject(io.fabric8.kubernetes.api.model.rbac.Subject) RoleRefBuilder(io.fabric8.kubernetes.api.model.rbac.RoleRefBuilder)

Example 15 with RoleBindingBuilder

use of io.fabric8.openshift.api.model.RoleBindingBuilder in project strimzi by strimzi.

the class RoleBindingResource method roleBinding.

public static void roleBinding(ExtensionContext extensionContext, String yamlPath, String namespace, String clientNamespace) {
    LOGGER.info("Creating RoleBinding in test case {} from {} in namespace {}", extensionContext.getDisplayName(), yamlPath, namespace);
    RoleBinding roleBinding = getRoleBindingFromYaml(yamlPath);
    ResourceManager.getInstance().createResource(extensionContext, new RoleBindingBuilder(roleBinding).editMetadata().withNamespace(clientNamespace).endMetadata().editFirstSubject().withNamespace(namespace).endSubject().build());
}
Also used : RoleBindingBuilder(io.fabric8.kubernetes.api.model.rbac.RoleBindingBuilder) RoleBinding(io.fabric8.kubernetes.api.model.rbac.RoleBinding)

Aggregations

RoleBindingBuilder (io.fabric8.kubernetes.api.model.rbac.RoleBindingBuilder)23 RoleBindingBuilder (io.fabric8.openshift.api.model.RoleBindingBuilder)13 Test (org.junit.jupiter.api.Test)13 RoleRefBuilder (io.fabric8.kubernetes.api.model.rbac.RoleRefBuilder)10 Subject (io.fabric8.kubernetes.api.model.rbac.Subject)10 SubjectBuilder (io.fabric8.kubernetes.api.model.rbac.SubjectBuilder)10 RoleBinding (io.fabric8.openshift.api.model.RoleBinding)10 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)7 RoleBinding (io.fabric8.kubernetes.api.model.rbac.RoleBinding)7 RoleRef (io.fabric8.kubernetes.api.model.rbac.RoleRef)6 Test (org.testng.annotations.Test)6 RoleBuilder (io.fabric8.kubernetes.api.model.rbac.RoleBuilder)4 RoleBindingList (io.fabric8.kubernetes.api.model.rbac.RoleBindingList)3 KubernetesClient (io.fabric8.kubernetes.client.KubernetesClient)3 ConfigMap (io.fabric8.kubernetes.api.model.ConfigMap)2 ConfigMapBuilder (io.fabric8.kubernetes.api.model.ConfigMapBuilder)2 HasMetadata (io.fabric8.kubernetes.api.model.HasMetadata)2 ServiceAccountBuilder (io.fabric8.kubernetes.api.model.ServiceAccountBuilder)2 ClusterRoleBindingBuilder (io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingBuilder)2 Role (io.fabric8.kubernetes.api.model.rbac.Role)2