{"version":3,"sources":["jsdelivr-header.js","/npm/kubernetes-configmap-updater@2.1.0/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,IAAI,gBAAmB,MAAQ,KAAK,iBAAoB,SAAU,GAChE,OAAQ,GAAO,EAAI,WAAc,EAAM,CAAC,QAAW,EACrD,EACA,OAAO,eAAe,QAAS,aAAc,CAAC,OAAO,IACrD,MAAM,OAAS,QAAQ,QACvB,QAAQ,4BACR,MAAM,UAAY,gBAAgB,QAAQ,YACpC,YAAc,QAAQ,kBACtB,aAAe,gBAAgB,QAAQ,eACvC,eAAiB,gBAAgB,QAAQ,iBAC/C,IAAI,oBACJ,SAAW,GACT,EAA0B,MAAI,QAC9B,EAA6B,SAAI,UAClC,CAHD,CAGG,qBAAuB,mBAAqB,CAAC,IAEhD,MAAM,cACJ,WAAA,CAAY,GACV,KAAK,gBAAkB,CAAC,EACxB,KAAK,cAAgB,EACrB,KAAK,OACP,CAEA,KAAA,GACE,KAAK,UAAY,OAAO,WAAW,QAAQ,GAAe,KAAK,iBAAiB,KAChF,KAAK,UACF,KAAK,YAAY,IAAI,KAAK,cAC1B,KAAK,YAAY,QAAQ,GAA2B,cAAhB,EAAO,QAC3C,UAAU,KAAK,cAAc,KAAK,MACvC,CAEA,gBAAA,CAAiB,GAEf,MAAM,EAAU,CAAC,EAEb,KAAK,cAAc,OACjB,KAAK,cAAc,KAAK,MAC1B,EAAuB,cAAI,UAAY,KAAK,cAAc,KAAK,MAE/D,EAAuB,cAAI,SAAW,OAAO,KAAK,KAAK,cAAc,KAAK,SAAW,IAAM,KAAK,cAAc,KAAK,UAAU,SAAS,WAI1I,MAAM,EAAM,UAAU,QAAQ,CAC5B,IAAK,GAAG,KAAK,cAAc,yBAAyB,KAAK,cAAc,+BACvE,UACA,WAAW,IAiBb,OAfA,EAAI,GAAG,YAAY,KACjB,QAAQ,KAAK,4CACb,KAAK,iBAAiB,EAAS,IAEjC,EAAI,GAAG,SAAU,IACf,QAAQ,MAAM,mCAAoC,GAClD,KAAK,iBAAiB,EAAS,IAEjC,EAAI,GAAG,SAAS,KACd,QAAQ,MAAM,oCACd,KAAK,iBAAiB,EAAS,IAEjC,EACG,KAAK,aAAa,QAAQ,SAC1B,KAAK,eAAe,QAAQ,SAAS,GAAS,EAAS,KAAK,MACxD,CACT,CAEA,WAAA,CAAY,GACV,MAAO,CACL,KAAM,EAAS,KACf,KAAM,EAAS,OAAO,KACtB,KAAM,EAAS,OAAO,KACtB,KAAM,EAAS,OAAO,SAAS,KAEnC,CAEA,aAAA,CAAc,GACZ,KAAK,gBAAgB,EAAa,MAAQ,EAAa,MAAQ,OAAO,OAAO,KAAK,gBAAgB,EAAa,OAAS,CAAC,EAAG,EAAa,MACzI,OAAO,WACJ,KAAK,KAAK,cAAc,YACxB,QAAO,CAAC,EAAc,IAAQ,OAAO,OAAO,EAAc,KAAK,gBAAgB,IAAQ,CAAC,IAAI,CAAC,GAC7F,WAAW,IACV,QAAQ,KAAK,yCACb,OAAO,OAAO,QAAQ,IAAK,EAAa,GAE9C,EAGF,OAAO,QAAU","file":"/npm/kubernetes-configmap-updater@2.1.0/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/kubernetes-configmap-updater@2.1.0/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n  return (mod && mod.__esModule) ? mod : {\"default\": mod};\n};\nObject.defineProperty(exports, \"__esModule\", {value: true});\nconst rxjs_1 = require(\"rxjs\");\nrequire(\"rxjs/add/observable/from\");\nconst request_1 = __importDefault(require(\"request\"));\nconst operators_1 = require(\"rxjs/operators\");\nconst JSONStream_1 = __importDefault(require(\"JSONStream\"));\nconst event_stream_1 = __importDefault(require(\"event-stream\"));\nvar KUBE_RESPONSE_TYPE;\n(function (KUBE_RESPONSE_TYPE) {\n  KUBE_RESPONSE_TYPE[\"ADDED\"] = \"ADDED\";\n  KUBE_RESPONSE_TYPE[\"MODIFIED\"] = \"MODIFIED\";\n})(KUBE_RESPONSE_TYPE || (KUBE_RESPONSE_TYPE = {}));\n\nclass ConfigUpdater {\n  constructor(config) {\n    this.configMapValues = {};\n    this.configuration = config;\n    this.start();\n  }\n\n  start() {\n    this.k8sUpdate = rxjs_1.Observable.create((subscriber) => this.getRequestStream(subscriber));\n    this.k8sUpdate\n      .pipe(operators_1.map(this.mapResponse))\n      .pipe(operators_1.filter((update) => update.kind === 'ConfigMap'))\n      .subscribe(this.updateHandler.bind(this));\n  }\n\n  getRequestStream(observer) {\n\n    const headers = {};\n\n    if (this.configuration.auth) {\n      if (this.configuration.auth.token) {\n        headers['authorization'] = 'Bearer ' + this.configuration.auth.token;\n      } else {\n        headers['authorization'] = 'Basic ' + Buffer.from(this.configuration.auth.username + ':' + this.configuration.auth.password).toString('base64');\n      }\n    }\n\n    const req = request_1.default({\n      url: `${this.configuration.url}/api/v1/namespaces/${this.configuration.namespace}/configmaps?watch=1`,\n      headers,\n      strictSSL: false\n    });\n    req.on('complete', () => {\n      console.warn('JSON stream ended, refreshing connection');\n      this.getRequestStream(observer);\n    });\n    req.on('error', (err) => {\n      console.error('An error occurred on JSON stream', err);\n      this.getRequestStream(observer);\n    });\n    req.on('abort', () => {\n      console.error('An error occurred on JSON stream');\n      this.getRequestStream(observer);\n    });\n    req\n      .pipe(JSONStream_1.default.parse())\n      .pipe(event_stream_1.default.mapSync((data) => observer.next(data)));\n    return req;\n  }\n\n  mapResponse(response) {\n    return {\n      type: response.type,\n      data: response.object.data,\n      kind: response.object.kind,\n      name: response.object.metadata.name\n    };\n  }\n\n  updateHandler(kubeResponse) {\n    this.configMapValues[kubeResponse.name] = kubeResponse.data || Object.assign(this.configMapValues[kubeResponse.name] || {}, kubeResponse.data);\n    rxjs_1.Observable\n      .from(this.configuration.configmaps)\n      .reduce((configResult, key) => Object.assign(configResult, this.configMapValues[key] || {}), {})\n      .subscribe((configObject) => {\n        console.info('Environment configuration is updated.');\n        Object.assign(process.env, configObject);\n      });\n  }\n}\n\nmodule.exports = ConfigUpdater;\n"]}