UNPKG

realm-object-server

Version:

Realm Object Server

56 lines 2.45 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); const KubernetesClient = require("kubernetes-client"); const __1 = require(".."); __export(require("./KubernetesServer")); __export(require("./KubernetesSyncWorker")); __export(require("./ResourceWatcher")); function retryApiRequest(fn) { return fn().catch((err) => { if (err.code === "ECONNRESET" || err.code === 429) { console.log("got API error", err.code, "- retrying in 1s"); return __1.delay(1000).then(() => retryApiRequest(fn)); } throw err; }); } exports.retryApiRequest = retryApiRequest; function getKubernetesConfig() { try { return KubernetesClient.config.getInCluster(); } catch (err) { return KubernetesClient.config.fromKubeconfig(KubernetesClient.config.loadKubeconfig()); } } exports.getKubernetesConfig = getKubernetesConfig; function getPodInfo() { return __awaiter(this, void 0, void 0, function* () { const kubernetesConfig = getKubernetesConfig(); const namespace = kubernetesConfig.namespace; if (!namespace) { throw new Error("Namespace not defined in kubernetes configuration"); } const coreApi = new KubernetesClient.Client1_10({ config: kubernetesConfig, version: "1.11" }).api.v1.namespace(namespace); const response = yield coreApi.pods(process.env.HOSTNAME).get().then((r) => r.body); const podIp = response.status.podIP; if (!podIp) { console.log("podIP not defined on pod resource. Retying in 1s"); return __1.delay(1000).then(getPodInfo); } return response; }); } exports.getPodInfo = getPodInfo; //# sourceMappingURL=index.js.map