Development guide
Development Guide
The project is based on Java 8 using Jersey as a JAX-RS implementation to provide a REST interface over the list of possible operations described in the REST API section. This operations are implemented in com.atos.indigo.reposync.RepositoryServiceProviderService class. All of them, save the list functionality, will use a Java binding for docker to get the needed images or image info and then execute operations in the backend to create or update said images. To simplify the access to the different backend implementations, every one of them has to implement com.atos.indigo.reposync.providers.RepositoryServiceProvider interface with the following operations:
List images(String parameters): List images in the platform, both Docker and Virtual Machines with optional filtering as a parameter. This parameter may accept wildcards.
ActionResponseBean delete(String imageId): Delete an image in the platform given its id. It should return a boolean with the success status of the operation and an optinal message in case of failure.
ImageInfoBean imageUpdated(String imageName, String tag, InspectImageResponse img, DockerClient client): This operation will signal an update in one of the images in DockerHub. The backend should check if the image already exist and then create or update it with the information provided.
New backends can be developed as long as they comply with the given interface
REST API
The following operations are implemented in the service:
Further operations can be added as needed.
Last updated