indraq_cli 1.9.1 → 2.0.0

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.
Files changed (64) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +1043 -1517
  3. package/cloud-api/.env +6 -0
  4. package/cloud-api/.env.example +14 -14
  5. package/cloud-api/README.md +145 -141
  6. package/cloud-api/package.json +29 -29
  7. package/cloud-api/sql/001_init.sql +8 -8
  8. package/cloud-api/sql/002_user_providers_and_project_resources.sql +40 -40
  9. package/cloud-api/sql/003_environment_infrastructure.sql +19 -19
  10. package/cloud-api/sql/004_managed_aws_credentials.sql +20 -20
  11. package/cloud-api/sql/005_project_members_and_resource_grants.sql +22 -22
  12. package/cloud-api/sql/006_catalog_identity_password_security.sql +96 -96
  13. package/cloud-api/sql/007_aws_access_key_rotation.sql +16 -16
  14. package/cloud-api/src/index.ts +1329 -1254
  15. package/cloud-api/tsconfig.json +18 -18
  16. package/dist/cli/help-content.d.ts.map +1 -1
  17. package/dist/cli/help-content.js +254 -251
  18. package/dist/cli/help-content.js.map +1 -1
  19. package/dist/modules/access/commands/access.command.d.ts +19 -0
  20. package/dist/modules/access/commands/access.command.d.ts.map +1 -1
  21. package/dist/modules/access/commands/access.command.js +57 -46
  22. package/dist/modules/access/commands/access.command.js.map +1 -1
  23. package/dist/modules/cloud/commands/cloud.command.d.ts.map +1 -1
  24. package/dist/modules/cloud/commands/cloud.command.js +18 -2
  25. package/dist/modules/cloud/commands/cloud.command.js.map +1 -1
  26. package/dist/modules/cloud/config/cloud-config.d.ts +1 -1
  27. package/dist/modules/cloud/config/cloud-config.js +1 -1
  28. package/dist/modules/cloud/services/cloud-jenkins.service.d.ts +13 -1
  29. package/dist/modules/cloud/services/cloud-jenkins.service.d.ts.map +1 -1
  30. package/dist/modules/cloud/services/cloud-jenkins.service.js +173 -77
  31. package/dist/modules/cloud/services/cloud-jenkins.service.js.map +1 -1
  32. package/dist/modules/cloud/services/managed-aws-credential.service.d.ts.map +1 -1
  33. package/dist/modules/cloud/services/managed-aws-credential.service.js +11 -4
  34. package/dist/modules/cloud/services/managed-aws-credential.service.js.map +1 -1
  35. package/dist/modules/jenkins/commands/admin.command.d.ts +3 -0
  36. package/dist/modules/jenkins/commands/admin.command.d.ts.map +1 -1
  37. package/dist/modules/jenkins/commands/admin.command.js +91 -1
  38. package/dist/modules/jenkins/commands/admin.command.js.map +1 -1
  39. package/dist/modules/jenkins/index.d.ts.map +1 -1
  40. package/dist/modules/jenkins/index.js +3 -0
  41. package/dist/modules/jenkins/index.js.map +1 -1
  42. package/dist/modules/scaffold/services/docker-template.service.js +95 -95
  43. package/dist/modules/users/commands/user.command.d.ts.map +1 -1
  44. package/dist/modules/users/commands/user.command.js +290 -44
  45. package/dist/modules/users/commands/user.command.js.map +1 -1
  46. package/dist/modules/users/providers/aws-user.provider.d.ts.map +1 -1
  47. package/dist/modules/users/providers/aws-user.provider.js +9 -2
  48. package/dist/modules/users/providers/aws-user.provider.js.map +1 -1
  49. package/dist/modules/users/providers/jenkins-user.provider.d.ts +11 -4
  50. package/dist/modules/users/providers/jenkins-user.provider.d.ts.map +1 -1
  51. package/dist/modules/users/providers/jenkins-user.provider.js +174 -72
  52. package/dist/modules/users/providers/jenkins-user.provider.js.map +1 -1
  53. package/dist/modules/users/providers/npm-user.provider.d.ts.map +1 -1
  54. package/dist/modules/users/providers/npm-user.provider.js +3 -1
  55. package/dist/modules/users/providers/npm-user.provider.js.map +1 -1
  56. package/dist/shared/config/config-files.js +7 -7
  57. package/docs/ARCHITECTURE.md +29 -29
  58. package/docs/CREATE-DEPLOYMENT-reference.groovy +1105 -1105
  59. package/package.json +77 -76
  60. package/templates/jenkins/CREATE-DEPLOYMENT.groovy +1105 -1105
  61. package/templates/jenkins/Jenkinsfile-Mobile-App +759 -759
  62. package/cloud-api/.dockerignore +0 -18
  63. package/cloud-api/Dockerfile +0 -19
  64. package/cloud-api/package-lock.json +0 -2250
