2017-03-07 19:25:18 +00:00
|
|
|
/**
|
|
|
|
* Service which provides helper methods for extracting information out from a Dockerfile
|
|
|
|
* or an archive containing a Dockerfile.
|
|
|
|
*/
|
|
|
|
export abstract class DockerfileService {
|
|
|
|
|
|
|
|
/**
|
2017-03-08 19:43:53 +00:00
|
|
|
* Retrieve Dockerfile from given file.
|
|
|
|
* @param file Dockerfile or archive file containing Dockerfile.
|
2017-03-07 19:25:18 +00:00
|
|
|
* @param success Success callback with retrieved Dockerfile as parameter.
|
|
|
|
* @param failure Failure callback with failure message as parameter.
|
|
|
|
*/
|
|
|
|
public abstract getDockerfile(file: any,
|
|
|
|
success: (dockerfile: DockerfileInfo) => void,
|
|
|
|
failure: (error: ErrorEvent | string) => void): void;
|
|
|
|
|
2017-03-08 19:43:53 +00:00
|
|
|
/**
|
|
|
|
* Retrieve Dockerfile from given file.
|
|
|
|
* @param file Dockerfile or archive file containing Dockerfile.
|
|
|
|
* @return promise Promise resolving to new DockerfileInfo instance or rejecting to error message.
|
|
|
|
*/
|
2017-03-07 19:25:18 +00:00
|
|
|
public abstract extractDockerfile(file: any): Promise<DockerfileInfo | string>;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Model representing information about a specific Dockerfile.
|
|
|
|
*/
|
|
|
|
export abstract class DockerfileInfo {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Extract the registry base image from the Dockerfile contents.
|
|
|
|
* @return registryBaseImage The registry base image.
|
|
|
|
*/
|
|
|
|
public abstract getRegistryBaseImage(): string | null;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Extract the base image from the Dockerfile contents.
|
|
|
|
* @return baseImage The base image.
|
|
|
|
*/
|
|
|
|
public abstract getBaseImage(): string | null;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Extract the base image and tag from the Dockerfile contents.
|
|
|
|
* @return baseImageAndTag The base image and tag.
|
|
|
|
*/
|
|
|
|
public abstract getBaseImageAndTag(): string | null;
|
|
|
|
}
|