UNPKG

databricks-cdk

Version:

With this package databricks resources can be deployed with cdk

34 lines (33 loc) 1.51 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DockerImage = void 0; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const os_1 = __importDefault(require("os")); const crypto_1 = require("crypto"); const aws_cdk_lib_1 = require("aws-cdk-lib"); class DockerImage { static generate(version) { const dockerTempDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), "databricks-cdk-lambda-")); const dockerFile = path_1.default.join(dockerTempDir, "Dockerfile"); const lambdaVersion = version || DockerImage.version(); fs_1.default.writeFileSync(dockerFile, `FROM floriday/databricks-cdk-lambda:${lambdaVersion}`); // Random hash will trigger a rebuild always, only need if dev is used const randomHash = (lambdaVersion == "dev") ? (0, crypto_1.randomUUID)() : ""; return aws_cdk_lib_1.aws_lambda.DockerImageCode.fromImageAsset(dockerTempDir, { file: "Dockerfile", buildArgs: { version: lambdaVersion, randomHash: randomHash, } }); } static version() { const pj = require("../package.json"); // eslint-disable-line @typescript-eslint/no-var-requires return pj.version; } } exports.DockerImage = DockerImage;