From 9e059646862d826b0c715fd19d045b5b0c43f315 Mon Sep 17 00:00:00 2001 From: nmaguiar Date: Mon, 12 Jun 2023 19:35:21 +0000 Subject: [PATCH] #73 --- Kube/.odoc.db | Bin 1741 -> 1759 bytes Kube/.package.yaml | 6 +++--- Kube/kube.js | 50 ++++++++++++++++++++++++++++++--------------- 3 files changed, 36 insertions(+), 20 deletions(-) diff --git a/Kube/.odoc.db b/Kube/.odoc.db index 170f32508fc7b5d689c2741b9a6c3850c7229147..97846d74baea06470912446aca212c6b7621fd95 100644 GIT binary patch delta 1370 zcmV-g1*Q7U4c`q8P)h>@6aWYa2mnZ&%vP}uMgf0FoXl1L0000000000000040000> zbz)`JnN4%sHV}sI`4u}pQ8OO<+R020iPMiXP2yTkdxpT342uL<0FBXkGi+A@~03^))`~u+YUAe#u{&DsaKGO}lwWiD6{X~4a`P0~6RfgvvJ~_1X z>so&}N5B4=->Mu<>FN5`tWnR-&ZCBBjVp`7qXVHqY3GHO2;P8@5*^)zHOX6z?2@d1 zax;)w={#C68aOH#8+@eCKpMSND_Bw*7w~ooDK3@9^c+g3^eQGsfzp^8kBk{zoKZqw z&Kp#GMA?PP_Y?6!Mon0rg9v?_3G z6~PfR%aN+Zvxuv>pd z<%vTrO^VL;ts zdyDTWbgq&aU;|Td&IGgNeMEP7h8KU^;9mpmFT}4|uA}srOc>?8C|V#lRsOD(o6J=B6~>h|?2OKs9v^*wP_`yL z4^j$TT73|j;(S2=VC?$ZWJ;?3S83a8B$|$DP*idguS9gF zv=aX+jTgOZvE?*&HCAHqZ%~^SZ|;p1E4<3Yz@ltBjXgF*F=7zYug~~mp?6B}yR~r` z`$~=fE##y$@r~yUa-91XJ*yW6Qyrs9cg`De~waz9EM1S>Kq7?#d1)w&(GLIv-{j zYdyN4f0#vIzHAz~Anr+G;#0FVdVrxek3BJy%n4wsubr=?G-dx|^T6wQK87`-=S^m`U=;LdoX`+LP}8-*|v);7}_)+7x!HVzo`v>S0^hZ0`A2obR1CRkSGmX zk!Rd`xOYa+&Uf92M8pqq+y&BgP)h>@6aWYa2mnz&cvZ0uMgf0OK6q6C0000000000000040000> zbz)`JnNe@sHW0_(`za22l7S$39SZEBO^2=P+GcUuJ=4_LVJwjvNjWi!e)rvxl5Dw> z>PC^#z0`{C_`mz{NQu>bc>!?tu3X>+|8w>dzR(T2wWiD6{X~4a`Rg3SCx@1Pu7z{- z^Ur_$R^@0)PuI6*je2%=9!Gl~ePvO2bRaY+?Yz(u!5a`#qNBU8CSj|QU6S=LZU!^#Jzr)(vhLRgTT-aTOHwr!2&iZ* z%^kP^6Xub|TPwB~@Wy~PL0))HELW>L&!aSQ>4e=fDpd$jOOqlvLvV$#-Z7$#q1=CA zNml3^c-K{%mP4{Evy7+v6(`j_+ZHK%+{B53HxfK0Y>}n4s6EgktJheVe2!4f z5c?57{oM?wMN4(ag;yjKYC|(nShGVk=R-5-0-&5#ZB{RSVrr?|jW(!M| z(H*YvVjKKxfc=H|Ez4C@x-nTV&%S@lNTxb(%UUM`d#!Xz5n%GRXkK}vy3s}I6f@d#E{+U=lj zFzC*ji0Wc?5VMI;1&*9l$I{`!Y+rR|Kwv|AmH2mQyy#tvEvK=ou@ZxS zgW9xsb8oCz;Z-IE7G>LM?6Dz=5rde1ea06Hy;FMMt&PLjS85P~oRlW67)nZ@|7;hm zqmOn$Wm=FoSY&3KlW-r*p2vSkpme7+F_ggE=y`vEb`E2af)JHzYNQ*QJ0-;c)1Jrw z1#0evNBUpa0M)+B=x1J(Isw=jj(G&WoS@h-0rjZNco+Ktd zHCv+x7;5v_6En%20H*rd`ASMt_CGccyq@RNC^r~_+$jl<0&Mpk+P1E*aNW2E11F>u zMUid0$bz9w^Ko(Ch46p7+VFREvO*%@UTi|g0Ywgp(y$eI#;u2YXY}lR*NsR-{18V; zqplk#E$?8ORc#BixJOAd7(UYb*qsO|a`U2^o+EHm%+PnXz@nuS__Z+^3jK3H$2@2@rcPi+Cxi6Zv#LQ}NeaqVpS@qq8Q`(Awg4^T@7 z2tY-I3(*7s04@_B002-+0Rj{N6aWYa2mnz&cvX{c1~d&(K6q6?MT85{1ONaolduLU K22BP40002jxrR;v diff --git a/Kube/.package.yaml b/Kube/.package.yaml index 627a2d5c..7001ff20 100644 --- a/Kube/.package.yaml +++ b/Kube/.package.yaml @@ -18,7 +18,7 @@ name: Kube main: '' mainJob: '' license: https://github.com/OpenAF/openaf-opacks/blob/master/LICENSE -version: '20230608' +version: '20230612' dependencies: OpenAF: '>=20220822' files: @@ -61,11 +61,11 @@ files: - zjsonpatch-0.3.0.jar filesHash: .maven.yaml: 3370144c25b04f80c555a737dc8d9c4ae6e00cb5 - .odoc.db: 7cb4129d9d62f5858292400b98a5211283caa8a9 + .odoc.db: 859c2ecbd1178186ca8c99137e8d6a2257005d7f .precompile: 8c98d16175a11dcbe315a8e3acf6a40ac70eb365 jackson-dataformat-yaml-2.15.2.jar: 58194ff9f51915ad6bf6b6f24818232d7566418a jackson-datatype-jsr310-2.15.2.jar: 30d16ec2aef6d8094c5e2dce1d95034ca8b6cb42 - kube.js: ffdcba3b611ffacf1fe2d6763e32525ddf23532a + kube.js: 805b1dc4c0f7ed4982e0722a352504ba8a103508 kube.yaml: 460ff6cdd56f7eaec351799d1bf299e363ed1c6b kubernetes-client-6.7.1.jar: 198903d407baed464727e45ca6690cbb6f77eb1c kubernetes-client-api-6.7.1.jar: 40406d77a6daad955667e2382eae4959afce4f2b diff --git a/Kube/kube.js b/Kube/kube.js index 18a67b3c..9ef6144d 100644 --- a/Kube/kube.js +++ b/Kube/kube.js @@ -111,11 +111,11 @@ var $kube = function(aMap) { /** * - * Kube.Kube(aURL, aUser, aPass, aWSTimeout, aToken) - * Creates an instance to access a kubernetes (k8s) cluster on aURL. If defined, using aUser and aPass or aToken. + * Kube.Kube(aURLorFile, aUser, aPass, aWSTimeout, aToken) + * Creates an instance to access a kubernetes (k8s) cluster on aURL or kubectl config file. If defined, using aUser and aPass or aToken. * */ -var Kube = function (aURL, aUser, aPass, aWSTimeout, aToken) { +var Kube = function (aURLorFile, aUser, aPass, aWSTimeout, aToken) { plugin("HTTP"); ow.loadFormat(); this.url = aURL; @@ -130,21 +130,37 @@ var Kube = function (aURL, aUser, aPass, aWSTimeout, aToken) { if (isUnDef(aURL)) { this.config = (new Packages.io.fabric8.kubernetes.client.ConfigBuilder()).build(); } else { - if (isDef(aToken)) { - this.config = (new Packages.io.fabric8.kubernetes.client.ConfigBuilder()) - .withMasterUrl(this.url) - .withTrustCerts(true) - .withWebsocketTimeout(aWSTimeout) - .withOauthToken(aToken) - .build(); + if (aURL.toLowerCase().startsWith("http")) { + if (isDef(aToken)) { + this.config = (new Packages.io.fabric8.kubernetes.client.ConfigBuilder()) + .withMasterUrl(this.url) + .withTrustCerts(true) + .withWebsocketTimeout(aWSTimeout) + .withOauthToken(aToken) + .build(); + } else { + this.config = (new Packages.io.fabric8.kubernetes.client.ConfigBuilder()) + .withMasterUrl(this.url) + .withUsername(Packages.openaf.AFCmdBase.afc.dIP(this.user)) + .withPassword(Packages.openaf.AFCmdBase.afc.dIP(this.pass)) + .withTrustCerts(true) + .withWebsocketTimeout(aWSTimeout) + .build(); + } } else { - this.config = (new Packages.io.fabric8.kubernetes.client.ConfigBuilder()) - .withMasterUrl(this.url) - .withUsername(Packages.openaf.AFCmdBase.afc.dIP(this.user)) - .withPassword(Packages.openaf.AFCmdBase.afc.dIP(this.pass)) - .withTrustCerts(true) - .withWebsocketTimeout(aWSTimeout) - .build(); + if (io.fileExists(aURL)) { + sync(() => { + var oldValue = java.lang.System.getProperty("kubeconfig") + java.lang.System.setProperty("kubeconfig", aURL) + this.config = (new Packages.io.fabric8.kubernetes.client.ConfigBuilder()).build() + if (oldValue == null) + java.lang.System.clearProperty("kubeconfig") + else + java.lang.System.setProperty("kubeconfig", oldValue) + }) + } else { + throw "'" + aURL + "' not found." + } } }