What's in a Stackset?
The anatomy of a Nucleator Stackset. How and what to customize to meet your objectives.
The key components of a Nucleator stackset include:
- __init__.py. This file must exist at the top-level directory of your Stackset so that your Stackset can be discovered and imported into the Nucleator core. The file may be empty, but must exist.
- An ansible directory must exist at the top level of your Stackset. This directory contains Ansible roles, playbooks, variable defaults, templates and other resources used to implement the Stackset.
- A commands directory must exist at the top level of your Stackset. This directory should contain an __init__.py file and one or more python files that implement the Nucleator CLI interface for the Stackset. These command files are responsible for capturing and validating command line arguments, injecting variables into the ansible environment and running appropriate Ansible playbooks to accomplish the intent of the command
- An ansible/role_specification.yml file should exist in each Stackset that specifies the roles that must be provisioned to use the Stackset, and the set of permissions associated with each role. These permissions should represent the minimum required permissions for the Stackset to accomplish its goals.
- A meta/main.yml file should exist in each Stackset. This file provides basic information about the Stackset and its required dependencies.