@sembix/cli 1.8.1 → 1.8.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/index.js CHANGED
@@ -7,6 +7,7 @@ import { validateConfig, config } from './config.js';
7
7
  import { setupEnvironment } from './commands/setup.js';
8
8
  import { addHubIntegration } from './commands/hub-integration.js';
9
9
  import * as ui from './utils/ui.js';
10
+ import { registerConfigOptions } from './config-fields.js';
10
11
  // Studio CLI Integration imports
11
12
  import { loginCommand } from './commands/login.js';
12
13
  import { logoutCommand } from './commands/logout.js';
@@ -357,77 +358,16 @@ const studio = program
357
358
  .command('studio')
358
359
  .description('Manage Sembix Studio deployments');
359
360
  // sembix studio create [name]
360
- studio
361
+ const createCmd = studio
361
362
  .command('create [name]')
362
363
  .description('Create a new Sembix Studio environment')
363
- // General options
364
364
  .option('-t, --token <token>', 'GitHub personal access token')
365
365
  .option('-c, --config <path>', 'Path to YAML configuration file')
366
366
  .option('-r, --repo <repo>', 'Target repository (owner/repo format)')
367
367
  .option('-e, --env <environment>', 'Environment name (alternative to positional argument)')
368
- // Basic configuration
369
- .option('--aws-account-id <id>', 'AWS Account ID (12 digits)')
370
- .option('--aws-region <region>', 'AWS Region (e.g., us-east-1)')
371
- .option('--customer-role-arn <arn>', 'GitHub Actions IAM role ARN')
372
- .option('--terraform-state-bucket <bucket>', 'S3 bucket for Terraform state')
373
- // Database configuration
374
- .option('--database-name <name>', 'PostgreSQL database name')
375
- .option('--database-user <user>', 'PostgreSQL database user')
376
- // Networking configuration
377
- .option('--enable-vpc-endpoints <boolean>', 'Enable VPC endpoints (true/false)', (val) => val === 'true')
378
- .option('--use-custom-networking <boolean>', 'Use existing VPC (true/false)', (val) => val === 'true')
379
- .option('--vpc-cidr <cidr>', 'VPC CIDR block (e.g., 10.0.0.0/16)')
380
- .option('--public-subnet-cidrs <json>', 'Public subnet CIDRs (JSON array)')
381
- .option('--private-subnet-cidrs <json>', 'Private subnet CIDRs (JSON array)')
382
- .option('--az-count <count>', 'Number of availability zones (2 or 3)')
383
- .option('--custom-vpc-id <id>', 'Existing VPC ID')
384
- .option('--custom-public-subnet-ids <ids>', 'Existing public subnet IDs (comma-separated)')
385
- .option('--custom-private-subnet-ids <ids>', 'Existing private subnet IDs (comma-separated)')
386
- // Security configuration
387
- .option('--workflow-runs-key-alias <alias>', 'KMS key alias for workflow runs')
388
- .option('--use-custom-security-groups <boolean>', 'Use custom security groups (true/false)', (val) => val === 'true')
389
- .option('--sg-workflow-engine <id>', 'Workflow Engine security group ID')
390
- .option('--sg-aurora <id>', 'Aurora database security group ID')
391
- .option('--sg-rds-proxy <id>', 'RDS Proxy security group ID')
392
- .option('--sg-bff-ecs <id>', 'BFF ECS service security group ID')
393
- .option('--sg-bff-alb <id>', 'BFF ALB security group ID')
394
- .option('--sg-semantic-event-engine <id>', 'Semantic Event Engine security group ID')
395
- .option('--sg-workspace-runtime <id>', 'Workspace Runtime security group ID')
396
- .option('--sg-workspace-runtime-efs <id>', 'Workspace Runtime EFS security group ID')
397
- .option('--use-custom-iam-roles <boolean>', 'Use custom IAM roles (true/false)', (val) => val === 'true')
398
- .option('--iam-workflow-engine-exec <arn>', 'Workflow Engine execution role ARN')
399
- .option('--iam-workflow-engine-task <arn>', 'Workflow Engine task role ARN')
400
- .option('--iam-bff-ecs-exec <arn>', 'BFF ECS task execution role ARN')
401
- .option('--iam-bff-ecs-task <arn>', 'BFF ECS task role ARN')
402
- .option('--iam-semantic-event-engine-exec <arn>', 'Semantic Event Engine execution role ARN')
403
- .option('--iam-semantic-event-engine-task <arn>', 'Semantic Event Engine task role ARN')
404
- .option('--iam-rds-proxy <arn>', 'RDS Proxy role ARN')
405
- .option('--iam-studio-notification <arn>', 'Studio Notification role ARN')
406
- .option('--iam-workspace-runtime-exec <arn>', 'Workspace Runtime execution role ARN')
407
- .option('--iam-workspace-runtime-task <arn>', 'Workspace Runtime task role ARN')
408
- // TLS/DNS configuration
409
- .option('--certificate-arn <arn>', 'Primary ACM certificate ARN (wildcard, used for all TLS components)')
410
- .option('--cloudfront-domain <domain>', 'CloudFront custom domain')
411
- .option('--cloudfront-cert-arn <arn>', 'CloudFront SSL certificate ARN (must be in us-east-1, overrides primary)')
412
- .option('--bff-alb-cert-arn <arn>', 'BFF public ALB SSL certificate ARN (overrides primary)')
413
- .option('--bff-internal-alb-cert-arn <arn>', 'BFF internal ALB SSL certificate ARN (overrides primary)')
414
- .option('--hosted-zone-id <id>', 'Route53 hosted zone ID')
415
- // Feature flags
416
- .option('--deploy-studio-notifications <boolean>', 'Deploy Studio Notifications service (true/false)', (val) => val === 'true')
417
- .option('--enable-bff-waf <boolean>', 'Enable WAF for BFF (true/false)', (val) => val === 'true')
418
- // Frontend configuration
419
- .option('--github-app-client-id <id>', 'GitHub App OAuth client ID')
420
- .option('--github-app-name <name>', 'GitHub App name')
421
- .option('--jira-client-id <id>', 'Jira OAuth client ID')
422
- // Hub integration (Step 9)
423
- .option('--skip-hub', 'Skip Hub integration configuration')
424
- .option('--hub-engine-execution-role <arn>', 'Hub Engine Execution Role ARN')
425
- .option('--hub-consumer-role <arn>', 'Hub Consumer Role ARN')
426
- .option('--hub-appconfig-role <arn>', 'Hub AppConfig Role ARN')
427
- .option('--hub-appconfig-app-id <id>', 'Hub AppConfig Application ID')
428
- .option('--hub-appconfig-env-id <id>', 'Hub AppConfig Environment ID')
429
- .option('--hub-appconfig-profile-id <id>', 'Hub AppConfig Profile ID')
430
- .action(async (name, options) => {
368
+ .option('--skip-hub', 'Skip Hub integration configuration');
369
+ registerConfigOptions(createCmd, 'create');
370
+ createCmd.action(async (name, options) => {
431
371
  try {
432
372
  if (!options.token) {
433
373
  validateConfig();
@@ -442,78 +382,16 @@ studio
442
382
  }
443
383
  });
444
384
  // sembix studio update [name]
445
- studio
385
+ const updateCmd = studio
446
386
  .command('update [name]')
447
387
  .description('Update an existing Sembix Studio environment')
448
- // General options
449
388
  .option('-t, --token <token>', 'GitHub personal access token')
450
389
  .option('-c, --config <path>', 'Path to YAML configuration file')
451
390
  .option('-r, --repo <repo>', 'Target repository (owner/repo format)')
452
391
  .option('-e, --env <environment>', 'Environment name (alternative to positional argument)')
453
- // Same configuration options as create command
454
- .option('--aws-account-id <id>', 'AWS Account ID (12 digits)')
455
- .option('--aws-region <region>', 'AWS Region (e.g., us-east-1)')
456
- .option('--customer-role-arn <arn>', 'GitHub Actions IAM role ARN')
457
- .option('--terraform-state-bucket <bucket>', 'S3 bucket for Terraform state')
458
- .option('--database-name <name>', 'PostgreSQL database name')
459
- .option('--database-user <user>', 'PostgreSQL database user')
460
- .option('--enable-vpc-endpoints <boolean>', 'Enable VPC endpoints (true/false)', (val) => val === 'true')
461
- .option('--use-custom-networking <boolean>', 'Use existing VPC (true/false)', (val) => val === 'true')
462
- .option('--vpc-cidr <cidr>', 'VPC CIDR block (e.g., 10.0.0.0/16)')
463
- .option('--public-subnet-cidrs <json>', 'Public subnet CIDRs (JSON array)')
464
- .option('--private-subnet-cidrs <json>', 'Private subnet CIDRs (JSON array)')
465
- .option('--az-count <count>', 'Number of availability zones (2 or 3)')
466
- .option('--custom-vpc-id <id>', 'Existing VPC ID')
467
- .option('--custom-public-subnet-ids <ids>', 'Existing public subnet IDs (comma-separated)')
468
- .option('--custom-private-subnet-ids <ids>', 'Existing private subnet IDs (comma-separated)')
469
- .option('--workflow-runs-key-alias <alias>', 'KMS key alias for workflow runs')
470
- .option('--use-custom-security-groups <boolean>', 'Use custom security groups (true/false)', (val) => val === 'true')
471
- .option('--sg-workflow-engine <id>', 'Workflow Engine security group ID')
472
- .option('--sg-aurora <id>', 'Aurora database security group ID')
473
- .option('--sg-rds-proxy <id>', 'RDS Proxy security group ID')
474
- .option('--sg-bff-ecs <id>', 'BFF ECS service security group ID')
475
- .option('--sg-bff-alb <id>', 'BFF ALB security group ID')
476
- .option('--sg-semantic-event-engine <id>', 'Semantic Event Engine security group ID')
477
- .option('--sg-workspace-runtime <id>', 'Workspace Runtime security group ID')
478
- .option('--sg-workspace-runtime-efs <id>', 'Workspace Runtime EFS security group ID')
479
- .option('--use-custom-iam-roles <boolean>', 'Use custom IAM roles (true/false)', (val) => val === 'true')
480
- .option('--iam-workflow-engine-exec <arn>', 'Workflow Engine execution role ARN')
481
- .option('--iam-workflow-engine-task <arn>', 'Workflow Engine task role ARN')
482
- .option('--iam-bff-ecs-exec <arn>', 'BFF ECS task execution role ARN')
483
- .option('--iam-bff-ecs-task <arn>', 'BFF ECS task role ARN')
484
- .option('--iam-semantic-event-engine-exec <arn>', 'Semantic Event Engine execution role ARN')
485
- .option('--iam-semantic-event-engine-task <arn>', 'Semantic Event Engine task role ARN')
486
- .option('--iam-rds-proxy <arn>', 'RDS Proxy role ARN')
487
- .option('--iam-studio-notification <arn>', 'Studio Notification role ARN')
488
- .option('--iam-workspace-runtime-exec <arn>', 'Workspace Runtime execution role ARN')
489
- .option('--iam-workspace-runtime-task <arn>', 'Workspace Runtime task role ARN')
490
- .option('--certificate-arn <arn>', 'Primary ACM certificate ARN (wildcard, used for all TLS components)')
491
- .option('--cloudfront-domain <domain>', 'CloudFront custom domain')
492
- .option('--cloudfront-cert-arn <arn>', 'CloudFront SSL certificate ARN (must be in us-east-1, overrides primary)')
493
- .option('--bff-alb-cert-arn <arn>', 'BFF public ALB SSL certificate ARN (overrides primary)')
494
- .option('--bff-internal-alb-cert-arn <arn>', 'BFF internal ALB SSL certificate ARN (overrides primary)')
495
- .option('--hosted-zone-id <id>', 'Route53 hosted zone ID')
496
- .option('--deploy-studio-notifications <boolean>', 'Deploy Studio Notifications service (true/false)', (val) => val === 'true')
497
- .option('--enable-bff-waf <boolean>', 'Enable WAF for BFF (true/false)', (val) => val === 'true')
498
- .option('--github-app-client-id <id>', 'GitHub App OAuth client ID')
499
- .option('--github-app-name <name>', 'GitHub App name')
500
- .option('--jira-client-id <id>', 'Jira OAuth client ID')
501
- .option('--hub-engine-execution-role <arn>', 'Hub Engine Execution Role ARN')
502
- .option('--hub-consumer-role <arn>', 'Hub Consumer Role ARN')
503
- .option('--hub-appconfig-role <arn>', 'Hub AppConfig Role ARN')
504
- .option('--hub-appconfig-app-id <id>', 'Hub AppConfig Application ID')
505
- .option('--hub-appconfig-env-id <id>', 'Hub AppConfig Environment ID')
506
- .option('--hub-appconfig-profile-id <id>', 'Hub AppConfig Profile ID')
507
- // Customer Portal configuration (optional)
508
- .option('--customer-portal-cloudfront-domain <domain>', 'Customer Portal CloudFront domain')
509
- .option('--customer-portal-cloudfront-cert-arn <arn>', 'Customer Portal ACM certificate ARN (us-east-1)')
510
- .option('--customer-portal-hosted-zone-id <id>', 'Customer Portal Route53 hosted zone ID')
511
- .option('--customer-portal-data-bucket-name <name>', 'Customer Portal S3 bucket name')
512
- .option('--customer-portal-central-hub-role-arn <arn>', 'Customer Portal Central Hub Role ARN')
513
- .option('--customer-portal-cognito-password-min-length <length>', 'Customer Portal Cognito password min length', parseInt)
514
- .option('--customer-portal-log-level <level>', 'Customer Portal log level (debug, info, warn, error)')
515
- .option('--skip-customer-portal', 'Skip Customer Portal configuration in interactive mode')
516
- .action(async (name, options) => {
392
+ .option('--skip-customer-portal', 'Skip Customer Portal configuration in interactive mode');
393
+ registerConfigOptions(updateCmd, 'update');
394
+ updateCmd.action(async (name, options) => {
517
395
  try {
518
396
  if (!options.token) {
519
397
  validateConfig();
@@ -528,19 +406,14 @@ studio
528
406
  }
529
407
  });
530
408
  // sembix studio add-hub [name] (DEPRECATED - kept for backwards compatibility)
531
- studio
409
+ const addHubCmd = studio
532
410
  .command('add-hub [name]')
533
411
  .description('Add Sembix Hub integration to an existing environment')
534
412
  .option('-t, --token <token>', 'GitHub personal access token')
535
413
  .option('-r, --repo <repo>', 'Target repository (owner/repo format)')
536
- .option('-e, --env <environment>', 'Environment name (alternative to positional argument)')
537
- .option('--hub-engine-execution-role <arn>', 'Hub Engine Execution Role ARN')
538
- .option('--hub-consumer-role <arn>', 'Hub Consumer Role ARN')
539
- .option('--hub-appconfig-role <arn>', 'Hub AppConfig Role ARN')
540
- .option('--hub-appconfig-app-id <id>', 'Hub AppConfig Application ID')
541
- .option('--hub-appconfig-env-id <id>', 'Hub AppConfig Environment ID')
542
- .option('--hub-appconfig-profile-id <id>', 'Hub AppConfig Profile ID')
543
- .action(async (name, options) => {
414
+ .option('-e, --env <environment>', 'Environment name (alternative to positional argument)');
415
+ registerConfigOptions(addHubCmd, 'add-hub');
416
+ addHubCmd.action(async (name, options) => {
544
417
  try {
545
418
  if (!options.token) {
546
419
  validateConfig();
@@ -555,20 +428,14 @@ studio
555
428
  }
556
429
  });
557
430
  // sembix studio add-customer-portal [environment]
558
- studio
431
+ const addCpCmd = studio
559
432
  .command('add-customer-portal [environment]')
560
433
  .description('Add Customer Portal configuration to an existing environment')
561
434
  .option('-t, --token <token>', 'GitHub personal access token')
562
435
  .option('-r, --repo <repo>', 'Target repository (owner/repo format)')
563
- .option('--config <path>', 'Path to YAML configuration file')
564
- .option('--customer-portal-cloudfront-domain <domain>', 'Customer Portal CloudFront domain')
565
- .option('--customer-portal-cloudfront-cert-arn <arn>', 'Customer Portal ACM certificate ARN (us-east-1)')
566
- .option('--customer-portal-hosted-zone-id <id>', 'Customer Portal Route53 hosted zone ID')
567
- .option('--customer-portal-data-bucket-name <name>', 'Customer Portal S3 bucket name')
568
- .option('--customer-portal-central-hub-role-arn <arn>', 'Customer Portal Central Hub Role ARN')
569
- .option('--customer-portal-cognito-password-min-length <length>', 'Customer Portal Cognito password min length', parseInt)
570
- .option('--customer-portal-log-level <level>', 'Customer Portal log level (DEBUG, INFO, WARN, ERROR)')
571
- .action(async (environment, options) => {
436
+ .option('--config <path>', 'Path to YAML configuration file');
437
+ registerConfigOptions(addCpCmd, 'add-customer-portal');
438
+ addCpCmd.action(async (environment, options) => {
572
439
  try {
573
440
  if (!options.token) {
574
441
  validateConfig();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAUhD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkDxF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAS1D;AAED;;;;;;;;;;;;GAYG;AAEH,wBAAgB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,CAgP3G;AA0KD;;;;GAIG;AAEH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,CAElF"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAWhD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkDxF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAS1D;AAED;;;;;;;;;;;;GAYG;AAEH,wBAAgB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,CAoB3G;AA0KD;;;;GAIG;AAEH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,CAElF"}
@@ -4,6 +4,7 @@ import yaml from 'js-yaml';
4
4
  import { configFileSchema } from '../config-schema.js';
5
5
  import * as ui from './ui.js';
6
6
  import { awsAccountIdSchema, iamRoleArnSchema, acmCertArnSchema, route53ZoneIdSchema, securityGroupIdSchema } from '../types.js';
7
+ import { mergeConfigFields } from '../config-fields.js';
7
8
  /**
8
9
  * Load and validate a YAML configuration file
9
10
  * @param configPath - Path to the YAML config file (absolute or relative to CWD)
@@ -91,258 +92,15 @@ export function mergeConfig(configFile, cliFlags) {
91
92
  // Start with config file as base (if provided - already validated by loadConfigFile)
92
93
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
93
94
  const merged = configFile ? JSON.parse(JSON.stringify(configFile)) : {};
94
- // Override with CLI flags (if provided)
95
- // Top-level fields
95
+ // Special cases: fields not driven by CONFIG_FIELDS
96
96
  if (cliFlags.environmentName !== undefined)
97
97
  merged.environmentName = cliFlags.environmentName;
98
- if (cliFlags.awsAccountId !== undefined)
99
- merged.awsAccountId = cliFlags.awsAccountId;
100
- if (cliFlags.awsRegion !== undefined)
101
- merged.awsRegion = cliFlags.awsRegion;
102
- if (cliFlags.customerRoleArn !== undefined)
103
- merged.customerRoleArn = cliFlags.customerRoleArn;
104
- if (cliFlags.terraformStateBucket !== undefined)
105
- merged.terraformStateBucket = cliFlags.terraformStateBucket;
106
- // Repository
107
98
  if (cliFlags.repo !== undefined) {
108
99
  const [owner, repo] = cliFlags.repo.split('/');
109
100
  merged.repository = { owner, repo };
110
101
  }
111
- // Database
112
- if (cliFlags.databaseName !== undefined || cliFlags.databaseUser !== undefined) {
113
- merged.database = merged.database || {};
114
- if (cliFlags.databaseName !== undefined)
115
- merged.database.name = cliFlags.databaseName;
116
- if (cliFlags.databaseUser !== undefined)
117
- merged.database.user = cliFlags.databaseUser;
118
- }
119
- // Networking
120
- const hasNetworkingFlags = cliFlags.enableVpcEndpoints !== undefined ||
121
- cliFlags.useCustomNetworking !== undefined ||
122
- cliFlags.vpcCidr !== undefined ||
123
- cliFlags.publicSubnetCidrs !== undefined ||
124
- cliFlags.privateSubnetCidrs !== undefined ||
125
- cliFlags.azCount !== undefined ||
126
- cliFlags.customVpcId !== undefined ||
127
- cliFlags.customPublicSubnetIds !== undefined ||
128
- cliFlags.customPrivateSubnetIds !== undefined;
129
- if (hasNetworkingFlags) {
130
- merged.networking = merged.networking || {};
131
- if (cliFlags.enableVpcEndpoints !== undefined)
132
- merged.networking.enableVpcEndpoints = cliFlags.enableVpcEndpoints;
133
- if (cliFlags.useCustomNetworking !== undefined)
134
- merged.networking.useCustomNetworking = cliFlags.useCustomNetworking;
135
- if (cliFlags.vpcCidr !== undefined)
136
- merged.networking.vpcCidr = cliFlags.vpcCidr;
137
- if (cliFlags.publicSubnetCidrs !== undefined)
138
- merged.networking.publicSubnetCidrs = cliFlags.publicSubnetCidrs;
139
- if (cliFlags.privateSubnetCidrs !== undefined)
140
- merged.networking.privateSubnetCidrs = cliFlags.privateSubnetCidrs;
141
- if (cliFlags.azCount !== undefined)
142
- merged.networking.azCount = cliFlags.azCount;
143
- if (cliFlags.customVpcId !== undefined)
144
- merged.networking.customVpcId = cliFlags.customVpcId;
145
- if (cliFlags.customPublicSubnetIds !== undefined)
146
- merged.networking.customPublicSubnetIds = cliFlags.customPublicSubnetIds;
147
- if (cliFlags.customPrivateSubnetIds !== undefined)
148
- merged.networking.customPrivateSubnetIds = cliFlags.customPrivateSubnetIds;
149
- }
150
- // Security - Security Groups
151
- const hasSecurityGroupFlags = cliFlags.useCustomSecurityGroups !== undefined ||
152
- cliFlags.sgWorkflowEngine !== undefined ||
153
- cliFlags.sgAurora !== undefined ||
154
- cliFlags.sgRdsProxy !== undefined ||
155
- cliFlags.sgBffEcs !== undefined ||
156
- cliFlags.sgBffAlb !== undefined ||
157
- cliFlags.sgSemanticEventEngine !== undefined ||
158
- cliFlags.sgWorkspaceRuntime !== undefined ||
159
- cliFlags.sgWorkspaceRuntimeEfs !== undefined;
160
- if (hasSecurityGroupFlags) {
161
- merged.security = merged.security || {};
162
- if (cliFlags.useCustomSecurityGroups !== undefined)
163
- merged.security.useCustomSecurityGroups = cliFlags.useCustomSecurityGroups;
164
- if (cliFlags.sgWorkflowEngine !== undefined || cliFlags.sgAurora !== undefined || cliFlags.sgRdsProxy !== undefined ||
165
- cliFlags.sgBffEcs !== undefined || cliFlags.sgBffAlb !== undefined ||
166
- cliFlags.sgSemanticEventEngine !== undefined || cliFlags.sgWorkspaceRuntime !== undefined ||
167
- cliFlags.sgWorkspaceRuntimeEfs !== undefined) {
168
- merged.security.customSecurityGroups = merged.security.customSecurityGroups || {};
169
- if (cliFlags.sgWorkflowEngine !== undefined)
170
- merged.security.customSecurityGroups.workflowEngine = cliFlags.sgWorkflowEngine;
171
- if (cliFlags.sgAurora !== undefined)
172
- merged.security.customSecurityGroups.aurora = cliFlags.sgAurora;
173
- if (cliFlags.sgRdsProxy !== undefined)
174
- merged.security.customSecurityGroups.rdsProxy = cliFlags.sgRdsProxy;
175
- if (cliFlags.sgBffEcs !== undefined)
176
- merged.security.customSecurityGroups.bffEcs = cliFlags.sgBffEcs;
177
- if (cliFlags.sgBffAlb !== undefined)
178
- merged.security.customSecurityGroups.bffAlb = cliFlags.sgBffAlb;
179
- if (cliFlags.sgSemanticEventEngine !== undefined)
180
- merged.security.customSecurityGroups.semanticEventEngine = cliFlags.sgSemanticEventEngine;
181
- if (cliFlags.sgWorkspaceRuntime !== undefined)
182
- merged.security.customSecurityGroups.workspaceRuntime = cliFlags.sgWorkspaceRuntime;
183
- if (cliFlags.sgWorkspaceRuntimeEfs !== undefined)
184
- merged.security.customSecurityGroups.workspaceRuntimeEfs = cliFlags.sgWorkspaceRuntimeEfs;
185
- }
186
- }
187
- // Security - IAM Roles
188
- const hasIamRoleFlags = cliFlags.useCustomIamRoles !== undefined ||
189
- cliFlags.iamWorkflowEngineExec !== undefined ||
190
- cliFlags.iamWorkflowEngineTask !== undefined ||
191
- cliFlags.iamBffEcsExec !== undefined ||
192
- cliFlags.iamBffEcsTask !== undefined ||
193
- cliFlags.iamSemanticEventEngineExec !== undefined ||
194
- cliFlags.iamSemanticEventEngineTask !== undefined ||
195
- cliFlags.iamRdsProxy !== undefined ||
196
- cliFlags.iamStudioNotification !== undefined ||
197
- cliFlags.iamWorkspaceRuntimeExec !== undefined ||
198
- cliFlags.iamWorkspaceRuntimeTask !== undefined;
199
- if (hasIamRoleFlags) {
200
- merged.security = merged.security || {};
201
- if (cliFlags.useCustomIamRoles !== undefined)
202
- merged.security.useCustomIamPolicies = cliFlags.useCustomIamRoles;
203
- if (cliFlags.iamWorkflowEngineExec !== undefined || cliFlags.iamWorkflowEngineTask !== undefined ||
204
- cliFlags.iamBffEcsExec !== undefined || cliFlags.iamBffEcsTask !== undefined ||
205
- cliFlags.iamSemanticEventEngineExec !== undefined || cliFlags.iamSemanticEventEngineTask !== undefined ||
206
- cliFlags.iamRdsProxy !== undefined ||
207
- cliFlags.iamStudioNotification !== undefined || cliFlags.iamWorkspaceRuntimeExec !== undefined ||
208
- cliFlags.iamWorkspaceRuntimeTask !== undefined) {
209
- merged.security.customIamRoles = merged.security.customIamRoles || {};
210
- if (cliFlags.iamWorkflowEngineExec !== undefined)
211
- merged.security.customIamRoles.workflowEngineExecutionRole = cliFlags.iamWorkflowEngineExec;
212
- if (cliFlags.iamWorkflowEngineTask !== undefined)
213
- merged.security.customIamRoles.workflowEngineTaskRole = cliFlags.iamWorkflowEngineTask;
214
- if (cliFlags.iamBffEcsExec !== undefined)
215
- merged.security.customIamRoles.bffEcsTaskExecutionRole = cliFlags.iamBffEcsExec;
216
- if (cliFlags.iamBffEcsTask !== undefined)
217
- merged.security.customIamRoles.bffEcsTaskRole = cliFlags.iamBffEcsTask;
218
- if (cliFlags.iamSemanticEventEngineExec !== undefined)
219
- merged.security.customIamRoles.semanticEventEngineExecutionRole = cliFlags.iamSemanticEventEngineExec;
220
- if (cliFlags.iamSemanticEventEngineTask !== undefined)
221
- merged.security.customIamRoles.semanticEventEngineTaskRole = cliFlags.iamSemanticEventEngineTask;
222
- if (cliFlags.iamRdsProxy !== undefined)
223
- merged.security.customIamRoles.rdsProxyRole = cliFlags.iamRdsProxy;
224
- if (cliFlags.iamStudioNotification !== undefined)
225
- merged.security.customIamRoles.sembixStudioNotificationRole = cliFlags.iamStudioNotification;
226
- if (cliFlags.iamWorkspaceRuntimeExec !== undefined)
227
- merged.security.customIamRoles.workspaceRuntimeExecutionRole = cliFlags.iamWorkspaceRuntimeExec;
228
- if (cliFlags.iamWorkspaceRuntimeTask !== undefined)
229
- merged.security.customIamRoles.workspaceRuntimeTaskRole = cliFlags.iamWorkspaceRuntimeTask;
230
- }
231
- }
232
- // Security - Other
233
- if (cliFlags.workflowRunsKeyAlias !== undefined) {
234
- merged.security = merged.security || {};
235
- merged.security.workflowRunsKeyAlias = cliFlags.workflowRunsKeyAlias;
236
- }
237
- // TLS
238
- const hasTlsFlags = cliFlags.certificateArn !== undefined ||
239
- cliFlags.cloudfrontDomain !== undefined ||
240
- cliFlags.cloudfrontCertArn !== undefined ||
241
- cliFlags.bffAlbCertArn !== undefined ||
242
- cliFlags.bffInternalAlbCertArn !== undefined ||
243
- cliFlags.hostedZoneId !== undefined;
244
- if (hasTlsFlags) {
245
- merged.tls = merged.tls || {};
246
- if (cliFlags.certificateArn !== undefined)
247
- merged.tls.certificateArn = cliFlags.certificateArn;
248
- if (cliFlags.cloudfrontDomain !== undefined)
249
- merged.tls.cloudfrontDomain = cliFlags.cloudfrontDomain;
250
- if (cliFlags.cloudfrontCertArn !== undefined)
251
- merged.tls.cloudfrontCertArn = cliFlags.cloudfrontCertArn;
252
- if (cliFlags.bffAlbCertArn !== undefined)
253
- merged.tls.bffAlbCertificateArn = cliFlags.bffAlbCertArn;
254
- if (cliFlags.bffInternalAlbCertArn !== undefined)
255
- merged.tls.bffInternalAlbCertificateArn = cliFlags.bffInternalAlbCertArn;
256
- if (cliFlags.hostedZoneId !== undefined)
257
- merged.tls.hostedZoneId = cliFlags.hostedZoneId;
258
- }
259
- // Features
260
- const hasFeatureFlags = cliFlags.deployStudioNotifications !== undefined ||
261
- cliFlags.enableBffWaf !== undefined;
262
- if (hasFeatureFlags) {
263
- merged.features = merged.features || {};
264
- if (cliFlags.deployStudioNotifications !== undefined)
265
- merged.features.deploySembixStudioNotifications = cliFlags.deployStudioNotifications;
266
- if (cliFlags.enableBffWaf !== undefined)
267
- merged.features.enableBffWaf = cliFlags.enableBffWaf;
268
- }
269
- // Frontend
270
- const hasFrontendFlags = cliFlags.githubAppClientId !== undefined ||
271
- cliFlags.githubAppName !== undefined ||
272
- cliFlags.jiraClientId !== undefined;
273
- if (hasFrontendFlags) {
274
- merged.frontend = merged.frontend || {};
275
- if (cliFlags.githubAppClientId !== undefined)
276
- merged.frontend.githubAppClientId = cliFlags.githubAppClientId;
277
- if (cliFlags.githubAppName !== undefined)
278
- merged.frontend.githubAppName = cliFlags.githubAppName;
279
- if (cliFlags.jiraClientId !== undefined)
280
- merged.frontend.jiraClientId = cliFlags.jiraClientId;
281
- }
282
- // Hub Integration
283
- const hasHubFlags = cliFlags.skipHub !== undefined ||
284
- cliFlags.hubEngineExecutionRole !== undefined ||
285
- cliFlags.hubConsumerRole !== undefined ||
286
- cliFlags.hubAppconfigRole !== undefined ||
287
- cliFlags.hubAppconfigAppId !== undefined ||
288
- cliFlags.hubAppconfigEnvId !== undefined ||
289
- cliFlags.hubAppconfigProfileId !== undefined;
290
- if (hasHubFlags) {
291
- merged.hub = merged.hub || {};
292
- // Hub roles
293
- if (cliFlags.hubEngineExecutionRole !== undefined || cliFlags.hubConsumerRole !== undefined) {
294
- merged.hub.hubRoles = merged.hub.hubRoles || {};
295
- if (cliFlags.hubEngineExecutionRole !== undefined)
296
- merged.hub.hubRoles.engineExecutionRole = cliFlags.hubEngineExecutionRole;
297
- if (cliFlags.hubConsumerRole !== undefined)
298
- merged.hub.hubRoles.consumerRole = cliFlags.hubConsumerRole;
299
- }
300
- // AppConfig
301
- if (cliFlags.hubAppconfigRole !== undefined || cliFlags.hubAppconfigAppId !== undefined ||
302
- cliFlags.hubAppconfigEnvId !== undefined || cliFlags.hubAppconfigProfileId !== undefined) {
303
- merged.hub.appConfig = merged.hub.appConfig || {};
304
- if (cliFlags.hubAppconfigRole !== undefined)
305
- merged.hub.appConfig.roleArn = cliFlags.hubAppconfigRole;
306
- if (cliFlags.hubAppconfigAppId !== undefined)
307
- merged.hub.appConfig.appId = cliFlags.hubAppconfigAppId;
308
- if (cliFlags.hubAppconfigEnvId !== undefined)
309
- merged.hub.appConfig.envId = cliFlags.hubAppconfigEnvId;
310
- if (cliFlags.hubAppconfigProfileId !== undefined)
311
- merged.hub.appConfig.profileId = cliFlags.hubAppconfigProfileId;
312
- }
313
- }
314
- // Customer Portal Configuration
315
- const hasCustomerPortalFlags = cliFlags.customerPortalCloudfrontDomain !== undefined ||
316
- cliFlags.customerPortalCloudfrontCertArn !== undefined ||
317
- cliFlags.customerPortalHostedZoneId !== undefined ||
318
- cliFlags.customerPortalDataBucketName !== undefined ||
319
- cliFlags.customerPortalCentralHubRoleArn !== undefined ||
320
- cliFlags.customerPortalCognitoPasswordMinLength !== undefined ||
321
- cliFlags.customerPortalLogLevel !== undefined;
322
- if (hasCustomerPortalFlags) {
323
- merged.customerPortal = merged.customerPortal || {};
324
- if (cliFlags.customerPortalCloudfrontDomain !== undefined) {
325
- merged.customerPortal.cloudfrontDomain = cliFlags.customerPortalCloudfrontDomain;
326
- }
327
- if (cliFlags.customerPortalCloudfrontCertArn !== undefined) {
328
- merged.customerPortal.cloudfrontCertArn = cliFlags.customerPortalCloudfrontCertArn;
329
- }
330
- if (cliFlags.customerPortalHostedZoneId !== undefined) {
331
- merged.customerPortal.hostedZoneId = cliFlags.customerPortalHostedZoneId;
332
- }
333
- if (cliFlags.customerPortalDataBucketName !== undefined) {
334
- merged.customerPortal.dataBucketName = cliFlags.customerPortalDataBucketName;
335
- }
336
- if (cliFlags.customerPortalCentralHubRoleArn !== undefined) {
337
- merged.customerPortal.centralHubRoleArn = cliFlags.customerPortalCentralHubRoleArn;
338
- }
339
- if (cliFlags.customerPortalCognitoPasswordMinLength !== undefined) {
340
- merged.customerPortal.cognitoPasswordMinLength = cliFlags.customerPortalCognitoPasswordMinLength;
341
- }
342
- if (cliFlags.customerPortalLogLevel !== undefined) {
343
- merged.customerPortal.logLevel = cliFlags.customerPortalLogLevel;
344
- }
345
- }
102
+ // All config fields: driven by CONFIG_FIELDS definitions
103
+ mergeConfigFields(merged, cliFlags);
346
104
  // Validate critical fields that were provided via CLI flags
347
105
  validateMergedConfig(merged, cliFlags);
348
106
  return merged;