{"id":20111147,"url":"https://github.com/openstack/storlets","last_synced_at":"2025-08-21T07:32:36.994Z","repository":{"id":35921406,"uuid":"40209213","full_name":"openstack/storlets","owner":"openstack","description":"Middleware and Compute Engine for an OpenStack Swift compute framework that runs compute within a Swift cluster. Mirror of code maintained at opendev.org.","archived":false,"fork":false,"pushed_at":"2024-12-02T03:01:13.000Z","size":3879,"stargazers_count":45,"open_issues_count":0,"forks_count":8,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-12-02T04:19:03.121Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://opendev.org/openstack/storlets","language":"Python","has_issues":false,"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/openstack.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG","contributing":"CONTRIBUTING.rst","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-08-04T21:08:56.000Z","updated_at":"2024-12-02T03:01:17.000Z","dependencies_parsed_at":"2023-12-13T09:47:58.956Z","dependency_job_id":"194c46d1-d794-4f26-b02d-eea8ed08432b","html_url":"https://github.com/openstack/storlets","commit_stats":null,"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fstorlets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fstorlets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fstorlets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fstorlets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openstack","download_url":"https://codeload.github.com/openstack/storlets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230501172,"owners_count":18236061,"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":[],"created_at":"2024-11-13T18:14:37.687Z","updated_at":"2024-12-19T21:09:04.238Z","avatar_url":"https://github.com/openstack.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Storlets\n========\n\nStorlets extend Swift with the ability to run user defined computations\n- called storlets - near the data in a secure and isolated manner.\nA storlet is a compiled and packaged code (e.g. a .jar file) that can be\nuploaded to Swift as any other object.\nOnce uploaded the storlet can be invoked over data objects in Swift.\nThe Storlets API is documented at\n`\"Storlets API v1\" \u003chttps://storlets.readthedocs.io/en/latest/api/overview_api.html\u003e`__.\n\nThe project started off as an IBM research project, and was open sourced by IBM in 2014.\n\n- The research leading to the development of this code received funding from the European Community's Seventh Framework Programme (FP7/2007-2013) under the grant agreements for the CASPAR, ENSURE and VISION Cloud projects.\n- Various stages and different aspects of the development of this code received funding from the following European Community's Framework Programme:\n\n  - Seventh Framework Programme (FP7/2007-2013) under the grant agreements for the ForgetIT project, where the code is used for offloading digital preservation functionalities to the storage.\n  - Seventh Framework Programme (FP7/2007-2013) under the grant agreements for COSMOS project, where the code is used for analysis of IoT data.\n  - Seventh Framework Programme (FP7/2007-2013) under the grant agreements for FI-CORE project where the code is integrated with a holistic cloud deployment solution, and from\n  - Horizon 2020 (H2020/2014-2020) under the grant agreement for the IOStack project where the code is used as a backend implementing Storage policies and is used for analytics\n\nDocs\n----\n\nThe storlerts documentation is auto-generated after every commit and available\nonline at https://docs.openstack.org/storlets/latest/\n\nGetting Started for Users\n-------------------------\n\nThe fastest way to get started is\n`\"S2AIO - Swift Storlets All In One\" \u003chttps://docs.openstack.org/storlets/latest/getting_started.html\u003e`__.\n\nFor Engine Developers\n---------------------\n\nGetting Started\n~~~~~~~~~~~~~~~\n\nThe best way to get started is following this guide:\n`\"Installing a Development Environment\" \u003chttps://docs.openstack.org/storlets/latest/engine_dev_installation.html\u003e`__.\n\nTests\n~~~~~\n\nThere are two types of tests included in the Storlets repo.\n\n #. Unit tests\n #. Functional tests\n\nUnit tests, are, well, unit tests... The functional tests are black box tests validating\nend-to-end scenarios using various storlets, including faulty ones. For more information\nplease refer to the:\n`\"Development and Testing Guide\" \u003chttps://docs.openstack.org/storlets/latest/engine_dev_tests.html\u003e`__.\n\nRepository Structure\n~~~~~~~~~~~~~~~~~~~~\n\n- doc/source/: Documentation\n\n- etc/: Sample config files\n\n- storlets/: Python codes\n\n  - agent/: Python code for Docker side agents\n\n    - common/: An agent for storlets process management\n    - daemon/: An agent for execution of python applications\n    - daemon_factory/: Pyth\n\n  - gateway/: Run time loadable code for managing storlets execution\n  - sbus/: A Java implementation of the SBUS communication protocol\n  - swift_middleware/: Swift middleware dealing with storlet invocation requests\n\n- StorletSamples/: Storlets examples, used for functional testing\n\n- src/: C and Java codes\n\n  - c/: All codes\n\n    - sbus/: A core implementation of the SBUS protocol, which is used for passing fsd between the middleware and container\n\n  - java/: Java codes\n\n    - SBus:/ A Java implementation of the SBUS communication protocol\n    - SCommon/: A Java library required for storlets development\n    - SDaemon/: A generic Java daemon for loading storlets at runtime\n\n- tests/: Unit and functional tests\n\n- tools/: Various cluster config dependent tools for automatic and manual testing\n\nFor Storlets Developers\n-----------------------\n\nCurrently, storlets can be developed in Java only.\nTo get started, follow:\n`\"S2AIO - Swift Storlets All In One\" \u003chttps://docs.openstack.org/storlets/latest/s2aio.html\u003e`__.\n\nThe write and deploy a storlet, follow:\n`\"Writing and deploying storlets\" \u003chttps://docs.openstack.org/storlets/latest/writing_and_deploying_storlets.html\u003e`__.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstack%2Fstorlets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenstack%2Fstorlets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstack%2Fstorlets/lists"}