barbican/doc/source/contributor/structure.rst
Andreas Jaeger b86d6b5660 move documentation into the new standard layout
This change moves existing files.
It is not meant to be the final word on how the main page looks or how the
other files are organized, but it gets everything roughly into shape. If
the barbican team wants to make changes, please do those as follow-up patches.

Note this does not touch the api directory, this one needs to be
migrated to the api-ref.

This is part of the docs migration work for Pike.

Change-Id: Ibb9d971806964ac185882272514ee9563089d69d
2017-06-30 20:12:52 +02:00

1.5 KiB

Project Structure

  1. barbican/ (Barbican-specific Python source files)
    1. api/ (REST API related source files)
      1. controllers/ (Pecan-based controllers handling REST-based requests)
      2. middleware/ (Middleware business logic to process REST requests)
    2. cmd/ (Barbican admin command source files)
    3. common/ (Modules shared across other Barbican folders)
    4. locale/ (Translation templates)
    5. model/ (SQLAlchemy-based model classes)
    6. plugin/ (Plugin related logic, interfaces and look-up management)
      1. resources.py (Supports interactions with plugins)
      2. crypto/ (Hardware security module (HSM) logic and plugins)
      3. interface/ (Certificate manager and secret store interface classes)
      4. (The remaining modules here are implementations of above interfaces)
    7. queue/ (Client and server interfaces to the queue)
      1. client.py (Allows clients to publish tasks to queue)
      2. server.py (Runs the worker service, responds to enqueued tasks)
    8. tasks/ (Worker-related controllers and implementations)
    9. tests/ (Unit tests)
  2. bin/ (Start-up scripts for the Barbican nodes)
  3. devstack/ (Barbican DevStack plugin, DevStack gate configuration and

    Vagrantfile for installing DevStack VM)

  4. etc/barbican/ (Configuration files)
  5. functionaltests (Functional Barbican tests)
  6. doc/source (Sphinx documentation)
  7. releasenotes (Barbican Release Notes)