import { CONTAINER_NAME } from "../src/bin/shared/constants"; import child_process from "child_process"; import { SemVer } from "../src/bin/tools/SemVer"; import { dumpContainerConfig } from "../src/bin/start-keycloak/realmConfig/dumpContainerConfig"; import { cacheDirPath } from "./shared/cacheDirPath"; import { getThisCodebaseRootDirPath } from "../src/bin/tools/getThisCodebaseRootDirPath"; import { writeRealmJsonFile } from "../src/bin/start-keycloak/realmConfig/ParsedRealmJson"; import { join as pathJoin } from "path"; import chalk from "chalk"; (async () => { const keycloakMajorVersionNumber = SemVer.parse( child_process .execSync(`docker inspect --format '{{.Config.Image}}' ${CONTAINER_NAME}`) .toString("utf8") .trim() .split(":")[1] ).major; const parsedRealmJson = await dumpContainerConfig({ buildContext: { cacheDirPath }, keycloakMajorVersionNumber, realmName: "myrealm" }); const realmJsonFilePath = pathJoin( getThisCodebaseRootDirPath(), "src", "bin", "start-keycloak", "realmConfig", "defaultConfig", `realm-kc-${keycloakMajorVersionNumber}.json` ); await writeRealmJsonFile({ parsedRealmJson, realmJsonFilePath, keycloakMajorVersionNumber }); console.log(chalk.green(`Realm config dumped to ${realmJsonFilePath}`)); })();