initial description of components
commit
f7156cb868
1 changed files with 17 additions and 0 deletions
17
Architecture.md
Normal file
17
Architecture.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
Gnuviechadmin is distributed across multiple nodes.
|
||||
|
||||
The user and administrator frontend [gva](https://git.dittberner.info/gnuviech/gva) interacts with the other components. Components are coupled using [Celery](http://www.celeryproject.org/). The gva application creates tasks that are executed by Celery workers running on different nodes.
|
||||
|
||||
The [gvaldap](https://git.dittberner.info/gnuviech/gvaldap) component takes care of creating LDAP users and groups in an OpenLDAP slapd server.
|
||||
|
||||
The [gvafile](https://git.dittberner.info/gnuviech/gvafile) component takes care of managing file system directories on an NFS server. It is used to create and delete web and mail directories for users defined in the LDAP directory.
|
||||
|
||||
The [gvaweb](https://git.dittberner.info/gnuviech/gvaweb) component takes care of managing web server configuration.
|
||||
|
||||
The [gvamysql](https://git.dittberner.info/gnuviech/gvamysql) component manages MySQL/MariaDB users and databases.
|
||||
|
||||
The [gvapgsql](https://git.dittberner.info/gnuviech/gvapgsql) component manages PostgreSQL users and databases.
|
||||
|
||||
[RabbitMQ](https://www.rabbitmq.com/) is used to send Celery commands into component specific queues. The Celery task results are stored in [Redis](https://redis.io/). The gva web frontend is a [Django](https://www.djangoproject.com/) application and stores its state and the user information in a [PostgreSQL](https://www.postgresql.org/).
|
||||
|
||||
All components are based on [Python 3](https://www.python.org/) and are tested and deployed on [Debian GNU/Linux](https://www.debian.org/) running Python 3.7.
|
Loading…
Reference in a new issue