A powerfull backend for web-service management. Written in YamSql.
The documentation can be found online at carnivora.readthedocs.io
or as sphinx source in docs/
.
- Canini
- Full privileged superadmin CLI. Supports adding additional modules via config. Written in Python 3.
- Edentata
- An unprivileged webinterface without superadmin capabilities. Targeting end-users and focused on usability. Supports adding additional modules via config. Written in PHP 7.
- Genconfig
- A generic config producer which can use carnivora as backend. Written in Python 3.
- PgListend
- Daemon that executes tasks on PostgreSQL push signals. Designed to call genconfig on database updates. Written in Python 3.
- LibInternetX
- PHP library for connecting to the InterNetX domain reseller XML API. Includes CLI coupling to Carnivora.
The setup is performed via
HamSql. It should be callable as
hamsql
in your shell.
Install PostgreSQL on Debian
apt install postgresql postgresql-contrib postgresql-plpython3
You can configure accounts that can connect to the database via
/etc/carnivora/_postgresql_user/module.yaml
. The accounts generated
via this config have the names carnivora_edentata
and
carnivora_machine_example
.
name: _postgresql_user
description: PostgreSQL users and their priviledges
roles:
-
name: edentata
login: true
description: Account for edentata web frontend
member_in:
- userlogin
-
name: machine_example
description: Account for machine example
login: true
member_in:
- backend
Simplest way to execute the setup on a system with a default PostgreSQL configuration is to run
su postgres -c "hamsql install -s examples/setup.yml -c postgres://postgres@/carnivora"
Supplying the database name (here carnivora) via the -c
option is
mandatory. The database will be create if it is not present. Additional
or deviating connection options can be provided.