UNPKG

@northflank/cli

Version:

Provides a command-line interface to the Northflank platform.

1 lines 10.1 kB
const a11q=a11j;(function(X,j){const U=a11j,V=X();while(!![]){try{const H=-parseInt(U(0xf5))/0x1*(-parseInt(U(0x12e))/0x2)+parseInt(U(0x156))/0x3*(-parseInt(U(0xd4))/0x4)+parseInt(U(0xe9))/0x5*(parseInt(U(0x143))/0x6)+-parseInt(U(0xe0))/0x7+parseInt(U(0xf9))/0x8+-parseInt(U(0x146))/0x9+parseInt(U(0x120))/0xa;if(H===j)break;else V['push'](V['shift']());}catch(O){V['push'](V['shift']());}}}(a11X,0x69f30));function a11j(X,j){const V=a11X();return a11j=function(H,O){H=H-0xd4;let F=V[H];return F;},a11j(X,j);}import{ApiClient,LogType}from'@northflank/js-client';import a11V 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';export class CliLogs{['apiContext'];['apiClient'];[a11q(0x129)];[a11q(0x137)];[a11q(0x147)]=0x708;[a11q(0xf0)]=(X,j,V,H)=>{const c=a11q,O=getCommand(!![])['name']((j?c(0xdb):'')+c(0x102))[c(0x139)]((j?c(0xdb):'')+c(0xe4))[c(0x122)](c(0x13a)+X)[c(0x106)](c(0xfc),c(0x105))[c(0x106)]('--'+X+c(0x132)+X+c(0xf1)+X+c(0x144),X['charAt'](0x0)[c(0x14e)]()+X['slice'](0x1)+c(0x10e))['option']('--container\x20--containerId\x20[containerId]',c(0xde));if(j)O[c(0x106)](c(0xff),c(0x13f));if(X===c(0x10c))O['option'](c(0xf6),c(0x12c));if(X==='service')O[c(0x106)](c(0xdc),c(0x128));if(V)O['option'](c(0x121),c(0x135));if(H)O[c(0x106)]('--restore\x20--restoreId\x20[restoreId]',c(0x12a));return!j&&!V&&!H&&O[c(0x149)](new Option(c(0x114),c(0xf4))[c(0x107)](Object['values'](LogType))),O[c(0x106)](c(0x13b),c(0x11c))['option'](c(0xf3),c(0x14d))['option']('--startTime\x20<timestamp>',c(0x117)+tsHint,parseDateInput)[c(0x149)](new Option(c(0x11a),c(0x10d)+tsHint)[c(0xf7)](parseDateInput)[c(0x127)](['tail']))[c(0x106)]('--duration\x20[duration]','Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set')[c(0x149)](new Option(c(0x14a),c(0xec))[c(0x107)]([c(0x14f),c(0xf8)])[c(0x127)]([c(0xdd)]))[c(0x149)](new Option('--textIncludes\x20<text>',c(0x109))[c(0x127)]([c(0x14b),'regexIncludes','regexNotIncludes']))[c(0x149)](new Option(c(0x142),c(0xe1))['conflicts']([c(0x104),c(0x12f),c(0x11f)]))['addOption'](new Option(c(0xd8),c(0xfe))[c(0x127)]([c(0x14b),c(0x104),c(0x11f)]))[c(0x149)](new Option(c(0x10b),c(0xd9))[c(0x127)]([c(0x14b),c(0x12f),c(0x104)]))[c(0x106)]('--noDefaults',c(0xe2),![])['addOption'](new Option('-o,\x20--output\x20[output]',c(0xf2))[c(0x107)](Object['values'](['format','json',c(0xeb)]))),O;};constructor(X,j){const i=a11q;this[i(0x10f)]=X,this[i(0xfd)]=new ApiClient(X,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':customUserAgent,'agent':j}),this[i(0x129)]=this[i(0xfd)],this[i(0x137)]=new InquirerHelper(this[i(0xfd)]);}[a11q(0x13e)](X,j=![],V=![],H=![]){const X7=a11q,O=async(s,S)=>{const X0=a11j,y=S[X0(0xfb)],{apiContext:e,inquirerHelper:A}=this;switch(X){case X0(0x131):{const l=y?undefined:e['getCurrentServiceName']();return S['serviceId']||l||await A[X0(0x141)](s)();}case X0(0x10c):{const T=y?undefined:e[X0(0x140)]();return S[X0(0xd5)]||T||await A['askForJob'](s)();}case'addon':{return S[X0(0x118)]||await A[X0(0x108)](s)();}}},F=async(s,S,y)=>{const X1=a11j;if(j)return y[X1(0x148)]||await this[X1(0x137)][X1(0xd6)](s,X===X1(0x131)?S:undefined,X===X1(0x10c)?S:undefined,!![])();return undefined;},h=async(s,S,y)=>{const X2=a11j;if(V||H)return y[X2(0x100)]||await this[X2(0x137)][X2(0x111)](s,S)();return undefined;},P=async(s,S,y,e)=>{const X3=a11j;if(H)return e[X3(0x10a)]||await this[X3(0x137)][X3(0x101)](s,S,y)();return undefined;},o=async(s,S,y)=>{const X4=a11j;if(!j&&y[X4(0x13c)]!==undefined){if(y[X4(0x13c)]!==!![])return y['containerId'];return await this[X4(0x137)]['askForContainer'](s,X===X4(0x131)?S:undefined,X===X4(0x10c)?S:undefined,!![])();}return undefined;},C=async(s,S,y)=>{const X5=a11j;if(X===X5(0x10c))return y[X5(0xed)]||await this[X5(0x137)][X5(0x11d)](S,s,!![])();return undefined;},B=async(s,S,y)=>{const X6=a11j;if(X===X6(0x131)){if(y[X6(0xe5)]!==!![])return y[X6(0xe5)];return y[X6(0xe5)];}return undefined;};return this['getStandardLogCommand'](X,j,V,H)[X7(0xe3)](async s=>{const X8=X7,{noDefaults:S,projectId:y,quiet:e,tail:A,types:l,textIncludes:T,textNotIncludes:W,regexIncludes:v,regexNotIncludes:G,direction:d,lineLimit:x,startTime:M,endTime:g,duration:J,output:b}=s;assertContextExisting(this[X8(0xfd)]);const {apiContext:E,inquirerHelper:t,logsApiClient:Z}=this,w=S?undefined:E[X8(0x11b)](),N=y||w||await t[X8(0x145)](),p=await O(N,s),m=await F(N,p,s),k=await h(N,p,s),I=await P(N,p,k,s),K=await C(N,p,s),L=await B(N,p,s),a=await o(N,p,s);if(M&&g&&J)throw new Error(X8(0x125));const r={'projectId':N,'entityId':p},R={'containerName':a,'types':l,'textIncludes':T,'textNotIncludes':W,'regexIncludes':v,'regexNotIncludes':G,'lineLimit':x,'startTime':M,'duration':J,'runId':K,'buildId':m,'backupId':k,'restoreId':I,'deploymentId':L,'isBuild':j??![]},n=H?X8(0xe8):V?'addonBackup':X,D={...R,'endTime':g,'direction':d};if(!e&&b!==X8(0xeb)&&b!==X8(0x112)&&b!=='json')this[X8(0x133)](X,p,N,{...D,...s});const Y=this['getFormatter'](b,T??v);if(A){const u=await Z['logs'][X8(0x153)](r,R,n);u['on']('logs-received',Y),u['on']('error',Q=>error(X8(0x110)+Q[X8(0xef)])),u['on'](X8(0x13d),()=>console['log'](X8(0x113))),await u[X8(0xdf)]();}else{const Q=await Z[X8(0x102)][X8(0x136)](r,D,n);if(Q[X8(0x130)]){const f=Q['error'][X8(0xe6)],z=f?X8(0x12b)+JSON[X8(0xe7)](f,null,'\x20'):'';error(X8(0x119)+Q[X8(0x130)]['message']+z);}else Y(Q[X8(0x154)],Q[X8(0xea)]);}});}[a11q(0x133)]=(X,j,V,H)=>{const X9=a11q,{containerName:O,restoreId:F,backupId:h,quiet:P,tail:o,startTime:C,endTime:B,duration:s}=H;if(P===!![])return;const S=o?X9(0xda)+a11V[X9(0xfa)](X9(0x116))+')':'',y=o?X9(0xd7):'',e=new Date(),A=(E,t)=>new Date(E['getTime']()+t*0x3e8),l=C??A(B??e,-(s??this[X9(0x147)])),T=B??A(l,s??this[X9(0x147)]),W=h!==undefined,v=l&&!W?X9(0x155)+a11V[X9(0xfa)](l[X9(0x103)]()):'',G=T&&!W?',\x20to:\x20'+a11V['bold'](T[X9(0x103)]()):'',d=s?X9(0x123)+s+X9(0x124):'',x=O?X9(0x150)+a11V[X9(0xfa)](O):W?'':X9(0x151),M=h?X9(0xee)+h:'',g=F?X9(0x11e)+F:'',J=X+'\x20'+a11V['bold'](j)+M+g+X9(0x12d)+a11V[X9(0xfa)](V),b=''+v+G+d;console[X9(0xe4)](X9(0x138)+y+x+X9(0x14c)+J+b+S+':');};[a11q(0x134)]=(X,j)=>(V,H)=>{const XX=a11q;if(!X){if(V['length']===0x0)console['log'](XX(0x115));V['forEach'](O=>formatLogLine(O,j));}else printResponse(X,V);H?.['hasNextPage']&&warning(XX(0x152)+H[XX(0x126)]);};}function a11X(){const Xj=['regexNotIncludes','3374500ErWthE','--backup\x20--backupId\x20[backupId]','description',',\x20duration:\x20','\x20seconds','Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.','cursor','conflicts','Deployment\x20id,\x20example:\x20my-service-54785f4','logsApiClient','Restore\x20to\x20get\x20logs\x20from','\x0aDetails:\x20','Job\x20run\x20id,\x20example:\x20162b1977-6636-4000-929b-cc265b862ff0','\x20in\x20project\x20','14eKaDIC','regexIncludes','error','service','\x20--','printInitInfo','getFormatter','Backup\x20to\x20get\x20logs\x20from','logRange','inquirerHelper','>\x20Container\x20logs','alias','Get\x20log\x20for\x20the\x20specified\x20','-f,\x20--tail','containerId','close','getLogsCommand','Build\x20to\x20get\x20logs\x20from','getCurrentJobName','askForService','--textNotIncludes\x20<text>','2901918lmbklJ','Id]','askForProject','1419849OAOjQA','defaultDurationSeconds','buildId','addOption','-d,\x20--direction\x20<order>','textNotIncludes','\x20of\x20','Number\x20of\x20lines\x20to\x20return.','toUpperCase','backward','\x20for\x20container\x20','\x20for\x20all\x20containers','Element\x20count\x20for\x20this\x20request\x20exceeds\x20the\x20line\x20limit,\x20output\x20was\x20truncated.\x20Cut\x20off\x20at\x20timestamp\x20','logTail','data',',\x20from:\x20','19221wCsauW','320yrIIxv','jobId','askForBuild','\x20with\x20live-tailing','--regexIncludes\x20<regex>','Filter\x20log\x20lines\x20to\x20not\x20match\x20this\x20regular\x20expression','\x20(exit\x20with\x20','build-','--deployment\x20--deploymentId\x20[deploymentId]','tail','Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)','start','572901BicFWp','Filter\x20log\x20lines\x20to\x20not\x20include\x20this\x20text','Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.','action','log','deploymentId','details','stringify','addonRestore','5kgDuQM','pagination','yaml','Direction\x20of\x20logs.\x20Ignored\x20when\x20tailing.','runId',',\x20backup\x20id\x20','message','getStandardLogCommand','Id\x20[','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','-l,\x20--lineLimit\x20[limit]','Which\x20log\x20types\x20to\x20fetch','38133nSyuAB','--run\x20--runId\x20[runId]','argParser','forward','784784gGUpdZ','bold','noDefaults','--project\x20--projectId\x20[projectId]','apiClient','Filter\x20log\x20lines\x20to\x20match\x20this\x20regular\x20expression','--build\x20--buildId\x20[buildId]','backupId','askForAddonRestore','logs','toISOString','textIncludes','Project\x20for\x20logs','option','choices','askForAddon','Filter\x20log\x20lines\x20to\x20include\x20this\x20text','restoreId','--regexNotIncludes\x20<regex>','job','Get\x20logs\x20generated\x20before\x20this\x20time,\x20','\x20to\x20get\x20logs\x20from','apiContext','Error\x20while\x20tailing\x20log\x20lines:\x20','askForAddonBackup','yml','Log\x20session\x20ended','-t,\x20--types\x20<types...>','No\x20logs\x20found\x20for\x20this\x20query.\x20Make\x20sure\x20to\x20select\x20an\x20appropriate\x20time\x20window.','\x27Ctrl+C\x27','Get\x20logs\x20generated\x20after\x20this\x20time,\x20','addonId','Error\x20while\x20fetching\x20log\x20lines:\x20','--endTime\x20<timestamp>','getCurrentProjectName','Tail\x20will\x20stream\x20logs\x20in\x20real-time.\x20Session\x20will\x20be\x20kept\x20open.','askForJobRun',',\x20restore\x20id\x20'];a11X=function(){return Xj;};return a11X();}