update conventions

This commit is contained in:
2023-02-01 14:29:33 +01:00
parent 1790e78e09
commit a8f6c712ba

View File

@@ -4,15 +4,15 @@ Conventions
Naming convention for servers
-----------------------------
Server names have the form ``purpose[0-9][0-9]{,-test}.psi.ch``, where
Server names have the form ``lx-purpose-[0-9][0-9].psi.ch``, where
``purpose`` is the purpose of the server or the service provided by it. Examples are:
- ``puppet01.psi.ch`` is the **productive** puppetmaster
- ``repo00-test.psi.ch`` is the **test** Yum repository server
- ``lx-boot-01.psi.ch`` is the **boot** server
The production server always has an DNS alias `purpose.psi.ch` and clients should always use this alias to connect to the server.
When putting system names into configuration files, we always use lower case and
the fully qualified domain name. Good: ``puppet01.psi.ch``. Bad: ``puppet01`` or
``PUPPET01.PSI.CH``.
the fully qualified domain name. Good: ``boot.psi.ch``.
Names for programs
@@ -24,29 +24,3 @@ the language they are written in. The latter is an implementation detail and
does not matter to the caller of the script/program. A good name could be
``pli-system-info``, a bad one would be ``pli-system-info.sh``.
File system hierarchy and filenames
-----------------------------------
Files should generally be placed where the distribution and/or the `FHS
<http://www.pathname.com/fhs/>`_ expect them. Deviations and clarifications are
documented in this section.
The base directory for files is ``/usr`` if the files are relevant to end-users,
``/opt/pli`` if the files are relevant only to Linux administrators. This avoids
polluting the PATH for end-users as well as naming conflicts.
Executables (scripts or otherwise) that are meant for interactive use should go
into ``BASE/bin`` or ``BASE/sbin`` as appropriate.
Executables which are primarily called by other executables to implement part of
their functionality should be place in ``BASE/libexec``. This avoids polluting
``$PATH``.
Files and directories should have names starting with ``pli-`` or be placed in a
directory with such a name. This makes it obvious whether a file belongs to an
internal package and avoids collisions.
Note: this section used to recommend ``psi-`` as the prefix. It turns out that
this prefix is being used in various other places already, hence we use
``pli-``, where PLI stands for PSI Linux Infrastructure.