cznic/public/: fred-rdap-2.1.0 metadata and description

Simple index Newer version available

Fred-rdap is a Django application which provides Registration Data Access Protocol (RDAP) interface to the FRED registry system.

author Vlastimil Zíma
author_email vlastimil.zima@nic.cz
classifiers
  • Development Status :: 5 - Production/Stable
  • Environment :: Web Environment
  • Framework :: Django
  • Framework :: Django :: 3.2
  • Framework :: Django :: 4.1
  • Framework :: Django :: 4.2
  • Intended Audience :: Information Technology
  • License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
  • Operating System :: OS Independent
  • Programming Language :: Python
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: 3.9
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Topic :: Internet :: Name Service (DNS)
  • Topic :: Internet :: WWW/HTTP
  • Topic :: Internet :: WWW/HTTP :: Dynamic Content
  • Topic :: Internet :: WWW/HTTP :: WSGI :: Application
  • Typing :: Typed
license GPLv3+
provides_extras types
requires_dist
  • django <4.3,>=3.2
  • django-app-settings
  • idna
  • pytz
  • fred-grill ~=2.0
  • fred-regal ~=1.3
  • fred-types ~=1.0
  • frgal ~=3.12
  • bandit ; extra == 'quality'
  • doc8 ; extra == 'quality'
  • flake8 ; extra == 'quality'
  • isort ; extra == 'quality'
  • mypy ; extra == 'quality'
  • pydocstyle ; extra == 'quality'
  • fred-regal[types] ; extra == 'types'
requires_python ~=3.8

Because this project isn't in the mirror_whitelist, no releases from root/pypi are included.

File Tox results History
fred-rdap-2.1.0.tar.gz
Size
53 KB
Type
Source
fred_rdap-2.1.0-py3-none-any.whl
Size
63 KB
Type
Python Wheel
Python
3
.. image:: https://fred.nic.cz/documentation/html/_static/fred-logo.png
:target: https://fred.nic.cz
:alt: FRED

=================
FRED: RDAP Server
=================

..

An RDAP server (front end) prototype implemented with Django

The RDAP server is a Django application which provides Registration Data Access Protocol (RDAP)
interface to the FRED registry system.

RDAP succeeds the WHOIS protocol used to query information about domains, contacts
and other domain registry objects, but provides results in a machine-readable format (JSON).

This repository is a subproject of FRED, the Free Registry for ENUM and Domains,
and it contains only a fraction of the source code required for running FRED.
See the
`complete list of subprojects <https://fred.nic.cz/documentation/html/Architecture/SourceCode.html>`_
that make up FRED.

Learn more about the project and our community on the `FRED's home page <https://fred.nic.cz>`_.

Documentation for the whole FRED project is available on-line, visit https://fred.nic.cz/documentation.

Table of Contents
=================

* `Dependencies <#dependencies>`_
* `Installation <#installation>`_
* `Configuration <#configuration>`_
* `Docker <#docker>`_
* `Development <#development>`_
* `Testing <#testing>`_
* `Maintainers <#maintainers>`_
* `License <#license>`_

Dependencies
============

* python >=3.8
* python-django 3.2, 4.0 and 4.1
* Other dependencies are listed in `setup.cfg <setup.cfg>`_

Installation
============

This application is a standard Django application and is deployed the same way as other application.
Detailed information about deploynment of Django applications can be found at https://docs.djangoproject.com/en/2.2/howto/deployment/.


#. Add ``rdap.apps.RdapAppConfig`` to your ``INSTALLED_APPS``.
#. Link ``rdap`` URLs into your ``urls.py``

.. code-block::

urlpatterns += [
url(r'', include('rdap.urls')),
]


or use RDAP's URLs directly as a ``ROOT_URLCONF`` in your settings

.. code-block::

ROOT_URLCONF = 'rdap.urls'

#. According to `RDAP specification, section 5.6 <https://tools.ietf.org/html/rfc7480#section-5.6>`_ it is recommended to set the ``Access-Control-Allow-Origin`` header.
It may be added by HTTP server or `django-cors-headers <https://github.com/ottoyiu/django-cors-headers>`_ application.

Configuration
=============

Study the example configuration in `examples/rdap_cfg.py <examples/rdap_cfg.py>`_.

RDAP can be configured with the following settings.

``RDAP_LOGGER``
---------------

