integration-operator
Version:
kubernetes operator to integrate deployments
200 lines (161 loc) • 10.4 kB
JavaScript
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