generator-jhipster 7.2.0 → 7.4.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 (313) hide show
  1. package/cli/environment-builder.js +1 -0
  2. package/cli/import-jdl.js +3 -2
  3. package/cli/jdl.js +1 -0
  4. package/cli/jhipster-command.js +2 -2
  5. package/cli/program.js +32 -29
  6. package/generators/app/index.js +35 -26
  7. package/generators/aws/index.js +8 -8
  8. package/generators/aws/lib/eb.js +1 -1
  9. package/generators/azure-app-service/index.js +16 -9
  10. package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +2 -2
  11. package/generators/azure-spring-cloud/index.js +16 -9
  12. package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +2 -2
  13. package/generators/bootstrap/index.js +57 -61
  14. package/generators/ci-cd/index.js +11 -8
  15. package/generators/ci-cd/templates/github-actions.yml.ejs +1 -1
  16. package/generators/ci-cd/templates/travis.yml.ejs +9 -4
  17. package/generators/client/__workflow/devserver-angular.json +1 -1
  18. package/generators/client/__workflow/devserver-react.json +1 -1
  19. package/generators/client/__workflow/devserver-vue.json +1 -1
  20. package/generators/client/files-angular.js +6 -0
  21. package/generators/client/files-common.js +6 -2
  22. package/generators/client/files-react.js +13 -2
  23. package/generators/client/files-vue.js +56 -6
  24. package/generators/client/index.js +114 -32
  25. package/generators/client/needle-api/needle-client-angular.js +1 -1
  26. package/generators/client/needle-api/needle-client-vue.js +57 -7
  27. package/generators/client/templates/angular/.eslintrc.json.ejs +1 -0
  28. package/generators/client/templates/angular/package.json +19 -19
  29. package/generators/client/templates/angular/package.json.ejs +2 -1
  30. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +52 -54
  31. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +65 -0
  32. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.spec.ts.ejs +35 -37
  33. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.spec.ts.ejs +78 -80
  34. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.service.spec.ts.ejs +41 -0
  35. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +73 -75
  36. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +62 -0
  37. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +44 -46
  38. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +61 -0
  39. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.spec.ts.ejs +116 -118
  40. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.service.spec.ts.ejs +66 -0
  41. package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +75 -77
  42. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +74 -76
  43. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +48 -50
  44. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +50 -52
  45. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +45 -47
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +66 -0
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +99 -101
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +61 -63
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +19 -21
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +2 -2
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +28 -30
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +62 -64
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +35 -37
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +40 -42
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +87 -89
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +41 -43
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +81 -83
  58. package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +3 -0
  59. package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +178 -180
  60. package/generators/client/templates/angular/src/main/webapp/app/core/config/application-config.service.ts.ejs +9 -0
  61. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.spec.ts.ejs +87 -89
  62. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +93 -95
  63. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +166 -168
  64. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +66 -68
  65. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +27 -29
  66. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.spec.ts.ejs +112 -114
  67. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +132 -134
  68. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +29 -31
  69. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +2 -3
  70. package/generators/client/templates/common/README.md.jhi.client.ejs +34 -0
  71. package/generators/client/templates/common/package.json +7 -7
  72. package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +56 -0
  73. package/generators/client/templates/react/.eslintrc.json.ejs +1 -0
  74. package/generators/client/templates/react/package.json +57 -56
  75. package/generators/client/templates/react/package.json.ejs +5 -2
  76. package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +0 -3
  77. package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +2 -2
  78. package/generators/client/templates/react/src/main/webapp/app/modules/administration/configuration/configuration.tsx.ejs +2 -2
  79. package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +2 -2
  80. package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +6 -6
  81. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +8 -8
  82. package/generators/client/templates/react/src/main/webapp/app/modules/home/home.tsx.ejs +1 -1
  83. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +1 -1
  84. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +3 -3
  85. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +7 -7
  86. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-components.tsx.ejs +1 -1
  87. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +17 -1
  88. package/generators/client/templates/react/webpack/webpack.prod.js.ejs +13 -1
  89. package/generators/client/templates/vue/.eslintrc.js.ejs +8 -5
  90. package/generators/client/templates/vue/package.json +40 -49
  91. package/generators/client/templates/vue/package.json.ejs +14 -18
  92. package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +6 -5
  93. package/generators/client/templates/vue/src/main/webapp/app/account/settings/settings.vue.ejs +7 -1
  94. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +1 -1
  95. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.vue.ejs +1 -1
  96. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
  97. package/generators/client/templates/vue/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -4
  98. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +9 -0
  99. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-view.component.ts.ejs +5 -0
  100. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management.component.ts.ejs +5 -0
  101. package/generators/client/templates/vue/src/main/webapp/app/constants.ts.ejs +16 -6
  102. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +27 -8
  103. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +6 -0
  104. package/generators/client/templates/vue/src/main/webapp/app/declarations.d.ts.ejs +41 -0
  105. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.component.ts.ejs +34 -0
  106. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.vue.ejs +13 -0
  107. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.component.ts.ejs +14 -0
  108. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.vue.ejs +5 -0
  109. package/generators/client/templates/vue/{webpack/utils.js.ejs → src/main/webapp/app/index.ts.ejs} +1 -12
  110. package/generators/client/templates/vue/src/main/webapp/app/locale/translation.service.ts.ejs +26 -9
  111. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +23 -11
  112. package/generators/client/templates/vue/src/main/webapp/app/router/admin.ts.ejs +4 -4
  113. package/generators/client/templates/vue/src/main/webapp/app/router/entities.ts.ejs +45 -3
  114. package/generators/client/templates/vue/src/main/webapp/app/router/index.ts.ejs +19 -3
  115. package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +61 -0
  116. package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +0 -2
  117. package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +3 -1
  118. package/generators/client/templates/vue/src/main/webapp/app/shims-vue.d.ts.ejs +17 -3
  119. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +25 -10
  120. package/generators/client/templates/vue/src/test/javascript/spec/app/account/account.service.spec.ts.ejs +2 -2
  121. package/generators/client/templates/vue/src/test/javascript/spec/app/account/login-form/login-form.component.spec.ts.ejs +2 -2
  122. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.component.spec.ts.ejs +12 -12
  123. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.service.spec.ts.ejs +2 -1
  124. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +5 -1
  125. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-view.component.spec.ts.ejs +2 -1
  126. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +5 -1
  127. package/generators/client/templates/vue/src/test/javascript/spec/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +10 -4
  128. package/generators/client/templates/vue/src/test/javascript/spec/app/entities/entities-menu.spec.ts.ejs +52 -0
  129. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs +4 -0
  130. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.vue.ejs +7 -0
  131. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-router.ts.ejs +1 -0
  132. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/alert/alert.service.spec.ts.ejs +124 -0
  133. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +0 -1
  134. package/generators/client/templates/vue/tsconfig.json.ejs +6 -10
  135. package/generators/client/templates/vue/tsconfig.spec.json.ejs +37 -0
  136. package/generators/client/templates/vue/webpack/config.js.ejs +50 -0
  137. package/generators/client/templates/vue/webpack/vue.utils.js.ejs +33 -32
  138. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +152 -126
  139. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +19 -76
  140. package/generators/client/templates/vue/webpack/webpack.microfrontend.js.jhi.vue.ejs +77 -0
  141. package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +5 -41
  142. package/generators/cloudfoundry/index.js +9 -9
  143. package/generators/common/index.js +12 -10
  144. package/generators/common/templates/.husky/pre-commit +1 -1
  145. package/generators/common/templates/.prettierrc.ejs +1 -1
  146. package/generators/common/templates/README.md.jhi.ejs +21 -0
  147. package/generators/common/templates/package.json +4 -4
  148. package/generators/cypress/index.js +12 -9
  149. package/generators/cypress/templates/cypress.json.ejs +9 -2
  150. package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +4 -4
  151. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +30 -2
  152. package/generators/cypress/templates/src/test/javascript/cypress/support/entity.ts.ejs +4 -4
  153. package/generators/cypress/templates/src/test/javascript/cypress/support/index.ts.ejs +1 -1
  154. package/generators/cypress/templates/src/test/javascript/cypress/support/management.ts.ejs +1 -1
  155. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +1 -1
  156. package/generators/database-changelog/index.js +33 -22
  157. package/generators/database-changelog-liquibase/index.js +12 -8
  158. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +1 -1
  159. package/generators/docker-compose/index.js +11 -12
  160. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +13 -12
  161. package/generators/entities/index.js +35 -26
  162. package/generators/entities-client/index.js +10 -7
  163. package/generators/entity/index.js +49 -29
  164. package/generators/entity-client/files.js +7 -16
  165. package/generators/entity-client/index.js +74 -11
  166. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.spec.ts.ejs +42 -44
  167. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.spec.ts.ejs +58 -60
  168. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +1 -1
  169. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +105 -107
  170. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +8 -1
  171. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +52 -54
  172. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +1 -1
  173. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +173 -175
  174. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +2 -4
  175. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +193 -195
  176. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +7 -0
  177. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +269 -109
  178. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +5 -2
  179. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +17 -14
  180. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -13
  181. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-details.component.ts.ejs +5 -0
  182. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +23 -8
  183. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.vue.ejs +6 -9
  184. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +9 -1
  185. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
  186. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.service.ts.ejs +2 -6
  187. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-details.component.spec.ts.ejs +2 -1
  188. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +8 -1
  189. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.component.spec.ts.ejs +8 -2
  190. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.service.spec.ts.ejs +1 -1
  191. package/generators/entity-i18n/index.js +7 -4
  192. package/generators/entity-server/files-couchbase.js +2 -2
  193. package/generators/entity-server/files.js +35 -30
  194. package/generators/entity-server/index.js +12 -8
  195. package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +2 -2
  196. package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +1 -1
  197. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +6 -2
  198. package/generators/entity-server/templates/src/main/java/package/domain/enumeration/Enum.java.ejs +1 -1
  199. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +2 -2
  200. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +17 -30
  201. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +5 -5
  202. package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +46 -0
  203. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +3 -3
  204. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +2 -2
  205. package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +8 -8
  206. package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +4 -4
  207. package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +4 -4
  208. package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +7 -3
  209. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +8 -8
  210. package/generators/entity-server/templates/src/main/java/package/service/mapper/BaseEntityMapper.java.ejs +1 -1
  211. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +7 -3
  212. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +51 -53
  213. package/generators/entity-server/templates/src/test/java/package/domain/EntityTest.java.ejs +1 -1
  214. package/generators/entity-server/templates/src/test/java/package/repository/search/EntitySearchRepositoryMockConfiguration.java.ejs +1 -1
  215. package/generators/entity-server/templates/src/test/java/package/service/dto/EntityDTOTest.java.ejs +1 -1
  216. package/generators/entity-server/templates/src/test/java/package/service/mapper/EntityMapperTest.java.ejs +1 -1
  217. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +17 -14
  218. package/generators/gae/index.js +10 -10
  219. package/generators/generator-base-blueprint.js +14 -46
  220. package/generators/generator-base-private.js +42 -22
  221. package/generators/generator-base.js +57 -20
  222. package/generators/generator-constants.js +29 -21
  223. package/generators/generator-transforms.js +39 -27
  224. package/generators/heroku/index.js +27 -48
  225. package/generators/init/constants.cjs +1 -1
  226. package/generators/init/templates/.husky/pre-commit +1 -1
  227. package/generators/java/constants.cjs +1 -1
  228. package/generators/kubernetes/files.js +3 -0
  229. package/generators/kubernetes/index.js +10 -10
  230. package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -1
  231. package/generators/kubernetes/templates/deployment.yml.ejs +8 -3
  232. package/generators/kubernetes/templates/istio/destination-rule.yml.ejs +1 -1
  233. package/generators/kubernetes/templates/istio/gateway/grafana-gateway.yml.ejs +5 -2
  234. package/generators/kubernetes/templates/istio/gateway/jhipster-grafana-gateway.yml.ejs +5 -2
  235. package/generators/kubernetes/templates/istio/gateway/kiali-gateway.yml.ejs +10 -8
  236. package/generators/kubernetes/templates/istio/gateway/zipkin-gateway.yml.ejs +5 -2
  237. package/generators/kubernetes/templates/istio/gateway.yml.ejs +7 -5
  238. package/generators/kubernetes/templates/secret/couchbase-secret.yml.ejs +9 -0
  239. package/generators/kubernetes-base.js +1 -0
  240. package/generators/kubernetes-helm/files.js +3 -8
  241. package/generators/kubernetes-helm/index.js +10 -10
  242. package/generators/kubernetes-helm/templates/README-KUBERNETES-HELM.md.ejs +0 -1
  243. package/generators/kubernetes-helm/templates/app/Chart.yml.ejs +27 -0
  244. package/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +0 -11
  245. package/generators/kubernetes-helm/templates/app/requirements.yml.ejs +7 -2
  246. package/generators/kubernetes-helm/templates/app/values.yml.ejs +68 -5
  247. package/generators/kubernetes-helm/templates/csvc/Chart.yml.ejs +17 -0
  248. package/generators/kubernetes-helm/templates/csvc/requirements.yml.ejs +2 -2
  249. package/generators/kubernetes-knative/index.js +10 -10
  250. package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +6 -4
  251. package/generators/kubernetes-knative/templates/service.yml.ejs +1 -1
  252. package/generators/languages/index.js +13 -13
  253. package/generators/languages/templates/src/main/webapp/i18n/hr/reset.json.ejs +1 -2
  254. package/generators/languages/templates/src/main/webapp/i18n/vi/login.json +1 -1
  255. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  256. package/generators/openapi-client/index.js +13 -10
  257. package/generators/openshift/index.js +10 -11
  258. package/generators/openshift/templates/deployment.yml.ejs +1 -1
  259. package/generators/page/index.js +12 -10
  260. package/generators/server/__snapshots__/generator.spec.mjs.snap +12 -0
  261. package/generators/server/files-sql.js +52 -0
  262. package/generators/server/files.js +15 -0
  263. package/generators/server/index.js +100 -33
  264. package/generators/server/needle-api/needle-server-cache.js +4 -6
  265. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  266. package/generators/server/templates/build.gradle.ejs +17 -1
  267. package/generators/server/templates/gradle.properties.ejs +11 -11
  268. package/generators/server/templates/npmw +1 -1
  269. package/generators/server/templates/npmw.cmd +1 -1
  270. package/generators/server/templates/pom.xml.ejs +128 -9
  271. package/generators/server/templates/settings.gradle.ejs +9 -0
  272. package/generators/server/templates/sql/reactive/src/main/java/package/repository/UserSqlHelper.java.ejs +48 -0
  273. package/generators/server/templates/src/main/docker/app.yml.ejs +2 -1
  274. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +13 -12
  275. package/generators/server/templates/src/main/java/package/aop/logging/LoggingAspect.java.ejs +1 -1
  276. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_cassandra.java.ejs +0 -6
  277. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_sql.java.ejs +2 -2
  278. package/generators/server/templates/src/main/java/package/config/JacksonConfiguration.java.ejs +1 -1
  279. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +0 -2
  280. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +2 -5
  281. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +9 -1
  282. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +0 -1
  283. package/generators/server/templates/src/main/java/package/management/SecurityMetersService.java.ejs +68 -0
  284. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +0 -23
  285. package/generators/server/templates/src/main/java/package/security/PersistentTokenRememberMeServices.java.ejs +0 -2
  286. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +29 -4
  287. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +21 -9
  288. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +13 -5
  289. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  290. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +1 -1
  291. package/generators/server/templates/src/main/resources/config/application.yml.ejs +7 -7
  292. package/generators/server/templates/src/main/resources/static/microservices_index.html.ejs +1 -1
  293. package/generators/server/templates/src/test/java/package/management/SecurityMetersServiceTests.java.ejs +113 -0
  294. package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +6 -1
  295. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderSecurityMetersTests.java.ejs +198 -0
  296. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderTest.java.ejs +13 -3
  297. package/generators/server/templates/src/test/java/package/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +16 -2
  298. package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +63 -0
  299. package/generators/spring-controller/index.js +9 -7
  300. package/generators/spring-service/index.js +10 -7
  301. package/generators/upgrade/index.js +4 -5
  302. package/generators/utils.js +2 -2
  303. package/generators/workspaces/index.js +16 -7
  304. package/jdl/jhipster/default-application-options.js +9 -7
  305. package/package.json +23 -23
  306. package/utils/entity.js +21 -4
  307. package/utils/field.js +12 -2
  308. package/utils/multi-step-transform/index.js +8 -8
  309. package/generators/client/templates/react/.npmrc.ejs +0 -1
  310. package/generators/client/templates/vue/webpack/dev.env.js.ejs +0 -17
  311. package/generators/client/templates/vue/webpack/env.js.ejs +0 -67
  312. package/generators/client/templates/vue/webpack/loader.conf.js.ejs +0 -20
  313. package/generators/client/templates/vue/webpack/prod.env.js.ejs +0 -15
