indraq_cli 1.5.8 → 1.9.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.
Files changed (274) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +1517 -1686
  3. package/cloud-api/.dockerignore +18 -0
  4. package/cloud-api/.env.example +14 -0
  5. package/cloud-api/Dockerfile +19 -0
  6. package/cloud-api/README.md +141 -0
  7. package/cloud-api/package-lock.json +2250 -0
  8. package/cloud-api/package.json +29 -0
  9. package/cloud-api/sql/001_init.sql +8 -0
  10. package/cloud-api/sql/002_user_providers_and_project_resources.sql +40 -0
  11. package/cloud-api/sql/003_environment_infrastructure.sql +19 -0
  12. package/cloud-api/sql/004_managed_aws_credentials.sql +20 -0
  13. package/cloud-api/sql/005_project_members_and_resource_grants.sql +22 -0
  14. package/cloud-api/sql/006_catalog_identity_password_security.sql +96 -0
  15. package/cloud-api/sql/007_aws_access_key_rotation.sql +16 -0
  16. package/cloud-api/src/index.ts +1254 -0
  17. package/cloud-api/tsconfig.json +18 -0
  18. package/dist/cli/create-program.d.ts.map +1 -1
  19. package/dist/cli/create-program.js +21 -3
  20. package/dist/cli/create-program.js.map +1 -1
  21. package/dist/cli/doctor.command.d.ts +1 -1
  22. package/dist/cli/doctor.command.d.ts.map +1 -1
  23. package/dist/cli/doctor.command.js +70 -12
  24. package/dist/cli/doctor.command.js.map +1 -1
  25. package/dist/cli/help-content.d.ts +1 -1
  26. package/dist/cli/help-content.d.ts.map +1 -1
  27. package/dist/cli/help-content.js +256 -177
  28. package/dist/cli/help-content.js.map +1 -1
  29. package/dist/modules/access/commands/access.command.d.ts +3 -0
  30. package/dist/modules/access/commands/access.command.d.ts.map +1 -0
  31. package/dist/modules/access/commands/access.command.js +226 -0
  32. package/dist/modules/access/commands/access.command.js.map +1 -0
  33. package/dist/modules/access/index.d.ts +3 -0
  34. package/dist/modules/access/index.d.ts.map +1 -0
  35. package/dist/modules/access/index.js +11 -0
  36. package/dist/modules/access/index.js.map +1 -0
  37. package/dist/modules/aws/commands/configure-aws.command.d.ts +2 -0
  38. package/dist/modules/aws/commands/configure-aws.command.d.ts.map +1 -0
  39. package/dist/modules/aws/commands/configure-aws.command.js +7 -0
  40. package/dist/modules/aws/commands/configure-aws.command.js.map +1 -0
  41. package/dist/modules/aws/commands/dns.command.d.ts +22 -0
  42. package/dist/modules/aws/commands/dns.command.d.ts.map +1 -0
  43. package/dist/modules/aws/commands/dns.command.js +229 -0
  44. package/dist/modules/aws/commands/dns.command.js.map +1 -0
  45. package/dist/modules/aws/commands/healthcheck.command.d.ts +22 -0
  46. package/dist/modules/aws/commands/healthcheck.command.d.ts.map +1 -0
  47. package/dist/modules/aws/commands/healthcheck.command.js +125 -0
  48. package/dist/modules/aws/commands/healthcheck.command.js.map +1 -0
  49. package/dist/modules/aws/commands/iam.command.d.ts +24 -0
  50. package/dist/modules/aws/commands/iam.command.d.ts.map +1 -0
  51. package/dist/modules/aws/commands/iam.command.js +219 -0
  52. package/dist/modules/aws/commands/iam.command.js.map +1 -0
  53. package/dist/modules/aws/config/aws-config.d.ts +23 -0
  54. package/dist/modules/aws/config/aws-config.d.ts.map +1 -0
  55. package/dist/modules/aws/config/aws-config.js +72 -0
  56. package/dist/modules/aws/config/aws-config.js.map +1 -0
  57. package/dist/modules/aws/index.d.ts +3 -0
  58. package/dist/modules/aws/index.d.ts.map +1 -0
  59. package/dist/modules/aws/index.js +54 -0
  60. package/dist/modules/aws/index.js.map +1 -0
  61. package/dist/modules/aws/services/aws-clients.d.ts +9 -0
  62. package/dist/modules/aws/services/aws-clients.d.ts.map +1 -0
  63. package/dist/modules/aws/services/aws-clients.js +43 -0
  64. package/dist/modules/aws/services/aws-clients.js.map +1 -0
  65. package/dist/modules/aws/services/route53-lookup.service.d.ts +9 -0
  66. package/dist/modules/aws/services/route53-lookup.service.d.ts.map +1 -0
  67. package/dist/modules/aws/services/route53-lookup.service.js +57 -0
  68. package/dist/modules/aws/services/route53-lookup.service.js.map +1 -0
  69. package/dist/modules/cloud/commands/cloud.command.d.ts +38 -0
  70. package/dist/modules/cloud/commands/cloud.command.d.ts.map +1 -0
  71. package/dist/modules/cloud/commands/cloud.command.js +443 -0
  72. package/dist/modules/cloud/commands/cloud.command.js.map +1 -0
  73. package/dist/modules/cloud/commands/credentials.command.d.ts +5 -0
  74. package/dist/modules/cloud/commands/credentials.command.d.ts.map +1 -0
  75. package/dist/modules/cloud/commands/credentials.command.js +25 -0
  76. package/dist/modules/cloud/commands/credentials.command.js.map +1 -0
  77. package/dist/modules/cloud/commands/environment.command.d.ts +6 -0
  78. package/dist/modules/cloud/commands/environment.command.d.ts.map +1 -0
  79. package/dist/modules/cloud/commands/environment.command.js +75 -0
  80. package/dist/modules/cloud/commands/environment.command.js.map +1 -0
  81. package/dist/modules/cloud/commands/provider.command.d.ts +3 -0
  82. package/dist/modules/cloud/commands/provider.command.d.ts.map +1 -0
  83. package/dist/modules/cloud/commands/provider.command.js +193 -0
  84. package/dist/modules/cloud/commands/provider.command.js.map +1 -0
  85. package/dist/modules/cloud/config/cloud-config.d.ts +19 -0
  86. package/dist/modules/cloud/config/cloud-config.d.ts.map +1 -0
  87. package/dist/modules/cloud/config/cloud-config.js +53 -0
  88. package/dist/modules/cloud/config/cloud-config.js.map +1 -0
  89. package/dist/modules/cloud/index.d.ts +3 -0
  90. package/dist/modules/cloud/index.d.ts.map +1 -0
  91. package/dist/modules/cloud/index.js +62 -0
  92. package/dist/modules/cloud/index.js.map +1 -0
  93. package/dist/modules/cloud/services/cloud-api.service.d.ts +17 -0
  94. package/dist/modules/cloud/services/cloud-api.service.d.ts.map +1 -0
  95. package/dist/modules/cloud/services/cloud-api.service.js +61 -0
  96. package/dist/modules/cloud/services/cloud-api.service.js.map +1 -0
  97. package/dist/modules/cloud/services/cloud-aws.service.d.ts +23 -0
  98. package/dist/modules/cloud/services/cloud-aws.service.d.ts.map +1 -0
  99. package/dist/modules/cloud/services/cloud-aws.service.js +26 -0
  100. package/dist/modules/cloud/services/cloud-aws.service.js.map +1 -0
  101. package/dist/modules/cloud/services/cloud-ghcr.service.d.ts +12 -0
  102. package/dist/modules/cloud/services/cloud-ghcr.service.d.ts.map +1 -0
  103. package/dist/modules/cloud/services/cloud-ghcr.service.js +31 -0
  104. package/dist/modules/cloud/services/cloud-ghcr.service.js.map +1 -0
  105. package/dist/modules/cloud/services/cloud-jenkins.service.d.ts +29 -0
  106. package/dist/modules/cloud/services/cloud-jenkins.service.d.ts.map +1 -0
  107. package/dist/modules/cloud/services/cloud-jenkins.service.js +236 -0
  108. package/dist/modules/cloud/services/cloud-jenkins.service.js.map +1 -0
  109. package/dist/modules/cloud/services/cloud-npm.service.d.ts +3 -0
  110. package/dist/modules/cloud/services/cloud-npm.service.d.ts.map +1 -0
  111. package/dist/modules/cloud/services/cloud-npm.service.js +13 -0
  112. package/dist/modules/cloud/services/cloud-npm.service.js.map +1 -0
  113. package/dist/modules/cloud/services/environment.service.d.ts +25 -0
  114. package/dist/modules/cloud/services/environment.service.d.ts.map +1 -0
  115. package/dist/modules/cloud/services/environment.service.js +21 -0
  116. package/dist/modules/cloud/services/environment.service.js.map +1 -0
  117. package/dist/modules/cloud/services/managed-aws-credential.service.d.ts +36 -0
  118. package/dist/modules/cloud/services/managed-aws-credential.service.d.ts.map +1 -0
  119. package/dist/modules/cloud/services/managed-aws-credential.service.js +35 -0
  120. package/dist/modules/cloud/services/managed-aws-credential.service.js.map +1 -0
  121. package/dist/modules/cloud/services/project-cloud.service.d.ts +28 -0
  122. package/dist/modules/cloud/services/project-cloud.service.d.ts.map +1 -0
  123. package/dist/modules/cloud/services/project-cloud.service.js +50 -0
  124. package/dist/modules/cloud/services/project-cloud.service.js.map +1 -0
  125. package/dist/modules/cloud/services/user-provider.service.d.ts +17 -0
  126. package/dist/modules/cloud/services/user-provider.service.d.ts.map +1 -0
  127. package/dist/modules/cloud/services/user-provider.service.js +25 -0
  128. package/dist/modules/cloud/services/user-provider.service.js.map +1 -0
  129. package/dist/modules/configure/configure.command.d.ts.map +1 -1
  130. package/dist/modules/configure/configure.command.js +17 -94
  131. package/dist/modules/configure/configure.command.js.map +1 -1
  132. package/dist/modules/deploy/commands/build.command.d.ts +1 -2
  133. package/dist/modules/deploy/commands/build.command.d.ts.map +1 -1
  134. package/dist/modules/deploy/commands/build.command.js +82 -124
  135. package/dist/modules/deploy/commands/build.command.js.map +1 -1
  136. package/dist/modules/deploy/index.d.ts.map +1 -1
  137. package/dist/modules/deploy/index.js +10 -30
  138. package/dist/modules/deploy/index.js.map +1 -1
  139. package/dist/modules/deploy/services/docker.service.d.ts +6 -3
  140. package/dist/modules/deploy/services/docker.service.d.ts.map +1 -1
  141. package/dist/modules/deploy/services/docker.service.js +8 -11
  142. package/dist/modules/deploy/services/docker.service.js.map +1 -1
  143. package/dist/modules/dockerfile/commands/create-dockerfile.command.d.ts +13 -0
  144. package/dist/modules/dockerfile/commands/create-dockerfile.command.d.ts.map +1 -0
  145. package/dist/modules/dockerfile/commands/create-dockerfile.command.js +39 -0
  146. package/dist/modules/dockerfile/commands/create-dockerfile.command.js.map +1 -0
  147. package/dist/modules/dockerfile/index.d.ts +3 -0
  148. package/dist/modules/dockerfile/index.d.ts.map +1 -0
  149. package/dist/modules/dockerfile/index.js +7 -0
  150. package/dist/modules/dockerfile/index.js.map +1 -0
  151. package/dist/modules/jenkins/commands/admin.command.d.ts +22 -0
  152. package/dist/modules/jenkins/commands/admin.command.d.ts.map +1 -0
  153. package/dist/modules/jenkins/commands/admin.command.js +128 -0
  154. package/dist/modules/jenkins/commands/admin.command.js.map +1 -0
  155. package/dist/modules/jenkins/commands/create-deployment.command.d.ts +13 -0
  156. package/dist/modules/jenkins/commands/create-deployment.command.d.ts.map +1 -0
  157. package/dist/modules/jenkins/commands/create-deployment.command.js +115 -0
  158. package/dist/modules/jenkins/commands/create-deployment.command.js.map +1 -0
  159. package/dist/modules/jenkins/index.d.ts +3 -0
  160. package/dist/modules/jenkins/index.d.ts.map +1 -0
  161. package/dist/modules/jenkins/index.js +28 -0
  162. package/dist/modules/jenkins/index.js.map +1 -0
  163. package/dist/modules/mobile/commands/build-mobile.command.d.ts.map +1 -1
  164. package/dist/modules/mobile/commands/build-mobile.command.js +4 -22
  165. package/dist/modules/mobile/commands/build-mobile.command.js.map +1 -1
  166. package/dist/modules/mobile/commands/configure-mobile.command.d.ts +1 -1
  167. package/dist/modules/mobile/commands/configure-mobile.command.d.ts.map +1 -1
  168. package/dist/modules/mobile/commands/configure-mobile.command.js +11 -9
  169. package/dist/modules/mobile/commands/configure-mobile.command.js.map +1 -1
  170. package/dist/modules/mobile/services/jenkins-mobile.service.d.ts +2 -2
  171. package/dist/modules/mobile/services/jenkins-mobile.service.d.ts.map +1 -1
  172. package/dist/modules/mobile/services/jenkins-mobile.service.js +1 -2
  173. package/dist/modules/mobile/services/jenkins-mobile.service.js.map +1 -1
  174. package/dist/modules/mobile/services/project.service.d.ts +2 -2
  175. package/dist/modules/mobile/services/project.service.d.ts.map +1 -1
  176. package/dist/modules/prebuild/commands/prebuild.command.d.ts +13 -0
  177. package/dist/modules/prebuild/commands/prebuild.command.d.ts.map +1 -0
  178. package/dist/modules/prebuild/commands/prebuild.command.js +507 -0
  179. package/dist/modules/prebuild/commands/prebuild.command.js.map +1 -0
  180. package/dist/modules/prebuild/index.d.ts +3 -0
  181. package/dist/modules/prebuild/index.d.ts.map +1 -0
  182. package/dist/modules/prebuild/index.js +19 -0
  183. package/dist/modules/prebuild/index.js.map +1 -0
  184. package/dist/modules/proxy/commands/configure-proxy.command.d.ts +2 -0
  185. package/dist/modules/proxy/commands/configure-proxy.command.d.ts.map +1 -0
  186. package/dist/modules/proxy/commands/configure-proxy.command.js +7 -0
  187. package/dist/modules/proxy/commands/configure-proxy.command.js.map +1 -0
  188. package/dist/modules/proxy/commands/npm-user.command.d.ts +28 -0
  189. package/dist/modules/proxy/commands/npm-user.command.d.ts.map +1 -0
  190. package/dist/modules/proxy/commands/npm-user.command.js +77 -0
  191. package/dist/modules/proxy/commands/npm-user.command.js.map +1 -0
  192. package/dist/modules/proxy/commands/proxy.command.d.ts +22 -0
  193. package/dist/modules/proxy/commands/proxy.command.d.ts.map +1 -0
  194. package/dist/modules/proxy/commands/proxy.command.js +173 -0
  195. package/dist/modules/proxy/commands/proxy.command.js.map +1 -0
  196. package/dist/modules/proxy/config/npm-config.d.ts +17 -0
  197. package/dist/modules/proxy/config/npm-config.d.ts.map +1 -0
  198. package/dist/modules/proxy/config/npm-config.js +50 -0
  199. package/dist/modules/proxy/config/npm-config.js.map +1 -0
  200. package/dist/modules/proxy/index.d.ts +3 -0
  201. package/dist/modules/proxy/index.d.ts.map +1 -0
  202. package/dist/modules/proxy/index.js +21 -0
  203. package/dist/modules/proxy/index.js.map +1 -0
  204. package/dist/modules/proxy/services/npm-api.service.d.ts +76 -0
  205. package/dist/modules/proxy/services/npm-api.service.d.ts.map +1 -0
  206. package/dist/modules/proxy/services/npm-api.service.js +82 -0
  207. package/dist/modules/proxy/services/npm-api.service.js.map +1 -0
  208. package/dist/modules/scaffold/commands/init.command.d.ts +6 -0
  209. package/dist/modules/scaffold/commands/init.command.d.ts.map +1 -0
  210. package/dist/modules/scaffold/commands/init.command.js +193 -0
  211. package/dist/modules/scaffold/commands/init.command.js.map +1 -0
  212. package/dist/modules/scaffold/config/project-metadata.d.ts +9 -0
  213. package/dist/modules/scaffold/config/project-metadata.d.ts.map +1 -0
  214. package/dist/modules/scaffold/config/project-metadata.js +75 -0
  215. package/dist/modules/scaffold/config/project-metadata.js.map +1 -0
  216. package/dist/modules/scaffold/index.d.ts +3 -0
  217. package/dist/modules/scaffold/index.d.ts.map +1 -0
  218. package/dist/modules/scaffold/index.js +7 -0
  219. package/dist/modules/scaffold/index.js.map +1 -0
  220. package/dist/modules/scaffold/services/docker-template.service.d.ts +3 -0
  221. package/dist/modules/scaffold/services/docker-template.service.d.ts.map +1 -0
  222. package/dist/modules/scaffold/services/docker-template.service.js +131 -0
  223. package/dist/modules/scaffold/services/docker-template.service.js.map +1 -0
  224. package/dist/modules/scaffold/services/filesystem.service.d.ts +7 -0
  225. package/dist/modules/scaffold/services/filesystem.service.d.ts.map +1 -0
  226. package/dist/modules/scaffold/services/filesystem.service.js +97 -0
  227. package/dist/modules/scaffold/services/filesystem.service.js.map +1 -0
  228. package/dist/modules/scaffold/services/project-template.service.d.ts +4 -0
  229. package/dist/modules/scaffold/services/project-template.service.d.ts.map +1 -0
  230. package/dist/modules/scaffold/services/project-template.service.js +82 -0
  231. package/dist/modules/scaffold/services/project-template.service.js.map +1 -0
  232. package/dist/modules/scaffold/types.d.ts +65 -0
  233. package/dist/modules/scaffold/types.d.ts.map +1 -0
  234. package/dist/modules/scaffold/types.js +3 -0
  235. package/dist/modules/scaffold/types.js.map +1 -0
  236. package/dist/modules/users/commands/user.command.d.ts +22 -0
  237. package/dist/modules/users/commands/user.command.d.ts.map +1 -0
  238. package/dist/modules/users/commands/user.command.js +350 -0
  239. package/dist/modules/users/commands/user.command.js.map +1 -0
  240. package/dist/modules/users/index.d.ts +3 -0
  241. package/dist/modules/users/index.d.ts.map +1 -0
  242. package/dist/modules/users/index.js +34 -0
  243. package/dist/modules/users/index.js.map +1 -0
  244. package/dist/modules/users/providers/aws-user.provider.d.ts +11 -0
  245. package/dist/modules/users/providers/aws-user.provider.d.ts.map +1 -0
  246. package/dist/modules/users/providers/aws-user.provider.js +129 -0
  247. package/dist/modules/users/providers/aws-user.provider.js.map +1 -0
  248. package/dist/modules/users/providers/jenkins-user.provider.d.ts +6 -0
  249. package/dist/modules/users/providers/jenkins-user.provider.d.ts.map +1 -0
  250. package/dist/modules/users/providers/jenkins-user.provider.js +97 -0
  251. package/dist/modules/users/providers/jenkins-user.provider.js.map +1 -0
  252. package/dist/modules/users/providers/npm-user.provider.d.ts +4 -0
  253. package/dist/modules/users/providers/npm-user.provider.d.ts.map +1 -0
  254. package/dist/modules/users/providers/npm-user.provider.js +47 -0
  255. package/dist/modules/users/providers/npm-user.provider.js.map +1 -0
  256. package/dist/shared/config/config-files.d.ts.map +1 -1
  257. package/dist/shared/config/config-files.js +14 -10
  258. package/dist/shared/config/config-files.js.map +1 -1
  259. package/dist/shared/github/github-api.service.d.ts.map +1 -1
  260. package/dist/shared/github/github-api.service.js +25 -37
  261. package/dist/shared/github/github-api.service.js.map +1 -1
  262. package/dist/shared/jenkins/jenkins.service.d.ts +2 -0
  263. package/dist/shared/jenkins/jenkins.service.d.ts.map +1 -1
  264. package/dist/shared/jenkins/jenkins.service.js +30 -1
  265. package/dist/shared/jenkins/jenkins.service.js.map +1 -1
  266. package/dist/shared/listing.d.ts +9 -0
  267. package/dist/shared/listing.d.ts.map +1 -0
  268. package/dist/shared/listing.js +29 -0
  269. package/dist/shared/listing.js.map +1 -0
  270. package/docs/ARCHITECTURE.md +29 -0
  271. package/docs/CREATE-DEPLOYMENT-reference.groovy +1105 -0
  272. package/package.json +76 -59
  273. package/templates/jenkins/CREATE-DEPLOYMENT.groovy +1105 -0
  274. package/templates/jenkins/Jenkinsfile-Mobile-App +759 -759
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.preflightJenkinsUserManagement = exports.deleteJenkinsUser = exports.updateJenkinsUser = exports.createJenkinsUser = exports.buildJenkinsUserScript = void 0;
4
+ const cloud_jenkins_service_1 = require("../../cloud/services/cloud-jenkins.service");
5
+ const user_provider_service_1 = require("../../cloud/services/user-provider.service");
6
+ const literal = (value) => JSON.stringify(value);
7
+ const hash = (value) => Math.abs([...value].reduce((total, char) => ((total * 31) + char.charCodeAt(0)) | 0, 0));
8
+ const imports = `import hudson.security.HudsonPrivateSecurityRealm
9
+ import com.michelin.cio.hudson.plugins.rolestrategy.AuthorizationType
10
+ import com.michelin.cio.hudson.plugins.rolestrategy.PermissionEntry
11
+ import com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy
12
+ import com.michelin.cio.hudson.plugins.rolestrategy.Role
13
+ import com.synopsys.arc.jenkins.plugins.rolestrategy.RoleType
14
+ import hudson.model.Item
15
+ import hudson.security.Permission
16
+ import jenkins.model.Jenkins`;
17
+ const seedRole = (username) => `
18
+ def strategy = Jenkins.get().authorizationStrategy
19
+ if (!(strategy instanceof RoleBasedAuthorizationStrategy)) throw new IllegalStateException('Role Strategy plugin must be the active Jenkins authorization strategy')
20
+ def itemMap = strategy.getRoleMap(RoleType.Project)
21
+ def seedRole = itemMap.getRole('indraq-create-deployment')
22
+ if (seedRole == null) {
23
+ Set<Permission> seedPermissions = new HashSet<Permission>()
24
+ seedPermissions.add(Item.DISCOVER)
25
+ seedPermissions.add(Item.READ)
26
+ seedPermissions.add(Item.BUILD)
27
+ seedPermissions.add(Item.CANCEL)
28
+ seedRole = new Role('indraq-create-deployment', '^CREATE-DEPLOYMENT$', seedPermissions)
29
+ itemMap.addRole(seedRole)
30
+ }
31
+ itemMap.assignRole(seedRole, new PermissionEntry(AuthorizationType.USER, ${literal(username)}))
32
+ Jenkins.get().save()`;
33
+ const globalRoleBody = (username, roles) => roles.length ? `${roles.map((role) => `def role_${hash(role)} = strategy.getRoleMap(RoleType.Global).getRole(${literal(role)})
34
+ if (role_${hash(role)} == null) throw new IllegalArgumentException('Unknown Jenkins global role: ' + ${literal(role)})
35
+ strategy.getRoleMap(RoleType.Global).assignRole(role_${hash(role)}, new PermissionEntry(AuthorizationType.USER, ${literal(username)}))`).join('\n')}
36
+ Jenkins.get().save()` : '';
37
+ const buildJenkinsUserScript = (operation, username, password, roles = []) => {
38
+ if (operation === 'delete')
39
+ return `${imports}
40
+ def user = hudson.model.User.getById(${literal(username)}, false)
41
+ if (user == null) throw new IllegalStateException('Jenkins user not found')
42
+ def strategy = Jenkins.get().authorizationStrategy
43
+ if (strategy instanceof RoleBasedAuthorizationStrategy) {
44
+ def itemMap = strategy.getRoleMap(RoleType.Project)
45
+ def seed = itemMap.getRole('indraq-create-deployment')
46
+ if (seed != null) itemMap.unAssignRole(seed, new PermissionEntry(AuthorizationType.USER, ${literal(username)}))
47
+ Jenkins.get().save()
48
+ }
49
+ user.delete()
50
+ println 'deleted'`;
51
+ const roleSetup = roles.length ? `def strategy = Jenkins.get().authorizationStrategy
52
+ if (!(strategy instanceof RoleBasedAuthorizationStrategy)) throw new IllegalStateException('Role Strategy plugin is required for Jenkins role assignment')
53
+ ${globalRoleBody(username, roles)}` : '';
54
+ if (operation === 'create')
55
+ return `${imports}
56
+ def realm = Jenkins.get().securityRealm
57
+ if (!(realm instanceof HudsonPrivateSecurityRealm)) throw new IllegalStateException('Jenkins must use its private security realm to create users')
58
+ if (hudson.model.User.getById(${literal(username)}, false) != null) throw new IllegalStateException('Jenkins user already exists')
59
+ realm.createAccount(${literal(username)}, ${literal(password || '')})
60
+ ${seedRole(username)}
61
+ ${roleSetup}
62
+ println 'created'`;
63
+ return `${imports}
64
+ def user = hudson.model.User.getById(${literal(username)}, false)
65
+ if (user == null) throw new IllegalStateException('Jenkins user not found')
66
+ ${password ? `user.addProperty(HudsonPrivateSecurityRealm.Details.fromPlainPassword(${literal(password)})); user.save()` : ''}
67
+ ${seedRole(username)}
68
+ ${roleSetup}
69
+ println 'updated'`;
70
+ };
71
+ exports.buildJenkinsUserScript = buildJenkinsUserScript;
72
+ const connection = async () => {
73
+ const providers = await (0, user_provider_service_1.listUserProviders)();
74
+ const environment = providers.some((p) => p.provider === 'jenkins-prod' && p.has_secret) ? 'prod' : 'dev';
75
+ return (0, cloud_jenkins_service_1.getCloudJenkins)(environment, 'Manage Jenkins user from unified CLI');
76
+ };
77
+ const createJenkinsUser = async (username, password, roles) => { await (0, cloud_jenkins_service_1.runCloudJenkinsGroovy)(await connection(), (0, exports.buildJenkinsUserScript)('create', username, password, roles)); };
78
+ exports.createJenkinsUser = createJenkinsUser;
79
+ const updateJenkinsUser = async (username, password, roles) => { await (0, cloud_jenkins_service_1.runCloudJenkinsGroovy)(await connection(), (0, exports.buildJenkinsUserScript)('update', username, password, roles)); };
80
+ exports.updateJenkinsUser = updateJenkinsUser;
81
+ const deleteJenkinsUser = async (username) => { await (0, cloud_jenkins_service_1.runCloudJenkinsGroovy)(await connection(), (0, exports.buildJenkinsUserScript)('delete', username)); };
82
+ exports.deleteJenkinsUser = deleteJenkinsUser;
83
+ const preflightJenkinsUserManagement = async (roles = []) => {
84
+ const roleCheck = roles.length ? `${roles.map((role) => `if (strategy.getRoleMap(RoleType.Global).getRole(${literal(role)}) == null) throw new IllegalArgumentException('Unknown Jenkins global role: ' + ${literal(role)})`).join('\n')}` : '';
85
+ const script = `${imports}
86
+ def realm = Jenkins.get().securityRealm
87
+ if (!(realm instanceof HudsonPrivateSecurityRealm)) throw new IllegalStateException('Jenkins must use its private security realm to create users')
88
+ def strategy = Jenkins.get().authorizationStrategy
89
+ if (!(strategy instanceof RoleBasedAuthorizationStrategy)) throw new IllegalStateException('Role Strategy plugin must be the active Jenkins authorization strategy')
90
+ ${roleCheck}
91
+ println 'indraq-user-management-ready'`;
92
+ const output = await (0, cloud_jenkins_service_1.runCloudJenkinsGroovy)(await connection(), script);
93
+ if (!output.includes('indraq-user-management-ready'))
94
+ throw new Error('Jenkins Groovy administration preflight did not return the expected response.');
95
+ };
96
+ exports.preflightJenkinsUserManagement = preflightJenkinsUserManagement;
97
+ //# sourceMappingURL=jenkins-user.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jenkins-user.provider.js","sourceRoot":"","sources":["../../../../src/modules/users/providers/jenkins-user.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const createNpmUnifiedUser: (username: string, email: string, password: string, role: string) => Promise<void>;
2
+ export declare const updateNpmUnifiedUser: (identity: string, email: string | undefined, password: string | undefined, role: string | undefined) => Promise<void>;
3
+ export declare const deleteNpmUnifiedUser: (identity: string) => Promise<void>;
4
+ //# sourceMappingURL=npm-user.provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-user.provider.d.ts","sourceRoot":"","sources":["../../../../src/modules/users/providers/npm-user.provider.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,oBAAoB,GAAU,UAAU,MAAM,EAAE,OAAO,MAAM,EAAE,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAIxH,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,UAAU,MAAM,EAAE,OAAO,MAAM,GAAG,SAAS,EAAE,UAAU,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,IAAI,CAO5J,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAIzE,CAAC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteNpmUnifiedUser = exports.updateNpmUnifiedUser = exports.createNpmUnifiedUser = void 0;
4
+ const cloud_npm_service_1 = require("../../cloud/services/cloud-npm.service");
5
+ const lookup = async (api, identity) => {
6
+ const user = (await api.listUsers()).find((u) => u.email.toLowerCase() === identity.toLowerCase() || u.nickname.toLowerCase() === identity.toLowerCase());
7
+ if (!user)
8
+ throw new Error('NPM user not found.');
9
+ return user;
10
+ };
11
+ // visibility=user is NPM's native "created items only" model. A normal IndraQ
12
+ // user can create/manage their own proxy hosts and certificates without seeing
13
+ // every host owned by other NPM users.
14
+ const standardPermissions = {
15
+ visibility: 'user',
16
+ proxy_hosts: 'manage',
17
+ certificates: 'manage',
18
+ access_lists: 'view',
19
+ redirection_hosts: 'hidden',
20
+ dead_hosts: 'hidden',
21
+ streams: 'hidden'
22
+ };
23
+ const createNpmUnifiedUser = async (username, email, password, role) => {
24
+ const api = await (0, cloud_npm_service_1.createCloudNpmApi)('Create Nginx Proxy Manager user');
25
+ const created = await api.createUser({ name: username, nickname: username, email, password, roles: [role], is_disabled: false });
26
+ if (role !== 'admin')
27
+ await api.updateUserPermissions(created.id, standardPermissions);
28
+ };
29
+ exports.createNpmUnifiedUser = createNpmUnifiedUser;
30
+ const updateNpmUnifiedUser = async (identity, email, password, role) => {
31
+ const api = await (0, cloud_npm_service_1.createCloudNpmApi)('Update Nginx Proxy Manager user');
32
+ const user = await lookup(api, identity);
33
+ const effectiveRole = role || user.roles[0] || 'user';
34
+ await api.updateUser(user.id, { name: user.name, nickname: user.nickname, email: email || user.email, roles: [effectiveRole], is_disabled: user.is_disabled });
35
+ if (password)
36
+ await api.updateUserPassword(user.id, password);
37
+ if (effectiveRole !== 'admin')
38
+ await api.updateUserPermissions(user.id, standardPermissions);
39
+ };
40
+ exports.updateNpmUnifiedUser = updateNpmUnifiedUser;
41
+ const deleteNpmUnifiedUser = async (identity) => {
42
+ const api = await (0, cloud_npm_service_1.createCloudNpmApi)('Delete Nginx Proxy Manager user');
43
+ const user = await lookup(api, identity);
44
+ await api.deleteUser(user.id);
45
+ };
46
+ exports.deleteNpmUnifiedUser = deleteNpmUnifiedUser;
47
+ //# sourceMappingURL=npm-user.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-user.provider.js","sourceRoot":"","sources":["../../../../src/modules/users/providers/npm-user.provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-files.d.ts","sourceRoot":"","sources":["config-files.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB,QAAO,MAAwC,CAAC;AAErF,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MACX,CAAC;AAwH7C,eAAO,MAAM,2BAA2B,QAAO,MAO9C,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,UAAU,MAAM,KAAG,OAM7D,CAAC"}
1
+ {"version":3,"file":"config-files.d.ts","sourceRoot":"","sources":["../../../src/shared/config/config-files.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB,QAAO,MAAwC,CAAC;AAErF,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MACX,CAAC;AA2H7C,eAAO,MAAM,2BAA2B,QAAO,MAO9C,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,UAAU,MAAM,KAAG,OAM7D,CAAC"}
@@ -11,22 +11,24 @@ exports.getIndraqConfigPath = getIndraqConfigPath;
11
11
  const INDRAQ_LOCAL_GITIGNORE_HEADER = '# IndraQ CLI machine-local files';
12
12
  const INDRAQ_LOCAL_GITIGNORE_RULES = [
13
13
  'jenkins.local.json',
14
+ 'aws.local.json',
15
+ 'npm.local.json',
14
16
  '*.secret',
15
17
  'auth',
16
18
  'jenkins-cli.jar'
17
19
  ];
18
- const ROOT_GITIGNORE_HEADER = '# IndraQ CLI machine-local Jenkins binding';
19
- const ROOT_JENKINS_LOCAL_RULE = '.indraq/jenkins.local.json';
20
+ const ROOT_GITIGNORE_HEADER = '# IndraQ CLI machine-local credentials';
21
+ const ROOT_LOCAL_RULES = ['.indraq/jenkins.local.json', '.indraq/aws.local.json', '.indraq/npm.local.json'];
20
22
  // This was generated by older IndraQ CLI releases. It ignored every file in
21
23
  // .indraq/, which prevented safe project configuration from being shared.
22
24
  const LEGACY_INNER_GITIGNORE = '*\n!.gitignore\n';
23
- const LEGACY_ROOT_SHARED_BLOCK = `# IndraQ CLI shared project configuration
24
- # These files are safe and intentionally shared with the project.
25
- !.indraq/
26
- !.indraq/.gitignore
27
- !.indraq/jenkins.json
28
- !.indraq/docker.json
29
- !.indraq/mobile.json
25
+ const LEGACY_ROOT_SHARED_BLOCK = `# IndraQ CLI shared project configuration
26
+ # These files are safe and intentionally shared with the project.
27
+ !.indraq/
28
+ !.indraq/.gitignore
29
+ !.indraq/jenkins.json
30
+ !.indraq/docker.json
31
+ !.indraq/mobile.json
30
32
  `;
31
33
  const normaliseLines = (content) => content.replace(/\r\n/g, '\n').split('\n');
32
34
  const hasExactRule = (lines, rule) => lines.some((line) => line.trim() === rule);
@@ -54,6 +56,8 @@ const removeKnownLegacyIndraqDirectoryRule = (content) => {
54
56
  const output = [];
55
57
  for (let index = 0; index < lines.length; index += 1) {
56
58
  const line = lines[index];
59
+ if (line === undefined)
60
+ continue;
57
61
  if (line.trim() !== '.indraq/') {
58
62
  output.push(line);
59
63
  continue;
@@ -87,7 +91,7 @@ const ensureRootGitignoreProtectsOnlyLocalJenkinsBinding = () => {
87
91
  // ignore rules are preserved.
88
92
  let next = removeLegacyRootSharedBlock(content);
89
93
  next = removeKnownLegacyIndraqDirectoryRule(next);
90
- next = appendMissingBlock(next, ROOT_GITIGNORE_HEADER, [ROOT_JENKINS_LOCAL_RULE]);
94
+ next = appendMissingBlock(next, ROOT_GITIGNORE_HEADER, ROOT_LOCAL_RULES);
91
95
  if (next === content)
92
96
  return;
93
97
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"config-files.js","sourceRoot":"","sources":["config-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-files.js","sourceRoot":"","sources":["../../../src/shared/config/config-files.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"github-api.service.d.ts","sourceRoot":"","sources":["../../../src/shared/github/github-api.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qBAAqB,EAAE,eAAe,GAAG,QAAQ,GAAG,aAAa,CAAC;CACnE;AAwCD,eAAO,MAAM,iBAAiB,GAAU,MAAM,eAAe,KAAG,OAAO,CAAC,cAAc,CAyCrF,CAAC"}
1
+ {"version":3,"file":"github-api.service.d.ts","sourceRoot":"","sources":["../../../src/shared/github/github-api.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qBAAqB,EAAE,eAAe,GAAG,QAAQ,GAAG,aAAa,CAAC;CACnE;AAgCD,eAAO,MAAM,iBAAiB,GAAU,MAAM,eAAe,KAAG,OAAO,CAAC,cAAc,CAsBrF,CAAC"}
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getGitHubIdentity = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const createGitHubApi = (token) => axios_1.default.create({
9
- baseURL: 'https://api.github.com',
10
- timeout: 10_000,
9
+ baseURL: 'https://api.github.com', timeout: 10_000,
11
10
  headers: {
12
11
  Accept: 'application/vnd.github+json',
13
12
  'X-GitHub-Api-Version': '2022-11-28',
@@ -19,16 +18,21 @@ const listOrganizations = async (api, endpoint) => {
19
18
  const organizations = [];
20
19
  const perPage = 100;
21
20
  for (let page = 1; page <= 10; page += 1) {
22
- const response = await api.get(endpoint, {
23
- params: { per_page: perPage, page }
24
- });
25
- const pageOrganizations = response.data
26
- .map((organization) => organization.login?.trim())
27
- .filter((login) => Boolean(login));
28
- organizations.push(...pageOrganizations);
29
- if (response.data.length < perPage) {
21
+ const response = await api.get(endpoint, { params: { per_page: perPage, page } });
22
+ organizations.push(...response.data.map((o) => o.login?.trim()).filter((v) => Boolean(v)));
23
+ if (response.data.length < perPage)
24
+ break;
25
+ }
26
+ return Array.from(new Set(organizations)).sort((a, b) => a.localeCompare(b));
27
+ };
28
+ const listMembershipOrganizations = async (api) => {
29
+ const organizations = [];
30
+ const perPage = 100;
31
+ for (let page = 1; page <= 10; page += 1) {
32
+ const response = await api.get('/user/memberships/orgs', { params: { state: 'active', per_page: perPage, page } });
33
+ organizations.push(...response.data.map((m) => m.organization?.login?.trim()).filter((v) => Boolean(v)));
34
+ if (response.data.length < perPage)
30
35
  break;
31
- }
32
36
  }
33
37
  return Array.from(new Set(organizations)).sort((a, b) => a.localeCompare(b));
34
38
  };
@@ -36,42 +40,26 @@ const getGitHubIdentity = async (auth) => {
36
40
  if (auth.token) {
37
41
  try {
38
42
  const api = createGitHubApi(auth.token);
39
- const [userResponse, organizations] = await Promise.all([
40
- api.get('/user'),
41
- listOrganizations(api, '/user/orgs')
42
- ]);
43
+ const userResponse = await api.get('/user');
44
+ const discovered = await Promise.allSettled([listOrganizations(api, '/user/orgs'), listMembershipOrganizations(api)]);
45
+ const organizations = Array.from(new Set(discovered.flatMap((r) => r.status === 'fulfilled' ? r.value : []))).sort((a, b) => a.localeCompare(b));
43
46
  const username = userResponse.data.login || auth.username;
44
- return {
45
- ...(username ? { username } : {}),
46
- organizations,
47
- organizationDiscovery: 'authenticated'
48
- };
47
+ return { ...(username ? { username } : {}), organizations, organizationDiscovery: 'authenticated' };
49
48
  }
50
49
  catch {
51
- // Fall through. Git credentials can be valid for Git operations even when
52
- // the token does not have enough API scope to enumerate organizations.
50
+ // Fall through. Git credentials can still be valid for Git/GHCR even when
51
+ // the token does not have enough organization API scope.
53
52
  }
54
53
  }
55
54
  const username = auth.username;
56
55
  if (username) {
57
56
  try {
58
- const api = createGitHubApi();
59
- const organizations = await listOrganizations(api, `/users/${encodeURIComponent(username)}/orgs`);
60
- return {
61
- username,
62
- organizations,
63
- organizationDiscovery: 'public'
64
- };
65
- }
66
- catch {
67
- // Keep the authenticated Git username and let the caller provide a manual fallback.
57
+ const organizations = await listOrganizations(createGitHubApi(), `/users/${encodeURIComponent(username)}/orgs`);
58
+ return { username, organizations, organizationDiscovery: 'public' };
68
59
  }
60
+ catch { /* manual owner fallback remains available */ }
69
61
  }
70
- return {
71
- ...(username ? { username } : {}),
72
- organizations: [],
73
- organizationDiscovery: 'unavailable'
74
- };
62
+ return { ...(username ? { username } : {}), organizations: [], organizationDiscovery: 'unavailable' };
75
63
  };
76
64
  exports.getGitHubIdentity = getGitHubIdentity;
77
65
  //# sourceMappingURL=github-api.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-api.service.js","sourceRoot":"","sources":["../../../src/shared/github/github-api.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-api.service.js","sourceRoot":"","sources":["../../../src/shared/github/github-api.service.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,11 @@ export declare const saveJenkinsCredentials: (serverId: string, username: string
16
16
  export declare const deleteJenkinsCredentials: (serverId: string) => void;
17
17
  export declare const readJenkinsCredentials: (serverId: string) => JenkinsCredentials;
18
18
  export declare const downloadJenkinsCli: (jenkinsUrl: string, serverId: string, username: string, secret: string) => Promise<string>;
19
+ export declare const runJenkinsGroovy: (config: JenkinsResolvedConfig, script: string) => string;
19
20
  export declare const validateJenkinsAuthentication: (config: Pick<JenkinsResolvedConfig, "url" | "serverId">) => JenkinsWhoAmIResult;
20
21
  export declare const getJenkinsJobBaseUrl: (jenkinsUrl: string, jobName: string) => string;
21
22
  export declare const assertJenkinsJobExists: (config: JenkinsResolvedConfig, jobName: string, context?: string) => Promise<void>;
23
+ export declare const jenkinsJobExists: (config: JenkinsResolvedConfig, jobName: string) => Promise<boolean>;
22
24
  export declare const triggerJenkinsDeployment: (config: JenkinsResolvedConfig, jobName: string, parameters?: Record<string, string>) => Promise<void>;
23
25
  export {};
24
26
  //# sourceMappingURL=jenkins.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jenkins.service.d.ts","sourceRoot":"","sources":["../../../src/shared/jenkins/jenkins.service.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,mBAAmB;IAC3B,cAAc,EAAE,qBAAqB,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAA2C,CAAC;AAEhG,eAAO,MAAM,qBAAqB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,KAAG,MAI5D,CAAC;AAIlB,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,MACF,CAAC;AAEvD,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,KAAG,MACP,CAAC;AAQpD,eAAO,MAAM,mBAAmB,QAAO,IAWtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,QAAQ,MAAM,KACb,MAgBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,KAAG,IAG3D,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,KAAG,kBAgBzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,MAAM,EAClB,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,CAiChB,CAAC;AAmDF,eAAO,MAAM,6BAA6B,GACxC,QAAQ,IAAI,CAAC,qBAAqB,EAAE,KAAK,GAAG,UAAU,CAAC,KACtD,mBAoBF,CAAC;AAQF,eAAO,MAAM,oBAAoB,GAAI,YAAY,MAAM,EAAE,SAAS,MAAM,KAAG,MACd,CAAC;AAE9D,eAAO,MAAM,sBAAsB,GACjC,QAAQ,qBAAqB,EAC7B,SAAS,MAAM,EACf,gBAAwB,KACvB,OAAO,CAAC,IAAI,CAqBd,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,qBAAqB,EAC7B,SAAS,MAAM,EACf,aAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KACtC,OAAO,CAAC,IAAI,CA+Bd,CAAC"}
1
+ {"version":3,"file":"jenkins.service.d.ts","sourceRoot":"","sources":["../../../src/shared/jenkins/jenkins.service.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,mBAAmB;IAC3B,cAAc,EAAE,qBAAqB,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAA2C,CAAC;AAEhG,eAAO,MAAM,qBAAqB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,KAAG,MAI5D,CAAC;AAIlB,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,MACF,CAAC;AAEvD,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,KAAG,MACP,CAAC;AAQpD,eAAO,MAAM,mBAAmB,QAAO,IAWtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,QAAQ,MAAM,KACb,MAgBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,KAAG,IAG3D,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,KAAG,kBAgBzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,MAAM,EAClB,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,CAiChB,CAAC;AAyCF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,qBAAqB,EAC7B,QAAQ,MAAM,KACb,MAUF,CAAC;AAYF,eAAO,MAAM,6BAA6B,GACxC,QAAQ,IAAI,CAAC,qBAAqB,EAAE,KAAK,GAAG,UAAU,CAAC,KACtD,mBAoBF,CAAC;AAQF,eAAO,MAAM,oBAAoB,GAAI,YAAY,MAAM,EAAE,SAAS,MAAM,KAAG,MACd,CAAC;AAE9D,eAAO,MAAM,sBAAsB,GACjC,QAAQ,qBAAqB,EAC7B,SAAS,MAAM,EACf,gBAAwB,KACvB,OAAO,CAAC,IAAI,CAqBd,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,QAAQ,qBAAqB,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,OAAO,CAUtG,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,qBAAqB,EAC7B,SAAS,MAAM,EACf,aAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KACtC,OAAO,CAAC,IAAI,CA+Bd,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.triggerJenkinsDeployment = exports.assertJenkinsJobExists = exports.getJenkinsJobBaseUrl = exports.validateJenkinsAuthentication = exports.downloadJenkinsCli = exports.readJenkinsCredentials = exports.deleteJenkinsCredentials = exports.saveJenkinsCredentials = exports.assertJavaAvailable = exports.getJenkinsAuthFilePath = exports.getJenkinsCliJarPath = exports.createJenkinsServerId = exports.normalizeJenkinsUrl = void 0;
6
+ exports.triggerJenkinsDeployment = exports.jenkinsJobExists = exports.assertJenkinsJobExists = exports.getJenkinsJobBaseUrl = exports.validateJenkinsAuthentication = exports.runJenkinsGroovy = exports.downloadJenkinsCli = exports.readJenkinsCredentials = exports.deleteJenkinsCredentials = exports.saveJenkinsCredentials = exports.assertJavaAvailable = exports.getJenkinsAuthFilePath = exports.getJenkinsCliJarPath = exports.createJenkinsServerId = exports.normalizeJenkinsUrl = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const node_crypto_1 = require("node:crypto");
9
9
  const node_fs_1 = require("node:fs");
@@ -137,6 +137,20 @@ const runJenkinsCliCapture = (config, connectionMode, commandArguments) => {
137
137
  ...(result.error ? { error: result.error } : {})
138
138
  };
139
139
  };
140
+ const runJenkinsGroovy = (config, script) => {
141
+ (0, exports.assertJavaAvailable)();
142
+ const jarPath = (0, exports.getJenkinsCliJarPath)(config.serverId);
143
+ const authPath = (0, exports.getJenkinsAuthFilePath)(config.serverId);
144
+ if (!(0, node_fs_1.existsSync)(jarPath) || !(0, node_fs_1.existsSync)(authPath))
145
+ throw new Error('Jenkins CLI or credentials are missing. Run `indraq configure`.');
146
+ const result = (0, node_child_process_1.spawnSync)('java', ['-jar', jarPath, '-s', (0, exports.normalizeJenkinsUrl)(config.url), `-${config.connectionMode}`, '-auth', `@${authPath}`, 'groovy', '='], {
147
+ input: script, encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'], maxBuffer: 20 * 1024 * 1024
148
+ });
149
+ if (result.error || result.status !== 0)
150
+ throw new Error(`Jenkins administration failed: ${result.error?.message || cleanCliError(result.stdout || '', result.stderr || '')}`);
151
+ return (result.stdout || '').trim();
152
+ };
153
+ exports.runJenkinsGroovy = runJenkinsGroovy;
140
154
  const cleanCliError = (stdout, stderr) => {
141
155
  const combined = `${stderr}\n${stdout}`
142
156
  .split(/\r?\n/)
@@ -195,6 +209,21 @@ const assertJenkinsJobExists = async (config, jobName, context = 'pipeline/job')
195
209
  }
196
210
  };
197
211
  exports.assertJenkinsJobExists = assertJenkinsJobExists;
212
+ const jenkinsJobExists = async (config, jobName) => {
213
+ const credentials = (0, exports.readJenkinsCredentials)(config.serverId);
214
+ try {
215
+ await axios_1.default.get(`${(0, exports.getJenkinsJobBaseUrl)(config.url, jobName)}/api/json`, { timeout: 15_000, auth: { username: credentials.username, password: credentials.secret } });
216
+ return true;
217
+ }
218
+ catch (error) {
219
+ if (axios_1.default.isAxiosError(error) && error.response?.status === 404)
220
+ return false;
221
+ if (axios_1.default.isAxiosError(error) && error.response?.status === 403)
222
+ throw new Error(`Jenkins denied job lookup for "${jobName}".`);
223
+ throw new Error(`Unable to check Jenkins job "${jobName}": ${error instanceof Error ? error.message : 'unknown error'}`);
224
+ }
225
+ };
226
+ exports.jenkinsJobExists = jenkinsJobExists;
198
227
  const triggerJenkinsDeployment = async (config, jobName, parameters = {}) => {
199
228
  (0, exports.assertJavaAvailable)();
200
229
  const jarPath = (0, exports.getJenkinsCliJarPath)(config.serverId);
@@ -1 +1 @@
1
- {"version":3,"file":"jenkins.service.js","sourceRoot":"","sources":["../../../src/shared/jenkins/jenkins.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jenkins.service.js","sourceRoot":"","sources":["../../../src/shared/jenkins/jenkins.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface ListCliOptions {
2
+ search?: string;
3
+ limit?: string;
4
+ all?: boolean;
5
+ }
6
+ export declare const normalizedLimit: (options: ListCliOptions, fallback?: number) => number;
7
+ export declare const filterAndLimit: <T>(items: T[], options: ListCliOptions, haystack: (item: T) => string) => T[];
8
+ export declare const queryString: (options: ListCliOptions) => string;
9
+ //# sourceMappingURL=listing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../../src/shared/listing.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,cAAc,EAAE,iBAAa,KAAG,MAIxE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,KAAG,CAAC,EAIvG,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,SAAS,cAAc,KAAG,MAOrD,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.queryString = exports.filterAndLimit = exports.normalizedLimit = void 0;
4
+ const normalizedLimit = (options, fallback = 10) => {
5
+ if (options.all)
6
+ return Number.MAX_SAFE_INTEGER;
7
+ const value = Number(options.limit || fallback);
8
+ return Number.isInteger(value) && value > 0 ? value : fallback;
9
+ };
10
+ exports.normalizedLimit = normalizedLimit;
11
+ const filterAndLimit = (items, options, haystack) => {
12
+ const query = (options.search || '').trim().toLowerCase();
13
+ const filtered = query ? items.filter((item) => haystack(item).toLowerCase().includes(query)) : items;
14
+ return options.all ? filtered : filtered.slice(0, (0, exports.normalizedLimit)(options));
15
+ };
16
+ exports.filterAndLimit = filterAndLimit;
17
+ const queryString = (options) => {
18
+ const params = new URLSearchParams();
19
+ if (options.search?.trim())
20
+ params.set('search', options.search.trim());
21
+ if (options.all)
22
+ params.set('all', 'true');
23
+ else
24
+ params.set('limit', String((0, exports.normalizedLimit)(options)));
25
+ const value = params.toString();
26
+ return value ? `?${value}` : '';
27
+ };
28
+ exports.queryString = queryString;
29
+ //# sourceMappingURL=listing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/shared/listing.ts"],"names":[],"mappings":";;;AAMO,MAAM,eAAe,GAAG,CAAC,OAAuB,EAAE,QAAQ,GAAG,EAAE,EAAU,EAAE;IAChF,IAAI,OAAO,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjE,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEK,MAAM,cAAc,GAAG,CAAI,KAAU,EAAE,OAAuB,EAAE,QAA6B,EAAO,EAAE;IAC3G,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtG,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEK,MAAM,WAAW,GAAG,CAAC,OAAuB,EAAU,EAAE;IAC7D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,GAAG;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;;QACtC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB"}
@@ -0,0 +1,29 @@
1
+ # IndraQ Architecture
2
+
3
+ ## Control plane
4
+
5
+ IndraQ CLI communicates with IndraQ Cloud API. PostgreSQL stores identities, roles, projects, shared environments, encrypted user provider credentials, infrastructure associations, managed AWS IAM credentials, and audit logs.
6
+
7
+ ## Credential ownership
8
+
9
+ AWS, NPM, Jenkins, and GHCR credentials belong to an individual IndraQ user and are reusable across that user's projects.
10
+
11
+ They are not organization-wide global secrets and are not copied into each project folder.
12
+
13
+ ## Shared environments
14
+
15
+ Admins can create any number of shared environments with arbitrary names. An environment is a reusable named target containing an IP and optional region. Health-check protocol, endpoint, port, path, interval, threshold, latency measurement, and SNI are Route53-resource settings selected when DNS is configured.
16
+
17
+ PRIMARY/SECONDARY is not an environment property. A FAILOVER DNS resource chooses which environment is PRIMARY and which is SECONDARY for that particular Route53 record.
18
+
19
+ ## Project resources
20
+
21
+ Projects keep intent and external-resource associations, including GHCR image repositories, Jenkins jobs, Route53 routing/health checks, and NPM proxy hosts. Project membership controls who can discover/re-link a project. Resource grants record access to individual AWS, NPM, and Jenkins resources and are audited.
22
+
23
+ ## Prebuild
24
+
25
+ Prebuild reconciles rather than blindly creates. It validates user provider configuration, checks existing project associations, asks for the Route53 routing policy first (SIMPLE, FAILOVER, WEIGHTED, or LATENCY), validates Jenkins host ports, configures/repairs Route53 according to that policy, verifies DNS before NPM, and creates/repairs NPM proxy hosts. SIMPLE records never receive a health check; FAILOVER uses PRIMARY/SECONDARY health checks; WEIGHTED/LATENCY may use health checks when requested.
26
+
27
+ ## Local state
28
+
29
+ The project folder stores the Cloud project ID in `.indraq/project.json`. Reusable provider secrets are resolved from the authenticated user's Cloud account only when required.