Blame doc/rtd/topics/dir_layout.rst

Packit Service a04d08
****************
Packit Service a04d08
Directory layout
Packit Service a04d08
****************
Packit Service a04d08
Packit Service a04d08
Cloud-init's directory structure is somewhat different from a regular
Packit Service a04d08
application::
Packit Service a04d08
Packit Service a04d08
  /var/lib/cloud/
Packit Service a04d08
      - data/
Packit Service a04d08
         - instance-id
Packit Service a04d08
         - previous-instance-id
Packit Service a04d08
         - datasource
Packit Service a04d08
         - previous-datasource
Packit Service a04d08
         - previous-hostname
Packit Service a04d08
      - handlers/
Packit Service a04d08
      - instance
Packit Service a04d08
      - instances/
Packit Service a04d08
          i-00000XYZ/
Packit Service a04d08
            - boot-finished
Packit Service a04d08
            - cloud-config.txt
Packit Service a04d08
            - datasource
Packit Service a04d08
            - handlers/
Packit Service a04d08
            - obj.pkl
Packit Service a04d08
            - scripts/
Packit Service a04d08
            - sem/
Packit Service a04d08
            - user-data.txt
Packit Service a04d08
            - user-data.txt.i
Packit Service a04d08
      - scripts/
Packit Service a04d08
         - per-boot/
Packit Service a04d08
         - per-instance/
Packit Service a04d08
         - per-once/
Packit Service a04d08
      - seed/
Packit Service a04d08
      - sem/
Packit Service a04d08
Packit Service a04d08
``/var/lib/cloud``
Packit Service a04d08
Packit Service a04d08
  The main directory containing the cloud-init specific subdirectories.
Packit Service a04d08
  It is typically located at ``/var/lib`` but there are certain configuration
Packit Service a04d08
  scenarios where this can be altered.
Packit Service a04d08
Packit Service a04d08
  TBD, describe this overriding more.
Packit Service a04d08
Packit Service a04d08
``data/``
Packit Service a04d08
Packit Service a04d08
  Contains information related to instance ids, datasources and hostnames of
Packit Service a04d08
  the previous and current instance if they are different. These can be
Packit Service a04d08
  examined as needed to determine any information related to a previous boot
Packit Service a04d08
  (if applicable).
Packit Service a04d08
Packit Service a04d08
``handlers/``
Packit Service a04d08
Packit Service a04d08
  Custom ``part-handlers`` code is written out here. Files that end up here are
Packit Service a04d08
  written out with in the scheme of ``part-handler-XYZ`` where ``XYZ`` is the
Packit Service a04d08
  handler number (the first handler found starts at 0).
Packit Service a04d08
Packit Service a04d08
Packit Service a04d08
``instance``
Packit Service a04d08
Packit Service a04d08
  A symlink to the current ``instances/`` subdirectory that points to the
Packit Service a04d08
  currently active instance (which is active is dependent on the datasource
Packit Service a04d08
  loaded).
Packit Service a04d08
Packit Service a04d08
``instances/``
Packit Service a04d08
Packit Service a04d08
  All instances that were created using this image end up with instance
Packit Service a04d08
  identifier subdirectories (and corresponding data for each instance). The
Packit Service a04d08
  currently active instance will be symlinked the ``instance`` symlink file
Packit Service a04d08
  defined previously.
Packit Service a04d08
Packit Service a04d08
``scripts/``
Packit Service a04d08
Packit Service a04d08
  Scripts that are downloaded/created by the corresponding ``part-handler``
Packit Service a04d08
  will end up in one of these subdirectories.
Packit Service a04d08
Packit Service a04d08
``seed/``
Packit Service a04d08
Packit Service a04d08
  TBD
Packit Service a04d08
Packit Service a04d08
``sem/``
Packit Service a04d08
Packit Service a04d08
  Cloud-init has a concept of a module semaphore, which basically consists
Packit Service a04d08
  of the module name and its frequency. These files are used to ensure a module
Packit Service a04d08
  is only ran `per-once`, `per-instance`, `per-always`. This folder contains
Packit Service a04d08
  semaphore `files` which are only supposed to run `per-once` (not tied to the
Packit Service a04d08
  instance id).
Packit Service a04d08
Packit Service a04d08
.. vi: textwidth=78