@nathapp/na-cli 1.0.1-rc.6 → 1.0.2

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 (393) hide show
  1. package/README.md +88 -20
  2. package/dist/index.js +36 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/templates/k8s-cert-manager/README.md +60 -0
  5. package/dist/templates/k8s-cert-manager/cloudflare-cert-manager-issuer.yaml +26 -0
  6. package/dist/templates/k8s-deployment/templates/_deployment.tpl +1 -1
  7. package/dist/templates/k8s-deployment/templates/_endpointslice.tpl +42 -0
  8. package/dist/templates/k8s-deployment/templates/_gateway.tpl +94 -0
  9. package/dist/templates/k8s-deployment/templates/_grpcroute.tpl +186 -0
  10. package/dist/templates/k8s-deployment/templates/_httproute.tpl +209 -0
  11. package/dist/templates/k8s-deployment/templates/_ingressroute.tpl +178 -0
  12. package/dist/templates/k8s-deployment/templates/_middleware.tpl +553 -0
  13. package/dist/templates/k8s-deployment/templates/_serverstransport.tpl +73 -0
  14. package/dist/templates/k8s-deployment/templates/_service.tpl +4 -1
  15. package/dist/templates/k8s-helm-chart/templates/endpointslice.yaml +1 -0
  16. package/dist/templates/k8s-helm-chart/templates/gateway.yaml +1 -0
  17. package/dist/templates/k8s-helm-chart/templates/grpcroute.yaml +1 -0
  18. package/dist/templates/k8s-helm-chart/templates/httproute.yaml +1 -0
  19. package/dist/templates/k8s-helm-chart/templates/ingressroute.yaml +1 -0
  20. package/dist/templates/k8s-helm-chart/templates/middleware.yaml +1 -0
  21. package/dist/templates/k8s-helm-chart/templates/serverstransport.yaml +1 -0
  22. package/dist/templates/k8s-helm-chart/values.yaml +3 -5
  23. package/dist/templates/nestjs-api/{.env → .env.local} +5 -0
  24. package/dist/templates/nestjs-api/.gitignore-rename +2 -1
  25. package/dist/templates/nestjs-api/Dockerfile +33 -13
  26. package/dist/templates/nestjs-api/package.json +49 -39
  27. package/dist/templates/nestjs-api/src/i18n/en_US/date.json +7 -0
  28. package/dist/templates/nestjs-api/src/i18n/en_US/validation.json +16 -0
  29. package/dist/templates/nestjs-api/src/i18n/zh_CN/date.json +7 -0
  30. package/dist/templates/nestjs-api/src/i18n/zh_CN/validation.json +16 -0
  31. package/dist/templates/nestjs-api/src/i18n/zh_TW/date.json +7 -0
  32. package/dist/templates/nestjs-api/src/i18n/zh_TW/validation.json +16 -0
  33. package/dist/templates/nestjs-api/test/jest-test.json +26 -0
  34. package/dist/templates/nestjs-library/.npmignore-rename +4 -0
  35. package/dist/templates/nestjs-library/package.json +8 -8
  36. package/dist/templates/ts-library/.npmignore-rename +4 -0
  37. package/dist/templates/turbo-nestjs-vuexy/README.md +3 -0
  38. package/dist/templates/turbo-nestjs-vuexy/package.json +49 -0
  39. package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/README.md +3 -0
  40. package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/library.js +43 -0
  41. package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/package.json +18 -0
  42. package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/vue.js +236 -0
  43. package/dist/templates/{ts-library/tsconfig.json → turbo-nestjs-vuexy/packages/typescript-config/base.json} +4 -6
  44. package/dist/templates/turbo-nestjs-vuexy/packages/typescript-config/nestjs.json +12 -0
  45. package/dist/templates/turbo-nestjs-vuexy/packages/typescript-config/package.json +9 -0
  46. package/dist/templates/turbo-nestjs-vuexy/packages/typescript-config/vue.json +82 -0
  47. package/dist/templates/turbo-nestjs-vuexy/turbo.json +24 -0
  48. package/dist/templates/vuexy-portal/.editorconfig +1 -0
  49. package/dist/templates/vuexy-portal/.eslintrc.cjs +237 -0
  50. package/dist/templates/vuexy-portal/.gitignore-rename +42 -0
  51. package/dist/templates/vuexy-portal/.stylelintrc.json +46 -0
  52. package/dist/templates/vuexy-portal/Dockerfile +43 -0
  53. package/dist/templates/vuexy-portal/README.md +35 -0
  54. package/dist/templates/vuexy-portal/auto-imports.d.ts +1131 -0
  55. package/dist/templates/vuexy-portal/components.d.ts +68 -0
  56. package/dist/templates/vuexy-portal/dev.Dockerfile +25 -0
  57. package/dist/templates/vuexy-portal/docker-compose.dev.yml +14 -0
  58. package/dist/templates/vuexy-portal/docker-compose.prod.yml +13 -0
  59. package/dist/templates/vuexy-portal/entrypoint.sh +6 -0
  60. package/dist/templates/vuexy-portal/env.d.ts +12 -0
  61. package/dist/templates/vuexy-portal/index.html +57 -0
  62. package/dist/templates/vuexy-portal/nginx.conf +14 -0
  63. package/dist/templates/vuexy-portal/package.json +140 -0
  64. package/dist/templates/vuexy-portal/pnpm-lock.yaml +7963 -0
  65. package/dist/templates/vuexy-portal/prod.Dockerfile +41 -0
  66. package/dist/templates/vuexy-portal/public/favicon.ico +0 -0
  67. package/dist/templates/vuexy-portal/public/images/avatars/avatar-1.png +0 -0
  68. package/dist/templates/vuexy-portal/public/images/avatars/avatar-2.png +0 -0
  69. package/dist/templates/vuexy-portal/public/images/svg/discord.svg +10 -0
  70. package/dist/templates/vuexy-portal/public/images/svg/gift.svg +8 -0
  71. package/dist/templates/vuexy-portal/public/images/svg/keyboard.svg +8 -0
  72. package/dist/templates/vuexy-portal/public/images/svg/laptop.svg +8 -0
  73. package/dist/templates/vuexy-portal/public/images/svg/lightbulb.svg +8 -0
  74. package/dist/templates/vuexy-portal/public/images/svg/rocket.svg +8 -0
  75. package/dist/templates/vuexy-portal/public/loader.css +79 -0
  76. package/dist/templates/vuexy-portal/public/mockServiceWorker.js +287 -0
  77. package/dist/templates/vuexy-portal/shims.d.ts +15 -0
  78. package/dist/templates/vuexy-portal/src/@core/components/AppBarSearch.vue +278 -0
  79. package/dist/templates/vuexy-portal/src/@core/components/AppDrawerHeaderSection.vue +30 -0
  80. package/dist/templates/vuexy-portal/src/@core/components/AppStepper.vue +371 -0
  81. package/dist/templates/vuexy-portal/src/@core/components/BuyNow.vue +92 -0
  82. package/dist/templates/vuexy-portal/src/@core/components/CardStatisticsVerticalSimple.vue +35 -0
  83. package/dist/templates/vuexy-portal/src/@core/components/CustomizerSection.vue +27 -0
  84. package/dist/templates/vuexy-portal/src/@core/components/DialogCloseBtn.vue +25 -0
  85. package/dist/templates/vuexy-portal/src/@core/components/DropZone.vue +135 -0
  86. package/dist/templates/vuexy-portal/src/@core/components/I18n.vue +48 -0
  87. package/dist/templates/vuexy-portal/src/@core/components/MoreBtn.vue +24 -0
  88. package/dist/templates/vuexy-portal/src/@core/components/Notifications.vue +245 -0
  89. package/dist/templates/vuexy-portal/src/@core/components/ProductDescriptionEditor.vue +198 -0
  90. package/dist/templates/vuexy-portal/src/@core/components/ScrollToTop.vue +41 -0
  91. package/dist/templates/vuexy-portal/src/@core/components/Shortcuts.vue +99 -0
  92. package/dist/templates/vuexy-portal/src/@core/components/TablePagination.vue +39 -0
  93. package/dist/templates/vuexy-portal/src/@core/components/TheCustomizer.vue +618 -0
  94. package/dist/templates/vuexy-portal/src/@core/components/ThemeSwitcher.vue +61 -0
  95. package/dist/templates/vuexy-portal/src/@core/components/TiptapEditor.vue +166 -0
  96. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppAutocomplete.vue +57 -0
  97. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppCombobox.vue +57 -0
  98. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppDateTimePicker.vue +543 -0
  99. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppSelect.vue +50 -0
  100. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppTextField.vue +78 -0
  101. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppTextarea.vue +50 -0
  102. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomCheckboxes.vue +81 -0
  103. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomCheckboxesWithIcon.vue +95 -0
  104. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomCheckboxesWithImage.vue +93 -0
  105. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomRadios.vue +81 -0
  106. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomRadiosWithIcon.vue +88 -0
  107. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomRadiosWithImage.vue +99 -0
  108. package/dist/templates/vuexy-portal/src/@core/components/cards/AppCardActions.vue +167 -0
  109. package/dist/templates/vuexy-portal/src/@core/components/cards/AppCardCode.vue +152 -0
  110. package/dist/templates/vuexy-portal/src/@core/components/cards/CardStatisticsHorizontal.vue +41 -0
  111. package/dist/templates/vuexy-portal/src/@core/components/cards/CardStatisticsVertical.vue +48 -0
  112. package/dist/templates/vuexy-portal/src/@core/scss/base/_components.scss +185 -0
  113. package/dist/templates/vuexy-portal/src/@core/scss/base/_dark.scss +16 -0
  114. package/dist/templates/vuexy-portal/src/@core/scss/base/_default-layout-w-horizontal-nav.scss +45 -0
  115. package/dist/templates/vuexy-portal/src/@core/scss/base/_default-layout-w-vertical-nav.scss +103 -0
  116. package/dist/templates/vuexy-portal/src/@core/scss/base/_default-layout.scss +16 -0
  117. package/dist/templates/vuexy-portal/src/@core/scss/base/_horizontal-nav.scss +194 -0
  118. package/dist/templates/vuexy-portal/src/@core/scss/base/_index.scss +48 -0
  119. package/dist/templates/vuexy-portal/src/@core/scss/base/_layouts.scss +63 -0
  120. package/dist/templates/vuexy-portal/src/@core/scss/base/_misc.scss +20 -0
  121. package/dist/templates/vuexy-portal/src/@core/scss/base/_mixins.scss +63 -0
  122. package/dist/templates/vuexy-portal/src/@core/scss/base/_route-transitions.scss +70 -0
  123. package/dist/templates/vuexy-portal/src/@core/scss/base/_utilities.scss +181 -0
  124. package/dist/templates/vuexy-portal/src/@core/scss/base/_utils.scss +90 -0
  125. package/dist/templates/vuexy-portal/src/@core/scss/base/_variables.scss +198 -0
  126. package/dist/templates/vuexy-portal/src/@core/scss/base/_vertical-nav.scss +255 -0
  127. package/dist/templates/vuexy-portal/src/@core/scss/base/libs/_perfect-scrollbar.scss +35 -0
  128. package/dist/templates/vuexy-portal/src/@core/scss/base/libs/vuetify/_index.scss +1 -0
  129. package/dist/templates/vuexy-portal/src/@core/scss/base/libs/vuetify/_overrides.scss +264 -0
  130. package/dist/templates/vuexy-portal/src/@core/scss/base/libs/vuetify/_variables.scss +62 -0
  131. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_default-layout-horizontal-nav.scss +27 -0
  132. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_default-layout-vertical-nav.scss +45 -0
  133. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_default-layout.scss +3 -0
  134. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_horizontal-nav.scss +98 -0
  135. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_index.scss +7 -0
  136. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_misc.scss +7 -0
  137. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_nav.scss +33 -0
  138. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_vertical-nav.scss +80 -0
  139. package/dist/templates/vuexy-portal/src/@core/scss/base/skins/_bordered.scss +72 -0
  140. package/dist/templates/vuexy-portal/src/@core/scss/base/skins/_index.scss +1 -0
  141. package/dist/templates/vuexy-portal/src/@core/scss/template/_default-layout-w-horizontal-nav.scss +9 -0
  142. package/dist/templates/vuexy-portal/src/@core/scss/template/_default-layout-w-vertical-nav.scss +20 -0
  143. package/dist/templates/vuexy-portal/src/@core/scss/template/_horizontal-nav.scss +40 -0
  144. package/dist/templates/vuexy-portal/src/@core/scss/template/_mixins.scss +6 -0
  145. package/dist/templates/vuexy-portal/src/@core/scss/template/_utilities.scss +49 -0
  146. package/dist/templates/vuexy-portal/src/@core/scss/template/_variables.scss +102 -0
  147. package/dist/templates/vuexy-portal/src/@core/scss/template/_vertical-nav.scss +47 -0
  148. package/dist/templates/vuexy-portal/src/@core/scss/template/index.scss +17 -0
  149. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/apex-chart.scss +108 -0
  150. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/full-calendar.scss +351 -0
  151. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/shepherd.scss +94 -0
  152. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/swiper.scss +5 -0
  153. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/_variables.scss +351 -0
  154. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_alert.scss +114 -0
  155. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_avatar.scss +27 -0
  156. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_badge.scss +25 -0
  157. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_button.scss +280 -0
  158. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_cards.scss +3 -0
  159. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_checkbox.scss +57 -0
  160. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_chip.scss +102 -0
  161. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_dialog.scss +27 -0
  162. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_expansion-panels.scss +106 -0
  163. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_field.scss +308 -0
  164. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_list.scss +30 -0
  165. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_menu.scss +35 -0
  166. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_otp-input.scss +17 -0
  167. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_pagination.scss +140 -0
  168. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_progress.scss +13 -0
  169. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_radio.scss +46 -0
  170. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_rating.scss +20 -0
  171. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_slider.scss +27 -0
  172. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_snackbar.scss +10 -0
  173. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_switch.scss +58 -0
  174. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_table.scss +48 -0
  175. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_tabs.scss +91 -0
  176. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_textarea.scss +9 -0
  177. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_timeline.scss +99 -0
  178. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_tooltip.scss +6 -0
  179. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/index.scss +25 -0
  180. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/index.scss +3 -0
  181. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/overrides.scss +18 -0
  182. package/dist/templates/vuexy-portal/src/@core/scss/template/pages/misc.scss +20 -0
  183. package/dist/templates/vuexy-portal/src/@core/scss/template/pages/page-auth.scss +63 -0
  184. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_default-layout-horizontal-nav.scss +7 -0
  185. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_default-layout-vertical-nav.scss +8 -0
  186. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_horizontal-nav.scss +47 -0
  187. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_index.scss +6 -0
  188. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_misc.scss +3 -0
  189. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_nav.scss +27 -0
  190. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_vertical-nav.scss +35 -0
  191. package/dist/templates/vuexy-portal/src/@core/scss/template/skins/_bordered.scss +82 -0
  192. package/dist/templates/vuexy-portal/src/@core/scss/template/skins/_index.scss +1 -0
  193. package/dist/templates/vuexy-portal/src/@custom/assets/images/user-profile-header.png +0 -0
  194. package/dist/templates/vuexy-portal/src/@custom/components/ConfirmationDialog.vue +155 -0
  195. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNav.vue +35 -0
  196. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavGroup.vue +110 -0
  197. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavLayout.vue +150 -0
  198. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavLink.vue +56 -0
  199. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavPopper.vue +175 -0
  200. package/dist/templates/vuexy-portal/src/@layouts/components/TransitionExpand.vue +92 -0
  201. package/dist/templates/vuexy-portal/src/@layouts/components/VNodeRenderer.tsx +17 -0
  202. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNav.vue +236 -0
  203. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavGroup.vue +267 -0
  204. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavLayout.vue +232 -0
  205. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavLink.vue +68 -0
  206. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavSectionTitle.vue +37 -0
  207. package/dist/templates/vuexy-portal/src/@layouts/styles/_classes.scss +3 -0
  208. package/dist/templates/vuexy-portal/src/@layouts/styles/_default-layout.scss +35 -0
  209. package/dist/templates/vuexy-portal/src/@layouts/styles/_global.scss +10 -0
  210. package/dist/templates/vuexy-portal/src/@layouts/styles/_mixins.scss +30 -0
  211. package/dist/templates/vuexy-portal/src/@layouts/styles/_placeholders.scss +53 -0
  212. package/dist/templates/vuexy-portal/src/@layouts/styles/_rtl.scss +7 -0
  213. package/dist/templates/vuexy-portal/src/@layouts/styles/_variables.scss +29 -0
  214. package/dist/templates/vuexy-portal/src/@layouts/styles/index.scss +3 -0
  215. package/dist/templates/vuexy-portal/src/App.vue +26 -0
  216. package/dist/templates/vuexy-portal/src/assets/images/avatars/avatar-1.png +0 -0
  217. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/border-light.svg +16 -0
  218. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/collapsed-light.svg +17 -0
  219. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/compact-light.svg +11 -0
  220. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/default-light.svg +17 -0
  221. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/horizontal-light.svg +12 -0
  222. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/ltr-light.svg +15 -0
  223. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/rtl-light.svg +15 -0
  224. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/wide-light.svg +11 -0
  225. package/dist/templates/vuexy-portal/src/assets/images/logo.svg +6 -0
  226. package/dist/templates/vuexy-portal/src/assets/images/misc/3d-safe-box-with-golden-dollar-coins.png +0 -0
  227. package/dist/templates/vuexy-portal/src/assets/images/misc/3d-space-rocket-with-smoke.png +0 -0
  228. package/dist/templates/vuexy-portal/src/assets/images/misc/dollar-coins-flying-pink-piggy-bank.png +0 -0
  229. package/dist/templates/vuexy-portal/src/assets/images/misc/fleet-car.png +0 -0
  230. package/dist/templates/vuexy-portal/src/assets/images/pages/misc-mask-dark.png +0 -0
  231. package/dist/templates/vuexy-portal/src/assets/images/pages/misc-mask-light.png +0 -0
  232. package/dist/templates/vuexy-portal/src/assets/images/svg/Card.svg +8 -0
  233. package/dist/templates/vuexy-portal/src/assets/images/svg/Check.svg +4 -0
  234. package/dist/templates/vuexy-portal/src/assets/images/svg/Diamond.svg +12 -0
  235. package/dist/templates/vuexy-portal/src/assets/images/svg/Suitcase.svg +4 -0
  236. package/dist/templates/vuexy-portal/src/assets/images/svg/Wallet.svg +10 -0
  237. package/dist/templates/vuexy-portal/src/assets/images/svg/address.svg +25 -0
  238. package/dist/templates/vuexy-portal/src/assets/images/svg/auth-v1-bottom-shape.svg +4 -0
  239. package/dist/templates/vuexy-portal/src/assets/images/svg/auth-v1-top-shape.svg +4 -0
  240. package/dist/templates/vuexy-portal/src/assets/images/svg/cart.svg +5 -0
  241. package/dist/templates/vuexy-portal/src/assets/images/svg/checkbox-checked.svg +4 -0
  242. package/dist/templates/vuexy-portal/src/assets/images/svg/checkbox-indeterminate.svg +4 -0
  243. package/dist/templates/vuexy-portal/src/assets/images/svg/checkbox-unchecked.svg +10 -0
  244. package/dist/templates/vuexy-portal/src/assets/images/svg/discord.svg +10 -0
  245. package/dist/templates/vuexy-portal/src/assets/images/svg/gift.svg +8 -0
  246. package/dist/templates/vuexy-portal/src/assets/images/svg/home.svg +5 -0
  247. package/dist/templates/vuexy-portal/src/assets/images/svg/keyboard.svg +4 -0
  248. package/dist/templates/vuexy-portal/src/assets/images/svg/laptop.svg +4 -0
  249. package/dist/templates/vuexy-portal/src/assets/images/svg/lightbulb.svg +8 -0
  250. package/dist/templates/vuexy-portal/src/assets/images/svg/office.svg +4 -0
  251. package/dist/templates/vuexy-portal/src/assets/images/svg/paper-send.svg +4 -0
  252. package/dist/templates/vuexy-portal/src/assets/images/svg/payment.svg +21 -0
  253. package/dist/templates/vuexy-portal/src/assets/images/svg/radio-checked.svg +3 -0
  254. package/dist/templates/vuexy-portal/src/assets/images/svg/radio-unchecked.svg +3 -0
  255. package/dist/templates/vuexy-portal/src/assets/images/svg/rocket.svg +4 -0
  256. package/dist/templates/vuexy-portal/src/assets/images/svg/trending.svg +14 -0
  257. package/dist/templates/vuexy-portal/src/assets/images/svg/user-info.svg +4 -0
  258. package/dist/templates/vuexy-portal/src/assets/images/svg/user.svg +6 -0
  259. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-account.svg +6 -0
  260. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-address.svg +18 -0
  261. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-personal.svg +6 -0
  262. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-social-link.svg +6 -0
  263. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-submit.svg +6 -0
  264. package/dist/templates/vuexy-portal/src/assets/styles/styles.scss +1 -0
  265. package/dist/templates/vuexy-portal/src/assets/styles/variables/_template.scss +6 -0
  266. package/dist/templates/vuexy-portal/src/assets/styles/variables/_vuetify.scss +7 -0
  267. package/dist/templates/vuexy-portal/src/components/AppLoadingIndicator.vue +63 -0
  268. package/dist/templates/vuexy-portal/src/components/AppPricing.vue +247 -0
  269. package/dist/templates/vuexy-portal/src/components/AppSearchHeader.vue +77 -0
  270. package/dist/templates/vuexy-portal/src/components/ErrorHeader.vue +40 -0
  271. package/dist/templates/vuexy-portal/src/components/dialogs/AddAuthenticatorAppDialog.vue +101 -0
  272. package/dist/templates/vuexy-portal/src/components/dialogs/AddEditAddressDialog.vue +238 -0
  273. package/dist/templates/vuexy-portal/src/components/dialogs/AddEditPermissionDialog.vue +93 -0
  274. package/dist/templates/vuexy-portal/src/components/dialogs/AddEditRoleDialog.vue +302 -0
  275. package/dist/templates/vuexy-portal/src/components/dialogs/AddPaymentMethodDialog.vue +120 -0
  276. package/dist/templates/vuexy-portal/src/components/dialogs/CardAddEditDialog.vue +153 -0
  277. package/dist/templates/vuexy-portal/src/components/dialogs/ConfirmDialog.vue +151 -0
  278. package/dist/templates/vuexy-portal/src/components/dialogs/CreateAppDialog.vue +459 -0
  279. package/dist/templates/vuexy-portal/src/components/dialogs/EnableOneTimePasswordDialog.vue +85 -0
  280. package/dist/templates/vuexy-portal/src/components/dialogs/PaymentProvidersDialog.vue +123 -0
  281. package/dist/templates/vuexy-portal/src/components/dialogs/PricingPlanDialog.vue +34 -0
  282. package/dist/templates/vuexy-portal/src/components/dialogs/ReferAndEarnDialog.vue +181 -0
  283. package/dist/templates/vuexy-portal/src/components/dialogs/ShareProjectDialog.vue +198 -0
  284. package/dist/templates/vuexy-portal/src/components/dialogs/TwoFactorAuthDialog.vue +120 -0
  285. package/dist/templates/vuexy-portal/src/components/dialogs/UserInfoEditDialog.vue +246 -0
  286. package/dist/templates/vuexy-portal/src/components/dialogs/UserUpgradePlanDialog.vue +101 -0
  287. package/dist/templates/vuexy-portal/src/layouts/blank.vue +42 -0
  288. package/dist/templates/vuexy-portal/src/layouts/components/DefaultLayoutWithHorizontalNav.vue +75 -0
  289. package/dist/templates/vuexy-portal/src/layouts/components/DefaultLayoutWithVerticalNav.vue +79 -0
  290. package/dist/templates/vuexy-portal/src/layouts/components/Footer.vue +17 -0
  291. package/dist/templates/vuexy-portal/src/layouts/components/NavSearchBar.vue +266 -0
  292. package/dist/templates/vuexy-portal/src/layouts/components/NavbarShortcuts.vue +45 -0
  293. package/dist/templates/vuexy-portal/src/layouts/components/NavbarThemeSwitcher.vue +22 -0
  294. package/dist/templates/vuexy-portal/src/layouts/components/UserProfile.vue +114 -0
  295. package/dist/templates/vuexy-portal/src/layouts/default.vue +30 -0
  296. package/dist/templates/vuexy-portal/src/pages/[...error].vue +46 -0
  297. package/dist/templates/vuexy-portal/src/pages/account-settings/[tab].vue +57 -0
  298. package/dist/templates/vuexy-portal/src/pages/index.vue +32 -0
  299. package/dist/templates/vuexy-portal/src/pages/login.vue +178 -0
  300. package/dist/templates/vuexy-portal/src/pages/not-authorized.vue +47 -0
  301. package/dist/templates/vuexy-portal/src/pages/second-page.vue +13 -0
  302. package/dist/templates/vuexy-portal/src/plugins/casl/shims-ability.d.ts +8 -0
  303. package/dist/templates/vuexy-portal/src/plugins/i18n/locales/en_US.json +88 -0
  304. package/dist/templates/vuexy-portal/src/plugins/i18n/locales/zh_CN.json +88 -0
  305. package/dist/templates/vuexy-portal/src/plugins/i18n/vue-i18n.d.ts +17 -0
  306. package/dist/templates/vuexy-portal/src/plugins/iconify/icons.css +21039 -0
  307. package/dist/templates/vuexy-portal/src/plugins/iconify/package.json +3 -0
  308. package/dist/templates/vuexy-portal/src/views/account-settings/AccountSettingsSecurity.vue +179 -0
  309. package/dist/templates/vuexy-portal/typed-router.d.ts +146 -0
  310. package/dist/utils/template.js +122 -47
  311. package/dist/utils/template.js.map +1 -1
  312. package/package.json +1 -1
  313. package/.gitlab-ci.yml +0 -143
  314. package/Makefile +0 -62
  315. package/dist/templates/db-schema/.gitlab-ci.yml +0 -139
  316. package/dist/templates/db-schema/Makefile +0 -885
  317. package/dist/templates/k8s-deployment/.gitlab-ci.yml +0 -128
  318. package/dist/templates/k8s-deployment/Makefile +0 -196
  319. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/script/Makefile +0 -12
  320. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/script/Makefile +0 -8
  321. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/script/Makefile +0 -49
  322. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/Makefile +0 -9
  323. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/script/Makefile +0 -14
  324. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/_t-0100-readiness-liveness.ts +0 -84
  325. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/hub.ts +0 -372
  326. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contact.ts +0 -158
  327. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contract.ts +0 -328
  328. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-kyc.ts +0 -304
  329. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-app.ts +0 -823
  330. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-web.ts +0 -493
  331. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-profile.ts +0 -277
  332. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-whitelist.ts +0 -133
  333. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/t-0200-start.ts +0 -172
  334. package/dist/templates/mxw-base-api-express/.dockerignore +0 -2
  335. package/dist/templates/mxw-base-api-express/.env +0 -10
  336. package/dist/templates/mxw-base-api-express/.gitignore-rename +0 -3
  337. package/dist/templates/mxw-base-api-express/.gitlab-ci.yml +0 -174
  338. package/dist/templates/mxw-base-api-express/.nvmrc +0 -1
  339. package/dist/templates/mxw-base-api-express/Dockerfile +0 -14
  340. package/dist/templates/mxw-base-api-express/Makefile +0 -84
  341. package/dist/templates/mxw-base-api-express/README.md +0 -71
  342. package/dist/templates/mxw-base-api-express/package.json +0 -55
  343. package/dist/templates/mxw-base-api-express/src/app-service.test.ts +0 -94
  344. package/dist/templates/mxw-base-api-express/src/app-service.ts +0 -498
  345. package/dist/templates/mxw-base-api-express/src/auth/auth-user.test.ts +0 -215
  346. package/dist/templates/mxw-base-api-express/src/auth/auth-user.ts +0 -86
  347. package/dist/templates/mxw-base-api-express/src/auth/auth.ts +0 -81
  348. package/dist/templates/mxw-base-api-express/src/core-service.ts +0 -72
  349. package/dist/templates/mxw-base-api-express/src/crud.ts +0 -84
  350. package/dist/templates/mxw-base-api-express/src/http-handler.ts +0 -71
  351. package/dist/templates/mxw-base-api-express/src/server.ts +0 -54
  352. package/dist/templates/mxw-base-api-express/src/test.ts +0 -38
  353. package/dist/templates/mxw-base-api-express/src/utils/api-utilities.ts +0 -52
  354. package/dist/templates/mxw-base-api-express/src/utils/file-utilities.ts +0 -55
  355. package/dist/templates/mxw-base-api-express/tsconfig.json +0 -32
  356. package/dist/templates/nestjs-api/.dockerignore +0 -6
  357. package/dist/templates/nestjs-api/.gitlab-ci.yml +0 -174
  358. package/dist/templates/nestjs-api/.nvmrc +0 -1
  359. package/dist/templates/nestjs-api/.prettierrc +0 -4
  360. package/dist/templates/nestjs-api/Makefile +0 -95
  361. package/dist/templates/nestjs-api/nest-cli.json +0 -11
  362. package/dist/templates/nestjs-api/src/app.controller.spec.ts +0 -24
  363. package/dist/templates/nestjs-api/src/app.controller.ts +0 -27
  364. package/dist/templates/nestjs-api/src/app.module.ts +0 -49
  365. package/dist/templates/nestjs-api/src/app.service.ts +0 -27
  366. package/dist/templates/nestjs-api/src/main.ts +0 -26
  367. package/dist/templates/nestjs-api/test/app.e2e-spec.ts +0 -47
  368. package/dist/templates/nestjs-api/tsconfig.build.json +0 -4
  369. package/dist/templates/nestjs-api/tsconfig.json +0 -24
  370. package/dist/templates/nestjs-library/.eslintrc.js +0 -24
  371. package/dist/templates/nestjs-library/.gitlab-ci.yml +0 -138
  372. package/dist/templates/nestjs-library/.prettierrc +0 -6
  373. package/dist/templates/nestjs-library/Makefile +0 -60
  374. package/dist/templates/nestjs-library/index.ts +0 -1
  375. package/dist/templates/nestjs-library/lib/index.ts +0 -2
  376. package/dist/templates/nestjs-library/test/app/controller/hello.controller.ts +0 -7
  377. package/dist/templates/nestjs-library/tsconfig.build.json +0 -7
  378. package/dist/templates/nestjs-library/tsconfig.json +0 -18
  379. package/dist/templates/ts-library/.dockerignore +0 -2
  380. package/dist/templates/ts-library/.eslintrc.js +0 -24
  381. package/dist/templates/ts-library/.gitlab-ci.yml +0 -136
  382. package/dist/templates/ts-library/.prettierrc +0 -6
  383. package/dist/templates/ts-library/Makefile +0 -58
  384. package/dist/templates/ts-library/index.ts +0 -1
  385. package/dist/templates/ts-library/lib/index.ts +0 -1
  386. package/dist/templates/ts-library/lib/samples/index.ts +0 -5
  387. package/dist/templates/ts-library/lib/samples/samples-function.ts +0 -3
  388. package/dist/templates/ts-library/test/sample.e2e-spec.ts +0 -10
  389. package/dist/templates/ts-library/tsconfig.build.json +0 -4
  390. package/dist/utils/help.js +0 -8
  391. package/dist/utils/help.js.map +0 -1
  392. package/tsconfig.json +0 -24
  393. /package/dist/templates/{nestjs-api/.eslintrc.js → turbo-nestjs-vuexy/packages/eslint-config/nest.js} +0 -0
