Skip to main content

Vertical app merge components for grains on all systems

Project description

Grains, execution modules, and state modules common to all systems

INSTALLATION

Install with pip:

pip install grains-universal

DEVELOPMENT INSTALLATION

Clone the grains-universal repo and install with pip:

git clone https://gitlab.com/saltstack/pop/grains-universal.git grains_universal
pip install -e grains_universal

EXECUTION

After installation the grains command should now be available

TESTING

install requirements-test.txt with pip and run pytest:

pip install -r grains-universal/requirements-test.txt
pytest grains-universal/tests

VERTICAL APP-MERGING

Instructions for extending grains-universal into an OS or distro specific pop project

Install pop:

pip install --upgrade pop

Create a new directory for the project:

mkdir idem-{specific_platform}
cd idem-{specific_platform}

Use pop-seed to generate the structure of a project that extends grains and idem:

pop-seed -t v idem-{specific_platform} -d grains exec states
  • “-t v” specifies that this is a vertically app-merged project

  • “-d grains exec states” says that we want to implement the dynamic names of “grains”, “exec”, and “states”

Add “grains-universal” to the requirements.txt:

echo grains-universal >> requirements.txt

And that’s it! Go to town making grains, execution modules, and state modules specific to your specific platform. Follow the conventions you see in grains-universal.

For information about running idem states and execution modules check out https://idem.readthedocs.io

Supported by

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