Release 0.12.0

- Update to Python 3 and Django 2.2
 - improve development setup and documentation
 - integrate previous bugfix releases
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEKHuXKkUYdvdO9493DXkdyNc3wdkFAl6QaMwUHGphbkBkaXR0
 YmVybmVyLmluZm8ACgkQDXkdyNc3wdnCUAf9H5wDLxRuPuow0rkli5XSNl/RWBMh
 tz10A7mO8QWJNcbGVSAw9Jol99htLTJb0MoyyonQKONfxlD4ro/0aDFsVJFRaH7M
 D9EQlmQuhm/3hvcDbO9+maEaZvPWYFYHuQQJpwDmAjuMnsXN7SxPEqq4Wu8OVB6G
 ebxuqR58MxJwmDEkZyA1D339gCbIo3PWWNeVInC8Gv9/yvhNx5KX0LrR8kRCpsWv
 N6YJ6DtMYo7UtqmdJmVa1xTlX6rG7znAIlC4gSXoRBspxeH3upd66KV1YkWqM+qd
 Iuum+4uRZfjkU2DRLNprxvHYp78sRQXBps4Kelo9LU/wbwUlHjnr6qS0Pg==
 =uD2Q
 -----END PGP SIGNATURE-----

Merge tag '0.12.0'

Release 0.12.0

- Update to Python 3 and Django 2.2
- improve development setup and documentation
- integrate previous bugfix releases
This commit is contained in:
Jan Dittberner 2020-04-10 14:38:40 +02:00
commit b12a891fd7
4 changed files with 35 additions and 57 deletions

View file

@ -1,19 +1,33 @@
Changelog Changelog
========= =========
* :release:`0.12.0 <2020-04-10>`
* :support:`-` add architecture diagramm for documentation
* :support:`-` drop environment specific settings
* :support:`-` update to Python 3
* :support:`-` use Pipenv for dependency management
* :support:`-` switch result backend to Redis
* :support:`-` use separate test vhost for celery queues * :support:`-` use separate test vhost for celery queues
* :support:`-` switch licensing to AGPLv3+ * :support:`-` switch licensing to AGPLv3+
* :support:`-` add a Vagrant setup to ease development * :support:`-` add a Vagrant setup to ease development
* :support:`-` add example provisioning defined as saltstack states * :support:`-` add Docker setup for local development
* :feature:`-` let all celery tasks run asynchronously and move task processing * :feature:`-` let all celery tasks run asynchronously and move task processing
to signal handlers to signal handlers
* :feature:`-` add unit tests for all the code * :feature:`-` add unit tests for all the code
* :feature:`-` add proper configuration for coverage, flake8 and pep8 * :feature:`-` add proper configuration for coverage, flake8 and pep8
* :feature:`-` update to Django 1.9.1 * :feature:`-` update to Django 2.2.12
* :support:`-` use gvacommon from separate repository * :support:`-` use gvacommon from separate repository
* :feature:`17` add DNS zone management
* :support:`-` update documentation * :support:`-` update documentation
* :release:`0.11.6 <2020-02-14>`
* :support:`-` Update dependencies to versions that work with Debian Stretch
* :release:`0.11.5 <2018-12-26>`
* :support:`-` Remove Xing support from settings and templates
* :release:`0.11.4 <2016-12-31>`
* :bug:`-` fix wrong tag in password reset done template
* :release:`0.11.3 <2015-02-21>` * :release:`0.11.3 <2015-02-21>`
* :bug:`-` fix handling of OpenSSH formatted keys with whitespace in comments * :bug:`-` fix handling of OpenSSH formatted keys with whitespace in comments
* :bug:`-` the ssh key list does not show SSH keys of other users anymore * :bug:`-` the ssh key list does not show SSH keys of other users anymore

View file