@@ -1,18 +1,18 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "rootDir": "src",
7
- "outDir": "dist",
8
- "strict": true,
9
- "esModuleInterop": true,
10
- "skipLibCheck": true,
11
- "types": [
12
- "node"
13
- ]
14
- },
15
- "include": [
16
- "src/**/*.ts"
17
- ]
18
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "rootDir": "src",
7
+ "outDir": "dist",
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "types": [
12
+ "node"
13
+ ]
14
+ },
15
+ "include": [
16
+ "src/**/*.ts"
17
+ ]
18
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"help-content.d.ts","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAMrF,eAAO,MAAM,oBAAoB,QAAO,MAgIvC,CAAC;AAuIF,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,KAAG,MAO/C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,SAAS,GAAG,SAU3D,CAAC"}
1
+ {"version":3,"file":"help-content.d.ts","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAMrF,eAAO,MAAM,oBAAoB,QAAO,MAmIvC,CAAC;AAuIF,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,KAAG,MAO/C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,SAAS,GAAG,SAU3D,CAAC"}
@@ -8,263 +8,266 @@ const chalk_1 = __importDefault(require("chalk"));
8
8
  const heading = (value) => chalk_1.default.bold(value);
9
9
  const command = (value) => chalk_1.default.cyan(value);
10
10
  const note = (value) => chalk_1.default.gray(value);
