UNPKG

@northflank/cli

Version:

Provides a command-line interface to the Northflank platform.

1 lines 13 kB
'use strict';const a13f=a13K;function a13K(Z,K){const O=a13Z();return a13K=function(g,N){g=g-0x90;let H=O[g];return H;},a13K(Z,K);}function a13Z(){const ZZ=['metric','join','--endTime\x20<timestamp>','alias','stringify',',\x20duration:\x20','warning','toTimeString','toFixed','Metrics\x20overview','printMetricsSingle','inquirerHelper','557170QzeJqx','data','printMetricsTable','apiContext','metricsSingle','isNaN','askForService','getCurrentProjectName','handleError','metricUnit','next','error','apply','-t,\x20--metricTypes\x20<metricTypes...>','1815222VdenAS','clear','yaml','N/A','build-','--timestamp\x20[timestamp]','flatMap','getPaddingDataStart','--startTime\x20<timestamp>','addonId','__awaiter','log','pct','Length\x20of\x20timespan\x20in\x20seconds.\x20Only\x20valid\x20if\x20not\x20both,\x20startTime\x20and\x20endTime\x20are\x20set','startTime','printResponse','parseDateInput','chalk','name','values','metricsRange','addon','exit','assign','ApiClient','default','Build\x20to\x20get\x20logs\x20from','\x20--','Metrics\x20for\x20','236118MCnGeT','service','toUpperCase','slice','askForJobRun','Get\x20metrics\x20at\x20this\x20exact\x20timestamp,\x20if\x20no\x20timestamp\x20set\x20most\x20recent\x20time\x20is\x20used.\x20','conflicts','--noDefaults','charAt','Fetching\x20data..','getCurrentServiceName','--run\x20--runId\x20[runId]',',\x20volume:\x20','format','--deployment\x20--deploymentId\x20[deploymentId]','assertContextExisting','message','askForAddon','done','downSampleData','bold','askForProject','jobId','\x20in\x20project\x20','__esModule','Id\x20[NAME]','keys','tsHint','getCommand','length','Only\x20two\x20of\x20\x27startTime\x27,\x20\x27endTime\x27\x20and\x20\x27duration\x27\x20can\x20be\x20set.','Job\x20run\x20id,\x20example:\x20162b1977-6636-4000-929b-cc265b862ff0','\x20seconds','--duration\x20[duration]','noDefaults','rows','refreshInterval','metricsApiClient','containerId','484974eWqtdb','defineProperty','job','8qeYGph','printMetricsGraph','filter','../utils','Get\x20metrics\x20after\x20this\x20timestamp,\x20','@northflank/js-client','\x20to\x20get\x20logs\x20from','Get\x20metrics\x20before\x20this\x20timestamp,\x20','description','buildId','No\x20metrics\x20found\x20for\x20this\x20query','../formatting/console-format-helpers','askForContainer','metrics','max','value',',\x20metric\x20types:\x20','Option','choices','CliMetrics',',\x20to:\x20','push','Which\x20metric\x20type\x20to\x20fetch','deploymentId','-o,\x20--output\x20[output]','getPaddingDataEnd','getTime','argParser','askForJob','addOption','flat','split','apiClient','option','map','then','../formatting/terminal-chart','action','stdout','8IDuDAj','toISOString','all\x20containers','details','11487951aeWRnW','forEach','json','printInitInfo','metricId','2983477UFPCdw','runId','getStandardMetricsCommand','askForBuild','commander','Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.','metadata','Error\x20while\x20fetching\x20metrics\x20entries:\x20','Get\x20metrics\x20for\x20the\x20specified\x20','274681UQDsXK','../inquirer-helper','customUserAgent','--build\x20--buildId\x20[buildId]'];a13Z=function(){return ZZ;};return a13Z();}(function(Z,K){const l=a13K,O=Z();while(!![]){try{const g=parseInt(l(0xe3))/0x1+parseInt(l(0x11e))/0x2+parseInt(l(0xa7))/0x3+-parseInt(l(0xd1))/0x4*(-parseInt(l(0xf3))/0x5)+parseInt(l(0x101))/0x6+parseInt(l(0xda))/0x7*(parseInt(l(0xaa))/0x8)+-parseInt(l(0xd5))/0x9;if(g===K)break;else O['push'](O['shift']());}catch(N){O['push'](O['shift']());}}}(a13Z,0x380c7));var __awaiter=this&&this[a13f(0x10b)]||function(Z,K,O,g){function N(H){return H instanceof O?H:new O(function(o){o(H);});}return new(O||(O=Promise))(function(H,o){const L=a13K;function s(W){const a=a13K;try{y(g[a(0xfd)](W));}catch(B){o(B);}}function R(W){try{y(g['throw'](W));}catch(B){o(B);}}function y(W){const v=a13K;W[v(0x92)]?H(W[v(0xb9)]):N(W['value'])[v(0xcd)](s,R);}y((g=g[L(0xff)](Z,K||[]))[L(0xfd)]());});},__importDefault=this&&this['__importDefault']||function(Z){const X=a13f;return Z&&Z[X(0x98)]?Z:{'default':Z};};Object[a13f(0xa8)](exports,a13f(0x98),{'value':!![]}),exports[a13f(0xbd)]=void 0x0;const js_client_1=require(a13f(0xaf)),utils_1=require(a13f(0xad)),inquirer_helper_1=require(a13f(0xe4)),commander_1=require(a13f(0xde)),terminal_chart_1=require(a13f(0xce)),console_format_helpers_1=require(a13f(0xb5)),chalk_1=__importDefault(require(a13f(0x112)));class CliMetrics{constructor(Z,K){const e=a13f;this[e(0xf6)]=Z,this[e(0xa4)]=0x2710,this[e(0xdc)]=(O,g)=>{const U=e,N=(0x0,utils_1[U(0x9c)])(!![])[U(0x113)]((g?U(0x105):'')+U(0xb7))[U(0xea)]((g?U(0x105):'')+U(0xe7))[U(0xb2)](U(0xe2)+O)['option']('--project\x20--projectId\x20[NAME]','Project\x20for\x20logs')['option']('--'+O+U(0x11c)+O+U(0x99),O[U(0x126)](0x0)[U(0x120)]()+O[U(0x121)](0x1)+U(0xb0))[U(0xcb)]('--container\x20--containerId\x20[NAME]','Container\x20to\x20exec\x20into\x20(logs\x20from\x20all\x20containers\x20will\x20be\x20shown\x20if\x20not\x20specified)')['option'](U(0x109),U(0xae)+utils_1[U(0x9b)],utils_1[U(0x111)])[U(0xcb)](U(0xe9),U(0xb1)+utils_1[U(0x9b)],utils_1[U(0x111)])[U(0xcb)](U(0xa1),U(0x10e))[U(0xc7)](new commander_1['Option'](U(0xc2),U(0xdf))[U(0xbc)](Object[U(0x114)]([U(0x12b),'json',U(0x103)])))[U(0xc7)](new commander_1['Option'](U(0x100),U(0xc0))[U(0xbc)](Object['values'](js_client_1['MetricType'])))[U(0xc7)](new commander_1[(U(0xbb))](U(0x106),U(0x123)+utils_1[U(0x9b)])[U(0xc5)](utils_1['parseDateInput'])[U(0x124)]([U(0x10f),'endTime']))[U(0xcb)](U(0x125),'Don\x27t\x20use\x20context\x20default\x20values,\x20explicitly\x20use\x20options\x20or\x20ask.',![])[U(0xc7)](new commander_1[(U(0xbb))](U(0xc2),'Output\x20formatting.\x20Will\x20use\x20advanced\x20formatting\x20by\x20default.')['choices'](Object[U(0x114)]([U(0x12b),'json','yaml'])));if(g)N[U(0xcb)](U(0xe6),U(0x11b));if(O===U(0xa9))N[U(0xcb)](U(0x129),U(0x9f));if(O===U(0x11f))N[U(0xcb)](U(0x12c),'Deployment\x20id,\x20example:\x20my-service-54785f4');return N;},this[e(0xab)]=(O,g)=>{return N=>{const i=a13K,H=Object[i(0x9a)](N)[i(0x107)](o=>{const z=i,{values:s,metricInfo:R}=N[o],{metricUnit:y,metricResolution:W}=R;return s[z(0xcc)](B=>{const j=z;var V,M;const {metadata:I,data:c}=B,E=g?(g===null||g===void 0x0?void 0x0:g['getTime']())>new Date()[j(0xc4)]()?new Date():g:undefined,p=new Date((V=c===null||c===void 0x0?void 0x0:c[0x0])===null||V===void 0x0?void 0x0:V['ts']),T=new Date((M=c===null||c===void 0x0?void 0x0:c[c[j(0x9d)]-0x1])===null||M===void 0x0?void 0x0:M['ts']),J=this[j(0x108)](O,p,W),q=this[j(0xc3)](E,T,W),Y=[...J,...c,...q],P=Y[j(0xcc)](D=>[new Date(D['ts'])['valueOf'](),Number(D['value'])])[j(0xac)](D=>!Number[j(0xf8)](D[0x0])),C=Math['min'](Math['max'](process[j(0xd0)]['columns']-0xa,0xa),0x64),S=Math['min'](Math[j(0xb8)](process[j(0xd0)][j(0xa3)]-0x9,0xa),0xf),n=y===j(0x10d)?0x64:undefined,k=y===j(0x10d)?'%':y,x=(0x0,terminal_chart_1[j(0x93)])(P,C),m=x[j(0xcc)](D=>D[0x1]),r={'min':0x0,'height':S,'max':n,'unit':k,'startTs':O!==null&&O!==void 0x0?O:p,'endTs':E!==null&&E!==void 0x0?E:T};return{'dataSeries':m,'metadata':I,'chartOpts':r,'metricInfo':R};});})[i(0xc8)]();if(H[i(0x9d)]===0x0)(0x0,utils_1[i(0xed)])(i(0xb4));else H[i(0xd6)](o=>{const G=i,{dataSeries:s,metadata:R,chartOpts:y,metricInfo:W}=o,{containerId:B,volumeId:V}=R,M=V?G(0x12a)+V:'';console[G(0x10c)](W[G(0xd9)]+'\x20for\x20container:\x20'+chalk_1[G(0x11a)]['bold'](B)+M),console[G(0x10c)]((0x0,terminal_chart_1['getAsciiChart'])(s,y));});};},this[e(0xf5)]=(O,g,N)=>()=>__awaiter(this,void 0x0,void 0x0,function*(){const w=e;try{const H=yield this[w(0xa5)]['metrics'][w(0xf7)](O,g,N);console[w(0x102)]();if(H['error'])(0x0,utils_1[w(0xfe)])('Error\x20while\x20fetching\x20metrics\x20entries:\x20'+H[w(0xfe)][w(0x90)]);else this[w(0xf1)](H[w(0xf4)]);}catch(o){console[w(0x102)](),(0x0,utils_1[w(0xfe)])(w(0xe1)+o[w(0x90)]);}}),this[e(0xfb)]=O=>{const Q=e;if(O[Q(0xfe)]){const g=JSON[Q(0xeb)](O[Q(0xfe)][Q(0xd4)]);throw new Error(Q(0xe1)+O[Q(0xfe)][Q(0x90)]+'\x20'+g);}},this[e(0xd8)]=(O,g,N,H,o)=>{const u=e;if(o===!![])return;const {metricTypes:s,endTime:R,startTime:y,duration:W,containerId:B}=H,V=y?',\x20from:\x20'+y[u(0xd2)]():'',M=R?u(0xbe)+R['toISOString']():'',I=W?u(0xec)+W+u(0xa0):'',c=B?'container\x20'+chalk_1[u(0x11a)][u(0x94)](B):u(0xd3),E=O+'\x20'+chalk_1[u(0x11a)]['bold'](g)+u(0x97)+chalk_1[u(0x11a)]['bold'](N),p=''+V+M+I,T=s?u(0xba)+(s===null||s===void 0x0?void 0x0:s[u(0xe8)](',')):'';console['log'](u(0x11d)+c+'\x20of\x20'+E+T+p);},this[e(0xca)]=new js_client_1[(e(0x119))](Z,{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1[e(0xe5)],'agent':K}),this[e(0xa5)]=this['apiClient'],this['inquirerHelper']=new inquirer_helper_1['InquirerHelper'](this[e(0xca)]);}['getMetricsCommand'](Z,K=![]){const Z1=a13f,O=(s,R)=>__awaiter(this,void 0x0,void 0x0,function*(){const F=a13K,y=R[F(0xa2)],{apiContext:W,inquirerHelper:B}=this;switch(Z){case'service':{const V=y?undefined:W[F(0x128)]();return R['serviceId']||V||(yield B[F(0xf9)](s)());}case F(0xa9):{const M=y?undefined:W[F(0x128)]();return R[F(0x96)]||M||(yield B[F(0xc6)](s)());}case F(0x116):{const I=y?undefined:W['getCurrentServiceName']();return R[F(0x10a)]||I||(yield B[F(0x91)](s)());}}}),g=(s,R,y)=>__awaiter(this,void 0x0,void 0x0,function*(){const A=a13K;if(K)return y[A(0xb3)]||(yield this['inquirerHelper'][A(0xdd)](s,Z==='service'?R:undefined,Z===A(0xa9)?R:undefined,!![])());return undefined;}),N=(s,R,y)=>__awaiter(this,void 0x0,void 0x0,function*(){const h=a13K;if(!K&&y['containerId']!==undefined){if(y[h(0xa6)]!==!![])return y['containerId'];return yield this[h(0xf2)][h(0xb6)](s,Z===h(0x11f)?R:undefined,Z===h(0xa9)?R:undefined,!![])();}return undefined;}),H=(s,R,y)=>__awaiter(this,void 0x0,void 0x0,function*(){const t=a13K;if(Z==='job')return y[t(0xdb)]||(yield this[t(0xf2)][t(0x122)](R,s,!![])());return undefined;}),o=(s,R,y)=>__awaiter(this,void 0x0,void 0x0,function*(){const Z0=a13K;if(Z===Z0(0x11f)){if(y[Z0(0xc1)]!==!![])return y['deploymentId'];return y['deploymentId'];}return undefined;});return this[Z1(0xdc)](Z,K)[Z1(0xcf)](s=>__awaiter(this,void 0x0,void 0x0,function*(){const Z2=Z1,{noDefaults:R,projectId:y,duration:W,timestamp:B,output:V,startTime:M,endTime:I,metricTypes:c,quiet:E}=s;(0x0,utils_1[Z2(0x12d)])(this[Z2(0xca)]);if(M&&I&&W)throw new Error(Z2(0x9e));const {apiContext:p,inquirerHelper:T,metricsApiClient:J}=this,q=R?undefined:p[Z2(0xfa)](),Y=y||q||(yield T[Z2(0x95)]()),P=yield O(Y,s),C=yield g(Y,P,s),S=yield H(Y,P,s),n=yield o(Y,P,s),k=yield N(Y,P,s),x={'projectId':Y,'entityId':P},m={'containerName':k,'startTime':M,'endTime':I,'duration':W,'timestamp':B,'metricTypes':c,'runId':S,'buildId':C,'deploymentId':n,'isBuild':K!==null&&K!==void 0x0?K:![]},r=!(M||I||W);if(!E&&V!=='yaml'&&V!=='yml'&&V!==Z2(0xd7))this['printInitInfo'](Z,P,Y,m,E);if(r){if(V!==undefined){const D=yield J['metrics'][Z2(0xf7)](x,m,Z);this[Z2(0xfb)](D),(0x0,console_format_helpers_1[Z2(0x110)])(V,D[Z2(0xf4)]);}else[...Array(process[Z2(0xd0)][Z2(0xa3)]-0x1)][Z2(0xd6)]((d,b)=>b===0x0?console['log'](Z2(0x127)):console[Z2(0x10c)]()),yield this[Z2(0xf5)](x,m,Z)(),setInterval(this[Z2(0xf5)](x,m,Z),this[Z2(0xa4)]),yield new Promise(d=>setTimeout(d,this[Z2(0xa4)]*0x64));}else{const d=yield J[Z2(0xb7)][Z2(0x115)](x,m,Z);this[Z2(0xfb)](d),V!==undefined?(0x0,console_format_helpers_1[Z2(0x110)])(V,d[Z2(0xf4)]):this['printMetricsGraph'](M,I!==null&&I!==void 0x0?I:new Date())(d[Z2(0xf4)]);}process[Z2(0x117)]();}));}[a13f(0xf1)](Z){const Z5=a13f,K=(N,H)=>{const Z3=a13K;if(!(H===null||H===void 0x0?void 0x0:H[Z3(0xb9)]))Z3(0x104);const o=N[Z3(0xfc)]===Z3(0x10d)?'%':N[Z3(0xfc)];return''+Number(H===null||H===void 0x0?void 0x0:H['value'])[Z3(0xef)](0x3)+o;},O=N=>{const Z4=a13K;if(!(N===null||N===void 0x0?void 0x0:N['ts']))Z4(0x104);return N['ts'][Z4(0xee)]()[Z4(0xc9)]('\x20')[0x0];},g={};Object[Z5(0x9a)](Z)[Z5(0xd6)](N=>{const Z6=Z5,{values:H,metricInfo:o}=Z[N];return H[Z6(0xd6)](s=>{const Z7=Z6;var R,y;const W=s[Z7(0xe0)]['containerId'];Object[Z7(0x118)](g,{[W]:Object[Z7(0x118)](Object['assign']({},g===null||g===void 0x0?void 0x0:g[W]),{['time']:O((R=s[Z7(0xf4)])===null||R===void 0x0?void 0x0:R[0x0]),'containerId':W,[o['metricId']]:K(o,(y=s[Z7(0xf4)])===null||y===void 0x0?void 0x0:y[0x0])})});});}),(0x0,console_format_helpers_1['printAsTable'])(Object['values'](g),Z5(0xf0));}['getPaddingDataStart'](Z,K,O){const Z8=a13f,g=o=>new Date(o['getTime']()-N),N=O*0x3e8;if(!Z)return[];if(!K)return[];if(g(K)[Z8(0xc4)]()<Z[Z8(0xc4)]())return[];const H=[{'ts':g(K),'value':0x0}];while(g(H[H['length']-0x1]['ts'])['getTime']()<=Z[Z8(0xc4)]()){H['unshift']({'ts':g(H[H[Z8(0x9d)]-0x1]['ts']),'value':0x0});}return H;}['getPaddingDataEnd'](Z,K,O){const Z9=a13f,g=o=>new Date(o['getTime']()+N),N=O*0x3e8;if(!Z)return[];if(!K)return[];if(g(K)[Z9(0xc4)]()>Z[Z9(0xc4)]())return[];const H=[{'ts':g(K),'value':0x0}];while(g(H[H['length']-0x1]['ts'])[Z9(0xc4)]()<=Z[Z9(0xc4)]()){H[Z9(0xbf)]({'ts':g(H[H[Z9(0x9d)]-0x1]['ts']),'value':0x0});}return H;}}exports[a13f(0xbd)]=CliMetrics;