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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f85dcae0d3b2a5b5fca97312128c6fd077aa7540a2bf60969b42dd19de0a5bb |
|
MD5 | 4897cb0217feb195ee7e80f9c4c0772c |
|
BLAKE2b-256 | 3f520043ebd805e202df646d434fdd03ecd1e4509918f86a54e2ff483326dcbc |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | cccefd123042ae9d16bcb2b3f4289ee063fc1bab2e3c62b0f5abb10b1a0debaf |
|
MD5 | 12a5b0e0208a7572544a6634ce66f0ca |
|
BLAKE2b-256 | bf842bf3c7c8cb4789b904133bd9f4d7d648f595724067221e4591d58906183f |