Docs
Playbook Structure

Playbook Structure

A playbook is the project that AIOP will use to build packages. It consists of multiple files and folders.

Here's an example of a playbook structure:

    • .aiop
        • resource_locale_1.txt
        • resource_locale_2.md
      • resources_locales.aml
      • resources_distantes.aml
      • snake_case_lint.py
      • apply_patch.py
    • .amlignore
    • README.md
    • CHANGELOG.md
  • You'll notice that the .git folder is present because the playbook is a git project, which is recommended for versioning and effective collaboration. The playbook is a git project like any other, and you can use all the features of git.

    ℹ️

    No files are required for AIOP to work. You can use AIOP without playbook configuration. However, functionality will be limited.

    Details of Files and Folders

    The .aiop file

    This file contains the playbook's configuration files:

    The resources Folder

    For this example, the folder named resources contains the playbook's resources. It is optional, and you can name it as you like. It contains a locales folder with two files with the .aml extension. The locales folder contains two local resources.

    The custom_jobs Folder

    This folder is optional and contains Python scripts that can be used in custom package generation tasks. The Python scripts must be placed in a folder of your choice (name and location) and specified in the playbook's configuration file. Learn more

    ⚠️

    The free plan does not allow adding custom tasks and they will be ignored.

    The .aml File

    The .aml file serves as the entry point for resources sent to AIOP. The tool reads this file to interpret the resources and build the associated packages. Although optional, this file can be placed anywhere in the playbook, but if AIOP finds no .aml files in the project or its subdirectories, no package generation will be initiated.

    The .amlignore File

    The .amlignore file is a configuration file that allows you to ignore certain files or folders when generating packages. It is optional but must be named .amlignore and placed at the root of the playbook. The format of this file is the same as that of .gitignore, and you can find documentation on adding files and folders to ignore here (opens in a new tab).

    The README.md and CHANGELOG.md Files

    These files are optional but recommended. They document the project and track changes made to the project. The README.md file is the project's documentation file, and the CHANGELOG.md file contains the changes made to the project.