package/README.md CHANGED
@@ -1,26 +1,94 @@
1
- ## na-cli
1
+ # Nathapp CLI (na-cli) Documentation
2
2
 
3
- Command line for create a project with your own templates, and other template job
3
+ The Nathapp CLI is a development utility designed to scaffold projects from templates and manage environment variable conversions between `.env` and YAML formats.
4
4
 
5
- 1. Note: when `npm publish`, npm will ignore files inside .npmignore which will cause missing files on generated projects, so please rename .npmignore to .npmignore-rename, template engine will auto rename .npmignore-rename back .npmignore
5
+ ## Installation & Setup
6
6
 
7
- ## Template Generation Version 1.0.0
7
+ If installed as a global package:
8
+ ```bash
9
+ na --help
10
+ ```
8
11
 
9
- 1. ts-library template 1.0.0
10
- 2. mxw-base-api-express template 1.0.0
11
- 3. db-schema 1.0.0
12
- 4. k8s-deployments 1.0.0
13
- 5. nestjs-api 1.0.0
14
- - with nestjs ^10.0.0
15
- - with @nathapp/common ^0.1.13
16
- - with @nathapp/nestjs-app ^1.0.0-rc.10
17
- - with @nathapp/nestjs-auth ^1.0.0-rc.28
18
- - with @nathapp/nestjs-common ^1.0.1-rc.28
19
- - with @nathapp/nestjs-data ^1.0.0-rc.13
20
- - with @nathapp/nestjs-microservices ^1.0.0-rc.14
21
- 6. nestjs-library 1.0.0
22
- - with nestjs ^10.0.0
12
+ ## Commands
23
13
 
