.. _ug_best_practice:

Best Practice
*************

.. contents::
   :local:
   :depth: 1

Topics
------

.. topic:: Binary Complexity vs. Module Coverage

   The iocage CLI contains an extensive
   set of subcommands and options. Attempting to support all features natively
   within the iocage Ansible module is inefficient to maintain, so the module
   focuses on core, everyday operations.

.. topic:: Role Runner Tasks for Extended Features

   For specialized workflows or edge
   cases not covered directly by the module, use the runner tasks provided in the
   iocage role.

.. topic:: Handling Non-Idempotent Commands

   For non-idempotent operations or CLI flags
   that bypass standard declarative state management (such as provisioning
   multiple instances with --count), execute the command directly using
   ansible.builtin.command.

.. _ug_bp_installation:
.. include:: ug_bp_installation.rst

.. _ug_bp_workflow:
.. include:: ug_bp_workflow.rst

.. _ug_bp_usecases:
.. include:: ug_bp_usecases.rst

.. _ug_bp_iocage:
.. include:: ug_bp_iocage.rst

.. _ug_bp_iocage_tags:
.. include:: ug_bp_iocage_tags.rst

.. _ug_bp_iocage_class:
.. include:: ug_bp_iocage_class.rst
