Skip to main content

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

Project description

https://travis-ci.com/thomst/django-minke.svg?branch=master https://coveralls.io/repos/github/thomst/django-minke/badge.svg python: 3.4, 3.5, 3.6, 3.7, 3.8 django: 1.11, 2.0, 2.1, 2.2

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.

Source Distribution

django-minke-1.3.0.dev0.tar.gz (44.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_minke-1.3.0.dev0-py3-none-any.whl (59.6 kB view details)

Uploaded Python 3

File details

Details for the file django-minke-1.3.0.dev0.tar.gz.

File metadata

  • Download URL: django-minke-1.3.0.dev0.tar.gz
  • Upload date:
  • Size: 44.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for django-minke-1.3.0.dev0.tar.gz
Algorithm Hash digest
SHA256 02dde392ded1b344921d90e79ea9878bcb45edf04c02b0204cded320d07deace
MD5 1a2f95571ece3ca67e41e038ab41da96
BLAKE2b-256 2fce6ed7ecc727e35db480f614c3e9cbf6fa0e6d0d23d7ac3a177c8af18c1f09

See more details on using hashes here.

File details

Details for the file django_minke-1.3.0.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_minke-1.3.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b9ab2b29a079b1471726a0adb3f33f725f0784866a9adc2a68affb2868aab42
MD5 c5c783fcb9aa997b8846410faf33a107
BLAKE2b-256 1c90a26df8d98914f2c5e89d3d4521ea5a0246f77dd32ed72d6bda563ee952f9

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