24
- ## Inspired by https://github.com/pongsatt/mycli
14
+ ### 1. Project Generation (`generate`, `gen`)
15
+ Scaffold a new project from a pre-defined template.
25
16
 
26
- chatbot: 0
17
+ #### Interactive Mode (Default)
18
+ Simply run the command and follow the prompts:
19
+ ```bash
20
+ na gen
21
+ ```
22
+
23
+ #### Non-Interactive / Flag Mode
24
+ You can provide answers directly via command-line flags. If both `--template` and `--name` are provided, the CLI enters **Silent Mode**, suppressing all interactive prompts and using professional defaults for missing values.
25
+
26
+ **Common Flags:**
27
+ - `-t, --template`: Name of the template (e.g., `nestjs-api`, `k8s-helm-chart`).
28
+ - `-n, --name`: The name of the new project folder/package.
29
+ - `--author`: Project author name (defaults to `na-cli`).
30
+ - `-i, --install`: (Boolean) Run `npm install` after generation. No value needed (default: `false`).
31
+
32
+ **Template-Specific Flags:**
33
+
34
+ * **NestJS API (`nestjs-api`):**
35
+ - `--nestjs_api_platform`: Choose `express` or `fastify` (default: `fastify`).
36
+ * **Database Schema (`db-schema`):**
37
+ - `--db_master`: The master database name (default: `master`).
38
+ * **K8s Helm Chart (`k8s-helm-chart`):**
39
+ - `--k8s_chart_registry_host`: `aliyun`, `aws`, `dockerhub`, or `custom`.
40
+ - `--k8s_image_name`: Full image name (default: `bitnami/kafka`).
41
+ - `--k8s_image_version`: Version tag (default: `1.0.0`).
42
+ - `--k8s_chart_kind`: `Deployment`, `StatefulSet`, or `CronJob` (default: `Deployment`).
43
+ - `--k8s_chart_registry_region`: (For Aliyun/AWS) default: `ap-southeast-3`.
44
+ - `--k8s_chart_aws_account_id`: (For AWS) default: `123456789`.
45
+
46
+ **Example:**
47
+ ```bash
48
+ na gen -t nestjs-api -n my-backend -i
49
+ ```
50
+
51
+ ---
52
+
53
+ ### 2. Smart Pathing (K8s)
54
+
55
+ The CLI understands the relationship between infrastructure projects and services. When generating a `k8s-helm-chart` inside a directory created by `k8s-deployment`, it will automatically detect and nest the new chart in the appropriate sub-folder:
56
+
57
+ 1. `services/charts/[name]` (Highest priority)
58
+ 2. `resources/charts/[name]`
59
+ 3. `services/[name]`
60
+ 4. `resources/[name]`
61
+
62
+ This allows you to manage modular services within a master deployment project without manually navigating to sub-folders.
63
+
64
+ ---
65
+
66
+ ### 3. Environment Variable Conversion
67
+
68
+ #### `.env` to YAML (`env-yml`)
69
+ Convert a standard dotenv file into a Nathapp-compatible YAML configuration.
70
+ ```bash
71
+ na env-yml -i .env -o config.yaml
72
+ ```
73
+ - `-i, --input`: Input path (default: `.env`).
74
+ - `-o, --output`: Output path (default: `config.yaml`).
75
+
76
+ #### YAML to `.env` (`yml-env`)
77
+ Convert a YAML configuration back into a standard dotenv file.
78
+ ```bash
79
+ na yml-env -i config.yaml -o .env
80
+ ```
81
+ - `-i, --input`: Input path (default: `config.yaml`).
82
+ - `-o, --output`: Output path (default: `.env`).
83
+
84
+ ---
85
+
86
+ ## Available Templates
87
+ The CLI currently supports the following project types:
88
+ - `db-schema`: Database migration and schema projects.
89
+ - `k8s-deployment`: Basic Kubernetes manifests.
90
+ - `k8s-helm-chart`: Comprehensive Helm chart bootstrapping.
91
+ - `mxw-base-api-express`: Express-based API boilerplate.
92
+ - `ts-library`: TypeScript library project.
93
+ - `nestjs-api`: Professional NestJS setup with platform choices.
94
+ - `vuexy-portal`: Frontend portal based on the Vuexy template.
package/dist/index.js CHANGED
@@ -56,14 +56,48 @@ yargs.version(version).help().alias("help", "h").showHelpOnFail(true)
56
56
  .command({
57
57
  command: 'generate',
58
58
  describe: 'generate project template',
59
- builder: function (yargs) { return yargs.options({}); },
59
+ builder: function (yargs) { return yargs.options({
60
+ template: {
61
+ alias: 't',
62
+ describe: 'template name',
63
+ type: 'string'
64
+ },
65
+ name: {
66
+ alias: 'n',
67
+ describe: 'project name',
68
+ type: 'string'
69
+ },
70
+ install: {
71
+ alias: 'i',
72
+ describe: 'run npm install after generation',
73
+ type: 'boolean',
74
+ default: false
75
+ }
76
+ }); },
60
77
  handler: function (argv) {
61
78
  return runGenerateTemplate();
62
79
  }
63
80
  }).command({
64
81
  command: 'gen',
65
82
  describe: 'generate project template, "generate" command alias',
66
- builder: function (yargs) { return yargs.options({}); },
83
+ builder: function (yargs) { return yargs.options({
84
+ template: {
85
+ alias: 't',
86
+ describe: 'template name',
87
+ type: 'string'
88
+ },
89
+ name: {
90
+ alias: 'n',
91
+ describe: 'project name',
92
+ type: 'string'
93
+ },
94
+ install: {
95
+ alias: 'i',
96
+ describe: 'run npm install after generation',
97
+ type: 'boolean',
98
+ default: false
99
+ }
100
+ }); },
67
101
  handler: function (argv) {
68
102
  return runGenerateTemplate();
69
103
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2BAA6B;AAC7B,6CAAoD;AACpD,mCAAmE;AACnE,6BAA+B;AACvB,IAAA,OAAO,GAAK,OAAO,CAAC,iBAAiB,CAAC,QAA/B,CAAgC;AAE/C,SAAe,mBAAmB;;;;YAC1B,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAClD,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAE/B,sBAAO,IAAA,2BAAgB,EAAC,aAAa,EAAE,QAAQ,CAAC,EAAA;;;CACjD;AAED,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;KAClE,OAAO,CAAC;IACP,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,2BAA2B;IACrC,OAAO,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC;QAChC,QAAQ,EAAE;YACR,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,EAAE;YACP,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,kCAAkC;YAC5C,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;KACF,CAAC,EAjBkB,CAiBlB;IACF,OAAO,EAAE,UAAC,IAAQ;QAChB,OAAO,mBAAmB,EAAE,CAAA;IAC9B,CAAC;CACF,CAAC,CAAC,OAAO,CAAC;IACT,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,qDAAqD;IAC/D,OAAO,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC;QAChC,QAAQ,EAAE;YACR,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,QAAQ;SACf;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,EAAE;YACP,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,kCAAkC;YAC5C,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;KACF,CAAC,EAjBkB,CAiBlB;IACF,OAAO,EAAE,UAAC,IAAQ;QAChB,OAAO,mBAAmB,EAAE,CAAA;IAC9B,CAAC;CACF,CAAC,CAAC,OAAO,CAAC;IACT,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,wBAAwB;IAClC,OAAO,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC;QAChC,KAAK,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,iCAAiC;YAC3C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM;SAChB;QACD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;YACnB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,yCAAyC;YACnD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;SACvB;KACF,CAAC,EAfkB,CAelB;IACF,OAAO,EAAE,UAAC,IAAS;QACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,IAAA,uBAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC,OAAO,CAAC;IACT,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,wBAAwB;IAClC,OAAO,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC;QAChC,KAAK,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,wCAAwC;YAClD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;SACvB;QACD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;YACnB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,kCAAkC;YAC5C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM;SAChB;KACF,CAAC,EAfkB,CAelB;IACF,OAAO,EAAE,UAAC,IAAS;QACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,IAAA,uBAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC;AAEL,KAAK,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,60 @@
1
+ To install cert-manager version 1.12, you can use the following steps. Note that the process might vary slightly based on your specific Kubernetes setup (e.g., cloud provider, managed Kubernetes service).
2
+
3
+ for more detail https://cert-manager.io/docs/installation/helm/
4
+
5
+ 1. **Add the Jetstack Helm repository**:
6
+
7
+ ```bash
8
+ helm repo add jetstack https://charts.jetstack.io --force-update
9
+ ```
10
+
11
+ 2. **Update your Helm repositories**:
12
+
13
+ ```bash
14
+ helm repo update
15
+ ```
16
+
17
+ 3. **Install cert-manager CRDs (Custom Resource Definitions)**:
18
+
19
+ ```bash
20
+ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.12.0/cert-manager.crds.yaml
21
+ ```
22
+
23
+ 4. **Install the cert-manager Helm chart**:
24
+
25
+ ```bash
26
+ helm install \
27
+ cert-manager jetstack/cert-manager \
28
+ --namespace cert-manager \
29
+ --create-namespace \
30
+ --version v1.12.0 \
31
+ #--set installCRDs=true
32
+ ```
33
+
34
+ Replace `v1.5.0` with the version you want to install. The `--set installCRDs=true` flag ensures that the CRDs are installed along with the chart.
35
+
36
+ 5. **Verify the installation**:
37
+
38
+ After installation, verify that cert-manager is running correctly by checking the pods in the `cert-manager` namespace:
39
+
40
+ ```bash
41
+ kubectl get pods -n cert-manager
42
+ ```
43
+
44
+ You should see cert-manager pods running.
45
+
46
+ 6. **(Optional) Upgrade an existing cert-manager installation**:
47
+
48
+ If you already have cert-manager installed and want to upgrade it to version 1.5.0, you can use the following Helm command:
49
+
50
+ ```bash
51
+ helm upgrade \
52
+ cert-manager jetstack/cert-manager \
53
+ --namespace cert-manager \
54
+ --version v1.5.0 \
55
+ --set installCRDs=true
56
+ ```
57
+
58
+ Replace `v1.5.0` with the version you want to upgrade to.
59
+
60
+ This installation method assumes you're using Helm v3. If you're using Helm v2, the commands might differ slightly. Adjust the commands based on your specific setup and requirements.
@@ -0,0 +1,26 @@
1
+ apiVersion: v1
2
+ kind: Secret
3
+ metadata:
4
+ name: cloudflare-api-token
5
+ namespace: cert-manager
6
+ type: Opaque
7
+ stringData:
8
+ api-token: <Cloudflare API token>
9
+ ----
10
+ apiVersion: cert-manager.io/v1
11
+ kind: ClusterIssuer
12
+ metadata:
13
+ name: <Issuer Name>
14
+ spec:
15
+ acme:
16
+ email: <Your Email>
17
+ server: https://acme-v02.api.letsencrypt.org/directory
18
+ privateKeySecretRef:
19
+ name: cluster-issuer-account-key
20
+ solvers:
21
+ - dns01:
22
+ cloudflare:
23
+ email: <Your Email>
24
+ apiTokenSecretRef:
25
+ name: cloudflare-api-token
26
+ key: api-token
@@ -1,5 +1,5 @@
1
1
  {{- define "root.deployment" -}}
2
- {{- if and .Values.enabled (.Values.kind | default "deployment" | lower | eq "deployment") -}}
2
+ {{- if and .Values.enabled (.Values.kind | default "" | lower | eq "deployment") -}}
3
3
  apiVersion: apps/v1
4
4
  kind: Deployment
5
5
  metadata:
@@ -0,0 +1,42 @@
1
+ {{- define "root.endpointslice" -}}
2
+ {{- if and .Values.enabled .Values.endpointslice -}}
3
+ apiVersion: discovery.k8s.io/v1
4
+ kind: EndpointSlice
5
+ metadata:
6
+ name: {{ include (print $.Chart.Name ".fullname") . }}
7
+ {{- if .Values.endpointslice.annotations }}
8
+ {{- with .Values.endpointslice.annotations }}
9
+ annotations:
10
+ {{- toYaml . | nindent 4 }}
11
+ {{- end }}
12
+ {{- end }}
13
+ labels:
14
+ kubernetes.io/service-name: {{ include (print $.Chart.Name ".fullname") . }}
15
+ {{- include (print $.Chart.Name ".selectorLabels") . | nindent 4 }}
16
+ addressType: {{ .Values.endpointslice.addressType | default "IPv4" }}
17
+ ports:
18
+ {{- if .Values.endpointslice.ports }}
19
+ {{- range $index, $port := .Values.endpointslice.ports }}
20
+ - name: {{ $port.name | default (printf "port-%d" $index) }}
21
+ protocol: {{ $port.protocol | default "TCP" }}
22
+ port: {{ $port.port }}
23
+ {{- end }}
24
+ {{- end }}
25
+ {{- if .Values.endpointslice.port }}
26
+ - name: http
27
+ protocol: TCP
28
+ port: {{ .Values.endpointslice.port }}
29
+ {{- end }}
30
+ endpoints:
31
+ {{- if .Values.endpointslice.endpoints }}
32
+ {{- range .Values.endpointslice.endpoints }}
33
+ - addresses:
34
+ {{- range .addresses }}
35
+ - {{ . }}
36
+ {{- end }}
37
+ conditions:
38
+ ready: {{ .conditions.ready | default true }}
39
+ {{- end }}
40
+ {{- end }}
41
+ {{- end }}
42
+ {{- end }}
@@ -0,0 +1,94 @@
1
+ {{- define "root.gateway" -}}
2
+ {{- if and .Values.enabled .Values.gateway -}}
3
+ apiVersion: gateway.networking.k8s.io/v1
4
+ kind: Gateway
5
+ metadata:
6
+ name: {{ tpl (.Values.gateway.name | default (include (print $.Chart.Name ".fullname") .)) . }}
7
+ {{- if .Values.gateway.annotations }}
8
+ {{- with .Values.gateway.annotations }}
9
+ annotations:
10
+ {{- toYaml . | nindent 4 }}
11
+ {{- end }}
12
+ {{- end }}
13
+ labels:
14
+ {{- include (print $.Chart.Name ".labels") . | nindent 4 }}
15
+ spec:
16
+ gatewayClassName: {{ .Values.gateway.gatewayClassName | default "nginx" }}
17
+ {{- if .Values.gateway.addresses }}
18
+ addresses:
19
+ {{- range .Values.gateway.addresses }}
20
+ - type: {{ .type | default "IPAddress" }}
21
+ value: {{ include "root.global" (list $ .value) }}
22
+ {{- end }}
23
+ {{- end }}
24
+ listeners:
25
+ {{- if .Values.gateway.listeners }}
26
+ {{- range $index, $listener := .Values.gateway.listeners }}
27
+ - name: {{ $listener.name | default (printf "listener-%d" $index) }}
28
+ hostname: {{ include "root.global" (list $ $listener.hostname) | quote }}
29
+ port: {{ $listener.port | default 80 }}
30
+ protocol: {{ $listener.protocol | default "HTTP" }}
31
+ {{- if $listener.tls }}
32
+ tls:
33
+ {{- with $listener.tls }}
34
+ mode: {{ .mode | default "Terminate" }}
35
+ {{- if .certificateRefs }}
36
+ certificateRefs:
37
+ {{- range .certificateRefs }}
38
+ - name: {{ include "root.global" (list $ .name) }}
39
+ {{- if .namespace }}
40
+ namespace: {{ include "root.global" (list $ .namespace) }}
41
+ {{- end }}
42
+ {{- if .group }}
43
+ group: {{ .group }}
44
+ {{- end }}
45
+ {{- if .kind }}
46
+ kind: {{ .kind }}
47
+ {{- end }}
48
+ {{- end }}
49
+ {{- end }}
50
+ {{- end }}
51
+ {{- end }}
52
+ {{- if $listener.allowedRoutes }}
53
+ allowedRoutes:
54
+ {{- with $listener.allowedRoutes }}
55
+ {{- if .namespaces }}
56
+ namespaces:
57
+ from: {{ .namespaces.from | default "All" }}
58
+ {{- if .namespaces.selector }}
59
+ selector:
60
+ {{- toYaml .namespaces.selector | nindent 12 }}
61
+ {{- end }}
62
+ {{- end }}
63
+ {{- if .kinds }}
64
+ kinds:
65
+ {{- range .kinds }}
66
+ - group: {{ .group | default "gateway.networking.k8s.io" }}
67
+ kind: {{ .kind | default "HTTPRoute" }}
68
+ {{- end }}
69
+ {{- end }}
70
+ {{- end }}
71
+ {{- end }}
72
+ {{- end }}
73
+ {{- end }}
74
+ {{- if .Values.gateway.port }}
75
+ - name: http
76
+ hostname: {{ include "root.global" (list . .Values.gateway.hostname) | quote }}
77
+ port: {{ .Values.gateway.port }}
78
+ protocol: {{ .Values.gateway.protocol | default "HTTP" }}
79
+ {{- if .Values.gateway.tls }}
80
+ tls:
81
+ mode: {{ .Values.gateway.tls.mode | default "Terminate" }}
82
+ {{- if .Values.gateway.tls.certificateRefs }}
83
+ certificateRefs:
84
+ {{- range .Values.gateway.tls.certificateRefs }}
85
+ - name: {{ include "root.global" (list $ .name) }}
86
+ {{- if .namespace }}
87
+ namespace: {{ include "root.global" (list $ .namespace) }}
88
+ {{- end }}
89
+ {{- end }}
90
+ {{- end }}
91
+ {{- end }}
92
+ {{- end }}
93
+ {{- end }}
94
+ {{- end }}
@@ -0,0 +1,186 @@
1
+ {{- define "root.grpcroute" -}}
2
+ {{- if and .Values.enabled .Values.grpcroute -}}
3
+ {{- $fullName := include (print $.Chart.Name ".fullname") . -}}
4
+ {{- $svcPort := .Values.service.port -}}
5
+ apiVersion: gateway.networking.k8s.io/v1alpha2
6
+ kind: GRPCRoute
7
+ metadata:
8
+ name: {{ $fullName }}
9
+ {{- if .Values.grpcroute.annotations }}
10
+ {{- with .Values.grpcroute.annotations }}
11
+ annotations:
12
+ {{- toYaml . | nindent 4 }}
13
+ {{- end }}
14
+ {{- end }}
15
+ labels:
16
+ {{- include (print $.Chart.Name ".labels") . | nindent 4 }}
17
+ spec:
18
+ {{- if .Values.grpcroute.parentRefs }}
19
+ parentRefs:
20
+ {{- range .Values.grpcroute.parentRefs }}
21
+ - name: {{ include "root.global" (list $ .name) }}
22
+ {{- if .namespace }}
23
+ namespace: {{ include "root.global" (list $ .namespace) }}
24
+ {{- end }}
25
+ {{- if .group }}
26
+ group: {{ .group }}
27
+ {{- end }}
28
+ {{- if .kind }}
29
+ kind: {{ .kind }}
30
+ {{- end }}
31
+ {{- if .sectionName }}
32
+ sectionName: {{ include "root.global" (list $ .sectionName) }}
33
+ {{- end }}
34
+ {{- if .port }}
35
+ port: {{ .port }}
36
+ {{- end }}
37
+ {{- end }}
38
+ {{- end }}
39
+ {{- if .Values.grpcroute.hostnames }}
40
+ hostnames:
41
+ {{- range .Values.grpcroute.hostnames }}
42
+ - {{ include "root.global" (list $ .) | quote }}
43
+ {{- end }}
44
+ {{- end }}
45
+ rules:
46
+ {{- if .Values.grpcroute.rules }}
47
+ {{- range $ruleIndex, $rule := .Values.grpcroute.rules }}
48
+ - {{- if $rule.matches }}
49
+ matches:
50
+ {{- range $matchIndex, $match := $rule.matches }}
51
+ - {{- if $match.method }}
52
+ method:
53
+ {{- if $match.method.type }}
54
+ type: {{ $match.method.type | default "Exact" }}
55
+ {{- end }}
56
+ {{- if $match.method.service }}
57
+ service: {{ include "root.global" (list $ $match.method.service) }}
58
+ {{- end }}
59
+ {{- if $match.method.method }}
60
+ method: {{ include "root.global" (list $ $match.method.method) }}
61
+ {{- end }}
62
+ {{- end }}
63
+ {{- if $match.headers }}
64
+ headers:
65
+ {{- range $match.headers }}
66
+ - name: {{ include "root.global" (list $ .name) }}
67
+ type: {{ .type | default "Exact" }}
68
+ value: {{ include "root.global" (list $ .value) }}
69
+ {{- end }}
70
+ {{- end }}
71
+ {{- end }}
72
+ {{- end }}
73
+ {{- if $rule.filters }}
74
+ filters:
75
+ {{- range $rule.filters }}
76
+ - type: {{ .type }}
77
+ {{- if eq .type "RequestHeaderModifier" }}
78
+ requestHeaderModifier:
79
+ {{- if .requestHeaderModifier.set }}
80
+ set:
81
+ {{- range $key, $value := .requestHeaderModifier.set }}
82
+ - name: {{ $key }}
83
+ value: {{ include "root.global" (list $ $value) }}
84
+ {{- end }}
85
+ {{- end }}
86
+ {{- if .requestHeaderModifier.add }}
87
+ add:
88
+ {{- range $key, $value := .requestHeaderModifier.add }}
89
+ - name: {{ $key }}
90
+ value: {{ include "root.global" (list $ $value) }}
91
+ {{- end }}
92
+ {{- end }}
93
+ {{- if .requestHeaderModifier.remove }}
94
+ remove:
95
+ {{- range .requestHeaderModifier.remove }}
96
+ - {{ . }}
97
+ {{- end }}
98
+ {{- end }}
99
+ {{- end }}
100
+ {{- if eq .type "ResponseHeaderModifier" }}
101
+ responseHeaderModifier:
102
+ {{- if .responseHeaderModifier.set }}
103
+ set:
104
+ {{- range $key, $value := .responseHeaderModifier.set }}
105
+ - name: {{ $key }}
106
+ value: {{ include "root.global" (list $ $value) }}
107
+ {{- end }}
108
+ {{- end }}
109
+ {{- if .responseHeaderModifier.add }}
110
+ add:
111
+ {{- range $key, $value := .responseHeaderModifier.add }}
112
+ - name: {{ $key }}
113
+ value: {{ include "root.global" (list $ $value) }}
114
+ {{- end }}
115
+ {{- end }}
116
+ {{- if .responseHeaderModifier.remove }}
117
+ remove:
118
+ {{- range .responseHeaderModifier.remove }}
119
+ - {{ . }}
120
+ {{- end }}
121
+ {{- end }}
122
+ {{- end }}
123
+ {{- if eq .type "RequestMirror" }}
124
+ requestMirror:
125
+ backendRef:
126
+ name: {{ include "root.global" (list $ .requestMirror.backendRef.name) }}
127
+ {{- if .requestMirror.backendRef.namespace }}
128
+ namespace: {{ include "root.global" (list $ .requestMirror.backendRef.namespace) }}
129
+ {{- end }}
130
+ {{- if .requestMirror.backendRef.group }}
131
+ group: {{ .requestMirror.backendRef.group }}
132
+ {{- end }}
133
+ {{- if .requestMirror.backendRef.kind }}
134
+ kind: {{ .requestMirror.backendRef.kind }}
135
+ {{- end }}
136
+ {{- if .requestMirror.backendRef.port }}
137
+ port: {{ .requestMirror.backendRef.port }}
138
+ {{- end }}
139
+ {{- end }}
140
+ {{- end }}
141
+ {{- end }}
142
+ {{- if $rule.backendRefs }}
143
+ backendRefs:
144
+ {{- range $rule.backendRefs }}
145
+ - name: {{ include "root.global" (list $ .name) | default $fullName }}
146
+ {{- if .namespace }}
147
+ namespace: {{ include "root.global" (list $ .namespace) }}
148
+ {{- end }}
149
+ {{- if .group }}
150
+ group: {{ .group }}
151
+ {{- end }}
152
+ {{- if .kind }}
153
+ kind: {{ .kind }}
154
+ {{- end }}
155
+ {{- if .port }}
156
+ port: {{ .port }}
157
+ {{- else if $svcPort }}
158
+ port: {{ $svcPort }}
159
+ {{- end }}
160
+ {{- if .weight }}
161
+ weight: {{ .weight }}
162
+ {{- end }}
163
+ {{- if .filters }}
164
+ filters:
165
+ {{- toYaml .filters | nindent 12 }}
166
+ {{- end }}
167
+ {{- end }}
168
+ {{- end }}
169
+ {{- end }}
170
+ {{- end }}
171
+ {{- if .Values.grpcroute.hostname }}
172
+ - matches:
173
+ - method:
174
+ type: {{ .Values.grpcroute.methodType | default "Exact" }}
175
+ {{- if .Values.grpcroute.service }}
176
+ service: {{ include "root.global" (list . .Values.grpcroute.service) }}
177
+ {{- end }}
178
+ {{- if .Values.grpcroute.method }}
179
+ method: {{ include "root.global" (list . .Values.grpcroute.method) }}
180
+ {{- end }}
181
+ backendRefs:
182
+ - name: {{ $fullName }}
183
+ port: {{ $svcPort }}
184
+ {{- end }}
185
+ {{- end }}
186
+ {{- end }}