GithubHelp home page GithubHelp logo

basis-company / tarantool-admin Goto Github PK

View Code? Open in Web Editor NEW
109.0 6.0 28.0 292 KB

License: MIT License

JavaScript 69.75% PHP 24.84% CSS 2.60% Dockerfile 2.81%
tarantool webgui admin dashboard docker gui tarantool-database

tarantool-admin's Introduction

Tarantool admin

This application can be used to manage schema and data in tarantool database using web gui.
Feel free to contribute any way.

Running existing build Docker Repository on Quay

Run docker run -p 8000:80 quay.io/basis-company/tarantool-admin Open http://localhost:8000 in your browser.

Configure using env

Application can be configured via environment:

  • TARANTOOL_CHECK_VERSION - default is true. set to false if you want to disable version check
  • TARANTOOL_CONNECT_TIMEOUT - connect timeout
  • TARANTOOL_CONNECTIONS - comma-separated connection strings
  • TARANTOOL_CONNECTIONS_READONLY - disable connections editor
  • TARANTOOL_DATABASE_QUERY - enable Query database tab
  • TARANTOOL_ENABLE_VINYL_PAGE_COUNT - if your vinyl spaces are not to large, you can enable index:count requests
  • TARANTOOL_READONLY - disable any database changes
  • TARANTOOL_SOCKET_TIMEOUT - connection read/write timeout
  • TARANTOOL_TCP_NODELAY - disable Nagle TCP algorithm

You can build image yourself.

  • Clone repository: git clone https://github.com/basis-company/tarantool-admin.git
  • Change current directory: cd tarantool-admin
  • Run docker build .

Youtube demo

Short demo of ui is available on youtube:

Short demo

Development

  • Install git and docker
  • Clone repository: git clone https://github.com/basis-company/tarantool-admin.git
  • Change current directory: cd tarantool-admin
  • Run developer environment using docker-compose up -d
  • Access environment using http://0.0.0.0:8888
  • Use "tarantool" hostname configuration with form default values:
    • port 3301
    • username guest
    • password (should be empty)
  • Use your favorite ide to edit php/js, all code will be updated on the fly
  • Follow https://phptherightway.com/ recommendations
  • Don't repeat yourself

tarantool-admin's People

Contributors

aborovaya avatar d-enk avatar dependabot[bot] avatar firetawnyowl avatar nekufa avatar rybakit avatar stomator avatar tremorus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tarantool-admin's Issues

index search truncate context

When you select data using index you got some subset of space data.

image

You can export collection using export button, but truncate button will cleanup whole space.
Truncate button should use selected data scope and perform delete requests on it using transaction.

Edit boolean fields

  1. Create a space
  2. Insert a tuple with boolean field.
  3. Try to edit it through admin.

Is it possible to provide a checkbox?

Space:
image

Edit error:
image

composite keys with an id property

if your composite key has id property, system will collect them by id, (default extjs behaviour).
application should override store.idProperty with non-existing field if composite key is using.

Support UUID column data view

Hello.

I have error by view space data.

Error

I think it's because in my space exist uuid column.

Spaces without uuid column viewed good!

Nginx support?

First of all, thanks for a quite impressive work with this amazing Tarantool admin.

I really enjoy it.
But now I need it to a project which purely runs under Nginx so I wonder if there is any installation guide for Nginx ?

Regards Zilveer

[Feature]CSV

Partial offload data to CSV by range or by count. Or create CVS from Query view

without Docker

Very good initiation, thank you. But i need a dockerless install guide. Would you make one?

I installed it under Lighty but i got 404 for /admin/api. What should that be link to? Thx.

error with connection

Hi all, help please. If I clone the repository and try to make a connection such an error

error

if I put try this command
command

then i get it

error2
or
error3

tarantool container is raised through the console goes well

reduce update payload

when a tuple is updated, client sends all tuple instead of changes.
you can loose complex data (nested tuples, etc..)

Support sequences in spaces and data management

Hi,
As latest versions of tarantool supports sequence creation and applying the same on indexes (auto increment and other needs)
It will be nice feature to manage them via tarantool-admin as well. Please point to resource if its already possible or supported.

Thanks!

Can't create index in space without format

