@@ -582,7 +582,7 @@ const getComponentDirecotories = async ({ components, component_type }) => {
582582
583583 const { workspace_name } = retrieveWorkSpaceName ( { package_json_path } )
584584
585- const component_root_dir = join ( project_root , `${ component_type === 'app' ? `gateways /apps` : 'microservices' } ` )
585+ const component_root_dir = join ( project_root , `${ component_type === 'app' ? `docker /apps` : 'microservices' } ` )
586586
587587 // Simulate delay before checking if the component directory exists
588588 await delay ( 1 ) ;
@@ -1469,7 +1469,7 @@ const generateK8sBroker = ({ broker_directory }) => {
14691469 } )
14701470 )
14711471}
1472- const generateK8sApp = ( { answers , k8s_directory, projectName, services = [ ] } ) => {
1472+ const generateK8sApp = ( { namespace , app_name , k8s_directory, projectName, services = [ ] } ) => {
14731473 const app_directory = k8s_directory
14741474 // Remove the directory if it already exists
14751475 if ( existsSync ( app_directory ) ) {
@@ -1518,8 +1518,8 @@ const generateK8sApp = ({ answers, k8s_directory, projectName, services = [] })
15181518 port : s . port ,
15191519 project_base : projectName ,
15201520 env : 'prod' ,
1521- namespace : answers ?. namespace || 'default' ,
1522- app : answers . app_name
1521+ namespace : namespace || 'default' ,
1522+ app : app_name
15231523 } )
15241524 )
15251525 writeFileSync ( join ( service_dir , 'secret.yaml' ) , assets . k8sSecretContent ( {
@@ -1530,35 +1530,42 @@ const generateK8sApp = ({ answers, k8s_directory, projectName, services = [] })
15301530 } )
15311531 writeFileSync ( join ( app_directory , 'combo.yaml' ) , assets . k8sComboContent ( {
15321532 project_base : projectName ,
1533- app : answers . app_name ,
1533+ app : app_name ,
15341534 services : services . map ( ( s ) => ( { service : s . name , port : s . port , image : `${ projectName } /${ s . name } :latest` } ) )
15351535 } )
15361536 )
15371537}
15381538const scaffoldApp = ( { answers } ) => {
15391539 const { webserver, projectName, services } = readFileContent ( { currentDir : cwd ( ) } ) ;
15401540 const project_root = generateRootPath ( { currentDir : cwd ( ) } ) ;
1541- const app_directory = join ( project_root , 'gateways /apps' , answers . app_name ) ;
1541+ const app_directory = join ( project_root , 'docker /apps' , answers . app_name ) ;
15421542 const k8s_directory = join ( project_root , `k8s/ns/${ answers ?. namespace || 'default' } ` , answers . app_name ) ;
15431543
15441544 const webserver_dir = join ( app_directory , webserver ) ;
15451545 const krakend_dir = join ( app_directory , 'krakend' ) ;
15461546 const data_dir = join ( app_directory , 'data' ) ;
1547- if ( ! existsSync ( k8s_directory ) ) {
1548- const ingress_directory = join ( project_root , `k8s/ingress` ) ;
1549- const broker_directory = join ( project_root , `k8s/broker` ) ;
1550- mkdirSync ( ingress_directory , { recursive : true } ) ;
1551- mkdirSync ( broker_directory , { recursive : true } ) ;
1552-
1553- generateK8sBroker ( { broker_directory, projectName } ) ;
1554- writeFileSync ( join ( ingress_directory , 'ingress.yaml' ) , assets . k8sIngressContent ( {
1555- project_base : projectName ,
1556- app : answers . app_name ,
1557- services
1558- } ) ) ;
1547+ if ( existsSync ( k8s_directory ) ) {
1548+ rmSync ( k8s_directory , { recursive : true } ) ;
15591549
15601550 }
1561- generateK8sApp ( { answers, k8s_directory, projectName, services } )
1551+ const ingress_directory = join ( project_root , `k8s/ingress` ) ;
1552+ const broker_directory = join ( project_root , `k8s/broker` ) ;
1553+ mkdirSync ( ingress_directory , { recursive : true } ) ;
1554+ mkdirSync ( broker_directory , { recursive : true } ) ;
1555+
1556+ generateK8sBroker ( { broker_directory, projectName } ) ;
1557+ writeFileSync ( join ( ingress_directory , 'ingress.yaml' ) , assets . k8sIngressContent ( {
1558+ project_base : projectName ,
1559+ app : answers . app_name ,
1560+ services
1561+ } ) ) ;
1562+ generateK8sApp ( {
1563+ app_name : answers ?. app_name ,
1564+ namespace : answers ?. namespace ,
1565+ k8s_directory,
1566+ projectName,
1567+ services : answers . services
1568+ } )
15621569 // Remove the directory if it already exists
15631570 if ( existsSync ( app_directory ) ) {
15641571 rmSync ( app_directory , { recursive : true } ) ;
@@ -1784,7 +1791,7 @@ const scaffoldGateways = async ({ answers }) => {
17841791}
17851792
17861793const scaffoldGateway = ( { project_root, app, answers, webserver, projectName } ) => {
1787- const app_directory = join ( project_root , 'gateways /apps' , app . name ) ;
1794+ const app_directory = join ( project_root , 'docker /apps' , app . name ) ;
17881795 const webserver_dir = join ( app_directory , webserver ) ;
17891796 const krakend_dir = join ( app_directory , 'krakend' ) ;
17901797 const services = app . services ;
@@ -1829,86 +1836,6 @@ const scaffoldGateway = ({ project_root, app, answers, webserver, projectName })
18291836
18301837}
18311838
1832- // /**
1833- // * Removes a microservice and all associated files.
1834- // * @param {Object } options - Options for removing the microservice.
1835- // * @param {string } options.project_root - The root directory of the project.
1836- // * @param {string } options.service_name - The name of the microservice to be removed.
1837- // */
1838- // const removeResource = async ({ answers }) => {
1839- // const { resource, resource_name, options } = answers;
1840- // let project_root;
1841-
1842- // try {
1843- // project_root = generateRootPath({ currentDir: cwd() });
1844- // } catch (error) {
1845- // // Not within a suite repo
1846- // if (error.message && error.message === 'suite.json and(or) .git not found') {
1847- // ora('This does not look like a suite repo').warn()
1848- // ora().info('If it is run <suite init> from project root to reinitialize suite project and try again')
1849- // exit(1)
1850- // }
1851- // else {
1852- // // rethrow the error
1853- // throw new Error('Error code 10005.Kindly raise an issue at https://github.com/microservices-suite/node-microservices-suite/issues')
1854- // }
1855- // }
1856- // const spinner = ora();
1857- // if (options.all) {
1858- // // Logic to remove all resources of the given type
1859-
1860- // const resourceEnum = {
1861- // library: ['shared'],
1862- // app: ['gateways', 'apps'],
1863- // service: ['microservices'],
1864- // gateway: ['gateways', 'apps'],
1865- // k8s: ['k8s']
1866- // }
1867- // if (!resourceEnum[resource]) return ora().warn(`Unkown resource name ${resource}`)
1868- // const allResourceChildrenPath = path.join(project_root, ...(resourceEnum[resource]));
1869- // if (!fs.existsSync(allResourceChildrenPath)) {
1870- // spinner.warn(`No ${resource}(s) found.`);
1871- // return;
1872- // }
1873-
1874- // // Remove all resources
1875- // const services = fs.readdirSync(allResourceChildrenPath);
1876- // if (services.length === 0) {
1877- // spinner.warn(`No ${resource}(s) found.`);
1878- // return;
1879- // }
1880-
1881- // // Synchronous removal of all services
1882- // services.forEach(service => {
1883- // const fullPath = path.join(allResourceChildrenPath, service);
1884- // fs.rmSync(fullPath, { recursive: true, force: true });
1885- // });
1886- // spinner.succeed(`All ${resource}(s) have been removed.`);
1887-
1888- // return;
1889- // }
1890-
1891- // // Call the appropriate action handler based on the resource type
1892- // switch (resource) {
1893- // case 'service':
1894- // await removeService({ service_name: resource_name, project_root, sync: true });
1895- // break;
1896- // case 'app':
1897- // await removeApp({ app_name: resource_name, project_root, sync: true });
1898- // break;
1899- // case 'library':
1900- // await removeLibrary({ library_name: resource_name, project_root });
1901- // break;
1902- // case 'gateway':
1903- // await removeGateway({ gateway_name: resource_name, project_root });
1904- // break;
1905- // default:
1906- // throw new Error(`Unknown resource type: ${resource}`);
1907- // }
1908- // updateSuiteJson(project_root, resource, resource_name);
1909-
1910- // };
1911-
19121839const removeResource = async ( { answers } ) => {
19131840 const { resource, resource_name, options } = answers ;
19141841 let project_root ;
@@ -1928,9 +1855,9 @@ const removeResource = async ({ answers }) => {
19281855 const spinner = ora ( ) ;
19291856 const resourceEnum = {
19301857 library : [ 'shared' ] ,
1931- app : [ 'gateways ' , 'apps' ] ,
1858+ app : [ 'docker ' , 'apps' ] ,
19321859 service : [ 'microservices' ] ,
1933- gateway : [ 'gateways ' , 'apps' ] ,
1860+ gateway : [ 'docker ' , 'apps' ] ,
19341861 k8s : [ 'k8s' ]
19351862 } ;
19361863
@@ -2073,7 +2000,7 @@ const removeService = async ({ service_name, project_root }) => {
20732000 * @param {string } options.project_root - The root directory of the project.
20742001 */
20752002const removeApp = async ( { app_name, project_root } ) => {
2076- const appDockerPath = path . join ( project_root , 'gateways ' , 'apps' , app_name ) ;
2003+ const appDockerPath = path . join ( project_root , 'docker ' , 'apps' , app_name ) ;
20772004
20782005 // Use glob to locate Kubernetes namespace directories with `app_name`
20792006 const kubeNamespacePaths = glob . sync ( path . join ( project_root , 'k8s' , 'ns' , '*' , app_name ) ) ;
0 commit comments