11
- const fullCommandReference = () => `
12
- ${heading('Complete command reference')}
13
-
14
- ${heading('Core')}
15
- ${command('indraq --version')} Show installed CLI version
16
- ${command('indraq --help')} Show this complete help screen
17
- ${command('indraq help')} Show this complete help screen
18
- ${command('indraq help <topic>')} Help topic: configure, docker, mobile, doctor
19
- ${command('indraq doctor')} Diagnose Node, Java, Git, tar and PATH issues
20
- ${command('indraq configure')} Open the project configuration home
21
-
22
- ${heading('Docker / GHCR deployment')}
23
- ${command('indraq deploy:dev')} Build, push and deploy Development
24
- ${command('indraq deploy:development')} Alias for deploy:dev
25
- ${command('indraq deploy:prod')} Build, push and deploy Production
26
- ${command('indraq deploy:production')} Alias for deploy:prod
27
- ${command('indraq deploy build --env dev')} Long-form Development deployment
28
- ${command('indraq deploy build --env development')} Long-form Development alias
29
- ${command('indraq deploy build --env prod')} Long-form Production deployment
30
- ${command('indraq deploy build --env production')} Long-form Production alias
31
- ${command('indraq deploy configure')} Open the main configuration home
32
- ${command('indraq deploy:configure')} Alias for indraq configure
33
-
34
- ${heading('Mobile Android builds')}
35
- ${command('indraq build mobile:dev')} Mobile Development build
36
- ${command('indraq build mobile:development')} Alias for mobile:dev
37
- ${command('indraq build mobile:staging')} Mobile Staging build
38
- ${command('indraq build mobile:prod')} Mobile Production build
39
- ${command('indraq build mobile:production')} Alias for mobile:prod
40
-
41
- ${heading('AWS IAM and Route53')}
42
- ${command('indraq iam users')} List/search IAM users
43
- ${command('indraq iam user:create <username>')} Create an IAM user
44
- ${command('indraq iam user:update [username]')} Select/update an IAM user
45
- ${command('indraq iam user:delete [username]')} Select/delete an IAM user
46
- ${command('indraq iam access-key rotate [username]')} Rotate own/managed AWS access key
47
- ${command('indraq healthcheck list')} List Route53 health checks
48
- ${command('indraq healthcheck create')} Create health check (admin only)
49
- ${command('indraq healthcheck delete')} Delete health check (admin only)
50
- ${command('indraq dns zones')} List Route53 hosted zones
51
- ${command('indraq dns records [--zone <id>]')} List records
52
- ${command('indraq dns create [record]')} Interactive Route53 record/routing wizard
53
- ${command('indraq dns update <record>')} Update an existing record
54
- ${command('indraq dns delete <record> --value <ip>')} Delete an exact A record
55
-
56
- ${heading('Nginx Proxy Manager')}
57
- ${command('indraq npm-user create [options]')} Create an NPM user
58
- ${command('indraq npm-user update <identity>')} Update an NPM user
59
- ${command('indraq npm-user delete <identity>')} Delete an NPM user
60
- ${command('indraq proxy create <domain> [options]')} Create a proxy host
61
- ${command('indraq proxy update <domain> [options]')} Update a proxy host
62
- ${command('indraq proxy delete <domain>')} Delete a proxy host
63
-
64
- ${heading('Unified users')}
65
- ${command('indraq user list')} List/search organization users (manager/admin)
66
- ${command('indraq user create [username]')} Provision across configured providers
67
- ${command('indraq user update [username]')} Select/update a user/providers
68
- ${command('indraq user delete [username]')} Select/deprovision a user/providers
69
- ${command('indraq password reset')} Email-OTP reset for Cloud/NPM/Jenkins
70
-
71
- ${heading('Projects, access and infrastructure')}
72
- ${command('indraq init [directory]')} Initialize/link a project safely
73
- ${command('indraq project create [name]')} Register an existing folder without scaffolding
74
- ${command('indraq project list')} List organization projects + VIEW/WRITE access
75
- ${command('indraq project link')} Re-link this folder to a Cloud project
76
- ${command('indraq project status')} Show project infrastructure resources
77
- ${command('indraq project add user')} Add a user to a project (manager/admin)
78
- ${command('indraq project delete user')} Remove a user from a project (manager/admin)
79
- ${command('indraq access add user')} Grant AWS/NPM/Jenkins project-resource access
80
- ${command('indraq access delete user')} Revoke project-resource access
81
- ${command('indraq prebuild')} Reconcile GHCR + Jenkins + Route53 + NPM
82
- ${command('indraq jenkins create-deployment')} Trigger Jenkins CREATE-DEPLOYMENT only
83
- ${command('indraq dockerfile create')} Generate Docker artifacts for an existing app
84
-
85
- ${heading('Mobile build flags')}
86
- ${command('--output <output>')} One-build output override
87
- dev-client | development-client | client
88
- debug | debug-apk
89
- apk | release-apk
90
- aab | release-aab
91
-
92
- ${command('--profile <profile>')} One-build profile override
93
- fast | clean | full-reset
94
-
95
- ${command('--verbose')} Verbose Gradle/Jenkins output
96
- ${command('--dry-run')} Validate and print plan; do not start Jenkins
97
- ${command('-y, --yes')} Skip final build confirmation
98
-
99
- ${heading('Configuration home')}
100
- ${command('indraq configure')}
101
- Jenkins
102
- Development → Docker Development deployments
103
- Production → Docker Production + ALL mobile builds
104
-
105
- Docker / GHCR
106
- Development
107
- Production
108
-
109
- Mobile App
110
- Project settings
111
- Version & versionCode
112
- Development
113
- Staging
114
- Production
115
-
116
- AWS
117
- IAM credentials and region
118
- Default Route53 hosted zone
119
-
120
- Review current project configuration
121
- Exit
122
-
123
- ${heading('Environment routing')}
124
- Docker Development → Development Jenkins
125
- Docker Production → Production Jenkins
126
- Mobile Development → Production Jenkins
127
- Mobile Staging Production Jenkins
128
- Mobile Production → Production Jenkins
129
-
130
- ${heading('Examples')}
131
- ${command('indraq configure')}
132
- ${command('indraq deploy:dev')}
133
- ${command('indraq deploy:prod')}
134
- ${command('indraq build mobile:dev --dry-run')}
135
- ${command('indraq build mobile:staging --output apk')}
136
- ${command('indraq build mobile:prod --output aab --profile clean --verbose')}
137
-
138
- ${note('Tip: use `indraq help mobile` or `indraq help docker` for focused help.')}
11
+ const fullCommandReference = () => `
12
+ ${heading('Complete command reference')}
13
+
14
+ ${heading('Core')}
15
+ ${command('indraq --version')} Show installed CLI version
16
+ ${command('indraq --help')} Show this complete help screen
17
+ ${command('indraq help')} Show this complete help screen
18
+ ${command('indraq help <topic>')} Help topic: configure, docker, mobile, doctor
19
+ ${command('indraq doctor')} Diagnose Node, Java, Git, tar and PATH issues
20
+ ${command('indraq configure')} Open the project configuration home
21
+
22
+ ${heading('Docker / GHCR deployment')}
23
+ ${command('indraq deploy:dev')} Build, push and deploy Development
24
+ ${command('indraq deploy:development')} Alias for deploy:dev
25
+ ${command('indraq deploy:prod')} Build, push and deploy Production
26
+ ${command('indraq deploy:production')} Alias for deploy:prod
27
+ ${command('indraq deploy build --env dev')} Long-form Development deployment
28
+ ${command('indraq deploy build --env development')} Long-form Development alias
29
+ ${command('indraq deploy build --env prod')} Long-form Production deployment
30
+ ${command('indraq deploy build --env production')} Long-form Production alias
31
+ ${command('indraq deploy configure')} Open the main configuration home
32
+ ${command('indraq deploy:configure')} Alias for indraq configure
33
+
34
+ ${heading('Mobile Android builds')}
35
+ ${command('indraq build mobile:dev')} Mobile Development build
36
+ ${command('indraq build mobile:development')} Alias for mobile:dev
37
+ ${command('indraq build mobile:staging')} Mobile Staging build
38
+ ${command('indraq build mobile:prod')} Mobile Production build
39
+ ${command('indraq build mobile:production')} Alias for mobile:prod
40
+
41
+ ${heading('AWS IAM and Route53')}
42
+ ${command('indraq iam users')} List/search IAM users
43
+ ${command('indraq iam user:create <username>')} Create an IAM user
44
+ ${command('indraq iam user:update [username]')} Select/update an IAM user
45
+ ${command('indraq iam user:delete [username]')} Select/delete an IAM user
46
+ ${command('indraq iam access-key rotate [username]')} Rotate own/managed AWS access key
47
+ ${command('indraq healthcheck list')} List Route53 health checks
48
+ ${command('indraq healthcheck create')} Create health check (admin only)
49
+ ${command('indraq healthcheck delete')} Delete health check (admin only)
50
+ ${command('indraq dns zones')} List Route53 hosted zones
51
+ ${command('indraq dns records [--zone <id>]')} List records
52
+ ${command('indraq dns create [record]')} Interactive Route53 record/routing wizard
53
+ ${command('indraq dns update <record>')} Update an existing record
54
+ ${command('indraq dns delete <record> --value <ip>')} Delete an exact A record
55
+
56
+ ${heading('Nginx Proxy Manager')}
57
+ ${command('indraq npm-user create [options]')} Create an NPM user
58
+ ${command('indraq npm-user update <identity>')} Update an NPM user
59
+ ${command('indraq npm-user delete <identity>')} Delete an NPM user
60
+ ${command('indraq proxy create <domain> [options]')} Create a proxy host
61
+ ${command('indraq proxy update <domain> [options]')} Update a proxy host
62
+ ${command('indraq proxy delete <domain>')} Delete a proxy host
63
+
64
+ ${heading('Unified users')}
65
+ ${command('indraq user list')} List/search organization users (manager/admin)
66
+ ${command('indraq user create [username]')} Provision across Cloud/AWS/NPM and every configured Jenkins controller
67
+ ${command('indraq user update [username]')} Update password/provider settings; --role syncs every linked provider
68
+ ${command('indraq user delete [username]')} Permanently delete identities; retain project/infrastructure configuration
69
+ ${command('indraq password reset')} Email-OTP reset for Cloud/NPM/Jenkins
70
+
71
+ ${heading('Projects, access and infrastructure')}
72
+ ${command('indraq init [directory]')} Initialize/link a project safely
73
+ ${command('indraq project create [name]')} Register an existing folder without scaffolding
74
+ ${command('indraq project list')} List organization projects + VIEW/WRITE access
75
+ ${command('indraq project link')} Re-link this folder to a Cloud project
76
+ ${command('indraq project status')} Show project infrastructure resources
77
+ ${command('indraq project add user')} Add user + inherit existing project resources (manager/admin)
78
+ ${command('indraq project delete user')} Remove a user from a project (manager/admin)
79
+ ${command('indraq access add user')} Grant selected AWS/NPM/Jenkins/GHCR project resources
80
+ ${command('indraq access delete user')} Revoke project-resource access
81
+ ${command('indraq prebuild')} Reconcile GHCR + Jenkins + Route53 + NPM
82
+ ${command('indraq jenkins create-deployment')} Trigger Jenkins CREATE-DEPLOYMENT only
83
+ ${command('indraq jenkins pipelines')} List all buildable pipelines visible to this Jenkins account
84
+ ${command('indraq jenkins run [job]')} Inspect required/optional parameters and run any pipeline
85
+ ${command('indraq jenkins pipeline:run [job]')} Long-form alias for indraq jenkins run
86
+ ${command('indraq dockerfile create')} Generate Docker artifacts for an existing app
87
+
88
+ ${heading('Mobile build flags')}
89
+ ${command('--output <output>')} One-build output override
90
+ dev-client | development-client | client
91
+ debug | debug-apk
92
+ apk | release-apk
93
+ aab | release-aab
94
+
95
+ ${command('--profile <profile>')} One-build profile override
96
+ fast | clean | full-reset
97
+
98
+ ${command('--verbose')} Verbose Gradle/Jenkins output
99
+ ${command('--dry-run')} Validate and print plan; do not start Jenkins
100
+ ${command('-y, --yes')} Skip final build confirmation
101
+
102
+ ${heading('Configuration home')}
103
+ ${command('indraq configure')}
104
+ Jenkins
105
+ Development → Docker Development deployments
106
+ Production → Docker Production + ALL mobile builds
107
+
108
+ Docker / GHCR
109
+ Development
110
+ Production
111
+
112
+ Mobile App
113
+ Project settings
114
+ Version & versionCode
115
+ Development
116
+ Staging
117
+ Production
118
+
119
+ AWS
120
+ IAM credentials and region
121
+ Default Route53 hosted zone
122
+
123
+ Review current project configuration
124
+ Exit
125
+
126
+ ${heading('Environment routing')}
127
+ Docker Development Development Jenkins
128
+ Docker Production → Production Jenkins
129
+ Mobile Development → Production Jenkins
130
+ Mobile Staging → Production Jenkins
131
+ Mobile Production → Production Jenkins
132
+
133
+ ${heading('Examples')}
134
+ ${command('indraq configure')}
135
+ ${command('indraq deploy:dev')}
136
+ ${command('indraq deploy:prod')}
137
+ ${command('indraq build mobile:dev --dry-run')}
138
+ ${command('indraq build mobile:staging --output apk')}
139
+ ${command('indraq build mobile:prod --output aab --profile clean --verbose')}
140
+
141
+ ${note('Tip: use `indraq help mobile` or `indraq help docker` for focused help.')}
139
142
  `;
140
143
  exports.fullCommandReference = fullCommandReference;
141
- const configureHelp = () => `
142
- ${heading('IndraQ Cloud configuration')}
143
-
144
- ${command('indraq configure')}
145
- ${command('indraq provider configure')} Configure your reusable AWS/NPM/Jenkins/GHCR credentials
146
- ${command('indraq provider list')} Review your reusable providers without exposing secrets
147
- ${command('indraq prebuild --env dev')} Reconcile project infrastructure
148
-
149
- ${heading('Cloud model')}
150
- Reusable credentials belong to the logged-in IndraQ user
151
- AWS credentials + optional default Route53 hosted zone
152
- Nginx Proxy Manager credentials
153
- Jenkins Development credentials
154
- Jenkins Production credentials
155
- GHCR token + selected GitHub account/organization
156
-
157
- Project settings
158
- GHCR image association
159
- Route53 SIMPLE / FAILOVER / WEIGHTED / LATENCY association
160
- NPM reverse-proxy association
161
- Jenkins deployment job association
162
-
163
- ${heading('Local project state')}
164
- .indraq/project.json stores only the IndraQ Cloud project ID after project sync.
165
- Provider credentials are never copied into project-local configuration files.
166
-
167
- ${note('Reusable provider credentials are encrypted per IndraQ user. Prebuild warns about missing configuration, offers to configure it, and reuses existing valid infrastructure instead of recreating it.')}
144
+ const configureHelp = () => `
145
+ ${heading('IndraQ Cloud configuration')}
146
+
147
+ ${command('indraq configure')}
148
+ ${command('indraq provider configure')} Configure your reusable AWS/NPM/Jenkins/GHCR credentials
149
+ ${command('indraq provider list')} Review your reusable providers without exposing secrets
150
+ ${command('indraq prebuild --env dev')} Reconcile project infrastructure
151
+
152
+ ${heading('Cloud model')}
153
+ Reusable credentials belong to the logged-in IndraQ user
154
+ AWS credentials + optional default Route53 hosted zone
155
+ Nginx Proxy Manager credentials
156
+ Jenkins Development credentials
157
+ Jenkins Production credentials
158
+ GHCR token + selected GitHub account/organization
159
+
160
+ Project settings
161
+ GHCR image association
162
+ Route53 SIMPLE / FAILOVER / WEIGHTED / LATENCY association
163
+ NPM reverse-proxy association
164
+ Jenkins deployment job association
165
+
166
+ ${heading('Local project state')}
167
+ .indraq/project.json stores only the IndraQ Cloud project ID after project sync.
168
+ Provider credentials are never copied into project-local configuration files.
169
+
170
+ ${note('Reusable provider credentials are encrypted per IndraQ user. Prebuild warns about missing configuration, offers to configure it, and reuses existing valid infrastructure instead of recreating it.')}
168
171
  `;
