= System Administrator Guide

Welcome to The Fedora Infrastructure system administration guide.

== Getting Started

If you haven't already, you should complete the general
https://fedora-infra-docs.readthedocs.io/en/latest/index.html#getting-started[Getting Started] guide.
Once you've completed that, you're ready to get
involved in the
https://accounts.fedoraproject.org/group/fi-apprentice/[Fedora
Infrastructure Apprentice] group.

=== Fedora Infrastructure Apprentice

The
https://accounts.fedoraproject.org/group/fi-apprentice/[Fedora
Infrastructure Apprentice] group in the Fedora Account System grants
read-only access to many Fedora infrastructure machines. This group is
used for new folks to look around at the infrastructure setup, check
machines and processes and see where they might like to contribute
moving forward. This also allows apprentices to examine and gather info
on problems, then propose solutions.

[NOTE]
====
This group will be pruned often of inactive folks who miss the monthly
email check-in on the
https://lists.fedoraproject.org/admin/lists/infrastructure.lists.fedoraproject.org/[infrastructure
mailing list]. There's nothing personal in this and you're welcome to
re-join later when you have more time, we just want to make sure the
group only has active members.
====

Members of the https://accounts.fedoraproject.org/group/fi-apprentice/[Fedora
Infrastructure Apprentice] group have ssh/shell access to many machines,
but no sudo rights or ability to commit to the
https://pagure.io/fedora-infra/ansible/[Ansible repository] (but they do
have read-only access). Apprentice can, however, contribute to the
infrastructure documentation by making a pull request to the
https://pagure.io/infra-docs/[infra-docs] repository. Access is via the
bastion.fedoraproject.org machine and from there to each machine. See
the xref:ssh.adoc[ssh-sop] for instructions on how to set up SSH. You can see a list
of hosts that allow apprentice access by using:

....
$  ./scripts/hosts_with_var_set -i inventory/ -o ipa_client_shell_groups=fi-apprentice
....

from a checkout of the https://pagure.io/fedora-infra/ansible/[Ansible
repository]. The Ansible repository is hosted on pagure.io at
`https://pagure.io/fedora-infra/ansible.git`.

=== Selecting a Ticket

Start by checking out the
https://pagure.io/fedora-infrastructure/issues?status=Open&tags=easyfix[easyfix
tickets]. Tickets marked with this tag are a good place for apprentices
to learn how things are setup, and also contribute a fix.

Since apprentices do not have commit access to the
https://pagure.io/fedora-infra/ansible/[Ansible repository], you should
make your change, produce a patch with `git diff`, and attach it to the
infrastructure ticket you are working on. It will then be reviewed.

== Standard Operating Procedures

Below is a table of contents containing all the standard operating
procedures for Fedora Infrastructure applications. For information on
how to write a new standard operating procedure, consult the guide on
https://fedora-infra-docs.readthedocs.io/en/latest/dev-guide/sops.html#develop-sops[Developing
Standard Operating Procedures].
