UNPKG

integration-operator

Version:
200 lines (161 loc) 10.4 kB
require("core-js/modules/es.array.join.js"); (function (global, factory) { if (typeof define === "function" && define.amd) { define(["exports", "@babel/runtime/regenerator", "regenerator-runtime/runtime.js", "@babel/runtime/helpers/asyncToGenerator", "@babel/runtime/helpers/classCallCheck", "@babel/runtime/helpers/createClass", "@babel/runtime/helpers/inherits", "@babel/runtime/helpers/possibleConstructorReturn", "@babel/runtime/helpers/getPrototypeOf", "@dot-i/k8s-operator", "ora", "./resourceTracker", "./util", "./controllers"], factory); } else if (typeof exports !== "undefined") { factory(exports, require("@babel/runtime/regenerator"), require("regenerator-runtime/runtime.js"), require("@babel/runtime/helpers/asyncToGenerator"), require("@babel/runtime/helpers/classCallCheck"), require("@babel/runtime/helpers/createClass"), require("@babel/runtime/helpers/inherits"), require("@babel/runtime/helpers/possibleConstructorReturn"), require("@babel/runtime/helpers/getPrototypeOf"), require("@dot-i/k8s-operator"), require("ora"), require("./resourceTracker"), require("./util"), require("./controllers")); } else { var mod = { exports: {} }; factory(mod.exports, global.regenerator, global.runtime, global.asyncToGenerator, global.classCallCheck, global.createClass, global.inherits, global.possibleConstructorReturn, global.getPrototypeOf, global.k8sOperator, global.ora, global.resourceTracker, global.util, global.controllers); global.integrationOperator = mod.exports; } })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _regenerator, _runtime, _asyncToGenerator2, _classCallCheck2, _createClass2, _inherits2, _possibleConstructorReturn2, _getPrototypeOf2, _k8sOperator, _ora, _resourceTracker, _util, _controllers) { "use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(_exports, "__esModule", { value: true }); _exports.ResourceVersion = _exports.ResourceKind = _exports.ResourceGroup = _exports.default = void 0; _regenerator = _interopRequireDefault(_regenerator); _asyncToGenerator2 = _interopRequireDefault(_asyncToGenerator2); _classCallCheck2 = _interopRequireDefault(_classCallCheck2); _createClass2 = _interopRequireDefault(_createClass2); _inherits2 = _interopRequireDefault(_inherits2); _possibleConstructorReturn2 = _interopRequireDefault(_possibleConstructorReturn2); _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf2); _k8sOperator = _interopRequireWildcard(_k8sOperator); _ora = _interopRequireDefault(_ora); _resourceTracker = _interopRequireDefault(_resourceTracker); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } var logger = console; var IntegrationOperator = /*#__PURE__*/function (_Operator) { (0, _inherits2.default)(IntegrationOperator, _Operator); var _super = _createSuper(IntegrationOperator); function IntegrationOperator(config) { var _this; (0, _classCallCheck2.default)(this, IntegrationOperator); _this = _super.call(this, logger); _this.config = config; _this.spinner = (0, _ora.default)(); _this.resourceTracker = new _resourceTracker.default(); return _this; } (0, _createClass2.default)(IntegrationOperator, [{ key: "init", value: function () { var _init = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: this.watchController(ResourceKind.IntegrationPlug, new _controllers.IntegrationPlug(ResourceGroup.Integration, ResourceKind.IntegrationPlug)); this.watchController(ResourceKind.IntegrationSocket, new _controllers.IntegrationSocket(ResourceGroup.Integration, ResourceKind.IntegrationSocket)); case 2: case "end": return _context.stop(); } } }, _callee, this); })); function init() { return _init.apply(this, arguments); } return init; }() }, { key: "watchController", value: function watchController(resourceKind, controller) { var _this2 = this; this.watchResource((0, _util.getGroupName)(ResourceGroup.Integration), ResourceVersion.V1alpha1, (0, _util.kind2plural)(resourceKind), /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(e) { return _regenerator.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: // spawn as non blocking process (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var _this2$resourceTracke, oldResource, newResource, _err$body, _err$response, _err$response$body; return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _this2$resourceTracke = _this2.resourceTracker.rotateResource(e.object), oldResource = _this2$resourceTracke.oldResource, newResource = _this2$resourceTracke.newResource; _context2.prev = 1; _context2.t0 = e.type; _context2.next = _context2.t0 === _k8sOperator.ResourceEventType.Added ? 5 : _context2.t0 === _k8sOperator.ResourceEventType.Deleted ? 10 : _context2.t0 === _k8sOperator.ResourceEventType.Modified ? 14 : 19; break; case 5: _context2.next = 7; return controller.added(newResource, e.meta, oldResource); case 7: _context2.next = 9; return controller.addedOrModified(newResource, e.meta, oldResource); case 9: return _context2.abrupt("return"); case 10: _this2.resourceTracker.resetResource(e.object); _context2.next = 13; return controller.deleted(newResource, e.meta, oldResource); case 13: return _context2.abrupt("return"); case 14: _context2.next = 16; return controller.modified(newResource, e.meta, oldResource); case 16: _context2.next = 18; return controller.addedOrModified(newResource, e.meta, oldResource); case 18: return _context2.abrupt("return"); case 19: _context2.next = 25; break; case 21: _context2.prev = 21; _context2.t1 = _context2["catch"](1); _this2.spinner.fail([_context2.t1.message || '', ((_err$body = _context2.t1.body) === null || _err$body === void 0 ? void 0 : _err$body.message) || ((_err$response = _context2.t1.response) === null || _err$response === void 0 ? void 0 : (_err$response$body = _err$response.body) === null || _err$response$body === void 0 ? void 0 : _err$response$body.message) || ''].join(': ')); if (_this2.config.debug) logger.error(_context2.t1); case 25: case "end": return _context2.stop(); } } }, _callee2, null, [[1, 21]]); }))().catch(logger.error); case 1: case "end": return _context3.stop(); } } }, _callee3); })); return function (_x) { return _ref.apply(this, arguments); }; }()).catch(logger.error); } }]); return IntegrationOperator; }(_k8sOperator.default); _exports.default = IntegrationOperator; var ResourceGroup; _exports.ResourceGroup = ResourceGroup; (function (ResourceGroup) { ResourceGroup["Integration"] = "integration"; })(ResourceGroup || (_exports.ResourceGroup = ResourceGroup = {})); var ResourceKind; _exports.ResourceKind = ResourceKind; (function (ResourceKind) { ResourceKind["IntegrationPlug"] = "IntegrationPlug"; ResourceKind["IntegrationSocket"] = "IntegrationSocket"; })(ResourceKind || (_exports.ResourceKind = ResourceKind = {})); var ResourceVersion; _exports.ResourceVersion = ResourceVersion; (function (ResourceVersion) { ResourceVersion["V1alpha1"] = "v1alpha1"; })(ResourceVersion || (_exports.ResourceVersion = ResourceVersion = {})); }); //# sourceMappingURL=integrationOperator.js.map