Note: work in progress
Requirement
- REQ-1043Getting issue details... STATUS
Epic
Epic | Description | JIRA Ticket | Priority |
---|---|---|---|
ASD Package Distribution Microservice shall support Application Package distribution | ASD Package Distribution Microservice shall support Application Package distribution
| 1 | |
User Stories
User Story | Description | JIRA Ticket | Priority |
---|---|---|---|
CNF Catalog Manager shall manage ASD package, Helm Artifacts and Image Artifacts | CNF Catalog Manager shall manage ASD package, Helm Artifacts and Image Artifacts Pre Condition:
Post Condition:
| 1 | |
Task: shall Extend ETSI Catalog Manager (Modeling Catalog) component to handle:
| 1.1 | ||
ASD Package Repository shall manage ASD Package distribution | ASD Package Repository manages ASD Package distribution Pre Condition:
Post Condition:
| 2 | |
Task: Support for ASD Package Repository Management APIs
| 2.1 | ||
Task:
| 2.2 | ||
Task:
| 2.3 | ||
Task: Create Image Artifact Repository Management
Note: it is allowed to use an open-source Artifact Repository | 2.4 | ||
Helm Artifact Repository manages Helm Chart distribution | Helm Artifact Repository manages Helm Artifacts distribution Pre Condition:
Post Condition:
| 3 | |
Task: Create Helm Artifact Repository Management
Note: it is allowed to use an open-source Artifact Repository | 3.1 | ||
Task:
| 3.2 | ||
Image Artifact Repository manages Image distribution | Image Artifact Repository manages Image Artifacts distribution Pre Condition:
Post Condition:
Post Condition:
| 4 | |
Task: Create Image Artifact Repository Management
Note: it is allowed to use an open-source Artifact Repository | 4.1 | ||
Task:
| 4.2 |
Distribution Sequence
ASD Artifact Distribution
Docker Commands
- docker login
- docker pull
- docker tag
- docker tag OPTIONS IMAGE TAG REGISTRYHOST/ USERNAME/NAME[:TAG]
- docker push
- docker push NAME [:TAG]
docker login <REGISTRY_HOST>:<REGISTRY_PORT>
docker tag <IMAGE_ID> <REGISTRY_HOST>:<REGISTRY_PORT>/<APPNAME>:<APPVERSION>
docker push <REGISTRY_HOST>:<REGISTRY_PORT>/<APPNAME>:<APPVERSION>
Image Registry
The image registry path is parameterized to support deployments using a private registry.
<TBD>
Image Pull Secret
A Docker registry secret is needed for each namespace to access the container registry. The secret is included in the POD definition.
ASD Package Distribution Service
The distribution service distributes ASD application packages to the registries deployed in the ONAP K8S cluster. The process of distribution pushes ASD application-specific Helm charts and Docker images to their respective registries and pushes the ASD to the Catalog Manager Database (ASD repository).
The followings are the steps in the process of onboarding a ASD App CSAR file:
- receive an uploaded ASD-based CNF / application as a CSAR file
- Unpack the uploaded CSAR file
- Retag Docker images with the target Docker registry details
- Push the retagged images to the target Docker registry
- Upload the Helm chart of the ASD-based CNF / application to the Helm chart registry that the Distribution service specifies
- Upload the ASD to the Catalog Manager Database (ASD Repository)
ASD Package/Artifact APIs
- The Catalog Manager provides the following APIs for its clients:
- List onboarded ASD App Packages
- Query a specified ASD App Package
- Retrieve ASD from the Onboarded ASD App Package
- Delete an ASD App Package. (for a given asPkgId)
- When an ASD App Package is deleted, 1) the Helm chart or charts are removed from the Helm chart Repository, 2) the ASD App package entry is removed from the ASD App Repository and 3) the Docker image or images are removed from the Image repository if no other onboarded package references them.
- The Helm Repository provides APIs for Helm chart query for a given Helm chart id, which is from the ASD DeploymentItems.
- The Image Repository (e.g., Docker repo) provides APIs for Image query for a given Image name (and Tag)
- Fetch Artifact from CSAR package