{"id":23459350,"url":"https://github.com/TritonDataCenter/java-manta","last_synced_at":"2025-08-26T17:30:36.526Z","repository":{"id":6038685,"uuid":"7263059","full_name":"TritonDataCenter/java-manta","owner":"TritonDataCenter","description":"Java Manta Client SDK","archived":false,"fork":false,"pushed_at":"2020-09-30T18:59:41.000Z","size":20268,"stargazers_count":16,"open_issues_count":45,"forks_count":26,"subscribers_count":47,"default_branch":"master","last_synced_at":"2024-12-10T18:11:06.714Z","etag":null,"topics":["java","joyent","jvm","manta","object-store","smartdatacenter","triton"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TritonDataCenter.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-20T19:29:31.000Z","updated_at":"2024-03-31T14:13:17.000Z","dependencies_parsed_at":"2022-09-02T03:31:07.312Z","dependency_job_id":null,"html_url":"https://github.com/TritonDataCenter/java-manta","commit_stats":null,"previous_names":["joyent/java-manta"],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TritonDataCenter%2Fjava-manta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TritonDataCenter%2Fjava-manta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TritonDataCenter%2Fjava-manta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TritonDataCenter%2Fjava-manta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TritonDataCenter","download_url":"https://codeload.github.com/TritonDataCenter/java-manta/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231039292,"owners_count":18318786,"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":["java","joyent","jvm","manta","object-store","smartdatacenter","triton"],"created_at":"2024-12-24T06:13:48.268Z","updated_at":"2024-12-24T06:13:49.426Z","avatar_url":"https://github.com/TritonDataCenter.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/joyent/java-manta.svg?branch=travis)](https://travis-ci.org/joyent/java-manta)\n\n# Java Manta Client SDK\n\n[java-manta](http://joyent.github.com/java-manta) is a community-maintained Java\nSDK for interacting with Joyent's Manta system.\n\n## Projects Using the Java Manta Client SDK\n\n* [Apache Commons VFS Manta Provider (Virtual File System)](https://github.com/joyent/commons-vfs-manta)\n* [Hadoop Filesystem Driver for Manta](https://github.com/joyent/hadoop-manta)\n* [Manta Logback Rollover](https://github.com/dekobon/manta-logback-rollover)\n* [COSBench Adaptor for Manta - Object Store Benchmarks](https://github.com/joyent/cosbench-manta)\n* [Manta Monitor](https://github.com/joyent/manta-monitor)\n* [Java Manta Test Harness](https://github.com/joyent/java-manta-test-harness)\n\n## Installation\n\n[Java 1.8](http://www.oracle.com/technetwork/java/javase/downloads/index.html) is required for SDK compilation. \nIt effectively supports both [Java 8 and Java 11](https://www.oracle.com/technetwork/java/javase/downloads/index.html) \nin *application usage*. The main client module can be installed by adding the following dependency using \n[Maven 3.1.x](https://maven.apache.org/):\n\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.joyent.manta\u003c/groupId\u003e\n    \u003cartifactId\u003ejava-manta-client\u003c/artifactId\u003e\n    \u003cversion\u003eLATEST\u003c/version\u003e\n\u003c/dependency\u003e\n```\nand the unshaded module can be installed by adding the following dependency using [Maven 3.1.x](https://maven.apache.org/):\n\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.joyent.manta\u003c/groupId\u003e\n    \u003cartifactId\u003ejava-manta-client-unshaded\u003c/artifactId\u003e\n    \u003cversion\u003eLATEST\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nPlease refer to the [installation documentation](/USAGE.md) for more details about the following topics:\n * [192-bit and 256-bit AES encryption requiring Java Cryptography Extensions](/USAGE.md#unlimited-encryption-requirements)\n * [PKCS#11 configuration for faster encryption using libnss](/USAGE.md#enabling-libnss-support-via-pkcs11)\n * [Native implementation of MD5 calculations for faster digest operations](/USAGE.md#enabling-native-fastmd5-support)\n\n## Configuration\n\nConfiguration can be done through system properties or environment variables.\nListed below are the most commonly used configuration options:\n\n| System Property                    | Environment Variable           | Default                              |\n|------------------------------------|--------------------------------|--------------------------------------|\n| manta.url                          | MANTA_URL                      | https://us-east.manta.joyent.com:443 |\n| manta.user                         | MANTA_USER                     |                                      |\n| manta.key_id                       | MANTA_KEY_ID                   |                                      |\n| manta.key_path                     | MANTA_KEY_PATH                 | $HOME/.ssh/id_rsa (if exists)        |\n\n* `manta.url` ( **MANTA_URL** )\nThe URL of the manta service endpoint to test against\n* `manta.user` ( **MANTA_USER** )\nThe account name used to access the manta service. If accessing via a [subuser](https://docs.joyent.com/public-cloud/rbac/users),\nyou will specify the account name as \"user/subuser\".\n* `manta.key_id`: ( **MANTA_KEY_ID**)\nThe fingerprint for the public key used to access the manta service. Can be obtained using `ssh-keygen -l -f ${MANTA_KEY_PATH} -E md5 | cut -d' ' -f 2`\n* `manta.key_path` ( **MANTA_KEY_PATH**)\nThe name of the file that will be loaded for the account used to access the manta service.\n\nPlease refer to the [configuration documentation](/USAGE.md#configuration) for example code and the full\nlist of configuration options which include retry and performance tuning in addition to encryption and authentication\nparameters.\n\n## Usage\n\nYou'll need a manta login, an associated key, and its corresponding key\nfingerprint.  \n\nYou will then create or use an implementation of `ConfigContext` to set up\nyour configuration. Once you have an instance of your configuration class,\nyou will then construct a `MantaClient` instance. The `MantaClient` class\nis intended to be used per Manta account. It is thread-safe and you should\nshare one instance across multiple threads.\n\nFor detailed usage instructions consult the provided JavaDoc and examples. The\nJavaDoc can also be browsed online at [javadoc.io](https://javadoc.io/doc/com.joyent.manta/java-manta-client/)\n\n### General Examples\n \n* [Get request and client setup](/java-manta-examples/src/main/java/SimpleClient.java)\n* [Multipart upload](/java-manta-examples/src/main/java/ServerMultipart.java)\n* [Client-side Encryption](/java-manta-examples/src/main/java/SimpleClientEncryption.java)\n\n### Job Examples\n\nJobs can be created directly with the `MantaClient` class or they can be created\nusing the `MantaJobBuilder` class. `MantaJobBuilder` provides a fluent interface\nthat allows for an easier API for job creation and it provides a number of\nuseful functions for common use cases.\n\n* [Jobs using MantaClient](/java-manta-examples/src/main/java/JobsWithMantaClient.java)\n* [Jobs using MantaJobBuilder](/java-manta-examples/src/main/java/JobsWithMantaJobBuilder.java)\n\nFor more examples, check the included [examples module](/java-manta-examples) and the\n[integration test module](/java-manta-it/src/test/java/com/joyent/manta/client).\n\n## FAQs\n\nKnown edge cases and other topics are covered in [the FAQ](/FAQ.md).\n\n## Contributions\n\nContributions are welcome! Please read the [CONTRIBUTING.md](/CONTRIBUTING.md) document for details\non getting started.\n\n## Developing\n\nThere are portions of the SDK that are somewhat complex or fiddly. Please read the [DEVELOPING.md](/DEVELOPING.md) \ndocument for details, before developing the Java SDK.\n\n### Testing\n\nContributing developers are strongly encouraged to add unit-tests and integration-tests. Refer to the [testing documentation](/TESTING.md)\nfor information on full test suite requirements.\n\n### Releasing\n\nPlease refer to the [release documentation](/RELEASING.md).\n\n### Bugs\n\nSee \u003chttps://github.com/joyent/java-manta/issues\u003e.\n\n## License\nJava Manta is licensed under the MPLv2. Please see the [LICENSE.txt](/LICENSE.txt)\nfile for more details. The license was changed from the MIT license to the MPLv2\nlicense starting at version 2.3.0.\n\n### Credits\nWe are grateful for the functionality provided by the libraries that this project\ndepends on. Without them, we would be building everything from scratch. A thank you\ngoes out to:\n\n* [The Apache Commons Project](https://commons.apache.org/)\n* [The Apache HTTP Components Project](http://hc.apache.org/)\n* [The FastXML Project](https://github.com/FasterXML)\n* [The Legion of the Bouncy Castle Project](https://www.bouncycastle.org/)\n* [The SLF4J Project](http://www.slf4j.org/)\n* [The JNAGMP Project](https://github.com/square/jna-gmp)\n* [The TestNG Project](http://testng.org/doc/index.html)\n* [The Mockito Project](http://site.mockito.org/)\n* [Timothy W Macinta's FastMD5 Project](http://twmacinta.com/myjava/fast_md5.php)\n* [Remko Popma's picocli Project](https://github.com/remkop/picocli)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTritonDataCenter%2Fjava-manta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTritonDataCenter%2Fjava-manta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTritonDataCenter%2Fjava-manta/lists"}