UNPKG

@northflank/cli

Version:

Provides a command-line interface to the Northflank platform.

1 lines 10.8 kB
const a11v=a11E;(function(m,E){const d=a11E,h=m();while(!![]){try{const I=parseInt(d(0x133))/0x1+-parseInt(d(0x141))/0x2*(-parseInt(d(0x180))/0x3)+-parseInt(d(0x172))/0x4+-parseInt(d(0x12f))/0x5+parseInt(d(0x1a6))/0x6+-parseInt(d(0x146))/0x7*(parseInt(d(0x17f))/0x8)+parseInt(d(0x18c))/0x9;if(I===E)break;else h['push'](h['shift']());}catch(T){h['push'](h['shift']());}}}(a11m,0xd927e));function a11m(){const mT=['getCurrentJobName','addonId','values','askForProject','serviceId','printInitInfo','textNotIncludes','conflicts','choices','12288852QbkzVL','message','getTokenScope','regexNotIncludes','alias','askForAddon','jobId','slice','--deployment\x20--deploymentId\x20[deploymentId]','bold','json','yaml','\x20with\x20live-tailing','Error\x20while\x20tailing\x20log\x20lines:\x20','getLogsCommand','Log\x20session\x20ended','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','logs','askForAddonRestore','forward','start','\x20seconds','deploymentId','data','textIncludes','log','4837752zLLZRC',',\x20restore\x20id\x20','No\x20logs\x20found\x20for\x20this\x20query.\x20Make\x20sure\x20to\x20select\x20an\x20appropriate\x20time\x20window.','description','getFormatter','regexIncludes','logTail','action',',\x20duration:\x20','--noDefaults','Project\x20for\x20logs','apiContext','--textNotIncludes\x20<text>','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','--duration\x20[duration]','1071840vIRANW','error','>\x20Container\x20logs','toUpperCase','607688sJGfUb','contextProvider','service','Id]','\x20in\x20project\x20','argParser','addOption','getCurrentServiceName','askForJob','--project\x20--projectId\x20[projectId]',',\x20from:\x20','-o,\x20--output\x20[output]','backward','Number\x20of\x20lines\x20to\x20return.','2RttAax','-f,\x20--tail',',\x20to:\x20','runId','length','21vZeMAe','option','defaultDurationSeconds','--team\x20--teamId\x20[TEAMID]','name','details','noDefaults','Restore\x20to\x20get\x20logs\x20from','Get\x20logs\x20generated\x20before\x20this\x20time,\x20','\x20for\x20container\x20','yml','stringify','-t,\x20--types\x20<types...>','askForTeam','apiClient','build-','-l,\x20--lineLimit\x20[limit]','Filter\x20log\x20lines\x20to\x20include\x20this\x20text','--backup\x20--backupId\x20[backupId]','Team\x20id','getTime','cursor','\x20of\x20','Get\x20log\x20for\x20the\x20specified\x20','addonBackup','Get\x20logs\x20generated\x20after\x20this\x20time,\x20','Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.','addonRestore','Filter\x20log\x20lines\x20to\x20match\x20this\x20regular\x20expression','--build\x20--buildId\x20[buildId]','backupId','Backup\x20to\x20get\x20logs\x20from','org','askForJobRun','inquirerHelper','job','logsApiClient','askForProjectContext','containerId','\x20for\x20all\x20containers','\x20(exit\x20with\x20','\x20--','Direction\x20of\x20logs.\x20Ignored\x20when\x20tailing.','logs-received','5805060FfRIOP','Tail\x20will\x20stream\x20logs\x20in\x20real-time.\x20Session\x20will\x20be\x20kept\x20open.','logRange','Filter\x20log\x20lines\x20to\x20not\x20include\x20this\x20text','-d,\x20--direction\x20<order>','askForAddonBackup','Which\x20log\x20types\x20to\x20fetch','askForBuild','getStandardLogCommand','getCurrentProjectName','--container\x20--containerId\x20[containerId]','--regexIncludes\x20<regex>','Id\x20[','2494792qMTptU','2133726sWTJWu','tail','Build\x20to\x20get\x20logs\x20from'];a11m=function(){return mT;};return a11m();}import{ApiClient,LogType}from'@northflank/js-client';import a11h from'chalk';import{assertContextExisting,customUserAgent,error,getCommand,parseDateInput,tsHint,warning}from'../utils.js';import{InquirerHelper}from'../inquirer-helper.js';import{Option}from'commander';import{printResponse}from'../formatting/console-format-helpers.js';import{formatLogLine}from'./log-formatter.js';function a11E(m,E){const h=a11m();return a11E=function(I,T){I=I-0x12f;let e=h[I];return e;},a11E(m,E);}export class CliLogs{[a11v(0x1b1)];[a11v(0x154)];['logsApiClient'];[a11v(0x168)];[a11v(0x148)]=0x708;['getStandardLogCommand']=(m,E,h,I)=>{const m0=a11v,T=getCommand(!![])[m0(0x14a)]((E?'build-':'')+m0(0x19d))[m0(0x190)]((E?m0(0x155):'')+m0(0x1a5))[m0(0x1a9)](m0(0x15d)+m)[m0(0x147)](m0(0x13c),m0(0x1b0))[m0(0x147)]('--'+m+m0(0x16f)+m+m0(0x17e)+m+m0(0x136),m['charAt'](0x0)[m0(0x132)]()+m[m0(0x193)](0x1)+'\x20to\x20get\x20logs\x20from')['option'](m0(0x17c),'Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)');this[m0(0x154)][m0(0x134)][m0(0x18e)]()===m0(0x166)&&T[m0(0x147)](m0(0x149),m0(0x159));if(E)T[m0(0x147)](m0(0x163),m0(0x182));if(m===m0(0x169))T[m0(0x147)]('--run\x20--runId\x20[runId]','Job\x20run\x20id,\x20example:\x20162b1977-6636-4000-929b-cc265b862ff0');if(m===m0(0x135))T[m0(0x147)](m0(0x194),'Deployment\x20id,\x20example:\x20my-service-54785f4');if(h)T[m0(0x147)](m0(0x158),m0(0x165));if(I)T[m0(0x147)]('--restore\x20--restoreId\x20[restoreId]',m0(0x14d));return!E&&!h&&!I&&T[m0(0x139)](new Option(m0(0x152),m0(0x178))['choices'](Object[m0(0x185)](LogType))),T['option'](m0(0x142),m0(0x173))['option'](m0(0x156),m0(0x140))[m0(0x147)]('--startTime\x20<timestamp>',m0(0x15f)+tsHint,parseDateInput)[m0(0x139)](new Option('--endTime\x20<timestamp>',m0(0x14e)+tsHint)[m0(0x138)](parseDateInput)['conflicts']([m0(0x181)]))[m0(0x147)](m0(0x1b4),'Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set')[m0(0x139)](new Option(m0(0x176),m0(0x170))[m0(0x18b)]([m0(0x13f),m0(0x19f)])[m0(0x18a)]([m0(0x181)]))[m0(0x139)](new Option('--textIncludes\x20<text>',m0(0x157))[m0(0x18a)]([m0(0x189),m0(0x1ab),m0(0x18f)]))['addOption'](new Option(m0(0x1b2),m0(0x175))[m0(0x18a)]([m0(0x1a4),'regexIncludes','regexNotIncludes']))['addOption'](new Option(m0(0x17d),m0(0x162))[m0(0x18a)](['textNotIncludes',m0(0x1a4),m0(0x18f)]))[m0(0x139)](new Option('--regexNotIncludes\x20<regex>','Filter\x20log\x20lines\x20to\x20not\x20match\x20this\x20regular\x20expression')[m0(0x18a)]([m0(0x189),'regexIncludes','textIncludes']))[m0(0x147)](m0(0x1af),m0(0x1b3),![])['addOption'](new Option(m0(0x13e),m0(0x19c))[m0(0x18b)](Object[m0(0x185)](['format','json',m0(0x197)]))),T;};constructor(m,E){const m1=a11v;this[m1(0x1b1)]=m,this[m1(0x154)]=new ApiClient(m,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':E}),this[m1(0x16a)]=this[m1(0x154)],this['inquirerHelper']=new InquirerHelper(this['apiClient']);}[a11v(0x19a)](m,E=![],h=![],I=![]){const m9=a11v,T=async(X,W,K)=>{const m2=a11E,z=K[m2(0x14c)],{apiContext:S,inquirerHelper:H}=this;switch(m){case m2(0x135):{const r=z?undefined:S[m2(0x13a)]();return K[m2(0x187)]||r||await H['askForService'](X,W)();}case m2(0x169):{const F=z?undefined:S[m2(0x183)]();return K[m2(0x192)]||F||await H[m2(0x13b)](X,W)();}case'addon':{return K[m2(0x184)]||await H[m2(0x191)](X,W)();}}},e=async(X,W,K,z)=>{const m3=a11E;if(E)return z['buildId']||await this['inquirerHelper'][m3(0x179)](X,m==='service'?W:undefined,m===m3(0x169)?W:undefined,!![],K)();return undefined;},o=async(X,W,K,z)=>{const m4=a11E;if(h||I)return z[m4(0x164)]||await this[m4(0x168)][m4(0x177)](X,W,K)();return undefined;},g=async(X,W,K,z,S)=>{const m5=a11E;if(I)return S['restoreId']||await this[m5(0x168)][m5(0x19e)](X,W,K,z)();return undefined;},J=async(X,W,K,z)=>{const m6=a11E;if(!E&&z[m6(0x16c)]!==undefined){if(z['containerId']!==!![])return z[m6(0x16c)];return await this[m6(0x168)]['askForContainer'](X,m===m6(0x135)?W:undefined,m===m6(0x169)?W:undefined,!![],K)();}return undefined;},L=async(X,W,K,z)=>{const m7=a11E;if(m===m7(0x169))return z[m7(0x144)]||await this[m7(0x168)][m7(0x167)](W,X,!![],K)();return undefined;},P=async(X,W,K,z)=>{const m8=a11E;if(m===m8(0x135)){if(z['deploymentId']!==!![])return z[m8(0x1a2)];return z[m8(0x1a2)];}return undefined;};return this[m9(0x17a)](m,E,h,I)[m9(0x1ad)](async X=>{const mm=m9,{noDefaults:W,projectId:K,teamId:z,quiet:S,tail:H,types:r,textIncludes:F,textNotIncludes:t,regexIncludes:Y,regexNotIncludes:N,direction:w,lineLimit:b,startTime:n,endTime:Q,duration:c,output:O}=X;assertContextExisting(this['apiClient']);const {apiContext:B,inquirerHelper:q,logsApiClient:a}=this,R=W?undefined:B[mm(0x17b)](),{projectId:x,teamId:D}=await this[mm(0x16b)](B,q,K,z,R),f=await T(x,D,X),M=await e(x,f,D,X),U=await o(x,f,D,X),C=await g(x,f,U,D,X),Z=await L(x,f,D,X),i=await P(x,f,D,X),V=await J(x,f,D,X);if(n&&Q&&c)throw new Error(mm(0x160));const G={'teamId':D,'projectId':x,'entityId':f},l={'containerName':V,'types':r,'textIncludes':F,'textNotIncludes':t,'regexIncludes':Y,'regexNotIncludes':N,'lineLimit':b,'startTime':n,'duration':c,'runId':Z,'buildId':M,'backupId':U,'restoreId':C,'deploymentId':i,'isBuild':E??![]},s=I?mm(0x161):h?mm(0x15e):m,y={...l,'endTime':Q,'direction':w};if(!S&&O!=='yaml'&&O!==mm(0x150)&&O!==mm(0x196))this[mm(0x188)](m,f,x,{...y,...X});const u=this['getFormatter'](O,F??Y);if(H){const k=await a['logs'][mm(0x1ac)](G,l,s);k['on'](mm(0x171),u),k['on'](mm(0x130),A=>error(mm(0x199)+A[mm(0x18d)])),k['on']('close',()=>console[mm(0x1a5)](mm(0x19b))),await k[mm(0x1a0)]();}else{const A=await a[mm(0x19d)][mm(0x174)](G,y,s);if(A['error']){const p=A[mm(0x130)][mm(0x14b)],j=p?'\x0aDetails:\x20'+JSON[mm(0x151)](p,null,'\x20'):'';error('Error\x20while\x20fetching\x20log\x20lines:\x20'+A[mm(0x130)][mm(0x18d)]+j);}else u(A[mm(0x1a3)],A['pagination']);}});}['printInitInfo']=(m,E,h,I)=>{const mE=a11v,{containerName:T,restoreId:e,backupId:o,quiet:g,tail:J,startTime:L,endTime:P,duration:X}=I;if(g===!![])return;const W=J?mE(0x16e)+a11h[mE(0x195)]('\x27Ctrl+C\x27')+')':'',K=J?mE(0x198):'',z=new Date(),S=(O,B)=>new Date(O[mE(0x15a)]()+B*0x3e8),H=L??S(P??z,-(X??this[mE(0x148)])),r=P??S(H,X??this[mE(0x148)]),F=o!==undefined,t=H&&!F?mE(0x13d)+a11h[mE(0x195)](H['toISOString']()):'',Y=r&&!F?mE(0x143)+a11h[mE(0x195)](r['toISOString']()):'',N=X?mE(0x1ae)+X+mE(0x1a1):'',w=T?mE(0x14f)+a11h['bold'](T):F?'':mE(0x16d),b=o?',\x20backup\x20id\x20'+o:'',n=e?mE(0x1a7)+e:'',Q=m+'\x20'+a11h[mE(0x195)](E)+b+n+mE(0x137)+a11h[mE(0x195)](h),c=''+t+Y+N;console[mE(0x1a5)](mE(0x131)+K+w+mE(0x15c)+Q+c+W+':');};[a11v(0x1aa)]=(m,E)=>(h,I)=>{const mh=a11v;if(!m){if(h[mh(0x145)]===0x0)console[mh(0x1a5)](mh(0x1a8));h['forEach'](T=>formatLogLine(T,E));}else printResponse(m,h);I?.['hasNextPage']&&warning('Element\x20count\x20for\x20this\x20request\x20exceeds\x20the\x20line\x20limit,\x20output\x20was\x20truncated.\x20Cut\x20off\x20at\x20timestamp\x20'+I[mh(0x15b)]);};[a11v(0x16b)]=async(m,E,h,I,T)=>{const mI=a11v,e=m[mI(0x18e)]()===mI(0x166)?I??await E[mI(0x153)]()():undefined,o=h||T||await E[mI(0x186)](e)();return{'teamId':e,'projectId':o};};}