Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Django- and fabric-based building toolkit for remote-control- and configuration-management-systems.

Project description

https://travis-ci.org/django-minke/minke.svg?branch=master

A framework for remote-control- and configuration-management-systems

Minke is a framework that combines the full power of djangos admin-interface with the reliability and configurability of fabric2. A pure open-source- and pure python-solution to realize the most different szenarios concerning remote- control and configuration-managment.

Imagine you just need to setup some managment-commands for a handful of servers - you can do that with minke. Imagine you have lots of servers with different setups that you need to group and address seperatly - you can do that with minke. Imagine you have servers with multiple subsystems installed on each of them and you not just want to manage those systems but also to track configurations, version-numbers, installed extensions or modules and to filter for all of those values within your backend - you can do that with minke.

Features

  • full integration with django’s admin-site
  • parrallel session-execution through celery
  • realtime monitoring of executed remote-sessions
  • command-line-api using django’s management-commands
  • session- and command-history

Concept

The main idea of minke is to define an arbitrary data-structure that represents your server- and subsystem-landscape as django-models. And then be able to run specific remote-tasks for those models right out of their changelist-sites. Now those tasks could be anything about remote-control and system-managment, but also fetching relevant data to update your django-data-structure itself.

To make this possible there are three main elements:

  • hosts,
  • minke-models,
  • and sessions.

Hosts

A Host is a django-model that is basically the database-representation of a specific ssh-config. It holds every information needed by fabric to connect to the remote-system.

Minke-Models

Minke-models now are all those models that you want to run remote-sessions with. This could be the data-representation of a server, but also of web-applications running on this server, and even something like installed extensions, patches, backups and everything else you want to track and manage in your minke-app.

Sessions

A session-class defines the code to be executed for minke-models. Sessions are similar fabric-tasks. Within a session you have access to a connection-object (as implemented by fabric) as well as to the minke-model-object you are working with. So a session could be as simple as running a single shell-command on the remote-machine, up to complex management-routines including manipulating the data of the minke-model-object itself.

Download files

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

Files for django-minke, version 1.1.0.dev0
Filename, size File type Python version Upload date Hashes
Filename, size django_minke-1.1.0.dev0-py3-none-any.whl (55.5 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size django-minke-1.1.0.dev0.tar.gz (40.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page