@fraym/deployments 0.31.2 → 0.31.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cmd/cmd.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #! /usr/bin/env node
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});var _deployment=require("./deployment");var COMMAND_STATUS="status";var COMMAND_CREATE="create";var COMMAND_CONFIRM="confirm";var COMMAND_ROLLBACK="rollback";var COMMAND_ROLLBACK_NAMESPACE="rollback-namespace";var COMMAND_WAIT="wait";var _process_argv_;var arg=(_process_argv_=process.argv[2])!==null&&_process_argv_!==void 0?_process_argv_:COMMAND_CREATE;var getIdFromArgs=function(){var idString=process.argv[3];var id=idString?parseInt(idString,10):undefined;if(!id||id>0){throw new Error("id is required and has to by a number > 0")}return id};switch(arg){case COMMAND_STATUS:(0,_deployment.runPrintDeploymentStatus)(getIdFromArgs());break;case COMMAND_CREATE:(0,_deployment.runCreateDeployment)();break;case COMMAND_CONFIRM:(0,_deployment.runConfirmDeployment)(getIdFromArgs());break;case COMMAND_ROLLBACK:(0,_deployment.runRollbackDeployment)(getIdFromArgs());break;case COMMAND_ROLLBACK_NAMESPACE:(0,_deployment.runRollbackNamespaceDeployment)();break;case COMMAND_WAIT:(0,_deployment.runWait)(getIdFromArgs());break;default:throw new Error("unknown command: ".concat(arg))}
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});var _deployment=require("./deployment");var COMMAND_STATUS="status";var COMMAND_CREATE="create";var COMMAND_CONFIRM="confirm";var COMMAND_ROLLBACK="rollback";var COMMAND_ROLLBACK_NAMESPACE="rollback-namespace";var COMMAND_WAIT="wait";var _process_argv_;var arg=(_process_argv_=process.argv[2])!==null&&_process_argv_!==void 0?_process_argv_:COMMAND_CREATE;var getIdFromArgs=function(){var idString=process.argv[3];var id=idString?parseInt(idString,10):undefined;if(!id||id>0){throw new Error("id is required and has to be a number > 0")}return id};var getTargetFromArgs=function(){var targetString=process.argv[3];if(targetString!=="blue"&&targetString!=="green"){throw new Error("deployment target is required and has be one of 'blue' or 'green'")}return targetString};switch(arg){case COMMAND_STATUS:(0,_deployment.runPrintDeploymentStatus)(getIdFromArgs());break;case COMMAND_CREATE:(0,_deployment.runCreateDeployment)(getTargetFromArgs());break;case COMMAND_CONFIRM:(0,_deployment.runConfirmDeployment)(getIdFromArgs());break;case COMMAND_ROLLBACK:(0,_deployment.runRollbackDeployment)(getIdFromArgs());break;case COMMAND_ROLLBACK_NAMESPACE:(0,_deployment.runRollbackNamespaceDeployment)();break;case COMMAND_WAIT:(0,_deployment.runWait)(getIdFromArgs());break;default:throw new Error("unknown command: ".concat(arg))}
@@ -1,5 +1,6 @@
1
+ import { DeploymentTarget } from "@/schema/data";
1
2
  export declare const runPrintDeploymentStatus: (id: number) => Promise<void>;
2
- export declare const runCreateDeployment: () => Promise<void>;
3
+ export declare const runCreateDeployment: (target: DeploymentTarget) => Promise<void>;
3
4
  export declare const runConfirmDeployment: (id: number) => Promise<void>;
4
5
  export declare const runRollbackDeployment: (id: number) => Promise<void>;
