@sembix/cli 1.6.0 → 1.6.1

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/COMMANDS.md CHANGED
@@ -9,7 +9,7 @@ sembix <product> <action> [options] [arguments]
9
9
  ```
10
10
 
11
11
  - **product**: The Sembix product (e.g., `studio`)
12
- - **action**: What you want to do (e.g., `create`, `list`, `add-hub`)
12
+ - **action**: What you want to do (e.g., `create`, `list`, `add-hub`, `add-customer-portal`)
13
13
  - **options**: Flags like `--token` or `--repo`
14
14
  - **arguments**: Required or optional values (e.g., environment name)
15
15
 
@@ -1018,6 +1018,97 @@ $ sembix studio add-hub prod --repo acme-corp/deployments
1018
1018
 
1019
1019
  ---
1020
1020
 
1021
+ ### `sembix studio add-customer-portal [name]`
1022
+
1023
+ Add Customer Portal configuration to an existing environment.
1024
+
1025
+ **Usage:**
1026
+
1027
+ ```bash
1028
+ # Interactive mode
1029
+ sembix studio add-customer-portal
1030
+
1031
+ # With environment name
1032
+ sembix studio add-customer-portal acme-production
1033
+
1034
+ # With environment name and repository
1035
+ sembix studio add-customer-portal acme-production --repo acme-corp/sembix-deployment
1036
+
1037
+ # With CLI flags
1038
+ sembix studio add-customer-portal acme-production --repo acme-corp/sembix-deployment \
1039
+ --customer-portal-cloudfront-domain portal.example.com \
1040
+ --customer-portal-cloudfront-cert-arn arn:aws:acm:us-east-1:123456789012:certificate/abc123 \
1041
+ --customer-portal-hosted-zone-id Z1234567890ABC \
1042
+ --customer-portal-data-bucket-name my-portal-data-bucket
1043
+ ```
1044
+
1045
+ **Options:**
1046
+
1047
+ - `[name]` - Optional environment name (will prompt if not provided)
1048
+ - `-r, --repo <repo>` - Target repository in `owner/repo` format
1049
+ - `-t, --token <token>` - GitHub personal access token (overrides `.env`)
1050
+ - `-c, --config <path>` - YAML configuration file with customer portal settings
1051
+ - `--customer-portal-cloudfront-domain <domain>` - CloudFront domain for Customer Portal
1052
+ - `--customer-portal-cloudfront-cert-arn <arn>` - ACM certificate ARN (must be in us-east-1)
1053
+ - `--customer-portal-hosted-zone-id <id>` - Route53 hosted zone ID
1054
+ - `--customer-portal-data-bucket-name <name>` - S3 bucket name for portal data
1055
+ - `--customer-portal-cognito-password-min-length <length>` - Password minimum length (8-128)
1056
+ - `--customer-portal-log-level <level>` - Log level (debug, info, warn, error)
1057
+
1058
+ **When to use:**
1059
+
1060
+ After you've created a Studio environment and want to enable the Customer Portal for your users.
1061
+
1062
+ **What it does:**
1063
+
1064
+ 1. Selects repository and environment (or uses provided values)
1065
+ 2. Prompts for required Customer Portal configuration:
1066
+ - CloudFront domain name
1067
+ - ACM certificate ARN (must be in us-east-1 region)
1068
+ - Route53 hosted zone ID
1069
+ - S3 bucket name for customer portal data
1070
+ 3. Optionally prompts for:
1071
+ - Cognito password minimum length (8-128, default: 8)
1072
+ - Log level (debug, info, warn, error, default: info)
1073
+ 4. Adds environment secrets and variables for Customer Portal deployment
1074
+
1075
+ **Output:**
1076
+
1077
+ - Confirmation that Customer Portal configuration was added
1078
+ - Link to GitHub Actions to deploy Customer Portal
1079
+
1080
+ **Examples:**
1081
+
1082
+ ```bash
1083
+ # Interactive - provide all values through prompts
1084
+ $ sembix studio add-customer-portal
1085
+ ━━━ Repository & Environment Selection ━━━
1086
+ ? Select deployment repository: acme-corp/sembix-deployment
1087
+ ? Select environment to update: acme-production
1088
+ ━━━ Customer Portal Configuration ━━━
1089
+ ? CloudFront domain: portal.acme.com
1090
+ ? ACM certificate ARN: arn:aws:acm:us-east-1:...
1091
+ ...
1092
+
1093
+ # Quick - provide environment name and repo
1094
+ $ sembix studio add-customer-portal acme-production --repo acme-corp/deployments
1095
+ ✓ Using repository: acme-corp/deployments
1096
+ ✓ Using environment: acme-production
1097
+ ━━━ Customer Portal Configuration ━━━
1098
+ ? CloudFront domain: ...
1099
+
1100
+ # Fully automated - use CLI flags
1101
+ $ sembix studio add-customer-portal prod --repo acme-corp/deployments \
1102
+ --customer-portal-cloudfront-domain portal.acme.com \
1103
+ --customer-portal-cloudfront-cert-arn arn:aws:acm:us-east-1:123456789012:certificate/abc \
1104
+ --customer-portal-hosted-zone-id Z1234567890ABC \
1105
+ --customer-portal-data-bucket-name acme-portal-data \
1106
+ --customer-portal-cognito-password-min-length 12 \
1107
+ --customer-portal-log-level info
1108
+ ```
1109
+
1110
+ ---
1111
+
1021
1112
  ### `sembix studio list [repository]`
1022
1113
 
1023
1114
  List all Studio environments in a repository, or list all your repositories.
package/README.md CHANGED
@@ -15,6 +15,7 @@ A unified CLI for managing Sembix Studio with two main capabilities:
15
15
  - [studio create](#sembix-studio-create-name)
16
16
  - [studio update](#sembix-studio-update-name)
17
17
  - [studio add-hub](#sembix-studio-add-hub-name)
18
+ - [studio add-customer-portal](#sembix-studio-add-customer-portal-name)
18
19
  - [studio list](#sembix-studio-list-repository)
19
20
  - [Configuration](#configuration)
20
21
  - [Common Workflows](#common-workflows)
@@ -141,6 +142,7 @@ sembix studio create production --repo owner/repo --skip-hub
141
142
  - Features: `--deploy-studio-memory`, `--deploy-studio-notifications`, `--enable-bff-waf`
142
143
  - Frontend: `--github-app-client-id`, `--jira-client-id`
143
144
  - Hub: `--hub-engine-execution-role`, `--hub-consumer-role`, `--hub-admin-role`
145
+ - Customer Portal: `--customer-portal-cloudfront-domain`, `--customer-portal-cert-arn`, `--customer-portal-data-bucket-name`
144
146
 
145
147
  [See all 50+ options](#complete-studio-options)
146
148
 
@@ -173,6 +175,35 @@ Interactive prompts for Hub role ARNs (or use flags):
173
175
  - `--hub-admin-role <arn>` - Hub Admin Role ARN
174
176
  - `--hub-appconfig-role <arn>` - Hub AppConfig Role ARN (optional)
175
177
 
178
+ ### `sembix studio add-customer-portal [name]`
179
+
180
+ Add Customer Portal configuration to an existing environment.
181
+
182
+ ```bash
183
+ # Interactive mode
184
+ sembix studio add-customer-portal production --repo owner/repo
185
+
186
+ # With YAML config
187
+ sembix studio add-customer-portal production --repo owner/repo --config config.yaml
188
+
189
+ # With CLI flags
190
+ sembix studio add-customer-portal production --repo owner/repo \
191
+ --customer-portal-cloudfront-domain portal.example.com \
192
+ --customer-portal-cloudfront-cert-arn arn:aws:acm:us-east-1:123456789012:certificate/abc123 \
193
+ --customer-portal-hosted-zone-id Z1234567890ABC \
194
+ --customer-portal-data-bucket-name my-portal-data-bucket
195
+ ```
196
+
197
+ **Required Options:**
198
+ - `--customer-portal-cloudfront-domain <domain>` - CloudFront custom domain for the portal
199
+ - `--customer-portal-cloudfront-cert-arn <arn>` - ACM certificate ARN (must be in us-east-1)
200
+ - `--customer-portal-hosted-zone-id <id>` - Route53 hosted zone ID
201
+ - `--customer-portal-data-bucket-name <name>` - S3 bucket name for portal data
202
+
203
+ **Optional Options:**
204
+ - `--customer-portal-cognito-password-min-length <length>` - Minimum password length (8-128, default: 8)
205
+ - `--customer-portal-log-level <level>` - Log level: debug, info, warn, error (default: info)
206
+
176
207
  ### `sembix studio list [repository]`
177
208
 
178
209
  List GitHub Actions environments.
@@ -272,6 +303,22 @@ sembix studio create prod --repo owner/repo --config prod.yaml
272
303
  sembix studio create staging --repo owner/repo --config staging.yaml
273
304
  ```
