The following table describes the current CCSDK repository contents, and which ONAP projects use their artifacts:
Repository | Contents | Used by | Current | |||
---|---|---|---|---|---|---|
ccsdk/apps | Standalone applications / microservices | SDNC | ||||
ccsdk/cds | Controller Design Studio (self-service tool) | SDNC, SO | ||||
ccsdk/dashboard | Dashboard for OOM | OOM | ||||
ccsdk/distribution | Docker images and directed graphs | APPC, SDNC | ||||
ccsdk/features | Karaf features not specifically intended to be called by directed graphs | SDNC | ||||
ccsdk/parent | Parent POM files, based on ONAP oparent | APPC, SDNC | ||||
ccsdk/platform/blueprints | Blueprints | DCAE, OOM | ||||
ccsdk/platform/plugins | Plugins | DCAE, OOM | ||||
ccsdk/sli/adaptors | Resource adaptors, to be called from resource nodes in a directed graph | APPC, SDNC | ||||
ccsdk/sli/core | Core engine used to execute directed graphs | APPC, SDNC | ||||
ccsdk/sli/northbound | Northbound interfaces | APPC, SDNC | ||||
ccsdk/sli/plugins | Java plugins to be called from execute nodes in a directed graph | APPC, SDNC | ||||
ccsdk/storage/esaas | Elastic Storage as a Service | DCAE, OOM | ||||
ccsdk/utils | Utilities | DCAE, OOM |
Several of these repositories are interrelated, and care must be taken to ensure that dependencies between repositories are managed so that circular dependencies are avoided. The following diagram illustrates the dependency hierarchy for the inter-related CCSDK repositories:
These dependencies are transitive. In other words:
- ccsdk/parent has no dependencies
- ccsdk/sli/core depends only on ccsdk/parent
- ccsdk/cds depends on ccsdk/sli/core and ccsdk/parent
- ccsdk/sli/adaptors, ccsdk/sli/northbound, ccsdk/sli/plugins and ccsdk/features are independent of each other but all depend on ccsdk/cds, ccsdk/sli/core, and ccsdk/parent
- ccsdk/distribution depends on all the repositories above it
- ccsdk/apps depends on ccsdk/distribution (for directed graphs) and on all the repositories above it