169
- const dockerHelp = () => `
170
- ${heading('Docker / GHCR deployment')}
171
-
172
- ${heading('Commands')}
173
- ${command('indraq prebuild --env dev')} Reconcile DNS, proxy, GHCR and Jenkins before deployment
174
- ${command('indraq deploy:dev')} Development
175
- ${command('indraq deploy:development')} Development alias
176
- ${command('indraq deploy:prod')} Production
177
- ${command('indraq deploy:production')} Production alias
178
- ${command('indraq deploy build --env dev')} Long form
179
- ${command('indraq deploy build --env prod')} Long form
180
-
181
- ${heading('Flow')}
182
- Cloud project ID → project resource lookup → temporary cloud-managed GHCR login → Docker build/push → Jenkins deployment
183
-
184
- ${heading('Prebuild reconciliation')}
185
- GHCR image → Jenkins/port validation → Route53 routing record/health checks → NPM reverse proxy
186
- Missing resources produce warnings and an interactive configure-now prompt.
187
-
188
- ${heading('Credentials')}
189
- AWS, NPM, Jenkins and GHCR credentials are reusable Cloud settings owned by the logged-in user.
190
- GHCR Docker authentication uses an isolated temporary Docker config and is removed after the operation.
172
+ const dockerHelp = () => `
173
+ ${heading('Docker / GHCR deployment')}
174
+
175
+ ${heading('Commands')}
176
+ ${command('indraq prebuild --env dev')} Reconcile DNS, proxy, GHCR and Jenkins before deployment
177
+ ${command('indraq deploy:dev')} Development
178
+ ${command('indraq deploy:development')} Development alias
179
+ ${command('indraq deploy:prod')} Production
180
+ ${command('indraq deploy:production')} Production alias
181
+ ${command('indraq deploy build --env dev')} Long form
182
+ ${command('indraq deploy build --env prod')} Long form
183
+
184
+ ${heading('Flow')}
185
+ Cloud project ID → project resource lookup → temporary cloud-managed GHCR login → Docker build/push → Jenkins deployment
186
+
187
+ ${heading('Prebuild reconciliation')}
188
+ GHCR image → Jenkins/port validation → Route53 routing record/health checks → NPM reverse proxy
189
+ Missing resources produce warnings and an interactive configure-now prompt.
190
+
191
+ ${heading('Credentials')}
192
+ AWS, NPM, Jenkins and GHCR credentials are reusable Cloud settings owned by the logged-in user.
193
+ GHCR Docker authentication uses an isolated temporary Docker config and is removed after the operation.
191
194
  `;
192
- const mobileHelp = () => `
193
- ${heading('Mobile Android builds')}
194
-
195
- ${heading('Commands')}
196
- ${command('indraq build mobile:dev')} Development
197
- ${command('indraq build mobile:development')} Development alias
198
- ${command('indraq build mobile:staging')} Staging
199
- ${command('indraq build mobile:prod')} Production
200
- ${command('indraq build mobile:production')} Production alias
201
-
202
- ${heading('Flags')}
203
- ${command('--output <output>')} dev-client | debug-apk | apk | aab
204
- ${command('--profile <profile>')} fast | clean | full-reset
205
- ${command('--verbose')} Verbose Gradle/Jenkins output
206
- ${command('--dry-run')} Validate only; do not upload/build
207
- ${command('-y, --yes')} Skip final confirmation
208
-
209
- ${heading('Allowed build matrix')}
210
- Expo / Development → Development Client
211
- Expo / Staging → Release APK or Release AAB
212
- Expo / Production → Release APK or Release AAB
213
- React Native / Development → Debug APK
214
- React Native / Staging → Release APK or Release AAB
215
- React Native / Production → Release APK or Release AAB
216
-
217
- ${heading('Jenkins')}
218
- ALL mobile environments use Production Jenkins.
219
- Jenkins job: Mobile app Cli build
220
-
221
- ${heading('Versioning')}
222
- Android Version and versionCode are configured through:
223
- ${command('indraq configure')} → Mobile App → Version & versionCode
224
-
225
- ${heading('Examples')}
226
- ${command('indraq build mobile:dev --dry-run')}
227
- ${command('indraq build mobile:staging --output apk')}
228
- ${command('indraq build mobile:prod --output aab --profile clean --verbose --yes')}
195
+ const mobileHelp = () => `
196
+ ${heading('Mobile Android builds')}
197
+
198
+ ${heading('Commands')}
199
+ ${command('indraq build mobile:dev')} Development
200
+ ${command('indraq build mobile:development')} Development alias
201
+ ${command('indraq build mobile:staging')} Staging
202
+ ${command('indraq build mobile:prod')} Production
203
+ ${command('indraq build mobile:production')} Production alias
204
+
205
+ ${heading('Flags')}
206
+ ${command('--output <output>')} dev-client | debug-apk | apk | aab
207
+ ${command('--profile <profile>')} fast | clean | full-reset
208
+ ${command('--verbose')} Verbose Gradle/Jenkins output
209
+ ${command('--dry-run')} Validate only; do not upload/build
210
+ ${command('-y, --yes')} Skip final confirmation
211
+
212
+ ${heading('Allowed build matrix')}
213
+ Expo / Development → Development Client
214
+ Expo / Staging → Release APK or Release AAB
215
+ Expo / Production → Release APK or Release AAB
216
+ React Native / Development → Debug APK
217
+ React Native / Staging → Release APK or Release AAB
218
+ React Native / Production → Release APK or Release AAB
219
+
220
+ ${heading('Jenkins')}
221
+ ALL mobile environments use Production Jenkins.
222
+ Jenkins job: Mobile app Cli build
223
+
224
+ ${heading('Versioning')}
225
+ Android Version and versionCode are configured through:
226
+ ${command('indraq configure')} → Mobile App → Version & versionCode
227
+
228
+ ${heading('Examples')}
229
+ ${command('indraq build mobile:dev --dry-run')}
230
+ ${command('indraq build mobile:staging --output apk')}
231
+ ${command('indraq build mobile:prod --output aab --profile clean --verbose --yes')}
229
232
  `;