@ -22,6 +22,7 @@ import django
# documentation root, use os.path.abspath to make it absolute, like shown here. # documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath(os.path.join('..', 'gnuviechadmin'))) sys.path.insert(0, os.path.abspath(os.path.join('..', 'gnuviechadmin')))
os.environ['DJANGO_SETTINGS_MODULE'] = 'gnuviechadmin.settings'
os.environ['GVA_SITE_ADMINMAIL'] = 'admin@gva.example.org' os.environ['GVA_SITE_ADMINMAIL'] = 'admin@gva.example.org'
django.setup() django.setup()
@ -38,8 +39,8 @@ extensions = [
'sphinxcontrib.blockdiag'] 'sphinxcontrib.blockdiag']
# configuration for releases extension # configuration for releases extension
releases_issue_uri = 'https://dev.gnuviech-server.de/gva/ticket/%s' releases_issue_uri = 'https://git.dittberner.info/gnuviech/gva/issues/%s'
releases_release_uri = 'https://dev.gnuviech-server.de/gva/browser/?rev=%s' releases_release_uri = 'https://git.dittberner.info/gnuviech/gva/src/tag/%s'
# configuration for blockdiag extension # configuration for blockdiag extension
blockdiag_fontpath = '/usr/share/fonts/truetype/dejavu/' blockdiag_fontpath = '/usr/share/fonts/truetype/dejavu/'
@ -58,7 +59,7 @@ master_doc = 'index'
# General information about the project. # General information about the project.
project = u'gnuviechadmin' project = u'gnuviechadmin'
copyright = u'2014, 2015, 2016 Jan Dittberner' copyright = u'2014-2020, Jan Dittberner'
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the # |version| and |release|, also used in various other places throughout the

View file

@ -1,59 +1,22 @@
Installation .. index:: installation
============
You have several options in setting up your working environment. We recommend =======
using virtualenv to separate the dependencies of your project from your Install
system's python environment. If on Linux or Mac OS X, you can also use =======
virtualenvwrapper to help manage multiple virtualenvs across different
projects.
Virtualenv Only Working Environment
--------------- ===================
First, make sure you are using virtualenv (http://www.virtualenv.org). Once To get a running work environment use `pipenv`_.
that's installed, create your virtualenv::
$ virtualenv --distribute gnuviechadmin .. _pipenv: https://pipenv.kennethreitz.org/en/latest/
You will also need to ensure that the virtualenv has the project directory To get started install `pip` and `pipenv` and use `pipenv install --dev`:
added to the path. Adding the project directory will allow `django-admin.py` to
be able to change settings using the `--settings` flag.
Virtualenv with virtualenvwrapper .. code-block:: sh
------------------------------------
In Linux and Mac OSX, you can install virtualenvwrapper $ apt install python3-pip
(http://virtualenvwrapper.readthedocs.org/en/latest/), which will take care of $ python3 -m pip install --user -U pipenv
managing your virtual environments and adding the project path to the $ pipenv install --dev
`site-directory` for you::
$ mkdir gnuviechadmin
$ mkvirtualenv -a gnuviechadmin gnuviechadmin-dev
$ cd gnuviechadmin && add2virtualenv `pwd` $ cd gnuviechadmin && add2virtualenv `pwd`
Installation of Dependencies
=============================
Depending on where you are installing dependencies:
In development::
$ pip install -r requirements/local.txt
For production::
$ pip install -r requirements.txt
PowerDNS setup
==============
The models in :py:mod:`domains.models` are meant to be used together with a
PowerDNS setup with the generic PostgreSQL backend
(https://doc.powerdns.com/md/authoritative/backend-generic-mypgsql/). The
database schema differs a bit from the original schema to fit the Django model
conventions. To make PowerDNS work you have to redefine the SQL statements by
copying the following content to
:file:`/etc/powerdns/pdns.d/pdns.local.gva_queries.conf`.
.. literalinclude:: pdns.local.gva_queries.conf
:language: properties

View file

@ -1,4 +1,4 @@
# import celery_app to initialize it # import celery_app to initialize it
from gnuviechadmin.celery import app as celery_app # NOQA from gnuviechadmin.celery import app as celery_app # NOQA
__version__ = '0.12.0-alpha' __version__ = '0.12.0'