mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-19 14:33:52 +00:00
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import { Knex } from "knex";
|
|
|
|
import { initializeHsmModule } from "@app/ee/services/hsm/hsm-fns";
|
|
import { hsmServiceFactory } from "@app/ee/services/hsm/hsm-service";
|
|
import { TKeyStoreFactory } from "@app/keystore/keystore";
|
|
import { internalKmsDALFactory } from "@app/services/kms/internal-kms-dal";
|
|
import { kmskeyDALFactory } from "@app/services/kms/kms-key-dal";
|
|
import { kmsRootConfigDALFactory } from "@app/services/kms/kms-root-config-dal";
|
|
import { kmsServiceFactory } from "@app/services/kms/kms-service";
|
|
import { orgDALFactory } from "@app/services/org/org-dal";
|
|
import { projectDALFactory } from "@app/services/project/project-dal";
|
|
|
|
import { TMigrationEnvConfig } from "./env-config";
|
|
|
|
type TDependencies = {
|
|
envConfig: TMigrationEnvConfig;
|
|
db: Knex;
|
|
keyStore: TKeyStoreFactory;
|
|
};
|
|
|
|
export const getMigrationEncryptionServices = async ({ envConfig, db, keyStore }: TDependencies) => {
|
|
// eslint-disable-next-line no-param-reassign
|
|
const hsmModule = initializeHsmModule(envConfig);
|
|
hsmModule.initialize();
|
|
|
|
const hsmService = hsmServiceFactory({
|
|
hsmModule: hsmModule.getModule(),
|
|
envConfig
|
|
});
|
|
|
|
const orgDAL = orgDALFactory(db);
|
|
const kmsRootConfigDAL = kmsRootConfigDALFactory(db);
|
|
const kmsDAL = kmskeyDALFactory(db);
|
|
const internalKmsDAL = internalKmsDALFactory(db);
|
|
const projectDAL = projectDALFactory(db);
|
|
|
|
const kmsService = kmsServiceFactory({
|
|
kmsRootConfigDAL,
|
|
keyStore,
|
|
kmsDAL,
|
|
internalKmsDAL,
|
|
orgDAL,
|
|
projectDAL,
|
|
hsmService,
|
|
envConfig
|
|
});
|
|
|
|
await hsmService.startService();
|
|
await kmsService.startService();
|
|
|
|
return { kmsService };
|
|
};
|