VimŸUnDoå—Æ5ã½ÌUoởD5$‰“Ê<%¢Hl4_úsã tj…………W~¿ S_Ð2'ÿÿÿÿVÏN»õ13ÑD self.logger.info('cluster proxy not running -- starting launch')5�_Ð3ÿÿÿÿVÏN½õ57Ô }õ47Ó iõ36Ò õ35Ñ5�_Ð5ÿÿÿÿVÏNÈõ57Õ õ57Ô5�_Ð7ÿÿÿÿVÏNÖõ8:× }õ7:Ö iõ69Õ }5�_Ð8ÿÿÿÿVÏNÝõ8:Ø õ8:×5�_Ð4ÿÿÿÿ< <HvÿÿÿVÏNðõ36Ø var tasks = []õ45Ø5�_Ð5ÿÿÿÿ= =HvÿÿÿVÏNñõ35ØP var tasks = [_.partial(self._startReplicationController.bind(self), token),]õ35ÙO var tasks = [_.partial(self._startReplicationController.bind(self), token),]õ46Ù]5�_Ð ;ÿÿÿÿ;?vÿÿÿVÏN÷õ:<Ø var tasks = [H _.partial(self._startReplicationController.bind(self), token),4 self._startRegistrationService.bind(self),- self._startLookupService.bind(self) ]/ async.parallel(tasks, function (err, ips) {5�_Ð eÿÿÿÿVÏQ õfhÕ iõehÔ tõdgÓ state: pod,5�_Ð fÿÿÿÿfgvÿÿÿVÏQõegÕ times: 20, interval: 20000, condition: function (pods) {5�_Ð iÿÿÿÿffvÿÿÿVÏQõikÓ5�_Ð jÿÿÿÿffvÿÿÿVÏQõimÔõjkÔ5�_Ð  lÿÿÿÿffvÿÿÿVÏQõkl5�_Ð :OÿÿÿÿVÒÒjõ9;ÕQ '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug'],5�_Ð:TÿÿÿÿVÒÒš õ9;ÕV '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug', '--],5�_Ð:WÿÿÿÿVÒÔ\õ9;Õh '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug', '--no-include-prefix'],5�_Ð:_ÿÿÿÿVÒÔ` õ9;Õh '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug', '--no-prepend-prefix'],5�_Ð:WÿÿÿÿVÓfaõ9;Õf '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug', '--no-prepend-path'],5�_Ð:_ÿÿÿÿVÓfe õ9;Õf '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug', '--no-routing-path'],5�_Ð:WÿÿÿÿVÓf}õ9;Õh '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug', '--no-routing-prefix'],5�_лÿÿÿÿVØ‘4õ»½Ö õ»½Õ5�_Ð:Oÿÿÿÿ:e:OvOVÞªÏõ9;Öh '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug', '--no-include-prefix'],5�_Ð] ÿÿÿÿVïäõ^`Ø }õ]`× {õ\_Ö }5�_Ð^ÿÿÿÿVïæõ`bÛ }õ_bÚ sõ^aÙ õ^`Ø5�_Ð` ÿÿÿÿVïøõ`bÜ õ`bÛ5�_ÐD ÿÿÿÿVïõEGÞ ]õDGÝ õDFÜ5�_ÐE ÿÿÿÿVïõFHà }õEHß õEGÞ5�_ÐF ÿÿÿÿVïõGJâ rõFIá õFHà5�_ÐHÿÿÿÿHHvVï/õGIã readOnly: 'true',5�_ÐIÿÿÿÿHHvVï1õHI5�_Ð H ÿÿÿÿHHvVï1õHJã õHJâ5�_Ð! :OÿÿÿÿHHvVï}õ:<ä ],õ9<ãQ '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug'],5�_Ð "!L ÿÿÿÿVïêõKMä ]5�_Ð!#"HÿÿÿÿVïõGIä# name: 'binder-certs',5�_Ð"$#HÿÿÿÿHHvVïõGIä" name: 'certs-certs',5�_Ð#%$HÿÿÿÿHHvVïõGIä name: 'certss',5�_Ð$&%HÿÿÿÿHHvVïõGIä name: 'certs',5�_Ð%'&HÿÿÿÿHHvVïõGIä" name: 'certs-vlume',5�_Ð&(';ÿÿÿÿ;;vVï)…õ:<äH '/data/certs/app.key', '--ssl-cert', '/data/certs/app.crt'],5�_Ð')(;:ÿÿÿÿ;:;@v@Vï)ˆ õ:<äD '/data/certs/key', '--ssl-cert', '/data/certs/app.crt'],5�_Ð(*)ÿÿÿÿ v Vðæ¬õäG this.logger = this._makeLogger(getLogger('binder-deploy-kubernetes'))5�_Ð)+*5ÿÿÿÿ v Vðæ­!õä6 this.logger = getLogger('binder-deploy-kubernetes'))5�_Ð*,+ÿÿÿÿ!vÿÿÿVðæºõä5ProxyClient.prototype._makeLogger = function (base) {3 base.rewriters.push(function (level, msg, meta) {" meta.component = 'ProxyClient' return meta }) return base}5�_Ð+-,ÿÿÿÿvÿÿÿVðæºõà }õßPõÞõÝ5�_Ð,.-ÿÿÿÿvÿÿÿVðæÄõá õà5�_Ð-/.ÿÿÿÿvÿÿÿVðæÑõ âõá5�_Ð.0/ÿÿÿÿvÿÿÿVðæÒõ#ãõ ã5�_Ð/10"ÿÿÿÿvÿÿÿVðæÓõ!"5�_Ð021ÿÿÿÿvÿÿÿVðæÕõ å0ProxyClient.prototype.logInfo = function (msg) {5�_Ð132 ÿÿÿÿvÿÿÿVðæØ"õ!å5 this.logger.info(msg, { component: 'ProxyClient' })5�_Ð253"ÿÿÿÿvÿÿÿVðæÚ$õ!"5�_Ð3645$ÿÿÿÿ$$vVðæáõ#%ä( this.logger.info('starting proxy pod')5�_Ð576} ÿÿÿÿ} }vVðææõ|~ä; self.logger.info('could not start proxy pod: ' + err)5�_Ð687 ÿÿÿÿ vVðæìõ~€ä+ self.logger.info('started proxy pod')5�_Ð798“ÿÿÿÿ““vVðæñõ’”ä8 this.logger.info('starting service: {0}'.format(name))5�_Ð8:9¡ ÿÿÿÿ¡ ¡vVðæõõ ¢äJ self.logger.info('could not start service {0}: '.format(name) + err)5�_Ð9;:¥ ÿÿÿÿ¥ ¥vVðæúõ¤¦äN self.logger.info('started service {0} -- ingressIP: {1}'.format(name, ip))5�_Ð:<;õÿÿÿÿõõvVðçõôöä< self.logger.info('getting info on running proxy services')5�_Ð;=< ÿÿÿÿ  vVðçõ äI self.logger.info('found ingress IP {0} for {1}'.format(ip, name))5�_Ð<>= ÿÿÿÿ vVðç õä@ self.logger.info('pods: {0}'.format(JSON.stringify(pods)))5�_Ð=?>1 ÿÿÿÿ1 1vVðçõ02äR self.logger.info('in _getRunningInfo, info: {0}'.format(JSON.stringify(info)))5�_Ð>@?7ÿÿÿÿ77vVðçõ68äG this.logger.info('checking if the cluster proxy needs to be started')5�_Ð?A@B ÿÿÿÿB BvVðç#õACäJ self.logger.info('cluster proxy not fully running -- starting launch')5�_Ð@BAR ÿÿÿÿR RvVðç)õQSä^ self.logger.info('successfully launched cluster proxy -- lookupIP: {0}, registerIP: {1}'5�_ÐACBZÿÿÿÿZZvVðç-õY[ä, this.logger.info('stopping cluster proxy')5�_ÐBDCl ÿÿÿÿl lvVðç1õkmäQ this.logger.info('registering proxy route: {0} -> {1}'.format(route, target))5�_ÐCEDŽ ÿÿÿÿŽ ŽvVðç5õ��ä? self.logger.info('removing proxy route: {0}'.format(route))5�_ÐDFEµ ÿÿÿÿµ µvVðç;%õ´¶äF this.logger.info('getting proxy routes with age: {0}'.format(age))5�_ÐEGF ÿÿÿÿµ µvVðçO&õ·¹ this.logger.error(msg)õ›� self.logger.error(msg)õ–˜A self.logger.error('could not remove proxy route: ' + err)õy{ self.logger.error(msg)õLN: self.logger.error('in launchClusterProxy: ' + err)õ(*; self.logger.error('error in _getRunningInfo: ' + err)õ!6 this.logger.error(msg, { component: 'ProxyClient' })5�_ÐFHG!ÿÿÿÿ!vÿÿÿVðçhõ!$åõ!#ä5�_ÐGIH#ÿÿÿÿ!vÿÿÿVðçhõ"'æõ#$æ5�_ÐHJI&ÿÿÿÿ!vÿÿÿVðçiõ%&5�_ÐIKJ#ÿÿÿÿ!vÿÿÿVðçlõ"$è1ProxyClient.prototype.logError = function (msg) {5�_ÐJLK ÿÿÿÿ!vÿÿÿVðçsõ!è2 this.logError(msg, { component: 'ProxyClient' })5�_ÐKML$ÿÿÿÿ!vÿÿÿVðçv(õ#%è2 this.logError(msg, { component: 'ProxyClient' })5�_ÐLNM$ÿÿÿÿ!vÿÿÿVðç†*õÊÌS this.logger.debug('full route query options: {0}'.format(JSON.stringify(opts)))õÄÆ9 this.logger.debug('route query url: {0}'.format(url))õ—™L self.logger.debug('sending request to {0}'.format(JSON.stringify(opts)))õxzM self.logger.debug('sending request to: {0}'.format(JSON.stringify(opts)))õ#%6 this.logger.debug(msg, { component: 'ProxyClient' })5�_ÐMON$ÿÿÿÿVðêÿ,õ#%è2 this.logDebug(msg, { component: 'ProxyClient' })5�_ÐNPO? ÿÿÿÿVñ¿õ>?A '/data/certs/key', '--ssl-cert', '/data/certs/cert'],5�_ÐOQP>Oÿÿÿÿ>[>OvOVñÃõ=?ç] '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug', '--ssl-key',5�_ÐPRQ>Oÿÿÿÿ>[>OvOVñÃõ=?çP '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug',5�_ÐQSR>Oÿÿÿÿ>[>OvOVñÄ-õ=?çO '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug'5�_ÐRVS>PÿÿÿÿVñÆ4õ=?çP '--api-port', '8081', '--api-ip', '0.0.0.0', '--log-level', 'debug']5�_ÐSWTVÿÿÿÿWÈõç'var KubeClient = require('kube-stream')5�_ÐVXWÿÿÿÿWËõç'var kubeClient = require('kube-stream')5�_ÐWYXÿÿÿÿWÑõ$var kubeClient = require('./client')5�_ÐXZYÿÿÿÿWÃ’õ æ5�_ÐY[Z ÿÿÿÿWÃ’õ çõ ç5�_ÐZ\[ ÿÿÿÿWÓ5õ 5�_Ð[_\ÿÿÿÿvWÙ9õç this.client = new KubeClient()5�_Ð\`]_iÿÿÿÿin vÿÿÿW&Íõhjç { name: 'certs-volume', secret: {& secretName: 'binder-certs' } } ],5�_Ð_a`h ÿÿÿÿii vÿÿÿW&Ï;õgiá },5�_Ð`baIÿÿÿÿIO vÿÿÿW'}=õHJá volumeMounts: [ {# name: 'certs-volume', readOnly: true,& mountPath: '/data/certs' } ],# imagePullPolicy: 'Always'5�_ÐacbE ÿÿÿÿW=ŒšõDFÚ } 5�_ÐbdcE ÿÿÿÿW=ŒšõDFÚ } 5�_ÐcedE ÿÿÿÿW=ŒšõDFÚ } 5�_ÐdfeE ÿÿÿÿW=Œ›õDFÚ } 5�_ÐegfEÿÿÿÿW=Œ›õDFÚ } 5�_ÐfhgEÿÿÿÿW=Œ›>õDFÚ } 5�_Ðgih«ÿÿÿÿW=’µ?õ«­Û sõª­Ú }5�_Ðhji³ÿÿÿÿW=’¾@õ²³! spec.sessionAffinity = 'None'5�_ÐikjÔÿÿÿÿW=’ÅõÓÔ! spec.sessionAffinity = 'None'5�_ÐjmkÍÿÿÿÿW=’ÆDõÍÏÚ sõÌÏÙ }5�_Ðknlm‘ÿÿÿÿWhJmEõ�’Úh var msg = 'could not register proxy route -- bad response: {0}'.format(JSON.stringify(response))5�_ÐmonuÿÿÿÿW~½iõvxÜ }õuxÛ õuwÚ5�_ÐnpovÿÿÿÿW~½yõvxÝ õvxÜ5�_ÐoqpwÿÿÿÿwW~½¯õxzß }õwzÞ }õvyÝ async.retry5�_ÐprqxÿÿÿÿwW~½òõy{á }õx{à õxzß5�_ÐqsryÿÿÿÿwW~¾ õy{â õy{á5�_ÐrtszÿÿÿÿwW~¾!õy{âK self.logErr('FINAL -- could not register proxy route after retrying5�_ÐsutzMÿÿÿÿwW~¾#Fõy{âM self.logError('FINAL -- could not register proxy route after retrying5�_ÐtvuzLÿÿÿÿwW~¾FGõz|ã õz|â5�_ÐuwvzNÿÿÿÿwzNz]v]W~¾Nõy{ã^ self.logError('FINAL -- could not register proxy route after retrying', route, target)5�_ÐvxwzNÿÿÿÿwzNz]v]W~¾NHõy{ãN self.logError('FINAL -- could not register proxy route after retrying'5�_Ðwyxz>ÿÿÿÿwzNz]v]W~¾UIõy{ãO self.logError('FINAL -- could not register proxy route after retrying')5�_Ðxzy|ÿÿÿÿwzNz]v]W~¾^Jõ|~ä õ|~ã5�_Ðy{z{ÿÿÿÿwzNz]v]W~¾bõz{ return cb(err)5�_Ðz|{|ÿÿÿÿwzNz]v]W~¾dKõ{}ã return cb(null)5�_Ð{}|zÿÿÿÿwzNz]v]W~¾gõxzã if (err) {Uself.logError('FINAL -- could not register proxy route ' + route + ' after retrying')õy{ã] self.logError('FINAL -- could not register proxy route ' + route + ' after retrying')5�_Ð|~}zÿÿÿÿwy^ymv]W~¾iLõyz }5�_Ð}~wÿÿÿÿwy^ymv]W~¾mMõwyâ õwyá5�_Ð~€€ÿÿÿÿwz^zmv]W~¾†õ€‚ã õ€‚â5�_Ð�€‚ÿÿÿÿwz^zmv]W~¾Šõ�‚, register.bind(self)(route, target, cb)5�_Ѐ‚�„ÿÿÿÿwz^zmv]W~¾Œõƒ„* register.bind(self)(route, target, cb)5�_Ð�ƒ‚ƒÿÿÿÿwz^zmv]W~¾ŒOõƒ…â õƒ…á5�_Ђ„ƒwÿÿÿÿwz^zmv]W~¾¢Qõvxâ? async.retry({ time: 10, interval: 1000 }, function (next) {5�_Ѓ…„iBÿÿÿÿwW~¿œõhjâB headers: { 'Authorization': 'token {0}'.format(self.token) }5�_Є…iBÿÿÿÿwW~¿ŸSõikã tõhkâB headers: { 'Authorization': 'token {0}'.format(self.token) }5�_ÐkmlÏÿÿÿÿW=”iõÎÐÚ }2jjkjkjkk5�_Ð\^_]ÿÿÿÿWʪ7õç this.client = kubeClient(opts)5�_Ð]^ÿÿÿÿWʬ8õç% this.client = kubeClient(opts.kube)5�_ÐSUVTºÿÿÿÿVóŒvõ¹»ç, if (true || this.provider === 'vagrant') {5�_ÐTUÜÿÿÿÿVóŒ€3õÛÝç, if (true || this.provider === 'vagrant') {5�_Ð354!ÿÿÿÿvÿÿÿVðæÜõ "änfo}5�çª