| commit | 38b80e2020192757581a56e1456db8b0dd23f577 | [log] [tgz] |
|---|---|---|
| author | Robert Kurc <145068316+Kidcredible300@users.noreply.github.com> | Thu Aug 21 16:52:00 2025 -0400 |
| committer | GitHub <noreply@github.com> | Thu Aug 21 16:52:00 2025 -0400 |
| tree | 24d804919dbb3271003b000ea47aef5d7fab563b | |
| parent | cc6342d82d1dfc34198eff207f21d5cb51be8bc3 [diff] |
Automating Addition of License Headers (#88) * Added execution for the com.mycila library. * Manually update a few files that the plugin ignores (like .github/, .git*, and markdown files) * Update copyright date (unrelated, but good to do, so it's not lost) * Update the license plugin and modernize the config * Add some mappings for special files (Gemfile, Dockerfile, etc.) * Change default mapping for cpp files to use single star * Update rat and license execution order by setting their phases to run after thrift code generation * Use https in a few xml schema locations (unrelated, but good to do) * Remove the license header generation in generate-thrift.sh; this leaves the responsibility of license headers to the license plugin and addresses quirks, like mangling of the shebang lines and conflict with the Autogenerated comments, as well as the appearance of duplicate license headers before/after shebangs * Remove duplicate license headers in .thrift files * Remove Eclipse template file (no longer used by the project; maven plugins are used for formatting/license headers) --------- Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>
Apache Accumulo Proxy
This application acts as an Apache Accumulo Java client, and exposes its API as an Apache Thrift service so that users can use their preferred programming language to communicate with Accumulo (provided that language has a supported Thrift language binding).
Build the proxy tarball and install it.
cd /path/to/accumulo-proxy mvn clean package -Ptarball tar xzvf ./target/accumulo-proxy-2.0.0-SNAPSHOT-bin.tar.gz -C /path/to/install
Edit proxy.properties and run the proxy.
cd /path/to/install/accumulo-proxy-2.0.0-SNAPSHOT ./bin/accumulo-proxy -p conf/proxy.properties
The Accumulo Proxy can also now be packaged and started in a Docker container, see the DOCKER.md for full details.
Bindings have been built in src/main/ for Java, Python, and Ruby.
Bindings for other languages can be built using the Thrift compiler. Follow the Thrift tutorial to install a Thrift compiler and use the following command to generate language bindings.
thrift -r --gen <language> <Thrift filename>
Run the commands below to install the Python bindings and create an example Python client:
mkdir accumulo-client/ cd accumulo-client/ pipenv --python 2.7 pipenv install thrift pipenv install -e /path/to/accumulo-proxy/src/main/python cp /path/to/accumulo-proxy/src/main/python/basic_client.py . # Edit credentials if needed vim basic_client.py pipenv run python2 basic_client.py
Run the command below to create an example Ruby client:
mkdir accumulo-client/ cd accumulo-client/ cp /path/to/accumulo-proxy/src/main/ruby/Gemfile . vim Gemfile # Set correct path cp /path/to/accumulo-proxy/src/main/ruby/client.rb . gem install bundler bundle install bundle exec ruby client.rb
Java clients to the Proxy can be written to limit access to the cluster. The proxy can be placed on a server in the cluster and clients can communicate with proxy from outside of the cluster.