Skip to main content

Handles authorization for Django by using puppetdb users

Project description

django-pypuppetdb

https://api.travis-ci.org/nedap/django-pypuppetdb.png https://coveralls.io/repos/nedap/django-pypuppetdb/badge.png https://pypip.in/d/django_pypuppetdb/badge.png https://pypip.in/v/django_pypuppetdb/badge.png

django-pypuppetdb is a library that handles authentication by using the PuppetDB’s REST API to get Users that are registrated in PuppetDB. It is implemented using the requests library.

To use this library you will need:
  • Python 2.7+

  • Python 3.3+

  • Django 1.8

  • pypuppetdb

Installation

You can install this package from source or from PyPi.

$ pip install django-pypuppetdb
$ git clone https://github.com/nedap/django-pypuppetdb
$ python setup.py install

Django

To let django connect to puppetdb in order to get your user add the following line to you settings.

  • add “django_pypuppetdb” to INSTALLED_APPS.

  • add “django_pypuppetdb.django_authentication.PuppetDBAuthentication” to AUTHENTICATION_BACKENDS

  • add the followin settings

PUPPETDB_HOST = 'localhost',
PUPPETDB_PORT = 8080,
PUPPETDB_NODE = 'node',
PUPPETDB_KEY = None,
PUPPETDB_CERT = None,
PUPPETDB_SSL_VERIFY = False
PUPPETDB_ADMIN_GROUP = 'admins'

Tastypie

If you are using tastypie as API framework and want to use pypuppetdb to validate the user you can add the following line to your resource file

from django_pypuppetdb.tastypie_authentication import PuppetDBAuthentication

in your class Meta add:
authentication = PuppetDBAuthentication()

if you would like to use multiple authentications you can use

authentication = MultiAuthentication(ApiKeyAuthentication(), PuppetDBAuthentication())

Getting Help

This project is still very new so most likely there will be issues you’ll run into.

For bug reports you can file an issue. If you need help with something feel free to hit up @eagllus by e-mail.

Changelog

0.0.1

Initial release. Implements most of authorization for django.

0.0.2

Separating Django and Tastypie dependency.

0.0.3

Renaming Django authenticaton and updated all tests Renaming Tastyie authentication and updated all tests

0.1.0

Django and Tastypie fully tested

0.1.1

Adding check for puppet group that will check if the user is in the group defined in PUPPETDB_ADMIN_GROUP. This will give the user admin rights allowing the user to login django-admin.

0.2.0

Updating files to make it django 1.8 compatible.

0.2.1

Updating requirements file to newest versions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_pypuppetdb-0.2.1.tar.gz (8.2 kB view details)

Uploaded Source

File details

Details for the file django_pypuppetdb-0.2.1.tar.gz.

File metadata

File hashes

Hashes for django_pypuppetdb-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ca8fdb0a1112c11623f4959acf685540cec80e8a525db4582860882d1e774685
MD5 e41e49f507da2aebcab4d51422ea728c
BLAKE2b-256 70ca1f7d0ad397c4b190d58c9088cef3220943892fbd9e51fde3ddba498d33aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page