{"id":22868606,"url":"https://github.com/diennea/bookkeeper-visual-manager","last_synced_at":"2025-03-03T02:05:24.487Z","repository":{"id":35544077,"uuid":"173327883","full_name":"diennea/bookkeeper-visual-manager","owner":"diennea","description":"A visual interface for Apache BookKeeper","archived":false,"fork":false,"pushed_at":"2024-08-28T12:21:23.000Z","size":5520,"stargazers_count":62,"open_issues_count":21,"forks_count":17,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-02-17T00:06:15.774Z","etag":null,"topics":["admin-dashboard","bookkeeper","java","user-interface","visual-interface"],"latest_commit_sha":null,"homepage":"https://bkvm.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/diennea.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-01T15:48:19.000Z","updated_at":"2024-11-12T19:21:54.000Z","dependencies_parsed_at":"2024-12-13T12:46:54.056Z","dependency_job_id":null,"html_url":"https://github.com/diennea/bookkeeper-visual-manager","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diennea%2Fbookkeeper-visual-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diennea%2Fbookkeeper-visual-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diennea%2Fbookkeeper-visual-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diennea%2Fbookkeeper-visual-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diennea","download_url":"https://codeload.github.com/diennea/bookkeeper-visual-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240400324,"owners_count":19795331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-dashboard","bookkeeper","java","user-interface","visual-interface"],"created_at":"2024-12-13T12:36:32.727Z","updated_at":"2025-02-24T01:05:49.408Z","avatar_url":"https://github.com/diennea.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BKVM - Visual Manager for Apache BookKeeper\n\nBookkeeper Visual Manager is an open source visual interface for [Apache\nBookkeeper](https://bookkeeper.apache.org/).\n\nFeatures:\n- Connect to a BookKeeper cluster (4.7+)\n- Discover bookies and bookie status\n- Search ledgers, using ledger metadata\n- Inspect ledger metadata\n\nUsecases:\n- Inspect your BookKeeper cluster\n- Check health of Bookies\n- See which applications are using more resources\n- Validate configuration of each application (check replication)\n- See Clusterwide configuration\n\nRoadmap:\n- Support multi user access, multitenancy and multiple clusters\n- Manage Bookies\n- Manage replication\n- Verify consistency of cluster\n- Add advanced query functions\n- Add API\n\n## Overview\n\n### Log in\n\nUse the default account (`admin`) and the default password (`admin`) to log in.\n\n![bkvm-login](docs/img/bkvm-login.png)\n\n### Bookies status\n\nBookies availability (AVAILABLE, DOWN, READONLY) and disk usage.\n\n![bkvm-bookies](docs/img/bkvm-bookies.png)\n\n### Ledgers monitoring\n\nSearch for specific ledgers and ledgers metadata. Monitor ledger disk usage and replication factor.\n\n![bkvm-ledgers](docs/img/bkvm-ledgers.png)\n\n### Bookies configuration\n\n![bkvm-systemstatus](docs/img/bkvm-systemstatus.png)\n\n## Quickstart\n\n### Requirements\n\nIn order to run BookKeeper Visual Manager you just need a Unix Machine and Java 8 runtime.\n\nIn order to develop BookKeeper Visual Manager you need Maven 3.6.x and Yarn.\n\n### Using the provided release packages\n\nDownload a release package from github releases page.\nUnzip the package\n\nConfigure the service by editing conf/server.properties\nBy default we will connect to ZooKeeper at localhost, like when you are using BookKeeper standalone.\n\nStart the service\n\n~~~~\nbin/service server start\n~~~~\n\nOpen your browser at\nhttp://localhost:4500\n\nUsername and passwords are: admin/admin\n\n### Docker\nYou can build the docker image by running:\n```\nmvn clean install -DskipTests\n./docker/build.sh\n```\n\nThen you can run the container and the service will be listening on 0.0.0.0:4500:\n```\ndocker run --rm -p 4500:4500 -e BKVM_metadataServiceUri='zk+null://\u003cmy-zookeeper\u003e:2181/ledgers' bkvm/bkvm:latest\n```\nPlease note that using this configuration the database will be persisted locally.\n\nIf you want instead to rely on BookKeeper for all the BKVM data (cluster configuration, bookies metadata) you can run the docker with the JDBC url option:\n```\n docker run --rm -p 4500:4500 -e BKVM_metadataServiceUri='zk+null://bk:2181/ledgers' \\\n   -e BKVM_jdbc_url='jdbc:herddb:zookeeper:\u003cmy-zookeeper\u003e:2181/herddb?server.mode=diskless-cluster' bkvm/bkvm:latest\n```\nThanks to HerdDb `diskless-cluster` mode, the BKVM container is stateless.\n\n#### Deploy BKVM on Kubernetes using Helm\n\nYou can use the sample [Helm Chart](kubernetes/README.md) to bootstrap BKVM on k8s.\n\n#### Deploy the war application using Maven Jetty Plugin\n~~~~\ngit clone https://github.com/diennea/bookkeeper-visual-manager.git\ncd bookkeeper-visual-manager\nmvn clean install -DskipTests\n~~~~\n\nTo pass the Metadata Service URI connection string you have to set the system property\n`bookkeeper.visual.manager.metadataServiceUri` or run the provided script in bin\nfolder.\n\n~~~~\nBVM_PORT=8080\nBVM_SERVICEURI=zk+null://localhost:2181/ledgers\n\n./bin/run_dev.sh $BVM_SERVICEURI $BVM_PORT\n~~~~\n\n#### Deploy the war application on container\n\nYou can also deploy the `target/bookkeeper-visual-manager-XX.XX.war` on your\ncontainer passing the `bookkeeper.visual.manager.metadataServiceUri` location in a system property.\n\n#### Deploy the war application using Maven Jetty Runner\n\nDownload the jetty-runner jar available at [Maven\nCentral](https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-runner/).\n\n~~~~\nBVM_PORT=8080\nBVM_WAR_PATH=path/to/warfile\n\n# Environment Variable configuration\nBVM_CONF_PATH=/path/to/conf java -jar jetty-runner.jar $BVM_WAR_PATH --port $BVM_PORT\n~~~~\n\n\n### Advanced configuration\n\nIn order to use a more advanced configuration you need to provide to the\napplication a key/value properties file. An example file is provided in the conf/ folder.\n**The provided file can also be your Bookkeeper Server configuration.**\n\n| Property             | Value                              |\n|----------------------|------------------------------------|\n| metadataServiceUri   | Location of the Bookkeeper Server. |\n| zkConnectionTimeout  | First connection timeout.          |\n| zkTimeout            | Zookeeper session timeout.         |\n\nYou can provide this file to the application in three ways:\n1. **System Property**: bookkeeper.visual.manager.config.path\n    ~~~~\n    BVM_PORT=8080\n    BVM_CONF_PATH=path/to/warfile\n\n    mvn jetty:run \\\n        -Dbookkeeper.visual.manager.config.path=$BVM_CONF_PATH \\\n        -Djetty.http.port=$BVM_PORT\n    ~~~~\n2. **Environment Variable**: BVM_CONF_PATH\n    ~~~~\n    BVM_PORT=8080\n    BVM_WAR_PATH=path/to/warfile\n\n    BVM_CONF_PATH=path/to/conf java -jar jetty-runner.jar $BVM_WAR_PATH --port $BVM_PORT\n    ~~~~\n3. **Deployment Descriptor**: bookkeeper.visual.manager.config.path in the web.xml\n    ~~~~\n    \u003ccontext-param\u003e\n        \u003cparam-name\u003ebookkeeper.visual.manager.config.path\u003c/param-name\u003e\n        \u003cparam-value\u003epath/to/file\u003c/param-value\u003e\n    \u003c/context-param\u003e\n    ~~~~\n\n## Development of the front-end\n\n0. Clone this repo\n0. Make sure you have installed node (v11.8.0) and yarn (1.19.1).\n0. Go into the frontend folder `src/main/bvmui`\n0. Install dependencies (use `yarn install` command)\n0. Auto reload (use `yarn serve` command)\n    ~~~~\n    cd src/main/bvmui\n    yarn install\n    yarn serve\n    ~~~~\n0. Build (use `yarn build` command)\n\n## Getting Involved\n\nFeel free to create issues and pull request in order to interact with the community.\n\nPlease let us know if you are trying out this project, we will be happy to hear about your user case and help you.\n\n### Release commands\n```\ngit checkout master\nmvn release:prepare\nmvn release:perform\n```\n\n### Release the chart\n1. Update the chart version in `kubernetes/bkvm/Chart.yaml`.\n2.\n```\nversion=0.0.2\ngit commit -am \"Release chart $version\"\ngit tag bkvm-$version\ngit push\ngit push --tags\n```\n\n## License\n\nBookkeeper Visual Manager is under [Apache 2 license](http://www.apache.org/licenses/LICENSE-2.0.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiennea%2Fbookkeeper-visual-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiennea%2Fbookkeeper-visual-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiennea%2Fbookkeeper-visual-manager/lists"}