@fraym/deployments 0.31.0 → 0.31.2

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.
@@ -1,8 +1,8 @@
1
- import { ClientConfig } from "@/config/config";
1
+ import { Config } from "@/cmd/config";
2
2
  import { Deployment, DeploymentResponse } from "@/schema/data";
3
- export declare const createDeployment: (deployment: Deployment, config: ClientConfig) => Promise<DeploymentResponse>;
3
+ export declare const createDeployment: (deployment: Deployment, config: Config) => Promise<DeploymentResponse>;
4
4
  export type DeploymentStatus = Record<string, number>;
5
- export declare const getDeploymentStatus: (deploymentId: number, config: ClientConfig) => Promise<DeploymentStatus>;
6
- export declare const confirmDeployment: (deploymentId: number, config: ClientConfig) => Promise<void>;
7
- export declare const rollbackDeployment: (deploymentId: number, config: ClientConfig) => Promise<void>;
8
- export declare const rollbackDeploymentByNamespace: (config: ClientConfig) => Promise<void>;
5
+ export declare const getDeploymentStatus: (deploymentId: number, config: Config) => Promise<DeploymentStatus>;
6
+ export declare const confirmDeployment: (deploymentId: number, config: Config) => Promise<void>;
7
+ export declare const rollbackDeployment: (deploymentId: number, config: Config) => Promise<void>;
8
+ export declare const rollbackDeploymentByNamespace: (config: Config) => Promise<void>;
@@ -1,7 +1,7 @@
1
- export interface CmdConfig {
1
+ export interface Config {
2
2
  schemaGlob: string;
3
3
  namespace: string;
4
4
  serverAddress: string;
5
5
  apiToken: string;
6
6
  }
7
- export declare const useConfig: () => Promise<CmdConfig>;
7
+ export declare const useConfig: () => Promise<Config>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"useConfig",{enumerable:true,get:function(){return useConfig}});var _dotenv=require("dotenv");var _helpers=require("yargs/helpers");var _yargs=/*#__PURE__*/_interop_require_default(require("yargs/yargs"));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 _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}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 useConfig=/*#__PURE__*/function(){var _ref=_async_to_generator(function(){var _process_env_MIGRATIONS_SECURE,argv,schemaGlob,serverAddress,apiToken,namespace,secure,httpProtocoll;return _ts_generator(this,function(_state){switch(_state.label){case 0:(0,_dotenv.config)();return[4,(0,_yargs.default)((0,_helpers.hideBin)(process.argv)).config({schemaGlob:"./src/**/*.graphql",serverAddress:"http://127.0.0.1",apiToken:"",namespace:""}).pkgConf("projections").argv];case 1:argv=_state.sent();schemaGlob=argv.schemaGlob;serverAddress=argv.serverAddress;apiToken=argv.apiToken;namespace=argv.namespace;secure=process.env.MIGRATIONS_SECURE==="1"||((_process_env_MIGRATIONS_SECURE=process.env.MIGRATIONS_SECURE)===null||_process_env_MIGRATIONS_SECURE===void 0?void 0:_process_env_MIGRATIONS_SECURE.toLowerCase())==="true";httpProtocoll=secure?"https":"http";if(process.env.MIGRATIONS_SCHEMA_GLOB){schemaGlob=process.env.MIGRATIONS_SCHEMA_GLOB}if(process.env.MIGRATIONS_SERVER_ADDRESS){serverAddress="".concat(httpProtocoll).concat(process.env.MIGRATIONS_SERVER_ADDRESS)}if(process.env.MIGRATIONS_API_TOKEN){apiToken=process.env.MIGRATIONS_API_TOKEN}if(process.env.MIGRATIONS_NAMESPACE){namespace=process.env.MIGRATIONS_NAMESPACE}if(namespace==="Fraym"){throw new Error("Cannot use Fraym as namespace as it is reserved for fraym apps")}return[2,{apiToken:apiToken,namespace:namespace,schemaGlob:schemaGlob,serverAddress:serverAddress}]}})});return function useConfig(){return _ref.apply(this,arguments)}}();
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"useConfig",{enumerable:true,get:function(){return useConfig}});var _dotenv=require("dotenv");var _helpers=require("yargs/helpers");var _yargs=/*#__PURE__*/_interop_require_default(require("yargs/yargs"));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 _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}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 useConfig=/*#__PURE__*/function(){var _ref=_async_to_generator(function(){var argv,schemaGlob,serverAddress,apiToken,namespace,_process_env_DEPLOYMENTS_SERVER_ADDRESS;return _ts_generator(this,function(_state){switch(_state.label){case 0:(0,_dotenv.config)();return[4,(0,_yargs.default)((0,_helpers.hideBin)(process.argv)).config({schemaGlob:"./src/**/*.graphql",serverAddress:"http://127.0.0.1",apiToken:"",namespace:""}).pkgConf("projections").argv];case 1:argv=_state.sent();schemaGlob=argv.schemaGlob;serverAddress=argv.serverAddress;apiToken=argv.apiToken;namespace=argv.namespace;if(process.env.DEPLOYMENTS_SCHEMA_GLOB){schemaGlob=process.env.DEPLOYMENTS_SCHEMA_GLOB}if(process.env.DEPLOYMENTS_SERVER_ADDRESS){;serverAddress=(_process_env_DEPLOYMENTS_SERVER_ADDRESS=process.env.DEPLOYMENTS_SERVER_ADDRESS)!==null&&_process_env_DEPLOYMENTS_SERVER_ADDRESS!==void 0?_process_env_DEPLOYMENTS_SERVER_ADDRESS:""}if(process.env.DEPLOYMENTS_API_TOKEN){apiToken=process.env.DEPLOYMENTS_API_TOKEN}if(process.env.DEPLOYMENTS_NAMESPACE){namespace=process.env.DEPLOYMENTS_NAMESPACE}if(namespace==="Fraym"){throw new Error("Cannot use Fraym as namespace as it is reserved for fraym apps")}return[2,{apiToken:apiToken,namespace:namespace,schemaGlob:schemaGlob,serverAddress:serverAddress}]}})});return function useConfig(){return _ref.apply(this,arguments)}}();
@@ -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 _ref,serverAddress,apiToken,namespace,status;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("get deployment status ...");return[4,(0,_config.useConfig)()];case 1:_ref=_state.sent(),serverAddress=_ref.serverAddress,apiToken=_ref.apiToken,namespace=_ref.namespace;return[4,(0,_deployment.getDeploymentStatus)(id,{apiToken:apiToken,serverAddress:serverAddress,namespace:namespace})];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 _ref,schemaGlob,namespace,serverAddress,apiToken,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:_ref=_state.sent(),schemaGlob=_ref.schemaGlob,namespace=_ref.namespace,serverAddress=_ref.serverAddress,apiToken=_ref.apiToken;return[4,(0,_load.loadSchema)(schemaGlob,{loaders:[_loader.replaceEnvPlaceholdersGraphQLFileLoader]})];case 2:schema=_state.sent();return[4,(0,_schema.getMigrationFromSchema)(schema,namespace,{dangerouslyRemoveGdprFields:false,skipServices:[],force:false})];case 3:deployment=_state.sent();return[4,(0,_deployment.createDeployment)(_object_spread({},deployment),{apiToken:apiToken,serverAddress:serverAddress,namespace:namespace})];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 _ref,serverAddress,apiToken,namespace;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("confirming deployment ...");return[4,(0,_config.useConfig)()];case 1:_ref=_state.sent(),serverAddress=_ref.serverAddress,apiToken=_ref.apiToken,namespace=_ref.namespace;return[4,(0,_deployment.confirmDeployment)(id,{apiToken:apiToken,serverAddress:serverAddress,namespace:namespace})];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 _ref,serverAddress,apiToken,namespace;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("rolling back deployment ...");return[4,(0,_config.useConfig)()];case 1:_ref=_state.sent(),serverAddress=_ref.serverAddress,apiToken=_ref.apiToken,namespace=_ref.namespace;return[4,(0,_deployment.rollbackDeployment)(id,{apiToken:apiToken,serverAddress:serverAddress,namespace:namespace})];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 _ref,serverAddress,apiToken,namespace;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("rolling back deployment ...");return[4,(0,_config.useConfig)()];case 1:_ref=_state.sent(),serverAddress=_ref.serverAddress,apiToken=_ref.apiToken,namespace=_ref.namespace;return[4,(0,_deployment.rollbackDeploymentByNamespace)({apiToken:apiToken,serverAddress:serverAddress,namespace:namespace})];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 _ref,serverAddress,apiToken,namespace,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:_ref=_state.sent(),serverAddress=_ref.serverAddress,apiToken=_ref.apiToken,namespace=_ref.namespace;isReady=false;percentage=0;_state.label=2;case 2:if(!!isReady)return[3,5];return[4,(0,_deployment.getDeploymentStatus)(id,{apiToken:apiToken,serverAddress:serverAddress,namespace:namespace})];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(){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)};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fraym/deployments",
3
- "version": "0.31.0",
3
+ "version": "0.31.2",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/fraym/freym-api",
6
6
  "repository": {
@@ -1,7 +0,0 @@
1
- export interface ClientConfig {
2
- serverAddress: string;
3
- apiToken: string;
4
- namespace: string;
5
- }
6
- export declare const getEnvConfig: () => ClientConfig;
7
- export declare const useConfigDefaults: (config?: ClientConfig) => Required<ClientConfig>;
@@ -1 +0,0 @@
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,{getEnvConfig:function(){return getEnvConfig},useConfigDefaults:function(){return useConfigDefaults}});var _dotenv=require("dotenv");var getEnvConfig=function(){(0,_dotenv.config)();var _process_env_DEPLOYMENTS_SERVER_ADDRESS,_process_env_MIGRATIONS_API_TOKEN,_process_env_MIGRATIONS_NAMESPACE;return{serverAddress:(_process_env_DEPLOYMENTS_SERVER_ADDRESS=process.env.DEPLOYMENTS_SERVER_ADDRESS)!==null&&_process_env_DEPLOYMENTS_SERVER_ADDRESS!==void 0?_process_env_DEPLOYMENTS_SERVER_ADDRESS:"",apiToken:(_process_env_MIGRATIONS_API_TOKEN=process.env.MIGRATIONS_API_TOKEN)!==null&&_process_env_MIGRATIONS_API_TOKEN!==void 0?_process_env_MIGRATIONS_API_TOKEN:"",namespace:(_process_env_MIGRATIONS_NAMESPACE=process.env.MIGRATIONS_NAMESPACE)!==null&&_process_env_MIGRATIONS_NAMESPACE!==void 0?_process_env_MIGRATIONS_NAMESPACE:""}};var useConfigDefaults=function(config){if(!config){config=getEnvConfig()}return{serverAddress:config.serverAddress,apiToken:config.apiToken,namespace:config.namespace}};