Skip to main content

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.

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-minke-1.2.0.dev0.tar.gz (43.3 kB view hashes)

Uploaded Source

Built Distribution

django_minke-1.2.0.dev0-py3-none-any.whl (58.0 kB view hashes)

Uploaded Python 3

Supported by

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