4 Sensible Support Project
Peter Boy edited this page 2026-09-25 13:12:29 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Fedora Server Ansible Support project

Goals

  • We want to support installation, configuration and administration of our supported services (as defined by our Technical Specification Document) by Ansible content.
  • Essentially, we provide ready-to-use Ansible roles for specific Fedora Server services (like NFS), which would automate the manual setup described in the existing documentation. Both procedures should, in principle, produce the same result. Ansible can also provide additional functionality.
  • Ansible content should easily be personalized by sysadmins to conform to their environment and configuration choices and should include hooks that allow an Ansible-savvy administrator to integrate additional tasks.

Implementation principles

  • Wherever possible, existing roles should be utilized.
  • It may be necessary to develop custom code, e.g. for Fedora-specific services.
  • All Ansible content should be self-contained and self-sufficient. They should not depend on external online resources.

Output items

  • Ansible content comes with user documentation explaining how to use it.
  • A contributor documentation outlines the implementation principles
  • A user documentation provides guidance for administrators on how to develop Ansible support for their own services. It is aimed at both new and experienced administrations.
  • Ansible content deployed via rpm should conform to Packaging Guidelines (both the general ones and the Ansible-specific ones)
  • Ansible content should be installable either on the administrator's workstation or on a server that can then be used to configure itself and other servers.

Deployment

  • Distribution is to be carried out either via RPM or via download from the Server Ansible repository. (Forgejo supports the provisioning of releases). Details are yet to be decided.
  • It may be necessary to develop custom code, e.g. for Fedora-specific services.

A possible File structure (merely a rough, preliminary sketch)

├─ /usr/bin/fedoraserver-ansible.sh
│  (executes ansible with required parameters)
│
├── /usr/share/ansible/a-c-fedora-server.general/  (static content parts)
│                      │
│                      ├─ a-c-fedora-server.general/postinstallation
│                      ├─ a-c-fedora-server.general/postinstallation/{defaultdirs} {includes corresponding etc level files}
│                      ├─ a-c-fedora-server.general/mailservice 
│                      ├─ a-c-fedora-server.general/mailservice /{defaultdirs}
│                      ├─ a-c-fedora-server.general/webservice/...
│                      ├─ a-c-fedora-server.general/…
│
│
├── /etc/ansible/fedoraserver/‘playbook_of_playbooks’. (customizable content parts)
│                                                   ├─ inventorymain
│                                                   ├─ playbooks/ 
│                                                   ├─ playbooks/postinstallation 
│                                                   ├─ playbooks/mailservice
│                                                   ├─ playbooks/webservice
│                                                   ├─ playbooks/...
│