274
305
 
306
+ **Add Customer Portal to existing environment:**
307
+ ```bash
308
+ # Interactive mode (easiest)
309
+ sembix studio add-customer-portal production --repo owner/repo
310
+
311
+ # With config file
312
+ sembix studio add-customer-portal production --repo owner/repo --config prod.yaml
313
+
314
+ # With CLI flags
315
+ sembix studio add-customer-portal production --repo owner/repo \
316
+ --customer-portal-cloudfront-domain portal.mycompany.com \
317
+ --customer-portal-cloudfront-cert-arn arn:aws:acm:us-east-1:123456789012:certificate/abc123 \
318
+ --customer-portal-hosted-zone-id Z1234567890ABC \
319
+ --customer-portal-data-bucket-name mycompany-portal-data
320
+ ```
321
+
275
322
  ---
276
323
 
277
324
  # Part 2: Environment Interaction
@@ -926,6 +973,14 @@ All options for `sembix studio create` and `sembix studio update`:
926
973
  - `--hub-appconfig-env-id <id>` - Hub AppConfig Environment ID
927
974
  - `--hub-appconfig-profile-id <id>` - Hub AppConfig Profile ID
928
975
 
976
+ **Customer Portal:**
977
+ - `--customer-portal-cloudfront-domain <domain>` - CloudFront domain for Customer Portal
978
+ - `--customer-portal-cloudfront-cert-arn <arn>` - ACM certificate ARN (must be in us-east-1)
979
+ - `--customer-portal-hosted-zone-id <id>` - Route53 hosted zone ID
980
+ - `--customer-portal-data-bucket-name <name>` - S3 bucket name for portal data
981
+ - `--customer-portal-cognito-password-min-length <length>` - Password minimum length (8-128)
982
+ - `--customer-portal-log-level <level>` - Log level (debug, info, warn, error)
983
+
929
984
  ---
930
985
 
931
986
  # License
@@ -132,6 +132,6 @@ frontend:
132
132
  # hostedZoneId: Z9876543210ZYX
133
133
  # dataBucketName: acme-customer-portal-data
134
134
  #
135
- # # Optional fields
136
- # cognitoPasswordMinLength: 12
137
- # logLevel: INFO
135
+ # # Optional fields (can be omitted)
136
+ # cognitoPasswordMinLength: 12 # Integer 8-128 (default: 8)
137
+ # logLevel: info # One of: debug, info, warn, error (default: info)
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sembix/cli",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "description": "CLI tool for managing Sembix products",
5
5
  "type": "module",
6
6
  "bin": {
Binary file