Skip to main content

Meta package for idem-cloud resources

Project description

Contracts, Configuration, and Bootstrapping methods common to all idem cloud implementations

USAGE and INSTALLATION

A guide to getting started!

Binary

We’ve provided a new means of using idem-cloud. Now a portable binary can be downloaded and it will contains a pre-compiled version of idem and all it’s necessary sub-components.

Once downloaded from here [link HERE], idem-cloud can be ran as an executable from the CLI as such:

./idem-cloud --help

What makes this approach so fantastic is no system changes need to be made in order to run idem-cloud. This allows you as a user to download an executable and immediately start managing your cloud infrastructure.

Traditional Install

If you would prefer a more traditional experience on your system, please follow these steps below to install: This can be installed via pip:

pip install idem-cloud

DEVELOPMENT

Clone the idem-cloud repository and install with pip.

git clone git@gitlab.com:saltstack/pop/idem-cloud.git
pip install -e idem_cloud

TESTING

  • Install docker-compose and enable the docker service

  • Install the testing requirements:

    pip install -r requirements-test.txt
  • Run the tests:

    pytest tests

Set UP

After installation the Idem Bootstrap execution and state modules will be accessible to the pop hub.

EXECUTION MODULES

Once everything has been set up properly, execution modules can be called directly by idem. Execution modules can be accessed by reference relative to their location in the exec directory in idem-cloud/cloud For example, idem-cloud/cloud/exec/bootstrap/salt.py contains a function called create() This function can be accessed from the command line with:

idem exec bootstrap.salt.create user=root host=127.0.0.1

Filters can be used when calling list functions from any cloud list function from the command line, such as idem-aws, so that the output isn’t so verbose:

idem exec aws.ec2.vpc.list --filter vpc_id

STATES

States are also accessed by their relative location in idem-aws/idem_aws/states. For example, idem-aws/idem_aws/states/aws/ec2/vpc.py contains a function absent(). In my state file I can create a state that uses the absent function like so.

my_state.sls:

idem_cloud_boostrap:
  bootstrap.salt.absent:
    - user: root
    - host: 127.0.0.1

I can execute this state with:

idem state my_state.sls

idem state also has some flags that can significantly boost the scalability and performance of the run. Let’s use this new state which verifies that 100 vpcs are absent:

{% for i in range(100) %}
idem_cloud_boostrap_minion_{{i}}:
  bootstrap.salt.absent:
    - host: "idem_cloud_test_minion_{{i}}"
    - user: root
{% endfor -%}

I can execute this state with –runtime parallel to make full use of idem’s async execution calls:

idem state --runtime parallel my_state.sls

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

idem-cloud-1.0.1.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

idem_cloud-1.0.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file idem-cloud-1.0.1.tar.gz.

File metadata

  • Download URL: idem-cloud-1.0.1.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.7

File hashes

Hashes for idem-cloud-1.0.1.tar.gz
Algorithm Hash digest
SHA256 0f85dcae0d3b2a5b5fca97312128c6fd077aa7540a2bf60969b42dd19de0a5bb
MD5 4897cb0217feb195ee7e80f9c4c0772c
BLAKE2b-256 3f520043ebd805e202df646d434fdd03ecd1e4509918f86a54e2ff483326dcbc

See more details on using hashes here.

File details

Details for the file idem_cloud-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: idem_cloud-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.7

File hashes

Hashes for idem_cloud-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cccefd123042ae9d16bcb2b3f4289ee063fc1bab2e3c62b0f5abb10b1a0debaf
MD5 12a5b0e0208a7572544a6634ce66f0ca
BLAKE2b-256 bf842bf3c7c8cb4789b904133bd9f4d7d648f595724067221e4591d58906183f

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