From f7156cb868c41809f79a28e15e10b2af53e219bb Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sun, 5 Apr 2020 13:54:03 +0200 Subject: [PATCH] initial description of components --- Architecture.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 Architecture.md diff --git a/Architecture.md b/Architecture.md new file mode 100644 index 0000000..66e6eca --- /dev/null +++ b/Architecture.md @@ -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. \ No newline at end of file