sumannewton / apache-ranger-client

Feign Client for Apache Ranger APIs
Apache License 2.0
15 stars 5 forks source link
apache-ranger client

Apache-Ranger Client Clojars Project

This project is a Java library for communicating with Apache Ranger API. Please refer docs for more details.

Repo

<repository>
    <id>clojars</id>
    <name>Clojars repository</name>
    <url>https://clojars.org/repo</url>
</repository>

Dependency

Usage

Initialization

The following piece of code initializes the client.

public static final String RANGER_URL = "http://localhost:6080";

final RangerClientConfig rangerClientConfig = RangerClientConfig.builder()
                .connectTimeoutMillis(1000)
                .readTimeoutMillis(1000)
                .logLevel(Logger.Level.BASIC)
                .authConfig(RangerAuthConfig.builder()
                        .username("admin")
                        .password("admin")
                        .build())
                .url(RANGER_URL)
                .build();

RangerClient rangerClient = new RangerClient(rangerClientConfig);

Start client

rangerClient.start();

Create/Update/Get/Search Users

rangerClient.getUsers().createUser(User.builder().build());
rangerClient.getUsers().getUserByName("user");
rangerClient.getUsers().setUserVisibility(Maps.newHashMap());
rangerClient.getUsers().searchUsers("userSearch");

Create/Update/Get/Search Services

rangerClient.getServices().createService(Service.builder().build());
rangerClient.getServices().getServiceByName("service");
rangerClient.getServices().updateService("service", Service.builder().build());
rangerClient.getServices().searchServices("serviceSearch");

Create/Update/Get/Search Policies

rangerClient.getPolicies().createPolicy(Policy.builder().build());
rangerClient.getPolicies().getPolicyByName("service", "policy");
rangerClient.getPolicies().updatePolicy(1, Policy.builder().build());
rangerClient.getPolicies().getAllPoliciesByService("service");
rangerClient.getPolicies().searchPolicies("service", "policySearch");

Create/Update/Get/Search Roles

Role role = rangerClient.getRoles().getRoleByName("data");
role.getUsers().add(RoleMember.builder().name("member").build());
rangerClient.getRoles().addUsersAndGroups(role.getId(), role);

Build Instructions

This project is built using Apache Maven.

Run the following command from the root of repository, to build the client JAR:

Bugs can be reported using Github issues.