{# steward/templates/settings/ansible.html #} {% extends "base.html" %} {% from "_macros.html" import crumbs %} {% block title %}Settings — Ansible — Steward{% endblock %} {% from "settings/_tabs.html" import settings_tabs %} {% block section_tabs %}{{ settings_tabs("ansible") }}{% endblock %} {% block breadcrumb %}{{ crumbs([("Settings", "/settings/"), ("Ansible", "")]) }}{% endblock %} {% block content %}
Ansible Sources
Run History →

Sources are directories of playbooks — either a local path or a git repository cloned automatically. Add as many as you need; each can be browsed and run independently.

{% include "settings/_ansible_sources.html" %} {# ── Credentials ──────────────────────────────────────────────────────────── #} {% set cfg_badge = '(configured)' %} {% set not_set_badge = '(not set)' %} {# ── Managed identity (provisioning) ───────────────────────────────────────── #}
Managed SSH identity

Steward's reusable Ansible identity. Provisioning installs the public key into each host's {{ ssh_user }} account; steady-state runs authenticate with the private half (stored encrypted). Generate it once, then provision hosts from Host Agents.

{% if ssh_public_key %}
Click to select — add to a host's authorized_keys to authorize Steward manually.
{{ csrf_field() }}
{% else %}
{{ csrf_field() }} ed25519 — created server-side, nothing to paste.
{% endif %}
Credentials

Used by every playbook run (manual and alert-triggered). Stored on the server and never shown again after saving — leave a field blank to keep the current value.

{{ csrf_field() }}
{% if ssh_key_set %} {% endif %}
{% if become_set %} {% endif %}
{% if vault_set %} {% endif %}
{% endblock %}