@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 +92 -1
- package/README.md +55 -0
- package/config.example.yaml +3 -3
- package/dist/sembix-cli-1.6.1.tgz +0 -0
- package/package.json +1 -1
- package/dist/sembix-cli-1.6.0.tgz +0 -0
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
|
package/config.example.yaml
CHANGED
|
@@ -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:
|
|
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
|
Binary file
|