230
- const doctorHelp = () => `
231
- ${heading('IndraQ doctor')}
232
-
233
- ${command('indraq doctor')}
234
-
235
- Checks:
236
- • Node.js version
237
- • Java availability
238
- • Git availability
239
- • tar availability
240
- • Windows command-resolution order
241
- • whether another file/app is shadowing the indraq command
233
+ const doctorHelp = () => `
234
+ ${heading('IndraQ doctor')}
235
+
236
+ ${command('indraq doctor')}
237
+
238
+ Checks:
239
+ • Node.js version
240
+ • Java availability
241
+ • Git availability
242
+ • tar availability
243
+ • Windows command-resolution order
244
+ • whether another file/app is shadowing the indraq command
242
245
  `;
243
- const awsHelp = () => `
244
- ${heading('AWS IAM and Route53')}
245
-
246
- Configure your reusable AWS profile with ${command('indraq provider configure aws')}.
247
- Unified AWS users receive an IndraQ role policy automatically; optional managed-policy mappings can add role-specific AWS permissions.
248
-
249
- ${heading('IAM')}
250
- ${command('indraq iam users')}
251
- ${command('indraq iam user:create alice')}
252
- ${command('indraq iam credentials alice')} Recover your encrypted generated IAM access key
253
- ${command('indraq iam access-key rotate')} Rotate your own key; manager/admin can select users
254
- ${command('indraq iam user:update [alice]')}
255
- ${command('indraq iam user:delete [alice]')}
256
-
257
- ${heading('Route53 health checks')}
258
- ${command('indraq healthcheck list')}
259
- ${command('indraq healthcheck create')} Admin only
260
- ${command('indraq healthcheck delete')} Admin only
261
-
262
- ${heading('Route53')}
263
- ${command('indraq dns zones')}
264
- ${command('indraq dns records --zone <id>')}
265
- ${command('indraq dns create api.example.com --value 203.0.113.10 --ttl 300')}
266
- ${command('indraq dns update api.example.com --value 203.0.113.11 --ttl 300')}
267
- ${command('indraq dns delete api.example.com --value 203.0.113.11 --ttl 300')}
246
+ const awsHelp = () => `
247
+ ${heading('AWS IAM and Route53')}
248
+
249
+ Configure your reusable AWS profile with ${command('indraq provider configure aws')}.
250
+ Unified AWS users receive an IndraQ role policy automatically; optional managed-policy mappings can add role-specific AWS permissions.
251
+
252
+ ${heading('IAM')}
253
+ ${command('indraq iam users')}
254
+ ${command('indraq iam user:create alice')}
255
+ ${command('indraq iam credentials alice')} Recover your encrypted generated IAM access key
256
+ ${command('indraq iam access-key rotate')} Rotate your own key; manager/admin can select users
257
+ ${command('indraq iam user:update [alice]')}
258
+ ${command('indraq iam user:delete [alice]')}
259
+
260
+ ${heading('Route53 health checks')}
261
+ ${command('indraq healthcheck list')}
262
+ ${command('indraq healthcheck create')} Admin only
263
+ ${command('indraq healthcheck delete')} Admin only
264
+
265
+ ${heading('Route53')}
266
+ ${command('indraq dns zones')}
267
+ ${command('indraq dns records --zone <id>')}
268
+ ${command('indraq dns create api.example.com --value 203.0.113.10 --ttl 300')}
269
+ ${command('indraq dns update api.example.com --value 203.0.113.11 --ttl 300')}
270
+ ${command('indraq dns delete api.example.com --value 203.0.113.11 --ttl 300')}
268
271
  `;
