21 lines
851 B
TypeScript
21 lines
851 B
TypeScript
import type { ComposeSpecification } from "../schema/docker.d";
|
|
import { composeToKubernetes, type KubernetesResource } from "./convert";
|
|
import { reconcilePostgresClaims } from "./database";
|
|
import { reconcileS3Claims } from "./storage";
|
|
import { DEFAULT_REGISTRY } from "./config";
|
|
|
|
export async function renderResources(
|
|
project: string,
|
|
compose: ComposeSpecification,
|
|
cwd = process.cwd(),
|
|
registry = DEFAULT_REGISTRY,
|
|
): Promise<KubernetesResource[]> {
|
|
const postgresEnv = await reconcilePostgresClaims(project, compose);
|
|
const s3Env = await reconcileS3Claims(project, compose);
|
|
const serviceEnv = { ...postgresEnv };
|
|
for (const [service, environment] of Object.entries(s3Env)) {
|
|
serviceEnv[service] = { ...serviceEnv[service], ...environment };
|
|
}
|
|
return composeToKubernetes(project, compose, cwd, serviceEnv, registry);
|
|
}
|