Skip to main content

Diadem extends Idem's capabilities, focusing on organizing, parametrizing, and visualizing SLS files across multi-cloud environments.

Project description

Made with pop, a Python implementation of Plugin Oriented Programming Made with Python

Diadem is a Python-based tool designed to streamline cloud resource management by organizing, parametrizing, and visualizing SLS files across various cloud platforms, enhancing both efficiency and security.

About

Diadem offers a comprehensive solution for managing extensive cloud resources. Built on POP, it integrates seamlessly with Idem, providing a user-friendly interface for handling complex cloud infrastructures. Its visualization capabilities offer clear insights into resource dependencies, making it an essential tool for modern cloud environments.

What is POP?

This project is built with pop, a Python-based implementation of Plugin Oriented Programming (POP). POP seeks to bring together concepts and wisdom from the history of computing in new ways to solve modern computing problems.

For more information:

Getting Started

Prerequisites

  • Python 3.10+

  • git (if installing from source, or contributing to the project)

Installation

If wanting to use diadem, you can do so by either installing from PyPI or from source.

Install from PyPI

Install diadem with only the “compile” functionality:

pip install diadem

Install diadem with matplotlib for data visualizations with matplotlib and networkx:

pip install diadem[visualize]

Install from source

# clone repo
git clone git@gitlab.com:Akm0d/diadem.git
cd diadem

# Setup venv
python3 -m virtualenv .venv
source .venv/bin/activate
pip install -e .

Usage

Diadem simplifies the management of cloud resources. Use it to enumerate resources, organize SLS files, and visualize cloud infrastructure, ensuring efficient and secure cloud operations.

Examples

Enumerate cloud resources with idem describe:

idem describe "aws.*" > aws.sls
idem describe "gitlab.*" > gitlab.sls

Parametrize sls files by creating arg-bind relationships and an SLS tree:

idem compile aws.sls gitlab.sls --tree /srv/idem

This reads aws.sls and gitlab.sls into memory onto idem’s unified SLS tree. It then uses diadem to create param files based on similarities between the resource states. The new parameterized SLS files and param files are then put into the /srv/idem directory.

Visualize relationships between resources using matplotlib:

idem view /srv/idem

Run idem state on the newly crafted sls/param trees:

idem state --tree /srv/idem

Roadmap

Reference the open issues for a list of proposed features (and known issues).

Acknowledgements

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

diadem-1.0.0.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

diadem-1.0.0-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file diadem-1.0.0.tar.gz.

File metadata

  • Download URL: diadem-1.0.0.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/41.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.1.0 tqdm/4.66.1 importlib-metadata/7.0.1 keyring/24.3.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.7

File hashes

Hashes for diadem-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cd9a9f13bd9bce8158b4d6fdcff30f9a0dfbc7abbf36f13f8802bd89c32ebef0
MD5 08089f1de754b11fbbf5bb1853a918b7
BLAKE2b-256 4c37b5e990ad0971dbdf5560161f93b7044ca7272d4c58a22e212a6c5416b5db

See more details on using hashes here.

File details

Details for the file diadem-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: diadem-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/41.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.1.0 tqdm/4.66.1 importlib-metadata/7.0.1 keyring/24.3.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.7

File hashes

Hashes for diadem-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60a82697a8eb976355351080603fa83a3dbc7f689bb0a0e642d4f72ae117fb33
MD5 c06f53d8c06be37602f10bef513392c3
BLAKE2b-256 2b4efb8465198cbb4bdb218880b402cf1fa18ba9df31d00bc2207ed597f1e279

See more details on using hashes here.

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