A dotted path to the logger client.
Default value is ``grill.DummyLoggerClient``.

``RDAP_LOGGER_OPTIONS``
-----------------------

A mapping with options for the ``RDAP_LOGGER``.
If the key ``credentials`` is present, it will be passed to the ``make_credentials`` utility as a mapping.
Default value is ``{}``.

``RDAP_REGISTRY_NETLOC``
------------------------

Network location, i.e. host and port, of the registry server.
This setting is required.

``RDAP_REGISTRY_SSL_CERT``
--------------------------

Path to file with SSL root certificate.
Default value is ``None``, which disables the SSL encryption.

``RDAP_DISCLAIMER``
-------------------

A disclaimer text to be attached to every response.
Valid value is a list of strings, see `RDAP specification, section 4.3 <https://tools.ietf.org/html/rfc7483#section-4.3>`_ for details.
Default value is ``None``\ , i.e. no disclaimer.

``RDAP_UNIX_WHOIS``
-------------------

The host name or IP address of the WHOIS server as defined by `Port 43 WHOIS Server <https://tools.ietf.org/html/rfc7483#section-4.7>`_.
Default value is ``None``\ , i.e. disabled.

``RDAP_MAX_SIG_LIFE``
---------------------

Value of the ``maxSigLife`` member in `the domain object class <https://tools.ietf.org/html/rfc7483#section-5.3>`_.
Default value is ``None``\ , i.e. disabled.

Docker
======

RDAP can be deployed using docker.

To build image use::

docker build --tag rdap --file docker/uwsgi/Dockerfile .

The image provides a uWSGI service at port 16000 and a volume with static files.
Running the image requires setting a ``SECRET_KEY`` and ``ALLOWED_HOSTS`` environment variables.
RDAP settings can be provided as environment variables as well.

Development
===========

Testing
-------

.. code-block::

tox

Maintainers
===========

* Vlastimil Zíma `vlastimil.zima@nic.cz <vlastimil.zima@nic.cz>`_
* Tomáš Pazderka `tomas.pazderka@nic.cz <tomas.pazderka@nic.cz>`_
* Jaromír Talíř `jaromir.talir@nic.cz <jaromir.talir@nic.cz>`_

=========
Changelog
=========

Unreleased
----------

2.1.0 (2023-11-14)
------------------