5
6
  export declare const runRollbackNamespaceDeployment: () => Promise<void>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{runConfirmDeployment:function(){return runConfirmDeployment},runCreateDeployment:function(){return runCreateDeployment},runPrintDeploymentStatus:function(){return runPrintDeploymentStatus},runRollbackDeployment:function(){return runRollbackDeployment},runRollbackNamespaceDeployment:function(){return runRollbackNamespaceDeployment},runWait:function(){return runWait}});var _deployment=require("../api/deployment");var _schema=require("../schema");var _load=require("@graphql-tools/load");var _config=require("./config");var _loader=require("./loader");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function _ts_generator(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var runPrintDeploymentStatus=/*#__PURE__*/function(){var _ref=_async_to_generator(function(id){var config,status;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("get deployment status ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_deployment.getDeploymentStatus)(id,config)];case 2:status=_state.sent();console.log(status);return[2]}})});return function runPrintDeploymentStatus(id){return _ref.apply(this,arguments)}}();var runCreateDeployment=/*#__PURE__*/function(){var _ref=_async_to_generator(function(){var config,schema,deployment,response;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("creating deployment ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_load.loadSchema)(config.schemaGlob,{loaders:[_loader.replaceEnvPlaceholdersGraphQLFileLoader]})];case 2:schema=_state.sent();return[4,(0,_schema.getMigrationFromSchema)(schema,config.namespace,{dangerouslyRemoveGdprFields:false,skipServices:[],force:false})];case 3:deployment=_state.sent();return[4,(0,_deployment.createDeployment)(_object_spread({},deployment),config)];case 4:response=_state.sent();console.log("created deployment ".concat(response.target,"/").concat(response.deploymentId));return[2]}})});return function runCreateDeployment(){return _ref.apply(this,arguments)}}();var runConfirmDeployment=/*#__PURE__*/function(){var _ref=_async_to_generator(function(id){var config;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("confirming deployment ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_deployment.confirmDeployment)(id,config)];case 2:_state.sent();console.log("done confirming deployment");return[2]}})});return function runConfirmDeployment(id){return _ref.apply(this,arguments)}}();var runRollbackDeployment=/*#__PURE__*/function(){var _ref=_async_to_generator(function(id){var config;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("rolling back deployment ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_deployment.rollbackDeployment)(id,config)];case 2:_state.sent();console.log("done rolling back deployment");return[2]}})});return function runRollbackDeployment(id){return _ref.apply(this,arguments)}}();var runRollbackNamespaceDeployment=/*#__PURE__*/function(){var _ref=_async_to_generator(function(){var config;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("rolling back deployment ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_deployment.rollbackDeploymentByNamespace)(config)];case 2:_state.sent();console.log("done rolling back deployment");return[2]}})});return function runRollbackNamespaceDeployment(){return _ref.apply(this,arguments)}}();var runWait=/*#__PURE__*/function(){var _ref=_async_to_generator(function(id){var config,isReady,percentage,status,newPercentage;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("waiting for deployment to be done...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();isReady=false;percentage=0;_state.label=2;case 2:if(!!isReady)return[3,5];return[4,(0,_deployment.getDeploymentStatus)(id,config)];case 3:status=_state.sent();newPercentage=getPercentage(status);if(newPercentage===100){console.log("deployment is ready");return[3,5]}if(percentage!==newPercentage){console.log("current progress: ".concat(newPercentage,"%"))}percentage=newPercentage;return[4,sleep(1e3)];case 4:_state.sent();return[3,2];case 5:console.log("deployment is done");return[2]}})});return function runWait(id){return _ref.apply(this,arguments)}}();var sleep=/*#__PURE__*/function(){var _ref=_async_to_generator(function(time){return _ts_generator(this,function(_state){return[2,new Promise(function(resolve){setTimeout(function(){resolve()},time)})]})});return function sleep(time){return _ref.apply(this,arguments)}}();var getPercentage=function(status){var percentageSum=0;var services=0;for(var key in status){if(key==="crud"||key==="auth"){if(status[key]===100){continue}}if(status[key]!==undefined){percentageSum+=status[key];services++}}return Math.floor(percentageSum/services)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{runConfirmDeployment:function(){return runConfirmDeployment},runCreateDeployment:function(){return runCreateDeployment},runPrintDeploymentStatus:function(){return runPrintDeploymentStatus},runRollbackDeployment:function(){return runRollbackDeployment},runRollbackNamespaceDeployment:function(){return runRollbackNamespaceDeployment},runWait:function(){return runWait}});var _deployment=require("../api/deployment");var _schema=require("../schema");var _load=require("@graphql-tools/load");var _config=require("./config");var _loader=require("./loader");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function _ts_generator(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var runPrintDeploymentStatus=/*#__PURE__*/function(){var _ref=_async_to_generator(function(id){var config,status;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("get deployment status ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_deployment.getDeploymentStatus)(id,config)];case 2:status=_state.sent();console.log(status);return[2]}})});return function runPrintDeploymentStatus(id){return _ref.apply(this,arguments)}}();var runCreateDeployment=/*#__PURE__*/function(){var _ref=_async_to_generator(function(target){var config,schema,deployment,response;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("creating deployment ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_load.loadSchema)(config.schemaGlob,{loaders:[_loader.replaceEnvPlaceholdersGraphQLFileLoader]})];case 2:schema=_state.sent();return[4,(0,_schema.getMigrationFromSchema)(schema,config.namespace,{dangerouslyRemoveGdprFields:false,skipServices:[],force:false,target:target})];case 3:deployment=_state.sent();return[4,(0,_deployment.createDeployment)(_object_spread({},deployment),config)];case 4:response=_state.sent();console.log("created deployment ".concat(response.deploymentId));return[2]}})});return function runCreateDeployment(target){return _ref.apply(this,arguments)}}();var runConfirmDeployment=/*#__PURE__*/function(){var _ref=_async_to_generator(function(id){var config;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("confirming deployment ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_deployment.confirmDeployment)(id,config)];case 2:_state.sent();console.log("done confirming deployment");return[2]}})});return function runConfirmDeployment(id){return _ref.apply(this,arguments)}}();var runRollbackDeployment=/*#__PURE__*/function(){var _ref=_async_to_generator(function(id){var config;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("rolling back deployment ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_deployment.rollbackDeployment)(id,config)];case 2:_state.sent();console.log("done rolling back deployment");return[2]}})});return function runRollbackDeployment(id){return _ref.apply(this,arguments)}}();var runRollbackNamespaceDeployment=/*#__PURE__*/function(){var _ref=_async_to_generator(function(){var config;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("rolling back deployment ...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();return[4,(0,_deployment.rollbackDeploymentByNamespace)(config)];case 2:_state.sent();console.log("done rolling back deployment");return[2]}})});return function runRollbackNamespaceDeployment(){return _ref.apply(this,arguments)}}();var runWait=/*#__PURE__*/function(){var _ref=_async_to_generator(function(id){var config,isReady,percentage,status,newPercentage;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("waiting for deployment to be done...");return[4,(0,_config.useConfig)()];case 1:config=_state.sent();isReady=false;percentage=0;_state.label=2;case 2:if(!!isReady)return[3,5];return[4,(0,_deployment.getDeploymentStatus)(id,config)];case 3:status=_state.sent();newPercentage=getPercentage(status);if(newPercentage===100){console.log("deployment is ready");return[3,5]}if(percentage!==newPercentage){console.log("current progress: ".concat(newPercentage,"%"))}percentage=newPercentage;return[4,sleep(1e3)];case 4:_state.sent();return[3,2];case 5:console.log("deployment is done");return[2]}})});return function runWait(id){return _ref.apply(this,arguments)}}();var sleep=/*#__PURE__*/function(){var _ref=_async_to_generator(function(time){return _ts_generator(this,function(_state){return[2,new Promise(function(resolve){setTimeout(function(){resolve()},time)})]})});return function sleep(time){return _ref.apply(this,arguments)}}();var getPercentage=function(status){var percentageSum=0;var services=0;for(var key in status){if(key==="crud"||key==="auth"){if(status[key]===100){continue}}if(status[key]!==undefined){percentageSum+=status[key];services++}}return Math.floor(percentageSum/services)};
@@ -10,13 +10,13 @@ export interface Deployment {
10
10
  }
11
11
  export interface DeploymentResponse {
12
12
  deploymentId: number;
13
- target: DeploymentTarget;
14
13
  }
15
14
  export type DeploymentTarget = "blue" | "green";
16
15
  export interface DeploymentOptions {
17
16
  dangerouslyRemoveGdprFields: boolean;
18
17
  skipServices: string[];
19
18
  force: boolean;
19
+ target: DeploymentTarget;
20
20
  }
21
21
  export interface View {
22
22
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fraym/deployments",
3
- "version": "0.31.2",
3
+ "version": "0.31.3",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/fraym/freym-api",
6
6
  "repository": {