diff --git a/.github/workflows/deploy-branch.yml b/.github/workflows/deploy-branch.yml index 50ee1dfc81..7c1659fa2d 100644 --- a/.github/workflows/deploy-branch.yml +++ b/.github/workflows/deploy-branch.yml @@ -5,7 +5,7 @@ on: jobs: deploy-branch: runs-on: ubuntu-latest - container: tarantool/doc-builder:fat-2 + container: tarantool/doc-builder:fat-2.1 env: AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}} AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}} diff --git a/.github/workflows/deploy-custom.yml b/.github/workflows/deploy-custom.yml index 98d507b94a..72d780c817 100644 --- a/.github/workflows/deploy-custom.yml +++ b/.github/workflows/deploy-custom.yml @@ -31,7 +31,7 @@ on: jobs: custom-deploy-branch: runs-on: ubuntu-latest - container: tarantool/doc-builder:fat-2 + container: tarantool/doc-builder:fat-2.1 env: AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}} AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0216f87d4f..42f22ef505 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ on: jobs: deploy: runs-on: ubuntu-latest - container: tarantool/doc-builder:fat-2 + container: tarantool/doc-builder:fat-2.1 env: AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}} AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}} diff --git a/.github/workflows/pull-translation.yml b/.github/workflows/pull-translation.yml index 940ee9c56d..b1fb3efccc 100644 --- a/.github/workflows/pull-translation.yml +++ b/.github/workflows/pull-translation.yml @@ -13,7 +13,7 @@ on: jobs: pull-translations: runs-on: ubuntu-latest - container: tarantool/doc-builder:fat-2 + container: tarantool/doc-builder:fat-2.1 steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/push-translation.yml b/.github/workflows/push-translation.yml index c584661879..9860f9e33e 100644 --- a/.github/workflows/push-translation.yml +++ b/.github/workflows/push-translation.yml @@ -9,7 +9,7 @@ on: jobs: push-translation-sources: runs-on: ubuntu-latest - container: tarantool/doc-builder:fat-2 + container: tarantool/doc-builder:fat-2.1 steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/update-pot.yml b/.github/workflows/update-pot.yml index 099dc9f22a..1b64cc2786 100644 --- a/.github/workflows/update-pot.yml +++ b/.github/workflows/update-pot.yml @@ -12,7 +12,7 @@ on: jobs: update-translations: runs-on: ubuntu-latest - container: tarantool/doc-builder:fat-2 + container: tarantool/doc-builder:fat-2.1 steps: diff --git a/conf.py b/conf.py index e8bfd9e561..65b7f9eddc 100644 --- a/conf.py +++ b/conf.py @@ -22,6 +22,7 @@ 'sphinx.ext.intersphinx', 'sphinx.ext.extlinks', 'sphinxcontrib.plantuml', + 'sphinx_panels', 'ext.custom', 'ext.LuaDomain', 'ext.LuaLexer', diff --git a/doc/getting_started/index.rst b/doc/getting_started/index.rst index 694d8a77c0..1fb29ae0a3 100644 --- a/doc/getting_started/index.rst +++ b/doc/getting_started/index.rst @@ -1,15 +1,96 @@ .. _getting_started: -******************************************************************************** Getting started -******************************************************************************** +=============== In this chapter, we show how to work with Tarantool as a DBMS -- and how to connect to a Tarantool database from other programming languages. +.. panels:: + :container: doc-cards + :column: doc-card doc-card_big + :card: doc-card__content + :header: doc-card__title + :body: doc-card__text + + .. link-button:: ./getting_started_db/#using-a-docker-image + :type: url + :text: Starting with Docker + :classes: doc-card__link + + ^^^ + + Create your first Tarantool project with a Docker image + + --- + + .. link-button:: ./getting_started_db/#using-a-package-manager + :type: url + :text: Starting with a package manager + :classes: doc-card__link + + ^^^ + + Create your first Tarantool project with a package manager + + --- + + .. link-button:: ./getting_started/getting_started_python/ + :type: url + :text: Connect from Python + :classes: doc-card__link + + ^^^ + + Use the Python connector (tarantool/tarantool-python) to work with Tarantool + + --- + + .. link-button:: ./getting_started/getting_started_python/ + :type: url + :text: Connect from Python + :classes: doc-card__link + + ^^^ + + Use the PHP connector (tarantool/client) to work with Tarantool + + --- + + .. link-button:: ./getting_started/getting_started_php/ + :type: url + :text: Connect from PHP + :classes: doc-card__link + + ^^^ + + Use the Go connector (tarantool/go-tarantool) to work with Tarantool + + --- + + .. link-button:: ./getting_started/getting_started_cxx/ + :type: url + :text: Connect from C++ + :classes: doc-card__link + + ^^^ + + Use the C++ connector (tarantool/tntcxx) to work with Tarantool + + --- + + .. link-button:: ./getting_started/getting_started_cartridge/ + :type: url + :text: Starting with Tarantool Cartridge + :classes: doc-card__link + + ^^^ + + Create your first Tarantool Cartridge application + + .. toctree:: - :maxdepth: 2 - :numbered: 0 + :hidden: getting_started_db getting_started_connectors diff --git a/doc/index.rst b/doc/index.rst index e18e889355..e5546ea21a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -7,6 +7,278 @@ Tarantool - Documentation ------------------------------------------------------------------------------- +This manual embraces all aspects of using Tarantool: +from introductory information and exercises for beginners --- to advanced instructions +and detailed references for power users and contributors. + + +.. panels:: + :container: doc-cards + :column: doc-card doc-card_medium + :card: doc-card__content + :header: doc-card__title + :body: doc-card__text + :footer: doc-card__link + + :column: doc-card doc-card_getting-started + Getting Started + + ^^^ + + In this chapter, we show how to work with Tarantool as a DBMS --- + and how to connect to a Tarantool database from other programming languages. + + +++ + + :doc:`Create your first Tarantool database ` + + --- + + Application server + + ^^^ + + Working with Tarantool as a Lua application server. + + --- + + Cluster + + ^^^ + + Working with Tarantool Cartridge, a framework for developing, deploying and managing applications + based on Tarantool. + + --- + + Data model + + ^^^ + + How Tarantool stores values and what operations with data it supports. + + --- + + Administration + + ^^^ + + How to administer Tarantool instances using ``systemd`` and ``tarantoolctl`` utilities. + + --- + + CRUD operations + + ^^^ + + How the create, read, update and delete operations are implemented in Tarantool. + + --- + + Replication + + ^^^ + + How the replication mechanism is implemented in Tarantool. + + --- + + Indexes + + ^^^ + + Special data structure that stores a group of key values and pointers. + + --- + + Transactions + + ^^^ + + ? + + --- + + Storage engines + + ^^^ + + Working with memtx and vinyl storage engines. + + --- + + Streams + + ^^^ + + Multiplexing several transactions over one connection. + + --- + + Connectors + + ^^^ + + See the APIs for various programming languages. + + --- + + Access control + + ^^^ + + How the access control is implemented in Tarantool. + + --- + + Reference + + ^^^ + + ? + + --- + + Triggers + + ^^^ + + Working with callbacks, functions which the server executes when certain events happen. + + --- + + Tutorials + + ^^^ + + Check out the tutorials to dig deeper into Tarantool usage. + + --- + + Sharding + + ^^^ + + How to use scaling methods when working with databases. + + --- + + Contributing + + ^^^ + + See the contributing and building guidelines. + + --- + + Release notes + + ^^^ + + Check the Tarantool release policy and the release notes. + + + +Main page example +----------------- + + +.. panels:: + :container: doc-cards + :column: doc-card doc-card_small + :card: doc-card__content + :header: doc-card__logo + :body: doc-card__title + :footer: doc-card__text + + + :column: doc-card doc-card_getting-started + Getting Started + + ^^^ + + In this chapter, we show how to work with Tarantool as a DBMS --- + and how to connect to a Tarantool database from other programming languages. + + +++ + + :doc:`Create your first Tarantool database ` + + --- + + [img] + + ^^^ + + Tarantool Community Edition + + +++ + + In-memory computing platform + + --- + + [img] + + ^^^ + + Tarantool Data Grid + + +++ + + A platform for building data services with ease + + --- + + [img] + + ^^^ + + Tarantool Enterprise + + +++ + + Enterprise data services with ease + + --- + + [img] + + ^^^ + + Tarantool Cartridge + + +++ + + Tarantool cluster management with Cartridge network + + --- + + [img] + + ^^^ + + Drivers + + +++ + + Connectors from various programming languages + + --- + + [img] + + ^^^ + + Tools + + +++ + + + + --- + + .. wp_section:: :class: documentation-main-page-header diff --git a/doc/reference/index.rst b/doc/reference/index.rst index a7b1582e9e..91bf5697b2 100644 --- a/doc/reference/index.rst +++ b/doc/reference/index.rst @@ -1,10 +1,99 @@ -.. _reference: +.. _reference: ******************************************************************************** Reference ******************************************************************************** -.. toctree:: +.. panels:: + :container: doc-cards + :column: doc-card doc-card_medium + :card: doc-card__content + :header: doc-card__title + :body: doc-card__text + :footer: doc-card__link + + SQL Reference + + ^^^ + + SQL statements and clauses supported by Tarantool. + + --- + + Built-in modules reference + + ^^^ + + Tarantool's built-in Lua modules. + + --- + + Rocks reference + + ^^^ + + Third-party Lua modules for Tarantool. + + --- + + Configuration reference + + ^^^ + + Options and parameters which can be set for Tarantool on the command line or in an initialization file. + + --- + + C API reference + + ^^^ + + List of C API headers. + + --- + + Internals + + ^^^ + + Binary protocol, MessagePack extensions, file formats, and the recovery process. + + --- + + Limitations + + ^^^ + + Important limitations for tuples, indexes, and spaces. + + --- + + Interactive console + + ^^^ + + Basic CLI for entering requests and seeing results. + + --- + + Utility tarantoolctl + + ^^^ + + Utility for administering Tarantool instances, checkpoint files and modules. + + --- + + Tips on Lua syntax + + ^^^ + + The Lua syntax for data-manipulating functions. + + + +.. toctree:: + :hidden: :maxdepth: 2 reference_sql/index diff --git a/doc/reference/reference_rock/vshard/vshard_index.rst b/doc/reference/reference_rock/vshard/vshard_index.rst index c5a2273618..813d42dddc 100644 --- a/doc/reference/reference_rock/vshard/vshard_index.rst +++ b/doc/reference/reference_rock/vshard/vshard_index.rst @@ -4,17 +4,65 @@ Sharding ******************************************************************************** -.. include:: vshard_summary.rst +.. include:: vshard_summary.rst Check out the :ref:`Quick start guide ` -- or dive into the complete ``vshard`` documentation: -.. toctree:: - :maxdepth: 2 - :numbered: 0 +.. panels:: + :container: doc-cards + :column: doc-card doc-card_medium + :card: doc-card__content + :header: doc-card__title + :body: doc-card__text + :footer: doc-card__link - vshard_architecture - vshard_admin - vshard_quick - vshard_ref - vshard_api + Architecture + + ^^^ + + + + --- + + Administration + + ^^^ + + Working with the vshard module + + --- + + Quick start guide + + ^^^ + + Essential commands and sample configuration + + --- + + Configuration reference + + ^^^ + + Basic fields and replica set parameters + + --- + + API reference + + ^^^ + + Public and internal API for the router and the storage + + +.. toctree:: + :hidden: + :maxdepth: 2 + :numbered: 0 + + vshard_architecture + vshard_admin + vshard_quick + vshard_ref + vshard_api