Shared Utilities (utils/)ΒΆ

This directory contains shared Python helpers used by custom modules and plugins.

PurposeΒΆ

Use utils/ for reusable code that should not be duplicated across:

  • library/ modules,

  • plugins/action/,

  • plugins/filter/,

  • plugins/lookup/.

Typical shared utilities:

  • API clients,

  • validation/conversion helpers,

  • path and configuration helpers,

  • cross-plugin/module domain logic.

  • Shared HTTP(S) connection handler for multiple modules.

  • Common validation or transformation functions for user input.

  • Utility functions for interacting with Docker, LDAP, etc.

  • Grouped helper packages such as utils/domains/ for related domain logic.

Design GuidelinesΒΆ

  • Keep helpers focused and composable.

  • Avoid side effects during import.

  • Prefer explicit function/class APIs over implicit globals.

  • Keep dependencies minimal so modules/plugins stay lightweight.

Example ImportΒΆ

from utils.domains.primary_domain import get_primary_domain

What Does Not Belong HereΒΆ

  • Standalone executable modules (put in library/).

  • Ansible plugin entrypoints (put in plugins/*).

ReferencesΒΆ