firmament-vita
Version:
Firmament module for automating VITA tasks
160 lines (147 loc) • 4.39 kB
text/typescript
import 'reflect-metadata';
import kernel from '../../inversify.config';
import {VitaTasks} from '../../interfaces/vita-tasks';
import {VitaFileUtil} from "../../interfaces/vita-file-util";
import {
ParallelMergePcapFilesResult, MergePcapFilesResult,
DecryptAndUnTarResult, UnZipFileResult, ProcessFullPipelineResult, FullPipeline, ProcessFullPipelineStatus
} from "../../interfaces/vita-options-results";
import {VitaPcapMerge} from "../../interfaces/vita-pcap-merge";
import {VitaDecryptUnTar} from "../../interfaces/vita-decrypt-untar";
import {CommandUtil, IPostal} from "firmament-yargs";
import {EtlFlow} from "etl-typings";
const path = require('path');
const fullPipeline = kernel.get<FullPipeline>('FullPipeline');
const vitaFileUtil = kernel.get<VitaFileUtil>('VitaFileUtil');
const vitaTasks = kernel.get<VitaTasks>('VitaTasks');
const vitaDecryptUnTar = kernel.get<VitaDecryptUnTar>('VitaDecryptUnTar');
const vitaPcapMerge = kernel.get<VitaPcapMerge>('VitaPcapMerge');
const commandUtil = kernel.get<CommandUtil>('CommandUtil');
const postal = kernel.get<IPostal>('IPostal');
process.on('uncaughtException', err => {
console.log(err);
});
fullPipeline.decryptAndUnTarOptions.encryptedFiles.push('/home/jreeme/pcaps/pcaps-encrypted/good.tar.enc');
//fullPipeline.decryptAndUnTarOptions.targetFolder = '/tmp/flibber';
fullPipeline.mergePcapFilesOptions.mergedPcapFile = 'zagabondBliff.pcap';
fullPipeline.fromJsonFile('/home/jreeme/src/firmament-vita/ts/test/test-data/testFullPath00');
/*fullPipeline.tag = <EtlFlow>{
id: 'loopbackId',
aminoId: 'aminoId',
name: 'Bro',
parentAminoId: 'parentFileAminoId',
steps: [
{
id: 'loopbackId',
aminoId: 'aminoId',
name: 'DecryptAndUnTar',
parentAminoId: 'parentAminoId'
},
{
id: 'loopbackId',
aminoId: 'aminoId',
name: 'UnZip',
parentAminoId: 'parentAminoId'
},
{
id: 'loopbackId',
aminoId: 'aminoId',
name: 'MergePCap',
parentAminoId: 'parentAminoId'
}
]
};*/
postal.publish({
channel: 'CommandUtil',
topic: 'SuppressConsoleOutput',
data: {
suppressConsoleOutput: false
}
});
let topic = 'badfood';
postal.subscribe({
channel: 'FirmamentVita',
topic,
callback: (data) => {
console.dir(data);
}
});
vitaTasks.processFullPipelineInstance(fullPipeline,
(err: Error, status: ProcessFullPipelineStatus) => {
postal.publish({
channel: 'FirmamentVita',
topic,
data: {
type: 'status',
payload: status
}
});
},
(err: Error, result: ProcessFullPipelineResult) => {
postal.publish({
channel: 'FirmamentVita',
topic,
data: {
type: 'result',
payload: result
}
});
commandUtil.processExitWithError(err, 'Finished.');
});
//'/share/nas4/user/brichardson/VITA/smarthome/data/2016'
//const startDir = '/tmp/pcaps';
/*
const startDir = '/home/jreeme/pcaps/out';
vitaFileUtil.findFiles({
pattern: /\.pcap$/,
folders: [startDir]
}, (err: Error, files: string[]) => {
files.sort();
vitaPcapMerge.mergePcapFiles(files,
path.resolve(startDir, 'mergedPcap.pcap'),
(err: Error, results: MergePcapFilesResult) => {
process.exit(0);
})
});
*/
/*vitaFileUtil.findFiles({
pattern: /\.gz$/,
folders: ['/tmp/pcaps-out']
}, (err: Error, files: string[]) => {
vitaFileUtil.unZipFiles({
//zippedFiles: files,
deleteOriginalZipFile: true
, foldersOfZippedFiles: ['/home/jreeme/pcaps/out']
}, (err: Error, results: UnZipFileResult[]) => {
console.dir(results);
process.exit(0);
})
});*/
/*
vitaFileUtil.findFiles({
pattern: /\.enc$/,
folders: ['/home/jreeme/pcaps/pcaps-encrypted']
}, (err, files) => {
let encryptedFolders = [
'/home/jreeme/pcaps/pcaps-encrypted-folders/folder1',
'/home/jreeme/pcaps/pcaps-encrypted-folders/folder2',
'/home/jreeme/pcaps/pcaps-encrypted-folders/folder3'
];
vitaDecryptUnTar.process({
encryptedFiles: files,
targetFolder: '/home/jreeme/pcaps/out',
foldersOfEncryptedFiles: encryptedFolders,
encryptedFilePattern: /\.enc$/
},
(err: Error, decryptAndUnTarResult: DecryptAndUnTarResult[]) => {
console.dir(decryptAndUnTarResult);
process.exit(0);
decryptAndUnTarResult.forEach(result => {
vitaFileUtil.unZipFiles(result.zipFiles, (err: Error, unZipFileResult: UnZipFileResult[]) => {
process.exit(0);
})
});
});
});
*/