{"id":13792611,"url":"https://github.com/tarantool/cartridge","last_synced_at":"2025-10-17T10:06:21.369Z","repository":{"id":37743054,"uuid":"204727434","full_name":"tarantool/cartridge","owner":"tarantool","description":"Out-of-the-box cluster manager for Tarantool with a modern web UI","archived":false,"fork":false,"pushed_at":"2024-12-19T17:16:45.000Z","size":33086,"stargazers_count":94,"open_issues_count":9,"forks_count":29,"subscribers_count":29,"default_branch":"master","last_synced_at":"2024-12-22T18:05:05.715Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.tarantool.io/en/cartridge/","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tarantool.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-27T14:59:05.000Z","updated_at":"2024-12-21T14:32:57.000Z","dependencies_parsed_at":"2024-01-16T13:33:45.895Z","dependency_job_id":"89d4f860-4956-45bb-804b-8fedd732f693","html_url":"https://github.com/tarantool/cartridge","commit_stats":null,"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarantool%2Fcartridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarantool%2Fcartridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarantool%2Fcartridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarantool%2Fcartridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tarantool","download_url":"https://codeload.github.com/tarantool/cartridge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276163,"owners_count":20912288,"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-08-03T22:01:14.298Z","updated_at":"2025-10-17T10:06:21.245Z","avatar_url":"https://github.com/tarantool.png","language":"Lua","funding_links":[],"categories":["Packages"],"sub_categories":["Administration"],"readme":".. _cartridge_readme:\n\n================================================================================\nTarantool Cartridge\n================================================================================\n\nA framework for distributed applications development.\n\n.. raw:: html\n\n  \u003cdiv class=\"website-hidden\"\u003e\n    \u003ca href=\"https://github.com/tarantool/cartridge/actions?query=workflow%3A%22Backend+Test%22\"\u003e\n      \u003cimg src=\"https://github.com/tarantool/cartridge/workflows/Backend%20Test/badge.svg\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/tarantool/cartridge/actions?query=workflow%3A%22Frontend+Test%22\"\u003e\n      \u003cimg src=\"https://github.com/tarantool/cartridge/workflows/Frontend%20Test/badge.svg\"\u003e\n    \u003c/a\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://t.me/tarantool\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/telegram%20(EN)-tarantool-blue?logo=telegram\u0026style=social\"\u003e\n    \u003c/a\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://t.me/tarantoolru\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/telegram%20(RU)-tarantoolru-blue?logo=telegram\u0026style=social\"\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\n..  raw:: html\n\n    \u003cp align=\"center\"\u003e\n      \u003cimg\n        src=\"https://github.com/tarantool/cartridge/raw/master/cartridge.png\"\n        height=\"400px\"\n      \u003e\n    \u003c/p\u003e\n\n.. contents::\n\n--------------------------------------------------------------------------------\nAbout Tarantool Cartridge\n--------------------------------------------------------------------------------\n\nTarantool Cartridge allows you to easily develop Tarantool-based applications\nand run them on one or more Tarantool instances organized into a cluster.\n\nThis is the recommended alternative to the\n`old-school practices \u003chttps://www.tarantool.io/en/doc/latest/book/app_server/\u003e`_\nof application development for Tarantool.\n\nAs a **software development kit (SDK)**, Tarantool Cartridge provides you with\nutilities and an application template to help:\n\n* easily set up a development environment for your applications;\n* plug the necessary Lua modules.\n\nThe resulting package can be installed and started on one or multiple servers\nas one or multiple instantiated services |--| independent or organized into a\n**cluster**.\n\nA Tarantool cluster is a collection of Tarantool instances acting in concert.\nWhile a single Tarantool instance can leverage the performance of a single server\nand is vulnerable to failure, the cluster spans multiple servers, utilizes their\ncumulative CPU power, and is fault-tolerant.\n\nTo fully utilize the capabilities of a Tarantool cluster, you need to\ndevelop applications keeping in mind they are to run in a cluster environment.\n\nAs a **cluster management tool**, Tarantool Cartridge provides your cluster-aware\napplications with the following key benefits:\n\n* horizontal scalability and load balancing via built-in automatic sharding;\n* asynchronous replication;\n* automatic failover;\n* centralized cluster control via GUI or API;\n* automatic configuration synchronization;\n* instance functionality segregation.\n\nA Tarantool Cartridge cluster can segregate functionality between instances via\nbuilt-in and custom (user-defined) **cluster roles**. You can toggle instances\non and off on the fly during cluster operation. This allows you to put\ndifferent types of workloads (e.g., compute- and transaction-intensive ones) on\ndifferent physical servers with dedicated hardware.\n\nTarantool Cartridge has an external utility called\n`cartridge-cli \u003chttps://github.com/tarantool/cartridge-cli\u003e`_ which\nprovides you with utilities and an application template to help:\n\n* easily set up a development environment for your applications;\n* plug the necessary Lua modules;\n* pack the applications in an environment-independent way: together with\n  module binaries and Tarantool executables.\n\n--------------------------------------------------------------------------------\nGetting started\n--------------------------------------------------------------------------------\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nPrerequisites\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTo get a template application that uses Tarantool Cartridge and run it,\nyou need to install several packages:\n\n* ``tarantool`` and ``tarantool-dev``\n  (see these `instructions \u003chttps://www.tarantool.io/en/download/\u003e`__);\n* ``cartridge-cli``\n  (see these `instructions \u003chttps://github.com/tarantool/cartridge-cli#installation\u003e`__)\n* ``git``, ``gcc``, ``cmake`` and ``make``.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nCreate your first application\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nLong story short, enter these commands into the console one-by-one:\n\n.. code-block:: bash\n\n    cartridge create --name myapp\n    cd myapp\n    cartridge build\n    cartridge start -d\n    cartridge replicasets setup --bootstrap-vshard\n    cartridge failover set stateful --state-provider stateboard --provider-params '{\"uri\": \"localhost:4401\", \"password\": \"passwd\"}'\n\n\nThat's all! Now you can visit http://localhost:8081 and see your application's\nAdmin Web UI:\n\n..  raw:: html\n\n    \u003cp align=\"center\"\u003e\n      \u003cimg\n        src=\"https://github.com/tarantool/cartridge/raw/master/full-cluster.png\"\n        height=\"400px\"\n      \u003e\n    \u003c/p\u003e\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nNext steps\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSee:\n\n* A more detailed\n  `getting started guide \u003chttps://www.tarantool.io/en/doc/2.11/how-to/getting_started_cartridge/\u003e`_\n* More\n  `application examples \u003chttps://github.com/tarantool/examples\u003e`_\n* `Cartridge documentation \u003chttps://www.tarantool.io/en/doc/2.11/book/cartridge/\u003e`_\n* `Cartridge API reference \u003chttps://www.tarantool.io/en/doc/2.11/book/cartridge/cartridge_api/\u003e`_\n\n--------------------------------------------------------------------------------\nContributing\n--------------------------------------------------------------------------------\n\nThe most essential contribution is your *feedback*, don't hesitate to\n`open an issue \u003chttps://github.com/tarantool/cartridge/issues/new\u003e`_.\nIf you'd like to propose some changes in code, see the contribution\n`guide \u003chttps://github.com/tarantool/cartridge/blob/master/CONTRIBUTING.rst\u003e`_.\n\n.. |--| unicode:: U+2013   .. en dash\n.. |---| unicode:: U+2014  .. em dash, trimming surrounding whitespace\n   :trim:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarantool%2Fcartridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftarantool%2Fcartridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarantool%2Fcartridge/lists"}