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