{% extends "base.html" %} {% from "macros.html" import secret_selects, playbook_run_fields %} {% block title %}{{ name }}{% endblock %} {% block head %} {% endblock %} {% block content %}

{{ title }} / {{ name }} {% if area == 'projects' and name == current_project %}текущий{% endif %}

{% if area == 'projects' and name != current_project %} {% endif %} Скачать zip
{% if area == 'projects' %} {% if meta.description %}

{{ meta.description }}

{% endif %}

Запуск playbook

{% set runnable = playbooks|selectattr('entry')|list %} {% if not playbooks %}
Playbooks ещё не загружены — загрузите в разделе «Playbooks».
{% elif not runnable %}
Ни у одного playbook не выбрана точка входа — выберите её на странице playbook.
{% endif %}
{{ playbook_run_fields(secrets, {}, disabled=not runnable) }}

Запуск идёт по inventory этого проекта с переменными проекта; пустые учётные данные берутся из умолчаний проекта.

Хосты

Разбор inventory…

Проверки Ansible

{{ secret_selects(secrets, {}, for_run=true) }}

Описание и переменные проекта

Передаются во все запуски и проверки проекта как extra vars (-e): имеют приоритет над переменными inventory. Extra vars, введённые в форме запуска, переопределяют переменные проекта.

Учётные данные по умолчанию

{{ secret_selects(secrets, meta) }}

Подставляются в проверки и запуски проекта, если в форме выбрано «по умолчанию проекта». Переменные ansible_user/ansible_password в самом inventory имеют приоритет.

{% else %}

Запуск

{% if not entries %}
В корне проекта не найден playbook (YAML со списком plays).
{% endif %}
{% if not project_names %}{% endif %} {{ playbook_run_fields(secrets, {}, disabled=not project_names) }}
{% if has_requirements %}
нужен доступ в интернет или к Galaxy-зеркалу
{% endif %}
{% endif %}

{{ 'Файлы inventory' if area == 'projects' else 'Файлы' }}

{% include "partials/file_tree.html" %}
{% include "partials/editor_empty.html" %}

Последние запуски

{% include "partials/runs_table.html" %}
{% endblock %}