Awesome
dderl
WEB DataBase Browser Application.
Build (Supported erlang OTP version - 20.2)
git clone https://github.com/K2InformaticsGmbH/dderl
in$ROOT
- cd
$ROOT/dderl
NO_OCI=true rebar3 compile
- To compile with erloci follow setup instruction at https://github.com/K2InformaticsGmbH/erloci and execute the above two commands without `NO_OCI=true
- cd
priv/dev
yarn install-build-prod
- cd
$ROOT/dderl
./start.sh
- go to https://127.0.0.1:8443/dderl in your browser
Features
- Browse mnesia and oracle tables in the browser
- Add and update data
- Import and Export data
- Send and receive data from one desitination to other on the same session
- SQL support for queries
- Filter, Sort, Distinct and Statistics on data
- Multifactor authentication support (SMS, SAML and username/password)
- JSON parsing with SQL
- Tailing of tables
- Log table rotation and purging
- Snapshot and restore table
- Cluster backup and restore
- Configuration encryption for ssl certificates and passwords
- D3 graph support to plot graphs
- Save views of tables
- Query history support
- Connect to other imem server over TCP with SSL
- CSV file parsing
Certificates
DDErl runs on SSL. A default certificate/key pair is supplied. This, however can be changed either by replacing these files at installation or modifying configuration in ddConfig
table ([{dderl,dderl,dderlSslOpts}]
). A sample configuration is given below:
[{cert,<<48,...,107>>},
{key,{'RSAPrivateKey',<<48,...,192>>}},
{versions,['tlsv1.2','tlsv1.1',tlsv1]}]
erlang:ssl
describes all possible options above.
To convert a PEM crt/key files to DER (accepted by erlang SSL binary certificate/key option above) public_key:pem_decode/1
may be used as follows to obtain the DER binary of the PEM certificate files:
> {ok, PemCrt} = file:read_file("server.crt").
{ok,<<"-----BEGIN CERTIFICATE-----\nMIICyTC"...>>}
> public_key:pem_decode(PemCrt).
[{'Certificate',<<48,130,2,201,48,130,2,50,2,9,0,241,25,...>>,not_encrypted}]
> {ok, PemKey} = file:read_file("server.key").
{ok,<<"-----BEGIN RSA PRIVATE KEY-----\nMIICXAI"...>>}
> public_key:pem_decode(PemKey).
[{'RSAPrivateKey',<<48,130,2,92,2,1,0,2,129,129,0,160,95,...>>,not_encrypted}]