From c77d0baa0458cc3c598f1fa0b1c818e17e3556ea Mon Sep 17 00:00:00 2001 From: Frostebite Date: Mon, 17 Jul 2023 19:35:16 +0100 Subject: [PATCH] push k8s logs to LOG SERVICE IP --- dist/index.js | Bin 19472230 -> 19472558 bytes dist/index.js.map | Bin 13773547 -> 13773907 bytes src/model/cloud-runner/providers/k8s/index.ts | 8 ++++++-- .../providers/k8s/kubernetes-log-service.ts | 10 +++++----- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/dist/index.js b/dist/index.js index 1514a316d6cec4f99101bcf446f62caa3ae0d392..e2459572bd2b8e279f07ce55e2988228c8c17f10 100644 GIT binary patch delta 1541 zcmZ|PSy+^16u|N4dzqO}22fxe8AN4p1i=ikbc{;DEGvs_(X12))G_&aGE&E4A4cJ2pbajDLsq z%BJ@hC{vgCRfZ!RtgNn$=*fOHQOAP`rjD1jn6ZvxH9Wx@+~m}y|F>SITO7$wy}Zri z)Ly$SUB`WfFE(nV>d4mPCva$=+wL%@|95|9K>2K=Bas?iRHHn)BB1hhSCz`os+?CD zih5_)P796+hl15n*(sb63^b8#Nd$2eSo3sHuPFdi4< z5?qSQFaZ;BIVRx>T#2hN8BsR*C~m6(R;%ZbOgjtx4Fy^2da}mKcxE3{t zq88U-9#!a#q75;; zgqN`a8?gzSu?6kuz*cO-cD#Zecom&^4X@)3yotB46K~@k?83Wv5AWjx?8Y8^h>x%r zALA2ziqG&l_F+H1z?b+62koL|KjRm~aR|TSH~fyn=)w{Ffj@B+ z$8a2f;cxuY*cmXIAW@P8iA`dcI3%W|nx((Br zYPhWI!D$Xln|aFaX_2fB+PqV(bW1l+R*5=k07K>`s1SWDMFr_$lT@V6*sA<=OtLDQ zZ#NaZ;0+)6!Vg8@j{pRsD1uN7#Zdym2ti4Nq7=dq4m%=H8f752B2f-eFi;-RsDO&7 zgvzLbs`voaP#rO-ftrZLhp2_xsDrwwhx%xMhKNHv8lf?opeYj23?Cs8&G9i>pe0(N zHQJyp+Mzu2U207ANpee(l8K% zkd6#Ek%=sPfo!PU@g{RJvLw? ze#B4Mgw5Cj4}Qj0Y{Pc!z)tK!A%4Mb{EFZ3JN95N_F+E`;2;j+Fpl6Tj^Q}|z@IpQ zlQ@ObID@k|hx53Ai@1c#xPq&=hU@qXH*gcTa2tQ)AKbxR+{1l5z(YL3V?4oAJi~Lm zz)QTsYrMf*{EPqa4*yTIo3<&CD2bQETjC?}mH0`DNc<%Ml0ZpONsy$Nq`0JnBv=w6 zDJcn+l#+x=!X|4j4y(k=|{;90lBfGNn*eUy7#K{s- z$Xdo2t}HX|+;CyWXvX-;t&7jh^FGh-ect!$+dAW$_jSgyVq1~Dm6ZMP_1suuD=4wK zz!lBl1_O*Rp*h^)0Z(|r8!g}iU--cvEzt_C5r9CL5d@2~#HK_SpK@hzb?D9x4*bG{PM8#@NJrDQ4xyY2%^i*kx=PuKZQf<}@VykN7CqCWCC9%(W z?x*_T(sV9}YgEwC2Ehn{6`=@2TeL%abU;UhqZ2wK0$tD*k%&Sxx}iIIpeK5vH~OG2 z`k_AtU?2t|2C=YVFyau8AsC8b7>*GbiBTAhF&K++NPr#VF#!`X36n7eQ;~>in2s5k ziCLJ9IY>e>=3*XFkc#&3#mGP=bYx)(vXO&aEX6V`#|o^(D&%1`)?h8x zVLdirBl58cn^Ax**otk~jvd&EUD%C66k!kcVjuRS7=i;hh(kDxBRGmQVcA!<;IM|g}U YsKZk{!*jgAOT0oo8k}*Bug^#Q0aBthcK`qY delta 1094 zcmWm3SyYT+0LJlCjfu&Ukj&fiRkl)+T_mKGHM=ZjOdm!yjb@6GC2M3&^xBmr>!89% zmP#Re4vt(n$8p>_9M^MP_`CRB{GaDTd#nEEr&j%~iV4!zP3I%m7Imqu^Q|{~$h2Qx zJ~G(fw}~wBELQ>y+eLDTNcMmyyr4q|=;4iy=mZ0N&>3CO72V*A?(jno^h7WCqc;N3 z2S!aKi`Z;Utr3xavaMKzX_+m;*jZ<>Det8l&Z(1`(=dw2Q>hxR@Bl?l3tlX2oQ8 zTFuJJ0;}0!$+Jc&=6u!UQ0}OdCpwb>QGG9EXA(o7h24!R^=96p1LeGN0s$% zkt7>_kI~CCw=hV{SE0z%$iN`!N)I&1O1B6pas3qtL=b}Ue^U^OFodHo`k_AtU?3t8 zi9v`$GzKFELlBFh7>3~(fsq)6(HMg`jKw&_V>}Wt0TVF^iI|KeBx4Fvkcz38hUu7r znV5w%%*Gtd#XQW%0xZNLq+>CbU@4X%1DRM36IQ^CET~wCRagxR)*u@>$b}VouwgCo zVTS_+D8xFfhZ7r6gpJsQ&DersY{fQg#}4eoE|g$5_MjAdu@C!k00(ghWjKs-9Klgk zK;jsV;{;CP6i(v|&Y}`kIEVANfQzWcC0xc8T*Wn9hYL4w6Sq) setTimeout(promise, 15000)); @@ -265,6 +267,7 @@ class Kubernetes implements ProviderInterface { CloudRunnerLogger.log(`Build job created`); await new Promise((promise) => setTimeout(promise, 5000)); CloudRunnerLogger.log('Job created'); + await KubernetesLogService.cleanupLogDeployment(this.namespace, this.kubeClientApps, this.kubeClient); return result.body.metadata?.name; } catch (error) { @@ -285,6 +288,7 @@ class Kubernetes implements ProviderInterface { await this.kubeClientBatch.deleteNamespacedJob(this.jobName, this.namespace); await this.kubeClient.deleteNamespacedPod(this.podName, this.namespace); await KubernetesRole.deleteRole(this.serviceAccountName, this.namespace, this.rbacAuthorizationV1Api); + await KubernetesLogService.cleanupLogDeployment(this.namespace, this.kubeClientApps, this.kubeClient); } catch (error: any) { CloudRunnerLogger.log(`Failed to cleanup`); if (error.response.body.reason !== `NotFound`) { diff --git a/src/model/cloud-runner/providers/k8s/kubernetes-log-service.ts b/src/model/cloud-runner/providers/k8s/kubernetes-log-service.ts index 2fbf667f..acd50edb 100644 --- a/src/model/cloud-runner/providers/k8s/kubernetes-log-service.ts +++ b/src/model/cloud-runner/providers/k8s/kubernetes-log-service.ts @@ -1,7 +1,11 @@ import { CoreV1Api } from '@kubernetes/client-node'; import * as k8s from '@kubernetes/client-node'; class KubernetesLogService { - // static async function, creates a deployment and service + static async cleanupLogDeployment(namespace: string, kubeClientApps: k8s.AppsV1Api, kubeClient: CoreV1Api) { + await kubeClient.deleteNamespacedService('http-fileserver', namespace); + await kubeClientApps.deleteNamespacedDeployment('http-fileserver', namespace); + } + static async createLogService(serviceAccountName: string, namespace: string, kubeClient: CoreV1Api) { const serviceAccount = new k8s.V1ServiceAccount(); serviceAccount.apiVersion = 'v1'; @@ -14,10 +18,6 @@ class KubernetesLogService { return kubeClient.createNamespacedServiceAccount(namespace, serviceAccount); } - static async deleteLogService(serviceAccountName: string, namespace: string, kubeClient: CoreV1Api) { - await kubeClient.deleteNamespacedServiceAccount(serviceAccountName, namespace); - } - static async createLogDeployment(namespace: string, kubeClient: k8s.AppsV1Api, kubeClientCore: CoreV1Api) { // json /*