@@ -35,11 +35,11 @@ const {
35
35
  } = require('../kubernetes-base');
36
36
  const statistics = require('../statistics');
37
37
 
38
- let useBlueprints;
39
38
  module.exports = class extends BaseDockerGenerator {
40
- constructor(args, options, features) {
41
- super(args, options, features);
42
- useBlueprints = !this.fromBlueprint && this.instantiateBlueprints(GENERATOR_KUBERNETES);
39
+ async _postConstruct() {
40
+ if (!this.fromBlueprint) {
41
+ await this.composeWithBlueprints(GENERATOR_KUBERNETES);
42
+ }
43
43
  }
44
44
 
45
45
  _initializing() {
@@ -56,7 +56,7 @@ module.exports = class extends BaseDockerGenerator {
56
56
  }
57
57
 
58
58
  get initializing() {
59
- if (useBlueprints) return;
59
+ if (this.delegateToBlueprint) return {};
60
60
  return this._initializing();
61
61
  }
62
62
 
@@ -82,7 +82,7 @@ module.exports = class extends BaseDockerGenerator {
82
82
  }
83
83
 
84
84
  get prompting() {
85
- if (useBlueprints) return;
85
+ if (this.delegateToBlueprint) return {};
86
86
  return this._prompting();
87
87
  }
88
88
 
@@ -110,7 +110,7 @@ module.exports = class extends BaseDockerGenerator {
110
110
  }
111
111
 
112
112
  get configuring() {
113
- if (useBlueprints) return;
113
+ if (this.delegateToBlueprint) return {};
114
114
  return this._configuring();
115
115
  }
116
116
 
@@ -128,7 +128,7 @@ module.exports = class extends BaseDockerGenerator {
128
128
  }
129
129
 
130
130
  get loading() {
131
- if (useBlueprints) return;
131
+ if (this.delegateToBlueprint) return {};
132
132
  return this._loading();
133
133
  }
134
134
 
@@ -137,7 +137,7 @@ module.exports = class extends BaseDockerGenerator {
137
137
  }
138
138
 
139
139
  get writing() {
140
- if (useBlueprints) return;
140
+ if (this.delegateToBlueprint) return {};
141
141
  return this._writing();
142
142
  }
143
143
 
@@ -207,7 +207,7 @@ module.exports = class extends BaseDockerGenerator {
207
207
  }
208
208
 
209
209
  get end() {
210
- if (useBlueprints) return;
210
+ if (this.delegateToBlueprint) return {};
211
211
  return this._end();
212
212
  }
213
213
  };
@@ -204,7 +204,7 @@ spec:
204
204
  apiVersion: <%= KUBERNETES_CORE_API_VERSION %>
205
205
  kind: Service
206
206
  metadata:
207
- name: <%= app.baseName.toLowerCase() %>-couchbase
207
+ name: <%= app.baseName.toLowerCase() %>-couchbase-cluster-srv
208
208
  namespace: <%= kubernetesNamespace %>
209
209
  labels:
210
210
  app: <%= app.baseName.toLowerCase() %>-couchbase
@@ -67,7 +67,7 @@ spec:
67
67
  rt=$(nc -z -w 1 <%= app.baseName.toLowerCase() %>-mongodb 27017)
68
68
  <%_ } _%>
69
69
  <%_ if (app.prodDatabaseTypeCouchbase) { _%>
70
- rt=$(nc -z -w 1 <%= app.baseName.toLowerCase() %>-couchbase 8091)
70
+ rt=$(nc -z -w 1 <%= app.baseName.toLowerCase() %>-couchbase-cluster-srv 8091)
71
71
  <%_ } _%>
72
72
  <%_ if (app.prodDatabaseTypeNeo4j) { _%>
73
73
  rt=$(nc -z -w 1 <%= app.baseName.toLowerCase() %>-neo4j 7474)
@@ -177,9 +177,14 @@ spec:
177
177
  <%_ } _%>
178
178
  <%_ if (app.prodDatabaseTypeCouchbase) { _%>
179
179
  - name: SPRING_COUCHBASE_CONNECTION_STRING
180
- value: "<% for (let i = 0; i < app.dbPeerCount; i++) { %><%= app.baseName.toLowerCase() %>-couchbase-<%= i %>.<%= app.baseName.toLowerCase() %>-couchbase<% if (i < (app.dbPeerCount-1)) { %>,<% }} %>"
181
- - name: JHIPSTER_COUCHBASE_BUCKET_NAME
180
+ value: "<%= app.baseName.toLowerCase() %>-couchbase-cluster-srv"
181
+ - name: JHIPSTER_DATABASE_COUCHBASE_BUCKET_NAME
182
182
  value: <%= app.baseName.toLowerCase() %>
183
+ - name: SPRING_COUCHBASE_BUCKET_PASSWORD
184
+ valueFrom:
185
+ secretKeyRef:
186
+ name: couchbase-secret
187
+ key: password
183
188
  <%_ } _%>
184
189
  <%_ if (app.searchEngineElasticsearch) { _%>
185
190
  - name: SPRING_ELASTICSEARCH_REST_URIS
@@ -18,7 +18,7 @@ spec:
18
18
  maxRequestsPerConnection: 10
19
19
  maxRetries: 5
20
20
  outlierDetection:
21
- consecutiveErrors: 5
21
+ consecutive5xxErrors: 5
22
22
  interval: 30s
23
23
  baseEjectionTime: 60s
24
24
  subsets:
@@ -16,7 +16,10 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- apiVersion: networking.istio.io/v1alpha3
19
+ # This configuration uses 'http' and is not recommended for production use.
20
+ # Refer https://istio.io/latest/docs/tasks/observability/gateways/ for a more secure 'https' config
21
+ # using a self signed certificate and prefer that for production use
22
+ apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
20
23
  kind: Gateway
21
24
  metadata:
22
25
  name: grafana-observability-gateway
@@ -38,7 +41,7 @@ spec:
38
41
  hosts:
39
42
  - grafana.istio-system.<%= ingressDomain %>
40
43
  ---
41
- apiVersion: networking.istio.io/v1alpha3
44
+ apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
42
45
  kind: VirtualService
43
46
  metadata:
44
47
  name: grafana-gw-virtualservice
@@ -16,7 +16,10 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- apiVersion: networking.istio.io/v1alpha3
19
+ # This configuration uses 'http' and is not recommended for production use.
20
+ # Refer https://istio.io/latest/docs/tasks/observability/gateways/ for a more secure 'https' config
21
+ # using a self signed certificate and prefer that for production use
22
+ apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
20
23
  kind: Gateway
21
24
  metadata:
22
25
  name: jhipster-grafana-gateway
@@ -38,7 +41,7 @@ spec:
38
41
  hosts:
39
42
  - jhipster-grafana.<%= kubernetesNamespace %>.<%= ingressDomain %>
40
43
  ---
41
- apiVersion: networking.istio.io/v1alpha3
44
+ apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
42
45
  kind: VirtualService
43
46
  metadata:
44
47
  name: jhipster-grafana-gw-virtualservice
@@ -16,7 +16,10 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- apiVersion: networking.istio.io/v1alpha3
19
+ # This configuration uses 'http' and is not recommended for production use.
20
+ # Refer https://istio.io/latest/docs/tasks/observability/gateways/ for a more secure 'https' config
21
+ # using a self signed certificate and prefer that for production use
22
+ apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
20
23
  kind: Gateway
21
24
  metadata:
22
25
  name: kiali-observability-gateway
@@ -38,7 +41,7 @@ spec:
38
41
  hosts:
39
42
  - kiali.istio-system.<%= ingressDomain %>
40
43
  ---
41
- apiVersion: networking.istio.io/v1alpha3
44
+ apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
42
45
  kind: VirtualService
43
46
  metadata:
44
47
  name: kiali-gw-virtualservice
@@ -49,9 +52,8 @@ spec:
49
52
  gateways:
50
53
  - kiali-observability-gateway
51
54
  http:
52
- - match:
53
- - uri:
54
- prefix: /
55
- route:
56
- - destination:
57
- host: kiali
55
+ - route:
56
+ - destination:
57
+ host: kiali
58
+ port:
59
+ number: 20001
@@ -16,7 +16,10 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- apiVersion: networking.istio.io/v1alpha3
19
+ # This configuration uses 'http' and is not recommended for production use.
20
+ # Refer https://istio.io/latest/docs/tasks/observability/gateways/ for a more secure 'https' config
21
+ # using a self signed certificate and prefer that for production use
22
+ apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
20
23
  kind: Gateway
21
24
  metadata:
22
25
  name: zipkin-observability-gateway
@@ -38,7 +41,7 @@ spec:
38
41
  hosts:
39
42
  - zipkin.istio-system.<%= ingressDomain %>
40
43
  ---
41
- apiVersion: networking.istio.io/v1alpha3
44
+ apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
42
45
  kind: VirtualService
43
46
  metadata:
44
47
  name: zipkin-gw-virtualservice
@@ -16,6 +16,9 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
+ # This configuration uses 'http' and is not recommended for production use.
20
+ # Refer https://istio.io/latest/docs/reference/config/networking/gateway/ for a more secure 'https' config
21
+ # using certificates and prefer that for production use
19
22
  apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
20
23
  kind: Gateway
21
24
  metadata:
@@ -58,15 +61,14 @@ spec:
58
61
  <%_ appConfigs.filter(config => config.baseName !== app.baseName).forEach(config => { _%>
59
62
  - match:
60
63
  - uri:
61
- prefix: /<%= config.baseName.toLowerCase() %>/
64
+ prefix: /services/<%= config.baseName.toLowerCase() %>/
65
+ rewrite:
66
+ uri: /
62
67
  route:
63
68
  - destination:
64
69
  host: <%= config.baseName.toLowerCase() %>
65
70
  <%_ }); _%>
66
71
  <%_ } _%>
67
- - match:
68
- - uri:
69
- prefix: /
70
- route:
72
+ - route:
71
73
  - destination:
72
74
  host: <%= app.baseName.toLowerCase() %>
@@ -0,0 +1,9 @@
1
+ apiVersion: <%= KUBERNETES_CORE_API_VERSION %>
2
+ kind: Secret
3
+ metadata:
4
+ name: couchbase-secret
5
+ namespace: <%= kubernetesNamespace %>
6
+ type: Opaque
7
+ data:
8
+ username: QWRtaW5pc3RyYXRvcg==
9
+ password: cGFzc3dvcmQ=
@@ -144,4 +144,5 @@ function setupHelmConstants() {
144
144
  this.HELM_MYSQL = constants.HELM_MYSQL;
145
145
  this.HELM_POSTGRESQL = constants.HELM_POSTGRESQL;
146
146
  this.HELM_MOGODB_REPLICASET = constants.HELM_MOGODB_REPLICASET;
147
+ this.HELM_COUCHBASE_OPERATOR = constants.HELM_COUCHBASE_OPERATOR;
147
148
  }
@@ -16,7 +16,6 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- const { COUCHBASE } = require('../../jdl/jhipster/database-types');
20
19
  const { ELASTICSEARCH } = require('../../jdl/jhipster/search-engine-types');
21
20
  const { GATEWAY, MONOLITH } = require('../../jdl/jhipster/application-types');
22
21
  const { JWT } = require('../../jdl/jhipster/authentication-types');
@@ -50,13 +49,6 @@ function writeFiles() {
50
49
  this.template('app/requirements.yml.ejs', `${appOut}/requirements.yaml`);
51
50
  this.template('app/helpers.tpl.ejs', `${appOut}/templates/_helpers.tpl`);
52
51
 
53
- if (this.app.prodDatabaseType === COUCHBASE) {
54
- this.template(
55
- `${kubernetesSubgenPath}/db/${this.app.prodDatabaseType}.yml.ejs`,
56
- `${appOut}/templates/${appName}-${this.app.prodDatabaseType}.yml`
57
- );
58
- }
59
-
60
52
  if (this.app.searchEngine === ELASTICSEARCH) {
61
53
  this.template(`${kubernetesSubgenPath}/db/elasticsearch.yml.ejs`, `${appOut}/templates/${appName}-elasticsearch.yml`);
62
54
  }
@@ -70,6 +62,9 @@ function writeFiles() {
70
62
  if (!this.app.serviceDiscoveryType && this.app.authenticationType === JWT) {
71
63
  this.template(`${kubernetesSubgenPath}/secret/jwt-secret.yml.ejs`, `${appOut}/templates/jwt-secret.yml`);
72
64
  }
65
+ if (this.app.prodDatabaseTypeCouchbase) {
66
+ this.template(`${kubernetesSubgenPath}/secret/couchbase-secret.yml.ejs`, `${appOut}/templates/couchbase-secret.yml`);
67
+ }
73
68
  if (this.istio) {
74
69
  this.template(`${kubernetesSubgenPath}/istio/destination-rule.yml.ejs`, `${appOut}/templates/${appName}-destination-rule.yml`);
75
70
  this.template(`${kubernetesSubgenPath}/istio/virtual-service.yml.ejs`, `${appOut}/templates/${appName}-virtual-service.yml`);
@@ -36,11 +36,11 @@ const {
36
36
  } = require('../kubernetes-base');
37
37
  const statistics = require('../statistics');
38
38
 
39
- let useBlueprints;
40
39
  module.exports = class extends BaseDockerGenerator {
41
- constructor(args, options, features) {
42
- super(args, options, features);
43
- useBlueprints = !this.fromBlueprint && this.instantiateBlueprints(GENERATOR_KUBERNETES_HELM);
40
+ async _postConstruct() {
41
+ if (!this.fromBlueprint) {
42
+ await this.composeWithBlueprints(GENERATOR_KUBERNETES_HELM);
43
+ }
44
44
  }
45
45
 
46
46
  _initializing() {
@@ -59,7 +59,7 @@ module.exports = class extends BaseDockerGenerator {
59
59
  }
60
60
 
61
61
  get initializing() {
62
- if (useBlueprints) return;
62
+ if (this.delegateToBlueprint) return {};
63
63
  return this._initializing();
64
64
  }
65
65
 
@@ -83,7 +83,7 @@ module.exports = class extends BaseDockerGenerator {
83
83
  }
84
84
 
85
85
  get prompting() {
86
- if (useBlueprints) return;
86
+ if (this.delegateToBlueprint) return {};
87
87
  return this._prompting();
88
88
  }
89
89
 
@@ -111,7 +111,7 @@ module.exports = class extends BaseDockerGenerator {
111
111
  }
112
112
 
113
113
  get configuring() {
114
- if (useBlueprints) return;
114
+ if (this.delegateToBlueprint) return {};
115
115
  return this._configuring();
116
116
  }
117
117
 
@@ -129,7 +129,7 @@ module.exports = class extends BaseDockerGenerator {
129
129
  }
130
130
 
131
131
  get loading() {
132
- if (useBlueprints) return;
132
+ if (this.delegateToBlueprint) return {};
133
133
  return this._loading();
134
134
  }
135
135
 
@@ -138,7 +138,7 @@ module.exports = class extends BaseDockerGenerator {
138
138
  }
139
139
 
140
140
  get writing() {
141
- if (useBlueprints) return;
141
+ if (this.delegateToBlueprint) return {};
142
142
  return this._writing();
143
143
  }
144
144
 
@@ -185,7 +185,7 @@ module.exports = class extends BaseDockerGenerator {
185
185
  }
186
186
 
187
187
  get end() {
188
- if (useBlueprints) return;
188
+ if (this.delegateToBlueprint) return {};
189
189
  return this._end();
190
190
  }
191
191
  };
@@ -48,6 +48,5 @@ For Kubernetes specific information, refer to the `kubernetes` sub-generator Rea
48
48
 
49
49
  ### Backlogs to be covered
50
50
 
51
- * Couchbase is yet to be integrated with Helm repository, it is still referring the Kubernetes sub-generator manifest - to be tested
52
51
  * helm upgrade - to be tested
53
52
  * Istio - to be tested
@@ -15,3 +15,30 @@ sources:
15
15
  maintainers:
16
16
  - name: Team JHipster
17
17
  email:
18
+ dependencies:
19
+ <%_ if (app.prodDatabaseTypeMysql) { _%>
20
+ - name: mysql
21
+ version: <%= HELM_MYSQL %>
22
+ repository: https://charts.helm.sh/stable
23
+ condition: mysql.enabled
24
+ <%_ } else if (app.prodDatabaseTypePostgres) { _%>
25
+ - name: postgresql
26
+ version: <%= HELM_POSTGRESQL %>
27
+ repository: https://charts.bitnami.com/bitnami
28
+ condition: postgresql.enabled
29
+ <%_ } else if (app.prodDatabaseTypeMariadb) { _%>
30
+ - name: mariadb
31
+ version: <%= HELM_MARIADB %>
32
+ repository: https://charts.bitnami.com/bitnami
33
+ condition: mariadb.enabled
34
+ <%_ } else if (app.prodDatabaseTypeMongodb) { _%>
35
+ - name: mongodb-replicaset
36
+ version: <%= HELM_MOGODB_REPLICASET %>
37
+ repository: https://charts.helm.sh/stable
38
+ condition: mongodb.enabled
39
+ <%_ } else if (app.prodDatabaseTypeCouchbase) { _%>
40
+ - name: couchbase-operator
41
+ version: <%= HELM_COUCHBASE_OPERATOR %>
42
+ repository: https://couchbase-partners.github.io/helm-charts/
43
+ condition: couchbase-operator.enabled
44
+ <%_ } _%>
@@ -43,15 +43,4 @@ mongodb customisation
43
43
  {{- define "mongodb-replicaset.fullname" -}}
44
44
  {{- default "<%= app.baseName.toLowerCase() %>-mongodb" -}}
45
45
  {{- end -}}
46
- <%_ } else if (app.prodDatabaseTypeCouchbase) { _%>
47
- {{/*
48
- couchdb customisation
49
- */}}
50
- {{- define "couchdb.name" -}}
51
- {{- default "<%= app.baseName.toLowerCase() %>-couchbase" -}}
52
- {{- end -}}
53
-
54
- {{- define "couchdb.fullname" -}}
55
- {{- default "<%= app.baseName.toLowerCase() %>-couchbase" -}}
56
- {{- end -}}
57
46
  <%_ } _%>
@@ -7,16 +7,21 @@ dependencies:
7
7
  <%_ } else if (app.prodDatabaseTypePostgres) { _%>
8
8
  - name: postgresql
9
9
  version: <%= HELM_POSTGRESQL %>
10
- repository: https://charts.helm.sh/stable
10
+ repository: https://charts.bitnami.com/bitnami
11
11
  condition: postgresql.enabled
12
12
  <%_ } else if (app.prodDatabaseTypeMariadb) { _%>
13
13
  - name: mariadb
14
14
  version: <%= HELM_MARIADB %>
15
- repository: https://charts.helm.sh/stable
15
+ repository: https://charts.bitnami.com/bitnami
16
16
  condition: mariadb.enabled
17
17
  <%_ } else if (app.prodDatabaseTypeMongodb) { _%>
18
18
  - name: mongodb-replicaset
19
19
  version: <%= HELM_MOGODB_REPLICASET %>
20
20
  repository: https://charts.helm.sh/stable
21
21
  condition: mongodb.enabled
22
+ <%_ } else if (app.prodDatabaseTypeCouchbase) { _%>
23
+ - name: couchbase-operator
24
+ version: <%= HELM_COUCHBASE_OPERATOR %>
25
+ repository: https://couchbase-partners.github.io/helm-charts/
26
+ condition: couchbase-operator.enabled
22
27
  <%_ } _%>
@@ -48,10 +48,73 @@ mongodb-replicaset:
48
48
  sidecar.istio.io/inject: "false"
49
49
  <%_ } _%>
50
50
  <%_ } else if (app.prodDatabaseTypeCouchbase) { _%>
51
- couchdb:
51
+ couchbase-operator:
52
52
  enabled: true
53
- allowAdminParty: true
54
- clusterSize: 3
55
- persistentVolume:
56
- enabled: true
53
+ buckets:
54
+ default: nil
55
+ <%= app.baseName.toLowerCase() %>:
56
+ replicas: <%= app.dbPeerCount - 1 %>
57
+ users:
58
+ <%= app.baseName.toLowerCase() %>:
59
+ authSecret: couchbase-secret
60
+ authDomain: local
61
+ roles:
62
+ - name: bucket_admin
63
+ bucket: <%= app.baseName.toLowerCase() %>
64
+ - name: bucket_full_access
65
+ bucket: <%= app.baseName.toLowerCase() %>
66
+ - name: fts_admin
67
+ bucket: <%= app.baseName.toLowerCase() %>
68
+ - name: fts_searcher
69
+ bucket: <%= app.baseName.toLowerCase() %>
70
+ cluster:
71
+ antiAffinity: true
72
+ image: <%= DOCKER_COUCHBASE %>
73
+ security:
74
+ adminSecret: couchbase-secret
75
+ servers:
76
+ default:
77
+ <%_ if (kubernetesUseDynamicStorage) { _%>
78
+ volumeMounts:
79
+ default: pvc-default
80
+ data: pvc-data
81
+ index: pvc-index
82
+ <%_ } _%>
83
+ services:
84
+ - data
85
+ - query
86
+ - index
87
+ - search
88
+ size: <%= app.dbPeerCount %>
89
+ cluster:
90
+ dataServiceMemoryQuota: 500Mi
91
+ indexServiceMemoryQuota: 300Mi
92
+ searchServiceMemoryQuota: 300Mi
93
+ indexStorageSetting: plasma
94
+ indexer:
95
+ storageMode: plasma
96
+ <%_ if (kubernetesUseDynamicStorage) { _%>
97
+ volumeClaimTemplates:
98
+ - metadata:
99
+ name: pvc-default
100
+ spec:
101
+ storageClassName: <%= kubernetesStorageClassName %>
102
+ resources:
103
+ requests:
104
+ storage: 1Gi
105
+ - metadata:
106
+ name: pvc-data
107
+ spec:
108
+ storageClassName: <%= kubernetesStorageClassName %>
109
+ resources:
110
+ requests:
111
+ storage: 1Gi
112
+ - metadata:
113
+ name: pvc-index
114
+ spec:
115
+ storageClassName: <%= kubernetesStorageClassName %>
116
+ resources:
117
+ requests:
118
+ storage: 1Gi
119
+ <%_ } _%>
57
120
  <%_ } _%>
@@ -15,3 +15,20 @@ sources:
15
15
  maintainers:
16
16
  - name: Team JHipster
17
17
  email:
18
+ dependencies:
19
+ <%_ if (useKafka) { _%>
20
+ - name: kafka
21
+ version: <%= HELM_KAFKA %>
22
+ repository: https://charts.helm.sh/incubator
23
+ condition: kafka.enabled
24
+ <%_ } _%>
25
+ <%_ if (monitoringPrometheus) { _%>
26
+ - name: prometheus
27
+ version: <%= HELM_PROMETHEUS %>
28
+ repository: https://prometheus-community.github.io/helm-charts
29
+ condition: prometheus.enabled
30
+ - name: grafana
31
+ version: <%= HELM_GRAFANA %>
32
+ repository: https://grafana.github.io/helm-charts
33
+ condition: prometheus.enabled
34
+ <%_ } _%>
@@ -8,10 +8,10 @@ dependencies:
8
8
  <%_ if (monitoringPrometheus) { _%>
9
9
  - name: prometheus
10
10
  version: <%= HELM_PROMETHEUS %>
11
- repository: https://charts.helm.sh/stable
11
+ repository: https://prometheus-community.github.io/helm-charts
12
12
  condition: prometheus.enabled
13
13
  - name: grafana
14
14
  version: <%= HELM_GRAFANA %>
15
- repository: https://charts.helm.sh/stable
15
+ repository: https://grafana.github.io/helm-charts
16
16
  condition: prometheus.enabled
17
17
  <%_ } _%>
@@ -41,11 +41,11 @@ const { GeneratorTypes } = require('../../jdl/jhipster/kubernetes-platform-types
41
41
 
42
42
  const { K8S } = GeneratorTypes;
43
43
 
44
- let useBlueprints;
45
44
  module.exports = class extends BaseDockerGenerator {
46
- constructor(args, options, features) {
47
- super(args, options, features);
48
- useBlueprints = !this.fromBlueprint && this.instantiateBlueprints(GENERATOR_KUBERNETES_KNATIVE);
45
+ async _postConstruct() {
46
+ if (!this.fromBlueprint) {
47
+ await this.composeWithBlueprints(GENERATOR_KUBERNETES_KNATIVE);
48
+ }
49
49
  }
50
50
 
51
51
  _initializing() {
@@ -85,7 +85,7 @@ module.exports = class extends BaseDockerGenerator {
85
85
  }
86
86
 
87
87
  get initializing() {
88
- if (useBlueprints) return;
88
+ if (this.delegateToBlueprint) return {};
89
89
  return this._initializing();
90
90
  }
91
91
 
@@ -106,7 +106,7 @@ module.exports = class extends BaseDockerGenerator {
106
106
  }
107
107
 
108
108
  get prompting() {
109
- if (useBlueprints) return;
109
+ if (this.delegateToBlueprint) return {};
110
110
  return this._prompting();
111
111
  }
112
112
 
@@ -134,7 +134,7 @@ module.exports = class extends BaseDockerGenerator {
134
134
  }
135
135
 
136
136
  get configuring() {
137
- if (useBlueprints) return;
137
+ if (this.delegateToBlueprint) return {};
138
138
  return this._configuring();
139
139
  }
140
140
 
@@ -152,7 +152,7 @@ module.exports = class extends BaseDockerGenerator {
152
152
  }
153
153
 
154
154
  get loading() {
155
- if (useBlueprints) return;
155
+ if (this.delegateToBlueprint) return {};
156
156
  return this._loading();
157
157
  }
158
158
 
@@ -161,7 +161,7 @@ module.exports = class extends BaseDockerGenerator {
161
161
  }
162
162
 
163
163
  get writing() {
164
- if (useBlueprints) return;
164
+ if (this.delegateToBlueprint) return {};
165
165
  return this._writing();
166
166
  }
167
167
 
@@ -235,7 +235,7 @@ module.exports = class extends BaseDockerGenerator {
235
235
  }
236
236
 
237
237
  get end() {
238
- if (useBlueprints) return;
238
+ if (this.delegateToBlueprint) return {};
239
239
  return this._end();
240
240
  }
241
241
  };
@@ -16,6 +16,9 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
+ # This configuration uses 'http' and is not recommended for production use.
20
+ # Refer https://istio.io/latest/docs/reference/config/networking/gateway/ for a more secure 'https' config
21
+ # using certificates and prefer that for production use
19
22
  apiVersion: <%= KUBERNETES_ISTIO_NETWORKING_API_VERSION %>
20
23
  kind: Gateway
21
24
  metadata:
@@ -59,6 +62,8 @@ spec:
59
62
  - match:
60
63
  - uri:
61
64
  prefix: /services/<%= config.baseName.toLowerCase() %>/
65
+ rewrite:
66
+ uri: /
62
67
  route:
63
68
  - destination:
64
69
  host: <%= config.baseName.toLowerCase() %>-knative
@@ -69,10 +74,7 @@ spec:
69
74
  Knative-Serving-Revision: <%= config.baseName.toLowerCase() %>-knative
70
75
  <%_ }); _%>
71
76
  <%_ } _%>
72
- - match:
73
- - uri:
74
- prefix: /
75
- route:
77
+ - route:
76
78
  - destination:
77
79
  host: <%= app.baseName.toLowerCase() %>-knative
78
80
  headers:
@@ -114,7 +114,7 @@ spec:
114
114
  <%_ if (app.prodDatabaseTypeCouchbase) { _%>
115
115
  - name: SPRING_COUCHBASE_CONNECTION_STRING
116
116
  value: "<% for (let i = 0; i < app.dbPeerCount; i++) { %><%= app.baseName.toLowerCase() %>-couchbase-<%= i %>.<%= app.baseName.toLowerCase() %>-couchbase<% if (i < (app.dbPeerCount-1)) { %>,<% }} %>"
117
- - name: JHIPSTER_COUCHBASE_BUCKET_NAME
117
+ - name: JHIPSTER_DATABASE_COUCHBASE_BUCKET_NAME
118
118
  value: <%= app.baseName.toLowerCase() %>
119
119
  <%_ } _%>
120
120
  <%_ if (app.searchEngineElasticsearch) { _%>