Key Files
A quick map of the files you'll touch most.
Django bootstrap
| File |
What's in it |
NimbusVault/settings.py |
Django settings, parses VaultSettings.json, defines all module-level config constants. |
NimbusVault/urls.py |
Root URLconf. Includes all VaultManagement/urls/<Domain>.py modules and dynamically mounts plugins. |
NimbusVault/CustomMiddlewares.py |
Middleware stack: CORS, CSP, Tenant, Encryption, JWT/OAuth2, Elastic APM. |
NimbusVault/celery.py |
Celery app, queue setup, broker config. |
NimbusVault/asgi.py / NimbusVault/wsgi.py |
ASGI / WSGI entry points. |
gunicorn.py |
Gunicorn config (uvicorn workers, ASGI). |
script.sh |
Container entrypoint. Branches on SERVICE_TYPE. |
Per-domain layout
For any new domain MyDomain:
| File |
Purpose |
VaultManagement/urls/MyDomain.py |
Route definitions. |
VaultManagement/views/MyDomain.py |
DRF class-based views. |
VaultManagement/serializers/MyDomain.py |
Request/response serializers. |
Orchestrators/MyDomainOrchestrators/MyDomainOrchestrator.py |
Workflow + rollback. |
bll/MyDomain/HelperFunctions.py |
Pure helpers. |
bll/MyDomain/GetApisbll.py |
Read-path business logic. |
bll/MyDomain/PostApisbll.py |
Write-path business logic. |
bll/MyDomain/service.py |
The only ORM access point. |
VaultModels/models/MyDomain.py |
Django models. |
Swagger/MyDomain/MyDomainConstants.py |
(optional) Swagger schema mappings. |
Cross-cutting frameworks
| File |
What it does |
Orchestrators/MainOrchestrator.py |
Step + rollback engine. |
Orchestrators/OrchestratorRegistry.py |
Discovery (OrchestratorRegistry.get("<key>")); builds a fresh MainOrchestrator + domain orchestrator instance per run. |
Orchestrators/RegisterOrchestrator.py |
The single register_orchestrator() function that lists every domain orchestrator. Add one line here when you create a new domain — there is no decorator. |
Orchestrators/AbstractOrchestrators/BaseOrchestrator.py |
The BaseOrchestrator metaclass (not a base class). Enforces Description/Input/Output docstrings on every orchestrator class and method, and gates instantiation through the registry. |
Orchestrators/ContextManager.py |
@context_manager(get_contexts=..., set_contexts=..., sync_with_parent_context=True) — declares and enforces which context keys a method/step reads and writes. Supports dict, callable, and conditional/"else" buckets. |
Orchestrators/OrchestrationExceptions.py |
StepExitException — raised when a step writes result_status to exit the workflow early. |
Orchestrators/WorkerTasks/ |
Celery wrappers around orchestrator runs. |
VaultModels/ModelRegistry.py |
Central name → model class registry. |
Plugins/plugin_manager.py |
Plugin discovery. |
VaultErrors/BackendErrors.py |
All typed errors. |
NimbusVaultConstants/CommonConstants/CommonConstants.py |
ModelAPIView, flatten_serializer_errors, and other shared view helpers. |
NimbusVaultConstants/Modelentity/Modelentity.py |
ModelName.url_vault etc. |
Config files (not code)
| File |
Status |
VaultSettings.json |
Plaintext config. Not committed. |
VaultSettings.enc.json |
Encrypted config. May be committed. |
requirement.txt |
Python dependencies. |
Makefile |
make local, make server, make vault, make killme, make fake, make up-vault, make restart, make stop. |
crontab |
Supercronic scheduled jobs (celery container only). |
docker-compose.yml |
Local Docker stack. |
Dockerfile |
Image build. |
Tests
| File |
Purpose |
conftest.py |
Bootstraps Django before pytest collection. |
VaultManagement/tests/test_*.py |
~30 API-level test modules. |
bll/Tests/Auth/ |
Auth BLL unit tests. |