Can't create index in space without format, showing is an error message:
Ext.JSON.decode(): You're trying to decode an invalid JSON String: <br> <b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/html/php/Job/Space/CreateIndex.php</b> on line <b>20</b><br> {"success":false,"message":"Illegal parameters, options.parts must have at least one part","trace":["#0 \/var\/www\/html\/vendor\/tarantool\/client\/src\/Client.php(137): Tarantool\\Client\\Packer\\PurePacker-&gt;unpack('\\x83\\x00\\xCE\\x00\\x00\\x80\\x01\\x01\\xCF\\x00\\x00\\x00\\x00\\x00\\x00...')","#1 \/var\/www\/html\/vendor\/tarantool\/mapper\/src\/Client.php(43): Tarantool\\Client\\Client-&gt;sendRequest(Object(Tarantool\\Client\\Request\\EvaluateRequest))","#2 \/var\/www\/html\/vendor\/tarantool\/client\/src\/Client.php(120): Tarantool\\Mapper\\Client-&gt;sendRequest(Object(Tarantool\\Client\\Request\\EvaluateRequest))","#3 \/var\/www\/html\/vendor\/tarantool\/mapper\/src\/Space.php(167): Tarantool\\Client\\Client-&gt;evaluate('box.space[515]:...', Array)","#4 \/var\/www\/html\/php\/Job\/Space\/CreateIndex.php(28): Tarantool\\Mapper\\Space-&gt;createIndex(Array)","#5 [internal function]: Job\\Space\\CreateIndex-&gt;run()","#6 \/var\/www\/html\/vendor\/league\/container\/src\/ReflectionContainer.php(74): ReflectionMethod-&gt;invokeArgs(Object(Job\\Space\\CreateIndex), Array)","#7 \/var\/www\/html\/vendor\/league\/container\/src\/Container.php(211): League\\Container\\ReflectionContainer-&gt;call(Array, Array)","#8 \/var\/www\/html\/vendor\/basis-company\/framework\/src\/Runner.php(93): League\\Container\\Container-&gt;call(Array)","#9 \/var\/www\/html\/php\/Controller\/Admin.php(37): Basis\\Runner-&gt;dispatch('space.createind...', Array)","#10 [internal function]: Controller\\Admin-&gt;api(Object(Basis\\Runner))","#11 \/var\/www\/html\/vendor\/league\/container\/src\/ReflectionContainer.php(74): ReflectionMethod-&gt;invokeArgs(Object(Controller\\Admin), Array)","#12 \/var\/www\/html\/vendor\/league\/container\/src\/Container.php(211): League\\Container\\ReflectionContainer-&gt;call(Array, Array)","#13 \/var\/www\/html\/vendor\/basis-company\/framework\/src\/Http.php(47): League\\Container\\Container-&gt;call(Array, Array)","#14 \/var\/www\/html\/server.php(12): Basis\\Http-&gt;process('\/admin\/api')","#15 {main}"]}

Export data

Save data from webview to the local storage in csv

Confirm deleting connections

I intended to delete one connection but accidentally clicked the "Remove all" button and all my configured connections were gone :)

[Search by index value]Input fields size

Change input fields width on index page by type.
For example in search by index with type num, at the input field must be visible 4294967295, but now it's looks like 4294[967]295

Long unsigned numbers are rounded.

I got the next(correct) output in the tarantool console:

localhost:3301> box.space.main:select()
---
- - [2298275697516843974, 5, 1553784592]
  - [8951693230595564833, 3, 1553784532]
  - [8951693230595564833, 4, 1553784538]
  - [5287512909238780989, 22, 1553784521]
  - [4559792925553792320, 22, 1553783592]
  - [8951693230595564833, 5, 1553784576]
  - [2298275697516843974, 4, 1553784599]
  - [8951693230595564833, 22, 1553784531]

But in the admin i got wrong output in the first column:
xxE0wJ0

All values are unsigned.

I think this is a bug.

apache warnings

Apache rises warnings on container startup:

tnt_admin | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.19.0.8. Set the 'ServerName' directive globally to suppress this message
tnt_admin | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.19.0.8. Set the 'ServerName' directive globally to suppress this message

Please add a favicon

Now, it's hard to find the tarantool-admin tab if you have many other tabs open:
tnt_admin_favicon

server-side connection management

It will be good to define connections for tarantool-admin container. They will be predefined and user will not configure connections manually.

I see two ways to define connections:

  1. Environment variable TARANTOOL_CONNECTIONS = user:pass@host:port;user:pass@host:port
  2. Put the file /var/www/html/connections.php that should return an array of connection strings.

What is the best way? Should we implement all of them?
Maybe there are other ways?

Anybody wants to have an option to make connection-list read only?
I mean they are defined on server and can't be changed through web ui.

The string is displayed as a table in query tab

Hello.
I was install latest docker images with enable TARANTOOL_DATABASE_QUERY.

In the tab "Query", I wrote the code:

t = "string" return type(t)

And instead of getting "0 string" I got: "0 s, 1 t, ....".
This is clearly visible in the screenshot.

screenshot

Error in latest docker build

Hi,

After creating new space and addig first property i get php error message.
Latest docker build.
Latest tarantool docker build, default install.

Ext.JSON.decode(): You're trying to decode an invalid JSON String:
: array_merge(): Argument #2 is not an array in
/var/www/html/vendor/tarantool/mapper/src/Space.php
: array_key_exists() expects parameter 2 to be array, null given in

Regards,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.