@deploystack/docker-to-iac
Version:
Translate docker run and docker compose file to Infrastructure as Code
53 lines (52 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.databasePropertyMappings = exports.servicePropertyMappings = void 0;
exports.getPropertyForProvider = getPropertyForProvider;
exports.servicePropertyMappings = {
'host': {
render: 'host',
digitalOcean: 'PRIVATE_DOMAIN'
},
'port': {
render: 'port',
digitalOcean: 'PRIVATE_PORT'
},
'hostport': {
render: 'hostport',
digitalOcean: 'PRIVATE_URL'
}
};
exports.databasePropertyMappings = {
'connectionString': {
render: 'connectionString',
digitalOcean: 'DATABASE_URL'
},
'username': {
render: 'user',
digitalOcean: 'USERNAME'
},
'password': {
render: 'password',
digitalOcean: 'PASSWORD'
},
'databaseName': {
render: 'database',
digitalOcean: 'DATABASE'
}
};
/**
* Gets the correct property name for a specific provider
*
* @param property - The generic property name
* @param provider - The target provider
* @param isDatabase - Whether this is a database property
* @returns The provider-specific property name
*/
function getPropertyForProvider(property, provider, isDatabase) {
const mappings = isDatabase ? exports.databasePropertyMappings : exports.servicePropertyMappings;
if (!mappings[property]) {
console.warn(`Unknown property: ${property}. Using as-is.`);
return property;
}
return mappings[property][provider] || property;
}