Git Product home page Git Product logo

zoonavigator's Introduction

ZooNavigator

ZooNavigator is web-based GUI for ZooKeeper with cool features.

Compatible with ZooKeeper 3.4.x and ZooKeeper 3.5.x.

Table of Contents

Features

  • Auth scheme authentication
  • Recursive update of ZNode ACLs
  • Recursive mass delete of ZNodes
  • ZNode regex search tool
  • ZNode ACL management
  • ZNode data validation and syntax highlighting (json, yaml, xml)

Temporary connections

All connections to ZooKeeper are short lived. By default every connection is closed after 5 seconds of inactivity. This keeps number of simultaneous connections low, even when used by more users at once.

Usage

Via Docker Compose (recommended)

  1. Create docker-compose.yml file like the one below somewhere on your file system.
version: '2.1'

services:
  web:
    image: elkozmon/zoonavigator-web:latest
    container_name: zoonavigator-web
    ports:
     - "8000:8000"
    environment:
      API_HOST: "api"
      API_PORT: 9000
    links:
     - api
    depends_on:
     - api
    restart: always
  api:
    image: elkozmon/zoonavigator-api:latest
    container_name: zoonavigator-api
    environment:
      SERVER_HTTP_PORT: 9000
    restart: always
  1. Run docker-compose -f /path/to/docker-compose.yml up -d.
  2. Navigate to http://localhost:8000 in your browser and enjoy.

To change the default configuration, edit the environment variables in Docker Compose file.

See DockerHub repositories for configuration options.

Via Docker

  1. Run ZooNavigator API server.
docker run -d \
    --env SERVER_HTTP_PORT=9000 \
    --name zoonavigator-api \
    elkozmon/zoonavigator-api:latest
  1. Run ZooNavigator Web client. Here you need provide information on how to connect to ZooNavigator API. The easiest way to achieve this is by linking the containers.
docker run -d \
    -p 8000:8000 \
    --env API_HOST=api \
    --env API_PORT=9000 \
    --link zoonavigator-api:api \
    --name zoonavigator-web \
    elkozmon/zoonavigator-web:latest
  1. Navigate to http://localhost:8000 in your browser.

See DockerHub repositories for configuration options.

From source (development only)

This setup requires NPM and SBT to be installed on your machine.

First run ZooNavigator API server.

  1. Clone API project repository git clone https://github.com/elkozmon/zoonavigator-api.git
  2. Go to API project root cd zoonavigator-api
  3. Run sbt play/run

This starts Play server on your localhost on port 9000.

Then run ZooNavigator Web client.

  1. Clone Web project repository git clone https://github.com/elkozmon/zoonavigator-web.git
  2. Go to Web project root cd zoonavigator-web
  3. Run npm install
  4. Run npm run start

Now open http://localhost:4200 in your browser.

Screenshots

Connect form

ZNode data editor

Troubleshooting

I'm getting error that says "Unable to establish connection with ZooKeeper."

Make sure that ZooNavigator API can access the ZooKeeper host(s) in the connection string you entered in the connect form. Especially in case when running ZooNavigator in Docker, since by default it runs on bridged networking mode.

Credits

This project is written in Play Framework and Angular Framework.

Web client UI is powered by Teradata Covalent Platform.

License

The project is licensed under Affero General Public License version 3.0 (AGPLv3).

zoonavigator's People

Contributors

elkozmon avatar simplesteph avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.