@deploystack/docker-to-iac
Version:
Translate docker run and docker compose file to Infrastructure as Code
55 lines (54 loc) • 1.49 kB
TypeScript
import { ApplicationConfig } from '../types/container-config';
export type FileOutput = {
content: any;
format: TemplateFormat;
isMain?: boolean;
};
export type ParserFileConfig = {
path: string;
templateFormat: TemplateFormat;
isMain?: boolean;
description?: string;
};
export type ParserConfig = {
files: ParserFileConfig[];
cpu?: any;
memory?: any;
diskSizeGB?: number;
region?: string;
subscriptionName?: string;
};
export type ParserInfo = {
providerWebsite: string;
providerName: string;
providerNameAbbreviation: string;
languageOfficialDocs: string;
languageAbbreviation: string;
languageName: string;
defaultParserConfig: ParserConfig;
};
export declare enum RegistryType {
DOCKER_HUB = "DOCKER_HUB",
GHCR = "GHCR"
}
export interface DockerImageInfo {
registry_type: RegistryType;
registry?: string;
repository: string;
tag?: string;
digest?: string;
}
export declare enum TemplateFormat {
json = "json",
yaml = "yaml",
text = "text"
}
export declare function formatResponse(response: string, templateFormat: TemplateFormat): any;
export declare abstract class BaseParser {
parse(config: ApplicationConfig, templateFormat?: TemplateFormat): any;
abstract parseFiles(config: ApplicationConfig): {
[path: string]: FileOutput;
};
abstract getInfo(): ParserInfo;
protected formatFileContent(content: any, format: TemplateFormat): string;
}