@hed-hog/cli 0.0.55 → 0.0.60

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.
@@ -292,6 +292,10 @@ let HedHogService = class HedHogService {
292
292
  spinner.start(`Checking frontend for ${name}...`);
293
293
  await this.checkFrontend(name, cwd);
294
294
  spinner.succeed(`Frontend checked for ${name}.`);
295
+ // Ensure .env files are created for apps based on docker-compose.yaml before deployment
296
+ spinner.start('Ensuring environment files exist for apps...');
297
+ await this.ensureEnvFiles(cwd, spinner);
298
+ spinner.succeed('Environment files checked/created successfully.');
295
299
  // Install and deploy if not skipped
296
300
  if (!skipInstall) {
297
301
  spinner.start(`Installing and deploying for ${name}...`);
@@ -488,6 +492,50 @@ let HedHogService = class HedHogService {
488
492
  }
489
493
  return orderedLibraries;
490
494
  }
495
+ async ensureEnvFiles(cwd, spinner) {
496
+ try {
497
+ const dockerComposeYmlPath = (0, path_1.join)(cwd, 'docker-compose.yml');
498
+ const dockerComposeYamlPath = (0, path_1.join)(cwd, 'docker-compose.yaml');
499
+ const dockerComposePath = (0, fs_1.existsSync)(dockerComposeYmlPath)
500
+ ? dockerComposeYmlPath
501
+ : (0, fs_1.existsSync)(dockerComposeYamlPath)
502
+ ? dockerComposeYamlPath
503
+ : null;
504
+ if (!dockerComposePath) {
505
+ if (spinner) {
506
+ spinner.warn('docker-compose.yml or docker-compose.yaml not found. Skipping .env auto-generation.');
507
+ }
508
+ return;
509
+ }
510
+ // Generate .env file for api app from docker-compose.yaml
511
+ const apiPath = (0, path_1.join)(cwd, 'apps', 'api');
512
+ if ((0, fs_1.existsSync)(apiPath)) {
513
+ await this.database.generateEnvFileIfNotExists(apiPath, dockerComposePath);
514
+ }
515
+ // Copy .env.example to .env for all apps if .env doesn't exist
516
+ const appsDir = (0, path_1.join)(cwd, 'apps');
517
+ if ((0, fs_1.existsSync)(appsDir)) {
518
+ const appDirs = (0, fs_1.readdirSync)(appsDir, { withFileTypes: true })
519
+ .filter((entry) => entry.isDirectory())
520
+ .map((entry) => (0, path_1.join)(appsDir, entry.name));
521
+ for (const appDir of appDirs) {
522
+ const envPath = (0, path_1.join)(appDir, '.env');
523
+ const envExamplePath = (0, path_1.join)(appDir, '.env.example');
524
+ if (!(0, fs_1.existsSync)(envPath) && (0, fs_1.existsSync)(envExamplePath)) {
525
+ const envExampleContent = await (0, promises_1.readFile)(envExamplePath, 'utf8');
526
+ await (0, promises_1.writeFile)(envPath, envExampleContent, 'utf8');
527
+ this.log(chalk.green(`Created .env file for ${appDir}`));
528
+ }
529
+ }
530
+ }
531
+ }
532
+ catch (error) {
533
+ if (spinner) {
534
+ spinner.warn(`Failed to ensure environment files: ${error.message}`);
535
+ }
536
+ this.log(chalk.yellow(`Warning: ${error.message}`));
537
+ }
538
+ }
491
539
  // Legacy methods that delegate to migration service
492
540
  async createMigrations(name, cwd = process.cwd()) {
493
541
  return await this.migrationService.createMigrations(name, cwd, this.verbose);
@@ -1 +1 @@
1
- {"version":3,"file":"hedhog.service.js","sourceRoot":"","sources":["../../../../src/modules/hedhog/hedhog.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hedhog.service.js","sourceRoot":"","sources":["../../../../src/modules/hedhog/hedhog.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAgE;AAChE,+BAA+B;AAC/B,2BAA6C;AAC7C,0CAAmE;AACnE,2BAA2B;AAC3B,+BAAqC;AACrC,mCAAsC;AACtC,mEAA+D;AAC/D,sEAAkE;AAClE,gEAA4D;AAC5D,6DAAsE;AACtE,wEAAmE;AACnE,oEAAgE;AAChE,8DAA0D;AAC1D,kEAA8D;AAGvD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAQL;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IAfX,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACrB,YAAY,GAAG,aAAa,CAAC;IAC7B,QAAQ,GAAG,UAAU,CAAC;IAC/B,OAAO,GAAG,KAAK,CAAC;IACP,cAAc,GAAG,aAAa,CAAC;IAEhD,YACmB,cAA8B,EAE9B,SAA2B,EAC3B,QAAyB,EACzB,MAAqB,EACrB,UAA6B,EAC7B,aAA4B,EAC5B,gBAAkC,EAClC,eAAgC;QARhC,mBAAc,GAAd,cAAc,CAAgB;QAE9B,cAAS,GAAT,SAAS,CAAkB;QAC3B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAe;QACrB,eAAU,GAAV,UAAU,CAAmB;QAC7B,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAiB;IAChD,CAAC;IAEJ,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;QACnD,IAAI,CAAC,GAAG,CAAC,yBAAyB,IAAI,KAAK,CAAC,CAAC;QAE7C,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAC3B,GAAG,EACH,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,mCAAmC,IAAI,KAAK,CAAC,CAAC;QAEvD,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAA,WAAI,EACnB,GAAG,EACH,MAAM,EACN,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,EACP,aAAa,EACb,IAAI,CACL,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEhD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAChE,IAAI,EACJ,IAAA,WAAI,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAC7B,CAAC;YAEF,MAAM,IAAI,CAAC,UAAU,CAAC,kCAAkC,CACtD,gBAAgB,EAChB,QAAQ,EACR,YAAY,CACb,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,8BAA8B,gBAAgB,OAAO,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,kCAAkC,IAAI,KAAK,CAAC,CAAC;QAEtD,MAAM,uBAAuB,GAAG,IAAA,WAAI,EAClC,GAAG,EACH,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,UAAU,CACX,CAAC;QAEF,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAEjE,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAChE,IAAI,EACJ,IAAA,WAAI,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAC7B,CAAC;YAEF,MAAM,IAAI,CAAC,UAAU,CAAC,kCAAkC,CACtD,uBAAuB,EACvB,WAAW,EACX,YAAY,CACb,CAAC;YACF,IAAI,CAAC,GAAG,CACN,sCAAsC,uBAAuB,OAAO,WAAW,EAAE,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC9C,iDAAiD;gBACjD,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,aAAa,EAAE,KAAK;oBACpB,SAAS,EAAE,EAAE;iBACd,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACxE,oCAAoC;YACpC,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,SAAS,EAAE,EAAE;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,IAAyB;QACzD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,WAAW,GAAwB,EAAE,CAAC;YAC1C,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACzE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAgB,EAChB,IAA4B;QAE5B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,QAAgB,EAChB,IAAyB;QAEzB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU;IACV,GAAG,CAAC,GAAG,IAAW;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;QACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjD,yDAAyD;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAY,EACZ,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,OAAO,GAAG,KAAK,EACf,WAAW,GAAG,KAAK,EACnB,YAAa;QAEb,IAAI,CAAC,GAAG,CAAC,6BAA6B,IAAI,KAAK,CAAC,CAAC;QAEjD,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC1B,OAAO,EAAE,6BAA6B,IAAI,KAAK;aAChD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAChD,MAAM,UAAU,GACd,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBACrE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC1D,IAAI,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC/C,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,yCAAyC,CAAC,CAAC;oBACrE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,wBAAwB,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAC/C,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC1B,OAAO,EAAE,yBAAyB,GAAG,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,OAAgB,EAAE,WAAW,GAAG,KAAK;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,mBAAmB,GAAG,CAC1B,MAAM,IAAA,kBAAO,EAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CACtD;aACE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACtD,mBAAmB,EACnB,GAAG,CACJ,CAAC;QAEF,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,oBAAoB,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QAC7D,MAAM,qBAAqB,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAAG,IAAA,eAAU,EAAC,oBAAoB,CAAC;YACxD,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,IAAA,eAAU,EAAC,qBAAqB,CAAC;gBACjC,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAC5C,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EACxB,iBAAiB,CAClB,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;YAEzC,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAE3C,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;YAEjD,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,KAAK,CAAC,CAAC;YAEpD,oBAAoB;YACpB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAEjE,OAAO,CAAC,OAAO,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAC;YAEnD,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,KAAK,CAAC,CAAC;YAEnD,gBAAgB;YAChB,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAEpD,OAAO,CAAC,OAAO,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC;YAElD,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,KAAK,CAAC,CAAC;YAElD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAEpC,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;YAEjD,oCAAoC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,KAAK,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,OAAO,CAAC,6CAA6C,IAAI,GAAG,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,4CAA4C,IAAI,GAAG,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,2BAA2B,IAAI,gBAAgB,CAAC,CAAC;YAEjE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,OAAgB,EAChB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,WAAW,GAAG,KAAK;QAEnB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,kCAAkC,CAAC,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,qBAAY,EAAE,CAAC;YAExC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,GAAG,wBAAwB,IAAI,EAAE,CAAC;YAE9C,+BAA+B;YAC/B,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAEhD,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,2BAA2B,CAAC,CAAC;YAE5D,wDAAwD;YACxD,iFAAiF;YACjF,kEAAkE;YAClE,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAE1C,uBAAuB;YACvB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAErE,OAAO,CAAC,OAAO,CAAC,8BAA8B,IAAI,gBAAgB,CAAC,CAAC;YAEpE,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,KAAK,CAAC,CAAC;YAElD,wBAAwB;YACxB,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAE3C,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;YAEjD,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,KAAK,CAAC,CAAC;YAEpD,oBAAoB;YACpB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAEjE,OAAO,CAAC,OAAO,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAC;YAEnD,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,KAAK,CAAC,CAAC;YAEnD,gBAAgB;YAChB,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAEpD,OAAO,CAAC,OAAO,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC;YAElD,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,KAAK,CAAC,CAAC;YAElD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAEpC,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;YAEjD,wFAAwF;YACxF,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;YAEnE,oCAAoC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,KAAK,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,OAAO,CAAC,6CAA6C,IAAI,GAAG,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,4CAA4C,IAAI,GAAG,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,2BAA2B,IAAI,gBAAgB,CAAC,CAAC;YAEjE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC;YAErE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,wBAAwB,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,wBAAwB,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAC5D,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAY,EAAE,GAAW;QACzD,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,wCAAwC,CAAC,CAAC;QAEjE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAEjD,IAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAElD,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,YAAY,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC3D,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,qCAAqC,CAAC,CAAC;QAE7D,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE1C,IAAI,CAAC,GAAG,CAAC,yCAAyC,IAAI,GAAG,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,IAAY,EACZ,GAAW;QAEX,IAAI,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CACxD,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAC3B,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,YAAY,IAAI,2IAA2I,CAC5J,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,OAAO,EAAE,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACnD,IAAI,CAAC,QAAQ,EACb,IAAI,EACJ,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;QAE/C,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CACjC,IAAA,WAAI,EAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,EACpC,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,oBAAoB,IAAI,eAAe,CAAC,CAAC;QAElD,MAAM,IAAA,iBAAM,EAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAEnD,qDAAqD;QACrD,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,YAAY,IAAI,gFAAgF,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,GAAW;QAC1D,IAAI,CAAC,GAAG,CAAC,+BAA+B,IAAI,KAAK,CAAC,CAAC;QAEnD,mCAAmC;QACnC,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEpD,0BAA0B;QAC1B,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAE3C,sBAAsB;QACtB,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtE,mCAAmC;QACnC,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,IAAY,EACZ,GAAW,EACX,OAAgB;QAEhB,IAAI,CAAC,GAAG,CAAC,+BAA+B,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC;QAE7D,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAAW,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;YACpD,GAAG;SACJ,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,mCAAmC,IAAI,KAAK,CAAC,CAAC;YAE5D,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAAW,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE;gBAC1D,GAAG,EAAE,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC;aAC9B,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;YAE3D,IAAI,CAAC,GAAG,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,0CAA0C,IAAI,GAAG,CAAC,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,wDAAwD;QAC1D,CAAC;QAED,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAElC,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,8BAA8B,IAAI,KAAK,CAAC,CAAC;YAEvD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAAW,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE;gBACjE,GAAG,EAAE,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC;aAC9B,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;YACtD,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,qBAAqB,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,IAAY,EACZ,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;QAEnB,IAAI,CAAC,GAAG,CAAC,iCAAiC,IAAI,KAAK,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CACtD,IAAA,cAAO,EAAC,GAAG,EAAE,YAAY,CAAC,CAC3B,CAAC;QACF,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,SAAS,QAAQ,uBAAuB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,sCAAsC,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAClC,IAAA,cAAO,EAAC,GAAG,EAAE,YAAY,CAAC,EAC1B,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,gCAAgC,IAAI,GAAG,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,IAAY,EACZ,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;QAEnB,IAAI,CAAC,GAAG,CAAC,0CAA0C,IAAI,KAAK,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CACtD,IAAA,cAAO,EAAC,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC,CACpC,CAAC;QACF,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,UAAU,GAAG,CAAC,IAA6B,EAAE,OAAgB,EAAE,EAAE;YACrE,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC;oBAC9B,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,WAAW,OAAO,IAAI,OAAO,iBAAiB,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACnD,UAAU,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACzD,UAAU,CAAC,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAE3D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAClC,IAAA,cAAO,EAAC,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC,EACnC,WAAW,CACZ,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,SAAmB,EACnB,GAAW;QAEX,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAC5D,CAAC;QAEF,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE7D,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CACtD,IAAA,cAAO,EAAC,GAAG,EAAE,eAAe,WAAW,EAAE,CAAC,CAC3C,CAAC;YAEF,MAAM,yBAAyB,GAAG,CAAC,IAA6B,EAAE,EAAE,CAClE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;iBAC5D,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;iBAC1D,MAAM,CACL,CAAC,cAAc,EAAE,EAAE,CACjB,cAAc,KAAK,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CACnE,CAAC;YAEN,qBAAqB,CAAC,GAAG,CACvB,WAAW,EACX,IAAI,GAAG,CAAC;gBACN,GAAG,yBAAyB,CAAC,WAAW,CAAC,YAAY,CAAC;gBACtD,GAAG,yBAAyB,CAAC,WAAW,CAAC,eAAe,CAAC;gBACzD,GAAG,yBAAyB,CAAC,WAAW,CAAC,gBAAgB,CAAC;aAC3D,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAExD,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,GAAG,CACV,WAAW,EACX,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,CAClD,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1E,KAAK,MAAM,cAAc,IAAI,YAAY,EAAE,CAAC;gBAC1C,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBACjE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,mBAAmB,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,SAAS;aACpB,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/D,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;QAEJ,MAAM,gBAAgB,GAAa,EAAE,CAAC;QAEtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM;YACR,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEtC,KAAK,MAAM,gBAAgB,IAAI,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC;gBACpE,EAAE,EAAE,CAAC;gBACL,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC7D,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;gBAE3C,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CACR,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAC1C,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CACzD,CAAC;YACF,MAAM,IAAI,KAAK,CACb,4CAA4C,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7E,CAAC;QACJ,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,OAAa;QACrD,IAAI,CAAC;YACH,MAAM,oBAAoB,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;YAC7D,MAAM,qBAAqB,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;YAC/D,MAAM,iBAAiB,GAAG,IAAA,eAAU,EAAC,oBAAoB,CAAC;gBACxD,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,IAAA,eAAU,EAAC,qBAAqB,CAAC;oBACjC,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,IAAI,CAAC;YAEX,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CACV,qFAAqF,CACtF,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAC5C,OAAO,EACP,iBAAiB,CAClB,CAAC;YACJ,CAAC;YAED,+DAA+D;YAC/D,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAClC,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAA,gBAAW,EAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;qBAC1D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;qBACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,WAAI,EAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACrC,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBACpD,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,IAAI,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE,CAAC;wBACvD,MAAM,iBAAiB,GAAG,MAAM,IAAA,mBAAQ,EAAC,cAAc,EAAE,MAAM,CAAC,CAAC;wBACjE,MAAM,IAAA,oBAAS,EAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;wBACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;QACtD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CACjD,IAAI,EACJ,GAAG,EACH,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,MAAW;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,cAAc,CAAC,KAA0B;QACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,kBAAkB;IAClB,WAAW,CAAC,GAAW;QACrB,OAAO,GAAG;aACP,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;aACjC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACF,CAAA;AA5xBY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,oCAAgB,CAAC,CAAC,CAAA;qCADV,gCAAc;QAEnB,oCAAgB;QACjB,kCAAe;QACjB,8BAAa;QACT,uCAAiB;QACd,8BAAa;QACV,oCAAgB;QACjB,kCAAe;GAhBxC,aAAa,CA4xBzB"}
@@ -20,7 +20,8 @@ Make sure you have the following tools installed:
20
20
  doctl auth init
21
21
 
22
22
  # Get your cluster kubeconfig
23
- doctl kubernetes cluster kubeconfig save <%= config.clusterName %>
23
+ # Tip: use your cluster UUID as K8S_CLUSTER_ID (example: 05c7d4fa-4bc2-4dbf-80b6-757ecec43bff)
24
+ doctl kubernetes cluster kubeconfig save <%= config.k8sClusterId || config.clusterName %>
24
25
  ```
25
26
 
26
27
  <% if (config.createNamespace) { %>### 2. Create Kubernetes Namespace
@@ -134,6 +135,13 @@ kubectl rollout status deployment/<%= config.appName %>-api -n <%= config.namesp
134
135
  --build-arg NEXT_PUBLIC_API_URL=<%= config.domain ? `https://api.${config.domain}` : '' %> \
135
136
  -f apps/admin/Dockerfile .
136
137
  docker push <%= config.containerRegistry %>/<%= config.appName %>-admin:latest
138
+ kubectl create configmap <%= config.appName %>-admin-config \
139
+ -n <%= config.namespace %> \
140
+ --from-literal=NEXT_PUBLIC_API_BASE_URL='<%= config.domain ? `https://api.${config.domain}` : '' %>' \
141
+ --from-literal=NEXT_PUBLIC_API_URL='<%= config.domain ? `https://api.${config.domain}` : '' %>' \
142
+ --from-literal=INTERNAL_API_URL='http://<%= config.appName %>-api:<%= config.appPorts?.api || 3000 %>' \
143
+ --from-literal=FRONTEND_URLS='<%= config.frontendUrls || (config.domain ? `https://${config.domain}` : '') %>' \
144
+ --dry-run=client -o yaml | kubectl apply -f -
137
145
  kubectl set image deployment/<%= config.appName %>-admin <%= config.appName %>-admin=<%= config.containerRegistry %>/<%= config.appName %>-admin:latest -n <%= config.namespace %>
138
146
  kubectl rollout status deployment/<%= config.appName %>-admin -n <%= config.namespace %>
139
147
  <% } %><% (config.apps || []).filter((app) => app !== 'api' && app !== 'admin').forEach((app) => { %>
@@ -0,0 +1,11 @@
1
+ apiVersion: v1
2
+ kind: ConfigMap
3
+ metadata:
4
+ name: <%= config.appName %>-<%= app %>-config
5
+ namespace: <%= config.namespace %>
6
+ labels:
7
+ app: <%= config.appName %>-<%= app %>
8
+ data:
9
+ <% const keys = Object.keys(appEnv || {}).sort(); %><% if (keys.length === 0) { %> {}
10
+ <% } else { %><% keys.forEach((key) => { %> <%= key %>: <%- JSON.stringify(appEnv[key] ?? '') %>
11
+ <% }); %><% } %>
@@ -6,7 +6,7 @@ metadata:
6
6
  labels:
7
7
  app: <%= config.appName %>-<%= app %>
8
8
  spec:
9
- replicas: <%= config.appReplicas?.[app] ?? 2 %>
9
+ replicas: <%= config.appReplicas?.[app] ?? 1 %>
10
10
  selector:
11
11
  matchLabels:
12
12
  app: <%= config.appName %>-<%= app %>
@@ -22,23 +22,46 @@ spec:
22
22
  - containerPort: <%= config.appPorts?.[app] ?? (app === 'api' ? 3000 : 80) %>
23
23
  env:
24
24
  - name: NODE_ENV
25
- value: "production"
25
+ value: production
26
+ <%
27
+ const secretEnvKeys = new Set(['DATABASE_URL', 'ENCRYPTION_SECRET', 'JWT_SECRET', 'PEPPER']);
28
+ Object.keys(appEnv || {}).sort().filter((key) => key !== 'NODE_ENV').forEach((key) => {
29
+ const useSecret = app === 'api' && secretEnvKeys.has(key);
30
+ %> - name: <%= key %>
31
+ valueFrom:
32
+ <% if (useSecret) { %> secretKeyRef:
33
+ name: <%= config.appName %>-<%= app %>-secrets
34
+ key: <%= key %>
35
+ <% } else { %> configMapKeyRef:
36
+ name: <%= config.appName %>-<%= app %>-config
37
+ key: <%= key %>
38
+ <% } %>
39
+ <% }); %>
26
40
  resources:
27
41
  requests:
28
- memory: "256Mi"
29
- cpu: "100m"
42
+ memory: 512Mi
43
+ cpu: 100m
30
44
  limits:
31
- memory: "512Mi"
32
- cpu: "500m"
33
- livenessProbe:
45
+ memory: 1Gi
46
+ cpu: 500m
47
+ startupProbe:
34
48
  httpGet:
35
49
  path: <%= app === 'api' ? '/health' : '/' %>
36
50
  port: <%= config.appPorts?.[app] ?? (app === 'api' ? 3000 : 80) %>
37
- initialDelaySeconds: 30
51
+ initialDelaySeconds: 15
38
52
  periodSeconds: 10
53
+ failureThreshold: 12
54
+ livenessProbe:
55
+ httpGet:
56
+ path: <%= app === 'api' ? '/health' : '/' %>
57
+ port: <%= config.appPorts?.[app] ?? (app === 'api' ? 3000 : 80) %>
58
+ initialDelaySeconds: 0
59
+ periodSeconds: 15
60
+ failureThreshold: 3
39
61
  readinessProbe:
40
62
  httpGet:
41
63
  path: <%= app === 'api' ? '/health' : '/' %>
42
64
  port: <%= config.appPorts?.[app] ?? (app === 'api' ? 3000 : 80) %>
43
- initialDelaySeconds: 10
44
- periodSeconds: 5
65
+ initialDelaySeconds: 0
66
+ periodSeconds: 10
67
+ failureThreshold: 3
@@ -0,0 +1,172 @@
1
+ # PostgreSQL no Kubernetes - Setup Manual
2
+
3
+ O banco de dados PostgreSQL nao e criado automaticamente pelo pipeline de deploy. Este guia descreve todo o processo, desde os pre-requisitos ate a verificacao final.
4
+
5
+ ---
6
+
7
+ ## Pre-requisitos
8
+
9
+ | Ferramenta | Finalidade |
10
+ |---|---|
11
+ | [`kubectl`](https://kubernetes.io/docs/tasks/tools/) | Gerenciar recursos no cluster |
12
+ | [`doctl`](https://docs.digitalocean.com/reference/doctl/how-to/install/) | Autenticar e configurar kubeconfig na DigitalOcean |
13
+ | Acesso ao cluster DigitalOcean | Token pessoal com permissao de escrita |
14
+
15
+ ### Configurar acesso ao cluster
16
+
17
+ ```bash
18
+ # Autenticar no doctl
19
+ doctl auth init
20
+
21
+ # Salvar o kubeconfig do cluster
22
+ doctl kubernetes cluster kubeconfig save <%= k8sClusterId %>
23
+ ```
24
+
25
+ Verifique que esta apontando para o cluster correto:
26
+
27
+ ```bash
28
+ kubectl config current-context
29
+ kubectl get nodes
30
+ ```
31
+
32
+ ---
33
+
34
+ ## 1. Criar o namespace
35
+
36
+ ```bash
37
+ kubectl create namespace <%= config.namespace %> --dry-run=client -o yaml | kubectl apply -f -
38
+ ```
39
+
40
+ ---
41
+
42
+ ## 2. Criar o secret com a senha do PostgreSQL
43
+
44
+ O StatefulSet le a senha do secret `postgresql-<%= config.appName %>`, chave `postgres-password`. Crie-o antes de aplicar os manifests:
45
+
46
+ ```bash
47
+ # Substitua <SENHA_FORTE> por uma senha segura
48
+ kubectl create secret generic postgresql-<%= config.appName %> \
49
+ -n <%= config.namespace %> \
50
+ --from-literal=postgres-password='<SENHA_FORTE>'
51
+ ```
52
+
53
+ Se o secret ja existir, use uma forma idempotente (recomendada), que cria ou atualiza:
54
+
55
+ ```bash
56
+ kubectl create secret generic postgresql-<%= config.appName %> \
57
+ -n <%= config.namespace %> \
58
+ --from-literal=postgres-password='<SENHA_FORTE>' \
59
+ --dry-run=client -o yaml | kubectl apply -f -
60
+ ```
61
+
62
+ Alternativa (substituir removendo antes):
63
+
64
+ ```bash
65
+ kubectl delete secret postgresql-<%= config.appName %> -n <%= config.namespace %> --ignore-not-found
66
+ kubectl create secret generic postgresql-<%= config.appName %> \
67
+ -n <%= config.namespace %> \
68
+ --from-literal=postgres-password='<SENHA_FORTE>'
69
+ ```
70
+
71
+ ---
72
+
73
+ ## 3. Aplicar os manifests do PostgreSQL
74
+
75
+ A partir da raiz do repositorio:
76
+
77
+ ```bash
78
+ kubectl apply -f k8s/postgres -n <%= config.namespace %>
79
+ ```
80
+
81
+ Isso criara:
82
+ - Service `postgresql-<%= config.appName %>` (ClusterIP, porta 5432) - acesso interno dos pods
83
+ - Service `postgresql-<%= config.appName %>-hl` (headless) - usado pelo StatefulSet
84
+ - StatefulSet `postgresql-<%= config.appName %>` - pod `postgresql-<%= config.appName %>-0` com PostgreSQL 18
85
+ - PersistentVolumeClaim `data-postgresql-<%= config.appName %>-0` - 8 Gi em `do-block-storage`
86
+
87
+ ---
88
+
89
+ ## 4. Verificar que o pod esta pronto
90
+
91
+ ```bash
92
+ kubectl get pods -n <%= config.namespace %> -l app=postgresql-<%= config.appName %> -w
93
+ ```
94
+
95
+ Aguarde o status `Running` e `READY 1/1`.
96
+
97
+ Logs do container:
98
+
99
+ ```bash
100
+ kubectl logs postgresql-<%= config.appName %>-0 -n <%= config.namespace %>
101
+ ```
102
+
103
+ ---
104
+
105
+ ## 5. Obter a senha do PostgreSQL
106
+
107
+ A senha fica armazenada no secret do Kubernetes. Para recupera-la:
108
+
109
+ ```bash
110
+ kubectl get secret postgresql-<%= config.appName %> -n <%= config.namespace %> \
111
+ -o jsonpath='{.data.postgres-password}' | base64 -d && echo
112
+ ```
113
+
114
+ ---
115
+
116
+ ## 6. Acessar o banco localmente (port-forward)
117
+
118
+ ```bash
119
+ kubectl port-forward postgresql-<%= config.appName %>-0 5432:5432 -n <%= config.namespace %>
120
+ ```
121
+
122
+ Em outro terminal, conecte com qualquer cliente PostgreSQL:
123
+
124
+ ```text
125
+ host: localhost
126
+ port: 5432
127
+ user: postgres
128
+ password: <senha obtida no passo 5>
129
+ database: <%= postgresDbName %>
130
+ ```
131
+
132
+ ---
133
+
134
+ ## 7. Configurar DATABASE_URL no GitHub Actions
135
+
136
+ O workflow de deploy usa `${{ secrets.DATABASE_URL }}`. No repositorio do GitHub, crie (ou atualize) o secret `DATABASE_URL` com a string de conexao completa:
137
+
138
+ ```text
139
+ postgresql://postgres:<SENHA_FORTE>@postgresql-<%= config.appName %>:5432/<%= postgresDbName %>
140
+ ```
141
+
142
+ Exemplo rapido (PowerShell):
143
+
144
+ ```powershell
145
+ $encoded = kubectl get secret postgresql-<%= config.appName %> -n <%= config.namespace %> -o "jsonpath={.data.postgres-password}"
146
+ $dbPassword = [System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($encoded))
147
+ $databaseUrl = "postgresql://postgres:$dbPassword@postgresql-<%= config.appName %>:5432/<%= postgresDbName %>"
148
+ $databaseUrl | gh secret set DATABASE_URL
149
+ ```
150
+
151
+ ---
152
+
153
+ ## Referencia dos recursos criados
154
+
155
+ | Recurso | Nome | Namespace |
156
+ |---|---|---|
157
+ | Secret | `postgresql-<%= config.appName %>` | `<%= config.namespace %>` |
158
+ | Service (ClusterIP) | `postgresql-<%= config.appName %>` | `<%= config.namespace %>` |
159
+ | Service (Headless) | `postgresql-<%= config.appName %>-hl` | `<%= config.namespace %>` |
160
+ | StatefulSet | `postgresql-<%= config.appName %>` | `<%= config.namespace %>` |
161
+ | PVC | `data-postgresql-<%= config.appName %>-0` | `<%= config.namespace %>` |
162
+
163
+ ---
164
+
165
+ ## Remover tudo (cuidado: perda de dados)
166
+
167
+ ```bash
168
+ kubectl delete statefulset postgresql-<%= config.appName %> -n <%= config.namespace %>
169
+ kubectl delete pvc data-postgresql-<%= config.appName %>-0 -n <%= config.namespace %>
170
+ kubectl delete service postgresql-<%= config.appName %> postgresql-<%= config.appName %>-hl -n <%= config.namespace %>
171
+ kubectl delete secret postgresql-<%= config.appName %> -n <%= config.namespace %>
172
+ ```
@@ -0,0 +1,34 @@
1
+ apiVersion: v1
2
+ kind: Service
3
+ metadata:
4
+ name: postgresql-<%= config.appName %>
5
+ namespace: <%= config.namespace %>
6
+ labels:
7
+ app: postgresql-<%= config.appName %>
8
+ spec:
9
+ type: ClusterIP
10
+ selector:
11
+ app: postgresql-<%= config.appName %>
12
+ ports:
13
+ - name: tcp-postgresql
14
+ port: 5432
15
+ targetPort: tcp-postgresql
16
+ protocol: TCP
17
+ ---
18
+ apiVersion: v1
19
+ kind: Service
20
+ metadata:
21
+ name: postgresql-<%= config.appName %>-hl
22
+ namespace: <%= config.namespace %>
23
+ labels:
24
+ app: postgresql-<%= config.appName %>
25
+ spec:
26
+ type: ClusterIP
27
+ clusterIP: None
28
+ selector:
29
+ app: postgresql-<%= config.appName %>
30
+ ports:
31
+ - name: tcp-postgresql
32
+ port: 5432
33
+ targetPort: tcp-postgresql
34
+ protocol: TCP
@@ -0,0 +1,100 @@
1
+ apiVersion: apps/v1
2
+ kind: StatefulSet
3
+ metadata:
4
+ name: postgresql-<%= config.appName %>
5
+ namespace: <%= config.namespace %>
6
+ labels:
7
+ app: postgresql-<%= config.appName %>
8
+ spec:
9
+ serviceName: postgresql-<%= config.appName %>-hl
10
+ replicas: 1
11
+ selector:
12
+ matchLabels:
13
+ app: postgresql-<%= config.appName %>
14
+ template:
15
+ metadata:
16
+ labels:
17
+ app: postgresql-<%= config.appName %>
18
+ spec:
19
+ securityContext:
20
+ fsGroup: 999
21
+ initContainers:
22
+ - name: fix-permissions
23
+ image: <%= service.image || 'postgres:18-alpine' %>
24
+ command:
25
+ - sh
26
+ - -c
27
+ - |
28
+ if [ -d /bitnami/postgresql/data ]; then
29
+ echo "Migrating PGDATA from Bitnami layout..."
30
+ mkdir -p /var/lib/postgresql/data
31
+ cp -a /bitnami/postgresql/data/. /var/lib/postgresql/data/ || true
32
+ chown -R 999:999 /var/lib/postgresql/data
33
+ elif [ -d /var/lib/postgresql/data ]; then
34
+ chown -R 999:999 /var/lib/postgresql/data
35
+ fi
36
+ securityContext:
37
+ runAsUser: 0
38
+ volumeMounts:
39
+ - name: data
40
+ mountPath: /bitnami/postgresql
41
+ subPath: ""
42
+ - name: data
43
+ mountPath: /var/lib/postgresql
44
+ subPath: pgdata
45
+ containers:
46
+ - name: postgresql
47
+ image: <%= service.image || 'postgres:18-alpine' %>
48
+ ports:
49
+ - containerPort: 5432
50
+ name: tcp-postgresql
51
+ env:
52
+ - name: POSTGRES_PASSWORD
53
+ valueFrom:
54
+ secretKeyRef:
55
+ name: postgresql-<%= config.appName %>
56
+ key: postgres-password
57
+ - name: POSTGRES_DB
58
+ value: <%= postgresDbName %>
59
+ - name: PGDATA
60
+ value: /var/lib/postgresql/data
61
+ volumeMounts:
62
+ - name: data
63
+ mountPath: /var/lib/postgresql
64
+ subPath: pgdata
65
+ resources:
66
+ requests:
67
+ cpu: 100m
68
+ memory: 256Mi
69
+ limits:
70
+ memory: 512Mi
71
+ livenessProbe:
72
+ exec:
73
+ command:
74
+ - sh
75
+ - -c
76
+ - pg_isready -U postgres -d <%= postgresDbName %> -h 127.0.0.1 -p 5432
77
+ initialDelaySeconds: 30
78
+ periodSeconds: 10
79
+ timeoutSeconds: 5
80
+ failureThreshold: 6
81
+ readinessProbe:
82
+ exec:
83
+ command:
84
+ - sh
85
+ - -c
86
+ - pg_isready -U postgres -d <%= postgresDbName %> -h 127.0.0.1 -p 5432
87
+ initialDelaySeconds: 5
88
+ periodSeconds: 10
89
+ timeoutSeconds: 5
90
+ failureThreshold: 6
91
+ volumeClaimTemplates:
92
+ - metadata:
93
+ name: data
94
+ spec:
95
+ accessModes:
96
+ - ReadWriteOnce
97
+ storageClassName: do-block-storage
98
+ resources:
99
+ requests:
100
+ storage: 8Gi