* Drop Django 4.0 support.
* Add Django 4.2 support.
* Handle domain in auction (#17).
* Drop IDN input conversions (#21).
* Add demo deploy files (#15).
* Update ``fred-regal`` (#18, #20).
* Update ``fred-grill``.
* Fix annotations.
* Fix deprecation warnings in tests.
* Update project setup.

2.0.1 (2023-01-17)
------------------

* Handle delete candidate domains (#14).

2.0.0 (2022-12-14)
------------------

* Drop Python 3.7 support.
* Add Python 3.11 support.
* Drop Django 2.2 support.
* Add Django 4.1 support.
* Add logger registrations (#1).
* Refactor RDAP to use registry backend instead of CORBA (#2, #3, #4, #5, #6, #10).
* Don't raise error in ``to_rfc3339`` (#7).
* Update conformance tests (use uwsgi).
* Update project setup.

1.1.0 (2022-03-02)
------------------

* Drop Python 3.5 support.
* Add Django 1.10 support.
* Add Django 1.10, 1.11, 2.0 and 2.1 support.
* Add Django 3.2 support.
* Add fred-idl 2.37 and 2.38 support.
* Switch logging to FRED logger from ``pylogger`` to ``grill`` library.
This change is backwards incompatible: new library and settings are used.
The structure of logs is left intact.
* Drop setting ``RDAP_LOGGER_CORBA_OBJECT``.
* Add new settings ``RDAP_LOGGER`` and ``RDAP_LOGGER_OPTIONS``.
* Add ``rdap.constants`` module with constants and enums used for FRED logger.
* Add ``Dockerfile`` for production usage.
* Update static checks & project setup.
* Add more strict mypy checks and improve annotations.
* Refactor conformance tests.

1.0.2 (2021-11-18)
------------------

* Fix Fedora packages.

1.0.1 (2021-02-17)
------------------

* Fix bug in dependencies limiting Django to 3.0.

1.0.0 (2020-10-01)
------------------

* Drop Python 2.7 support.
* Add Python 3.8 and 3.9 support.
* Add Django 3.0 and 3.1 support.
* Add ``RDAP_LOGGER_CORBA_OBJECT`` setting.
* Add simple benchmark.
* Fix deprecations from pylogger.
* Update style checks, add mypy.
* Update CI setup.
* Fix rc style in bumpversion.
* Reformat and rename README and CHANGELOG to ReST.
* Fix tests for python 3.8.

0.16.0 (2019-11-19)
-------------------

* Add mapping for EPP statuses (RFC 8056).
* Refacotr code and drop ``RDAP_ROOT_URL`` setting.
* Rename setting ``DNS_MAX_SIG_LIFE`` to ``RDAP_MAX_SIG_LIFE`` and allow it to be ``None``.
* Update README.
* Update CI and tests configuration.
* Use bumpversion to bump version.

0.15.0 (2019-10-23)
-------------------

* Add Django 2.X support.
* Use PEP 508 dependencies.
* Update CI and setup configuration.

0.14.0 (2019-03-20)
-------------------

* License GNU GPLv3+
* Disclaimer setting reworked
* Test fixes
* CI fixes

0.13.0 (2018-07-20)
-------------------

* Add Python 3 and Django 2.0 support.
* Use ``appsettings`` for Corba settings.
* Rename ``UNIX_WHOIS_HOST`` setting to ``RDAP_UNIX_WHOIS``.
* Update help responses.
* Fix Fedora builds.
* Remove manage.py file.

0.12.0 (2018-04-17)
-------------------

* Drop support for old IDL structures
* Use tox for testing

0.11.1 (2018-04-17)
-------------------

* Fix response for domains in delete candidate status.

0.11.0 (2018-03-08)
-------------------

* Prepare for Python 3 - clean up code and use ``unicode_literals``.
* Support new ISO date time structures from IDLs.
* Fix RPM builds

0.10.0 (2018-02-12)
-------------------

* Remove CORS headers from the rdap application itself.
* Add README
* Add conformance tests to CI

0.9.0 (2017-12-20)
------------------

* Drop support for Django < 1.10.
* Use statically compiled IDL modules.
* Use pyfco Client for Corba calls.
* Development tools and CI update.

0.8.0 (2017-11-14)
------------------

* Use ``setuptools`` for distribution.
* Development tools and CI update.

0.7.0 (2017-08-18)
------------------

* Use pyfco utilities for Corba.
* Refactor link creation and drop ``RDAP_ENTITY_URL_TMPL`` setting.
* Support Django 1.11.
* Move exceptions to ``rdap.exceptions`` module.
* Move corba utilities to ``rdap.utils.corba`` module.
* Drop ``rdap.utils.py_logging`` module.
* Development tools and CI update.

0.6.0 (2017-04-03)
------------------

* CI and requirements changes/fixes

0.5.0 (2017-03-02)
------------------

* django 1.10 compatibility changes
* CI changes/fixes (coverage)

0.4.2 (2017-03-07)
------------------

* fedora packaging

0.4.1 (2016-12-19)
------------------

* disable csrf check on rdap views
* add comments to configuration file

0.4.0 (2016-10-27)
------------------

* removed django rest framework

0.3.3 (2016-05-12)
------------------

* resolve error when django-guardian is installed

0.3.2 (2016-03-30)
------------------

* fix rpm - missing dependency on python-idna

0.3.1 (2016-03-22)
------------------

* fix rpm build
* patch corba recoder for omniorb 4.2.0
* add logging setup to config

0.3.0 (2016-01-20)
------------------

* changes according to rfc document standardization

0.2.0 (2015-01-27)
------------------

* show 'delete pending' status for domains scheduled for deletion

0.1.1 (2014-09-03)
------------------

* add optional disclaimer text from file (settings)

0.1.0 (2014-08-01)
------------------

* prototype of RDAP implementation for FRED registry system
* implemented queries for - entity, domain, nameserver
* extension for FRED specific types - ``cznic_nsset``, ``cznic_keyset``
* used drafts:
* http://tools.ietf.org/html/draft-ietf-weirds-rdap-query-10
* http://tools.ietf.org/html/draft-ietf-weirds-json-response-07
* http://tools.ietf.org/html/draft-ietf-weirds-using-http-08


Render warnings:
<string>:159: (SEVERE/4) Title level inconsistent:

Unreleased
----------