@deploystack/docker-to-iac
Version:
Translate docker run and docker compose file to Infrastructure as Code
33 lines (32 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getHelmDatabaseType = getHelmDatabaseType;
exports.isHelmManagedDatabase = isHelmManagedDatabase;
const getImageUrl_1 = require("./getImageUrl");
const constructImageString_1 = require("./constructImageString");
const database_types_1 = require("../config/helm/database-types");
/**
* Gets the Helm chart configuration for a database Docker image, if available
*
* @param image The Docker image info to check
* @returns Database configuration or null if not a supported database
*/
function getHelmDatabaseType(image) {
const normalizedImage = (0, getImageUrl_1.getImageUrl)((0, constructImageString_1.constructImageString)(image));
for (const [configImage, dbConfig] of Object.entries(database_types_1.helmDatabaseConfig.databases)) {
if (normalizedImage.includes(configImage)) {
return dbConfig;
}
}
return null;
}
/**
* Checks if a Docker image represents a database that should be handled
* as a separate Helm dependency chart
*
* @param image The Docker image info to check
* @returns True if the image is a database that should use a Helm chart
*/
function isHelmManagedDatabase(image) {
return getHelmDatabaseType(image) !== null;
}