├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── bin └── tarantoolapp.lua ├── rockspecs ├── tarantoolapp-1.0.3-1.rockspec ├── tarantoolapp-1.0.4-1.rockspec ├── tarantoolapp-1.0.5-1.rockspec └── tarantoolapp-scm-3.rockspec ├── tarantoolapp ├── argparse.lua ├── commands.lua ├── commands │ ├── create.lua │ └── dep.lua ├── compat.lua ├── fileio.lua └── util.lua └── templates ├── basic ├── README.md ├── config.yaml ├── hooks │ └── post_gen.lua └── template │ ├── .gitignore │ ├── .tarantoolctl │ ├── Makefile │ ├── README.md │ ├── app │ ├── init.lua │ ├── mod1.lua │ └── schema.lua │ ├── conf.lua │ ├── init.lua │ ├── meta.yaml │ ├── rpm │ └── {{__name__}}.spec │ ├── scripts │ └── test.sh │ ├── t │ ├── 01-basic.lua │ └── tnt │ │ └── init.lua │ └── {{__name__}}.lua ├── ckit └── template │ ├── .gitignore │ ├── .travis.yml │ ├── AUTHORS │ ├── CMakeLists.txt │ ├── FindMsgPuck.cmake │ ├── FindTarantool.cmake │ ├── Jenkinsfile │ ├── LICENSE │ ├── README.md │ ├── debian │ ├── .gitignore │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── docs │ ├── rules │ └── source │ │ └── format │ ├── rpm │ └── tarantool-{{__name__}}.spec │ ├── test │ └── {{__name__}}.test.lua │ ├── {{__name__}}-scm-1.rockspec │ └── {{__name__}} │ ├── CMakeLists.txt │ ├── init.lua │ └── lib.c ├── luakit └── template │ ├── .gitignore │ ├── .travis.yml │ ├── AUTHORS │ ├── Jenkinsfile │ ├── LICENSE │ ├── README.md │ ├── debian │ ├── .gitignore │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── docs │ ├── rules │ ├── source │ │ └── format │ └── tarantool-{{__name__}}.install │ ├── rpm │ └── tarantool-{{__name__}}.spec │ ├── test │ └── {{__name__}}.test.lua │ ├── {{__name__}}-scm-1.rockspec │ └── {{__name__}} │ └── init.lua ├── universal └── template │ ├── .luarocks-config │ ├── .tarantoolctl │ ├── Makefile │ ├── app │ └── {{__name__}}.lua │ ├── etc │ ├── conf.inst.lua │ └── conf.lua │ ├── init.lua │ ├── instance_001.lua │ ├── instance_002.lua │ ├── rockspecs │ └── {{__name__}}-scm-1.rockspec │ └── rpm │ └── {{__name__}}.spec └── vshard └── template ├── .gitignore ├── .tarantoolctl ├── Makefile ├── README.md ├── app ├── bucket.lua ├── init.lua ├── router │ ├── init.lua │ └── mod1.lua └── storage │ ├── init.lua │ └── mod1.lua ├── etc ├── conf_router.lua ├── conf_storage.lua └── sharding.lua ├── meta.yaml ├── router.lua ├── router_1.lua ├── rpm └── {{__name__}}.spec ├── scripts └── test.sh ├── storage.lua ├── storage_1_a.lua └── t ├── 01-basic.lua └── tnt └── init.lua /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Lua sources 2 | luac.out 3 | 4 | # luarocks build files 5 | *.src.rock 6 | *.zip 7 | *.tar.gz 8 | 9 | # Object files 10 | *.o 11 | *.os 12 | *.ko 13 | *.obj 14 | *.elf 15 | 16 | # Precompiled Headers 17 | *.gch 18 | *.pch 19 | 20 | # Libraries 21 | *.lib 22 | *.a 23 | *.la 24 | *.lo 25 | *.def 26 | *.exp 27 | 28 | # Shared objects (inc. Windows DLLs) 29 | *.dll 30 | *.so 31 | *.so.* 32 | *.dylib 33 | 34 | # Executables 35 | *.exe 36 | *.out 37 | *.app 38 | *.i*86 39 | *.x86_64 40 | *.hex 41 | 42 | # Custom 43 | tmp* 44 | .rocks -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "third_party/datafile"] 2 | path = third_party/datafile 3 | url = https://github.com/igorcoding/datafile 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Tarantool database libraries and tools 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tarantoolapp 2 | App starter for Tarantool application server 3 | 4 | 5 | ## Installation 6 | 7 | tarantoolapp is a cli tool so it is better to install it globally to system: 8 | 9 | ``` 10 | $ luarocks install tarantoolapp 11 | ``` 12 | 13 | Or to install most recent version 14 | 15 | ``` 16 | $ luarocks install --server=http://luarocks.org/dev tarantoolapp 17 | ``` 18 | 19 | In order for this to succeed it is required to have both Tarantool and Luarocks repos in `~/.luarocks/config.yaml`: 20 | ``` 21 | ➜ cat ~/.luarocks/config.lua 22 | rocks_servers = {[[http://rocks.tarantool.org]], [[https://luarocks.org]]} 23 | ``` 24 | 25 | ## Bootstrap an application 26 | 27 | To create a project template for application with name `myapp` in current directoty: 28 | 29 | ``` 30 | $ tarantoolapp create myapp 31 | ``` 32 | 33 | Full command is: 34 | 35 | ``` 36 | $ tarantoolapp create [-t