269
272
  const helpForTopic = (topic) => {
270
273
  if (topic === 'configure')
@@ -1 +1 @@
1
- {"version":3,"file":"help-content.js","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help-content.js","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,22 @@
1
+ export interface NativeAccessUser {
2
+ id: string;
3
+ email: string;
4
+ name: string;
5
+ role: 'user' | 'manager' | 'admin';
6
+ is_active: boolean;
7
+ }
8
+ interface ProjectResource {
9
+ id: string;
10
+ project_id: string;
11
+ environment: string;
12
+ resource_type: string;
13
+ provider: string;
14
+ external_id?: string | null;
15
+ config: Record<string, any>;
16
+ }
17
+ export declare const syncNativeAccess: (user: NativeAccessUser, services: Set<string>) => Promise<void>;
18
+ export declare const resourceServices: (resources: Array<Pick<ProjectResource, "provider">>) => Set<string>;
1
19
  export declare const addResourceUser: () => Promise<void>;
2
20
  export declare const deleteResourceUser: () => Promise<void>;
21
+ export {};
3
22
  //# sourceMappingURL=access.command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/access/commands/access.command.ts"],"names":[],"mappings":"AA4LA,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,IAAI,CAoBpD,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,IAAI,CAevD,CAAC"}
1
+ {"version":3,"file":"access.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/access/commands/access.command.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,gBAAgB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;CAAE;AAEtI,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAC7F,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1D;AAuKD,eAAO,MAAM,gBAAgB,GAAU,MAAM,gBAAgB,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,KAAG,OAAO,CAAC,IAAI,CAWlG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,WAAW,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,KAAG,GAAG,CAAC,MAAM,CAK/E,CAAC;AAEnB,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,IAAI,CAoBpD,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,IAAI,CAevD,CAAC"}