@ydkn/pulumi-components 0.4.2 → 0.4.4

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 (505) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.gitlab-ci.yml +73 -0
  3. package/.prettierrc +3 -0
  4. package/{index.d.ts → index.ts} +46 -2
  5. package/lib/avahi/deployment.ts +171 -0
  6. package/lib/avahi/{index.d.ts → index.ts} +1 -1
  7. package/lib/avahi/service.ts +118 -0
  8. package/lib/aws/accessKey.ts +40 -0
  9. package/lib/aws/bucket.ts +71 -0
  10. package/lib/aws/{index.d.ts → index.ts} +1 -1
  11. package/lib/blocky/assets/dashboard.json +1777 -0
  12. package/lib/blocky/deployment.ts +134 -0
  13. package/lib/blocky/{index.d.ts → index.ts} +1 -1
  14. package/lib/certManager/assets/dashboard.json +1188 -0
  15. package/lib/certManager/certificate.ts +168 -0
  16. package/lib/certManager/index.ts +39 -0
  17. package/lib/certManager/issuer.ts +141 -0
  18. package/lib/certManager/operator.ts +244 -0
  19. package/lib/common/componentResource.ts +78 -0
  20. package/lib/common/{index.d.ts → index.ts} +2 -1
  21. package/lib/common/types.ts +3 -0
  22. package/lib/cups/avahiService.ts +66 -0
  23. package/lib/cups/deployment.ts +199 -0
  24. package/lib/cups/index.ts +4 -0
  25. package/lib/devcontainer/assets/init.sh +44 -0
  26. package/lib/devcontainer/deployment.ts +253 -0
  27. package/lib/devcontainer/index.ts +3 -0
  28. package/lib/dhcpd/deployment.ts +164 -0
  29. package/lib/dhcpd/index.ts +3 -0
  30. package/lib/externalDns/dnsEndpoint.ts +70 -0
  31. package/lib/externalDns/index.ts +18 -0
  32. package/lib/externalDns/operator.ts +165 -0
  33. package/lib/fcos/assets/rpm-opstree-install.sh +0 -0
  34. package/lib/fcos/config.ts +237 -0
  35. package/lib/fcos/host.ts +91 -0
  36. package/lib/fcos/index.ts +27 -0
  37. package/lib/freeradius/deployment.ts +244 -0
  38. package/lib/freeradius/{index.d.ts → index.ts} +1 -1
  39. package/lib/gitlab/{index.d.ts → index.ts} +13 -2
  40. package/lib/gitlab/project.ts +148 -0
  41. package/lib/gitlab/renovate.ts +98 -0
  42. package/lib/gitlab/runners/cleanup.ts +104 -0
  43. package/lib/gitlab/runners/{index.d.ts → index.ts} +1 -1
  44. package/lib/gitlab/runners/runner.ts +122 -0
  45. package/lib/gitlab/runners/runners.ts +49 -0
  46. package/lib/grafana/agent.ts +449 -0
  47. package/lib/grafana/dashboard.ts +38 -0
  48. package/lib/grafana/datasource.ts +59 -0
  49. package/lib/grafana/deployment.ts +78 -0
  50. package/lib/grafana/index.ts +17 -0
  51. package/lib/hcloud/assets/fcos-install.sh +0 -0
  52. package/lib/hcloud/cluster.ts +500 -0
  53. package/lib/hcloud/{index.d.ts → index.ts} +1 -1
  54. package/lib/hcloud/kubernetes.ts +237 -0
  55. package/lib/hcloud/wireguard.ts +155 -0
  56. package/lib/k0s/cluster.ts +264 -0
  57. package/lib/k0s/{index.d.ts → index.ts} +1 -1
  58. package/lib/kubeStateMetrics/deployment.ts +60 -0
  59. package/lib/kubeStateMetrics/{index.d.ts → index.ts} +1 -1
  60. package/lib/kubernetes/helm/{index.d.ts → index.ts} +1 -1
  61. package/lib/kubernetes/helm/v3/chart.ts +79 -0
  62. package/lib/kubernetes/helm/v3/helpers.ts +32 -0
  63. package/lib/kubernetes/helm/v3/{index.d.ts → index.ts} +1 -1
  64. package/lib/kubernetes/helm/v3/release.ts +17 -0
  65. package/lib/kubernetes/{index.d.ts → index.ts} +1 -1
  66. package/lib/kubernetes/transformations/filter.ts +43 -0
  67. package/lib/kubernetes/transformations/{index.d.ts → index.ts} +1 -1
  68. package/lib/kubernetes/transformations/metadataNamespace.ts +25 -0
  69. package/lib/kubernetes/transformations/removeCrdDescriptions.ts +78 -0
  70. package/lib/kubernetes/transformations/v1beta1Deprecations.ts +60 -0
  71. package/lib/kubernetes/v1/{index.d.ts → index.ts} +12 -2
  72. package/lib/kubernetes/v1/nfsVolume.ts +145 -0
  73. package/lib/kubernetes/v1/pullSecret.ts +37 -0
  74. package/lib/kubernetes/v1/service.ts +58 -0
  75. package/lib/localPathProvisioner/deployment.ts +88 -0
  76. package/lib/localPathProvisioner/index.ts +3 -0
  77. package/lib/loki/deployment.ts +122 -0
  78. package/lib/loki/index.ts +3 -0
  79. package/lib/metallb/controller.ts +96 -0
  80. package/lib/metallb/{index.d.ts → index.ts} +11 -2
  81. package/lib/metallb/ipAddressPool.ts +33 -0
  82. package/lib/metallb/l2Advertisement.ts +34 -0
  83. package/lib/node/{index.d.ts → index.ts} +1 -1
  84. package/lib/node/kubernetes.ts +129 -0
  85. package/lib/node/node.ts +17 -0
  86. package/lib/openldap/deployment.ts +226 -0
  87. package/lib/openldap/{index.d.ts → index.ts} +1 -1
  88. package/lib/plex/{index.d.ts → index.ts} +1 -1
  89. package/lib/plex/mediaServer.ts +265 -0
  90. package/lib/plex/playlists.ts +123 -0
  91. package/lib/postgresql/cluster.ts +61 -0
  92. package/lib/postgresql/index.ts +4 -0
  93. package/lib/postgresql/operator.ts +70 -0
  94. package/lib/prometheus/index.ts +23 -0
  95. package/lib/prometheus/monitor.ts +13 -0
  96. package/lib/prometheus/operator.ts +264 -0
  97. package/lib/prometheus/podMonitor.ts +32 -0
  98. package/lib/prometheus/serviceMonitor.ts +43 -0
  99. package/lib/raspberrypi/cluster.ts +279 -0
  100. package/lib/raspberrypi/{index.d.ts → index.ts} +1 -1
  101. package/lib/rethinkdb/deployment.ts +424 -0
  102. package/lib/rethinkdb/{index.d.ts → index.ts} +1 -1
  103. package/lib/rook/assets/dashboard.json +4871 -0
  104. package/lib/rook/blockPool.ts +80 -0
  105. package/lib/rook/cluster.ts +168 -0
  106. package/lib/rook/filesystem.ts +140 -0
  107. package/lib/rook/{index.d.ts → index.ts} +15 -2
  108. package/lib/rook/operator.ts +175 -0
  109. package/lib/samba/avahiService.ts +44 -0
  110. package/lib/samba/deployment.ts +305 -0
  111. package/lib/samba/index.ts +5 -0
  112. package/lib/samba/volumes.ts +70 -0
  113. package/lib/ssh/exec.ts +162 -0
  114. package/lib/ssh/file.ts +165 -0
  115. package/lib/ssh/{index.d.ts → index.ts} +1 -1
  116. package/lib/ssh/types.ts +20 -0
  117. package/lib/torproxy/deployment.ts +165 -0
  118. package/lib/torproxy/{index.d.ts → index.ts} +1 -1
  119. package/lib/traefik/assets/dashboard.json +759 -0
  120. package/lib/traefik/controller.ts +207 -0
  121. package/lib/traefik/{index.d.ts → index.ts} +1 -1
  122. package/lib/traefik/middleware.ts +37 -0
  123. package/lib/traefik/secureIngress.ts +81 -0
  124. package/lib/ubuntu/assets/init.sh +0 -0
  125. package/lib/ubuntu/deployment.ts +275 -0
  126. package/lib/ubuntu/{index.d.ts → index.ts} +1 -1
  127. package/lib/unifi/controller.ts +234 -0
  128. package/lib/unifi/{index.d.ts → index.ts} +1 -1
  129. package/lib/velero/{index.d.ts → index.ts} +1 -1
  130. package/lib/velero/operator.ts +182 -0
  131. package/lib/wireguard/deployment.ts +168 -0
  132. package/lib/wireguard/{index.d.ts → index.ts} +1 -1
  133. package/package.json +63 -62
  134. package/renovate.json +4 -0
  135. package/tsconfig.json +21 -0
  136. package/index.d.ts.map +0 -1
  137. package/index.js +0 -64
  138. package/index.js.map +0 -1
  139. package/lib/avahi/deployment.d.ts +0 -36
  140. package/lib/avahi/deployment.d.ts.map +0 -1
  141. package/lib/avahi/deployment.js +0 -164
  142. package/lib/avahi/deployment.js.map +0 -1
  143. package/lib/avahi/index.d.ts.map +0 -1
  144. package/lib/avahi/index.js +0 -8
  145. package/lib/avahi/index.js.map +0 -1
  146. package/lib/avahi/service.d.ts +0 -51
  147. package/lib/avahi/service.d.ts.map +0 -1
  148. package/lib/avahi/service.js +0 -57
  149. package/lib/avahi/service.js.map +0 -1
  150. package/lib/aws/accessKey.d.ts +0 -22
  151. package/lib/aws/accessKey.d.ts.map +0 -1
  152. package/lib/aws/accessKey.js +0 -27
  153. package/lib/aws/accessKey.js.map +0 -1
  154. package/lib/aws/bucket.d.ts +0 -28
  155. package/lib/aws/bucket.d.ts.map +0 -1
  156. package/lib/aws/bucket.js +0 -49
  157. package/lib/aws/bucket.js.map +0 -1
  158. package/lib/aws/index.d.ts.map +0 -1
  159. package/lib/aws/index.js +0 -8
  160. package/lib/aws/index.js.map +0 -1
  161. package/lib/blocky/deployment.d.ts +0 -39
  162. package/lib/blocky/deployment.d.ts.map +0 -1
  163. package/lib/blocky/deployment.js +0 -97
  164. package/lib/blocky/deployment.js.map +0 -1
  165. package/lib/blocky/index.d.ts.map +0 -1
  166. package/lib/blocky/index.js +0 -6
  167. package/lib/blocky/index.js.map +0 -1
  168. package/lib/certManager/certificate.d.ts +0 -126
  169. package/lib/certManager/certificate.d.ts.map +0 -1
  170. package/lib/certManager/certificate.js +0 -42
  171. package/lib/certManager/certificate.js.map +0 -1
  172. package/lib/certManager/index.d.ts +0 -5
  173. package/lib/certManager/index.d.ts.map +0 -1
  174. package/lib/certManager/index.js +0 -11
  175. package/lib/certManager/index.js.map +0 -1
  176. package/lib/certManager/issuer.d.ts +0 -109
  177. package/lib/certManager/issuer.d.ts.map +0 -1
  178. package/lib/certManager/issuer.js +0 -39
  179. package/lib/certManager/issuer.js.map +0 -1
  180. package/lib/certManager/operator.d.ts +0 -43
  181. package/lib/certManager/operator.d.ts.map +0 -1
  182. package/lib/certManager/operator.js +0 -177
  183. package/lib/certManager/operator.js.map +0 -1
  184. package/lib/common/componentResource.d.ts +0 -20
  185. package/lib/common/componentResource.d.ts.map +0 -1
  186. package/lib/common/componentResource.js +0 -62
  187. package/lib/common/componentResource.js.map +0 -1
  188. package/lib/common/index.d.ts.map +0 -1
  189. package/lib/common/index.js +0 -6
  190. package/lib/common/index.js.map +0 -1
  191. package/lib/common/types.d.ts +0 -3
  192. package/lib/common/types.d.ts.map +0 -1
  193. package/lib/common/types.js +0 -3
  194. package/lib/common/types.js.map +0 -1
  195. package/lib/externalDns/dnsEndpoint.d.ts +0 -66
  196. package/lib/externalDns/dnsEndpoint.d.ts.map +0 -1
  197. package/lib/externalDns/dnsEndpoint.js +0 -17
  198. package/lib/externalDns/dnsEndpoint.js.map +0 -1
  199. package/lib/externalDns/index.d.ts +0 -4
  200. package/lib/externalDns/index.d.ts.map +0 -1
  201. package/lib/externalDns/index.js +0 -8
  202. package/lib/externalDns/index.js.map +0 -1
  203. package/lib/externalDns/operator.d.ts +0 -45
  204. package/lib/externalDns/operator.d.ts.map +0 -1
  205. package/lib/externalDns/operator.js +0 -112
  206. package/lib/externalDns/operator.js.map +0 -1
  207. package/lib/fcos/config.d.ts +0 -156
  208. package/lib/fcos/config.d.ts.map +0 -1
  209. package/lib/fcos/config.js +0 -168
  210. package/lib/fcos/config.js.map +0 -1
  211. package/lib/fcos/host.d.ts +0 -34
  212. package/lib/fcos/host.d.ts.map +0 -1
  213. package/lib/fcos/host.js +0 -57
  214. package/lib/fcos/host.js.map +0 -1
  215. package/lib/fcos/index.d.ts +0 -4
  216. package/lib/fcos/index.d.ts.map +0 -1
  217. package/lib/fcos/index.js +0 -8
  218. package/lib/fcos/index.js.map +0 -1
  219. package/lib/freeradius/deployment.d.ts +0 -74
  220. package/lib/freeradius/deployment.d.ts.map +0 -1
  221. package/lib/freeradius/deployment.js +0 -216
  222. package/lib/freeradius/deployment.js.map +0 -1
  223. package/lib/freeradius/index.d.ts.map +0 -1
  224. package/lib/freeradius/index.js +0 -6
  225. package/lib/freeradius/index.js.map +0 -1
  226. package/lib/gitlab/index.d.ts.map +0 -1
  227. package/lib/gitlab/index.js +0 -12
  228. package/lib/gitlab/index.js.map +0 -1
  229. package/lib/gitlab/project.d.ts +0 -18
  230. package/lib/gitlab/project.d.ts.map +0 -1
  231. package/lib/gitlab/project.js +0 -116
  232. package/lib/gitlab/project.js.map +0 -1
  233. package/lib/gitlab/renovate.d.ts +0 -23
  234. package/lib/gitlab/renovate.d.ts.map +0 -1
  235. package/lib/gitlab/renovate.js +0 -77
  236. package/lib/gitlab/renovate.js.map +0 -1
  237. package/lib/gitlab/runners/cleanup.d.ts +0 -20
  238. package/lib/gitlab/runners/cleanup.d.ts.map +0 -1
  239. package/lib/gitlab/runners/cleanup.js +0 -86
  240. package/lib/gitlab/runners/cleanup.js.map +0 -1
  241. package/lib/gitlab/runners/index.d.ts.map +0 -1
  242. package/lib/gitlab/runners/index.js +0 -10
  243. package/lib/gitlab/runners/index.js.map +0 -1
  244. package/lib/gitlab/runners/runner.d.ts +0 -30
  245. package/lib/gitlab/runners/runner.d.ts.map +0 -1
  246. package/lib/gitlab/runners/runner.js +0 -89
  247. package/lib/gitlab/runners/runner.js.map +0 -1
  248. package/lib/gitlab/runners/runners.d.ts +0 -21
  249. package/lib/gitlab/runners/runners.d.ts.map +0 -1
  250. package/lib/gitlab/runners/runners.js +0 -36
  251. package/lib/gitlab/runners/runners.js.map +0 -1
  252. package/lib/grafana/agent.d.ts +0 -43
  253. package/lib/grafana/agent.d.ts.map +0 -1
  254. package/lib/grafana/agent.js +0 -417
  255. package/lib/grafana/agent.js.map +0 -1
  256. package/lib/grafana/index.d.ts +0 -3
  257. package/lib/grafana/index.d.ts.map +0 -1
  258. package/lib/grafana/index.js +0 -6
  259. package/lib/grafana/index.js.map +0 -1
  260. package/lib/hcloud/cluster.d.ts +0 -96
  261. package/lib/hcloud/cluster.d.ts.map +0 -1
  262. package/lib/hcloud/cluster.js +0 -323
  263. package/lib/hcloud/cluster.js.map +0 -1
  264. package/lib/hcloud/index.d.ts.map +0 -1
  265. package/lib/hcloud/index.js +0 -10
  266. package/lib/hcloud/index.js.map +0 -1
  267. package/lib/hcloud/kubernetes.d.ts +0 -39
  268. package/lib/hcloud/kubernetes.d.ts.map +0 -1
  269. package/lib/hcloud/kubernetes.js +0 -188
  270. package/lib/hcloud/kubernetes.js.map +0 -1
  271. package/lib/hcloud/wireguard.d.ts +0 -33
  272. package/lib/hcloud/wireguard.d.ts.map +0 -1
  273. package/lib/hcloud/wireguard.js +0 -103
  274. package/lib/hcloud/wireguard.js.map +0 -1
  275. package/lib/k0s/cluster.d.ts +0 -51
  276. package/lib/k0s/cluster.d.ts.map +0 -1
  277. package/lib/k0s/cluster.js +0 -183
  278. package/lib/k0s/cluster.js.map +0 -1
  279. package/lib/k0s/index.d.ts.map +0 -1
  280. package/lib/k0s/index.js +0 -6
  281. package/lib/k0s/index.js.map +0 -1
  282. package/lib/kubeStateMetrics/deployment.d.ts +0 -20
  283. package/lib/kubeStateMetrics/deployment.d.ts.map +0 -1
  284. package/lib/kubeStateMetrics/deployment.js +0 -47
  285. package/lib/kubeStateMetrics/deployment.js.map +0 -1
  286. package/lib/kubeStateMetrics/index.d.ts.map +0 -1
  287. package/lib/kubeStateMetrics/index.js +0 -6
  288. package/lib/kubeStateMetrics/index.js.map +0 -1
  289. package/lib/kubernetes/helm/index.d.ts.map +0 -1
  290. package/lib/kubernetes/helm/index.js +0 -6
  291. package/lib/kubernetes/helm/index.js.map +0 -1
  292. package/lib/kubernetes/helm/v3/chart.d.ts +0 -37
  293. package/lib/kubernetes/helm/v3/chart.d.ts.map +0 -1
  294. package/lib/kubernetes/helm/v3/chart.js +0 -46
  295. package/lib/kubernetes/helm/v3/chart.js.map +0 -1
  296. package/lib/kubernetes/helm/v3/helpers.d.ts +0 -3
  297. package/lib/kubernetes/helm/v3/helpers.d.ts.map +0 -1
  298. package/lib/kubernetes/helm/v3/helpers.js +0 -29
  299. package/lib/kubernetes/helm/v3/helpers.js.map +0 -1
  300. package/lib/kubernetes/helm/v3/index.d.ts.map +0 -1
  301. package/lib/kubernetes/helm/v3/index.js +0 -10
  302. package/lib/kubernetes/helm/v3/index.js.map +0 -1
  303. package/lib/kubernetes/helm/v3/release.d.ts +0 -15
  304. package/lib/kubernetes/helm/v3/release.d.ts.map +0 -1
  305. package/lib/kubernetes/helm/v3/release.js +0 -18
  306. package/lib/kubernetes/helm/v3/release.js.map +0 -1
  307. package/lib/kubernetes/index.d.ts.map +0 -1
  308. package/lib/kubernetes/index.js +0 -10
  309. package/lib/kubernetes/index.js.map +0 -1
  310. package/lib/kubernetes/transformations/filter.d.ts +0 -13
  311. package/lib/kubernetes/transformations/filter.d.ts.map +0 -1
  312. package/lib/kubernetes/transformations/filter.js +0 -32
  313. package/lib/kubernetes/transformations/filter.js.map +0 -1
  314. package/lib/kubernetes/transformations/index.d.ts.map +0 -1
  315. package/lib/kubernetes/transformations/index.js +0 -12
  316. package/lib/kubernetes/transformations/index.js.map +0 -1
  317. package/lib/kubernetes/transformations/metadataNamespace.d.ts +0 -3
  318. package/lib/kubernetes/transformations/metadataNamespace.d.ts.map +0 -1
  319. package/lib/kubernetes/transformations/metadataNamespace.js +0 -27
  320. package/lib/kubernetes/transformations/metadataNamespace.js.map +0 -1
  321. package/lib/kubernetes/transformations/removeCrdDescriptions.d.ts +0 -3
  322. package/lib/kubernetes/transformations/removeCrdDescriptions.d.ts.map +0 -1
  323. package/lib/kubernetes/transformations/removeCrdDescriptions.js +0 -61
  324. package/lib/kubernetes/transformations/removeCrdDescriptions.js.map +0 -1
  325. package/lib/kubernetes/transformations/v1beta1Deprecations.d.ts +0 -3
  326. package/lib/kubernetes/transformations/v1beta1Deprecations.d.ts.map +0 -1
  327. package/lib/kubernetes/transformations/v1beta1Deprecations.js +0 -55
  328. package/lib/kubernetes/transformations/v1beta1Deprecations.js.map +0 -1
  329. package/lib/kubernetes/v1/index.d.ts.map +0 -1
  330. package/lib/kubernetes/v1/index.js +0 -10
  331. package/lib/kubernetes/v1/index.js.map +0 -1
  332. package/lib/kubernetes/v1/nfsVolume.d.ts +0 -92
  333. package/lib/kubernetes/v1/nfsVolume.d.ts.map +0 -1
  334. package/lib/kubernetes/v1/nfsVolume.js +0 -97
  335. package/lib/kubernetes/v1/nfsVolume.js.map +0 -1
  336. package/lib/kubernetes/v1/pullSecret.d.ts +0 -31
  337. package/lib/kubernetes/v1/pullSecret.d.ts.map +0 -1
  338. package/lib/kubernetes/v1/pullSecret.js +0 -27
  339. package/lib/kubernetes/v1/pullSecret.js.map +0 -1
  340. package/lib/kubernetes/v1/service.d.ts +0 -31
  341. package/lib/kubernetes/v1/service.d.ts.map +0 -1
  342. package/lib/kubernetes/v1/service.js +0 -43
  343. package/lib/kubernetes/v1/service.js.map +0 -1
  344. package/lib/metallb/controller.d.ts +0 -17
  345. package/lib/metallb/controller.d.ts.map +0 -1
  346. package/lib/metallb/controller.js +0 -87
  347. package/lib/metallb/controller.js.map +0 -1
  348. package/lib/metallb/index.d.ts.map +0 -1
  349. package/lib/metallb/index.js +0 -10
  350. package/lib/metallb/index.js.map +0 -1
  351. package/lib/metallb/ipAddressPool.d.ts +0 -20
  352. package/lib/metallb/ipAddressPool.d.ts.map +0 -1
  353. package/lib/metallb/ipAddressPool.js +0 -22
  354. package/lib/metallb/ipAddressPool.js.map +0 -1
  355. package/lib/metallb/l2Advertisement.d.ts +0 -21
  356. package/lib/metallb/l2Advertisement.d.ts.map +0 -1
  357. package/lib/metallb/l2Advertisement.js +0 -22
  358. package/lib/metallb/l2Advertisement.js.map +0 -1
  359. package/lib/node/index.d.ts.map +0 -1
  360. package/lib/node/index.js +0 -6
  361. package/lib/node/index.js.map +0 -1
  362. package/lib/node/kubernetes.d.ts +0 -38
  363. package/lib/node/kubernetes.d.ts.map +0 -1
  364. package/lib/node/kubernetes.js +0 -89
  365. package/lib/node/kubernetes.js.map +0 -1
  366. package/lib/node/node.d.ts +0 -21
  367. package/lib/node/node.d.ts.map +0 -1
  368. package/lib/node/node.js +0 -3
  369. package/lib/node/node.js.map +0 -1
  370. package/lib/openldap/deployment.d.ts +0 -58
  371. package/lib/openldap/deployment.d.ts.map +0 -1
  372. package/lib/openldap/deployment.js +0 -217
  373. package/lib/openldap/deployment.js.map +0 -1
  374. package/lib/openldap/index.d.ts.map +0 -1
  375. package/lib/openldap/index.js +0 -6
  376. package/lib/openldap/index.js.map +0 -1
  377. package/lib/plex/index.d.ts.map +0 -1
  378. package/lib/plex/index.js +0 -8
  379. package/lib/plex/index.js.map +0 -1
  380. package/lib/plex/mediaServer.d.ts +0 -46
  381. package/lib/plex/mediaServer.d.ts.map +0 -1
  382. package/lib/plex/mediaServer.js +0 -234
  383. package/lib/plex/mediaServer.js.map +0 -1
  384. package/lib/plex/playlists.d.ts +0 -62
  385. package/lib/plex/playlists.d.ts.map +0 -1
  386. package/lib/plex/playlists.js +0 -129
  387. package/lib/plex/playlists.js.map +0 -1
  388. package/lib/prometheus/index.d.ts +0 -4
  389. package/lib/prometheus/index.d.ts.map +0 -1
  390. package/lib/prometheus/index.js +0 -8
  391. package/lib/prometheus/index.js.map +0 -1
  392. package/lib/prometheus/podMonitor.d.ts +0 -42
  393. package/lib/prometheus/podMonitor.d.ts.map +0 -1
  394. package/lib/prometheus/podMonitor.js +0 -17
  395. package/lib/prometheus/podMonitor.js.map +0 -1
  396. package/lib/prometheus/serviceMonitor.d.ts +0 -46
  397. package/lib/prometheus/serviceMonitor.d.ts.map +0 -1
  398. package/lib/prometheus/serviceMonitor.js +0 -17
  399. package/lib/prometheus/serviceMonitor.js.map +0 -1
  400. package/lib/raspberrypi/cluster.d.ts +0 -41
  401. package/lib/raspberrypi/cluster.d.ts.map +0 -1
  402. package/lib/raspberrypi/cluster.js +0 -194
  403. package/lib/raspberrypi/cluster.js.map +0 -1
  404. package/lib/raspberrypi/index.d.ts.map +0 -1
  405. package/lib/raspberrypi/index.js +0 -6
  406. package/lib/raspberrypi/index.js.map +0 -1
  407. package/lib/rethinkdb/deployment.d.ts +0 -61
  408. package/lib/rethinkdb/deployment.d.ts.map +0 -1
  409. package/lib/rethinkdb/deployment.js +0 -350
  410. package/lib/rethinkdb/deployment.js.map +0 -1
  411. package/lib/rethinkdb/index.d.ts.map +0 -1
  412. package/lib/rethinkdb/index.js +0 -6
  413. package/lib/rethinkdb/index.js.map +0 -1
  414. package/lib/rook/blockPool.d.ts +0 -28
  415. package/lib/rook/blockPool.d.ts.map +0 -1
  416. package/lib/rook/blockPool.js +0 -56
  417. package/lib/rook/blockPool.js.map +0 -1
  418. package/lib/rook/cluster.d.ts +0 -54
  419. package/lib/rook/cluster.d.ts.map +0 -1
  420. package/lib/rook/cluster.js +0 -100
  421. package/lib/rook/cluster.js.map +0 -1
  422. package/lib/rook/filesystem.d.ts +0 -29
  423. package/lib/rook/filesystem.d.ts.map +0 -1
  424. package/lib/rook/filesystem.js +0 -110
  425. package/lib/rook/filesystem.js.map +0 -1
  426. package/lib/rook/index.d.ts.map +0 -1
  427. package/lib/rook/index.js +0 -12
  428. package/lib/rook/index.js.map +0 -1
  429. package/lib/rook/operator.d.ts +0 -19
  430. package/lib/rook/operator.d.ts.map +0 -1
  431. package/lib/rook/operator.js +0 -162
  432. package/lib/rook/operator.js.map +0 -1
  433. package/lib/samba/deployment.d.ts +0 -79
  434. package/lib/samba/deployment.d.ts.map +0 -1
  435. package/lib/samba/deployment.js +0 -238
  436. package/lib/samba/deployment.js.map +0 -1
  437. package/lib/samba/index.d.ts +0 -3
  438. package/lib/samba/index.d.ts.map +0 -1
  439. package/lib/samba/index.js +0 -6
  440. package/lib/samba/index.js.map +0 -1
  441. package/lib/ssh/exec.d.ts +0 -33
  442. package/lib/ssh/exec.d.ts.map +0 -1
  443. package/lib/ssh/exec.js +0 -116
  444. package/lib/ssh/exec.js.map +0 -1
  445. package/lib/ssh/file.d.ts +0 -43
  446. package/lib/ssh/file.d.ts.map +0 -1
  447. package/lib/ssh/file.js +0 -110
  448. package/lib/ssh/file.js.map +0 -1
  449. package/lib/ssh/index.d.ts.map +0 -1
  450. package/lib/ssh/index.js +0 -8
  451. package/lib/ssh/index.js.map +0 -1
  452. package/lib/ssh/types.d.ts +0 -19
  453. package/lib/ssh/types.d.ts.map +0 -1
  454. package/lib/ssh/types.js +0 -3
  455. package/lib/ssh/types.js.map +0 -1
  456. package/lib/torproxy/deployment.d.ts +0 -31
  457. package/lib/torproxy/deployment.d.ts.map +0 -1
  458. package/lib/torproxy/deployment.js +0 -131
  459. package/lib/torproxy/deployment.js.map +0 -1
  460. package/lib/torproxy/index.d.ts.map +0 -1
  461. package/lib/torproxy/index.js +0 -6
  462. package/lib/torproxy/index.js.map +0 -1
  463. package/lib/traefik/controller.d.ts +0 -50
  464. package/lib/traefik/controller.d.ts.map +0 -1
  465. package/lib/traefik/controller.js +0 -166
  466. package/lib/traefik/controller.js.map +0 -1
  467. package/lib/traefik/index.d.ts.map +0 -1
  468. package/lib/traefik/index.js +0 -10
  469. package/lib/traefik/index.js.map +0 -1
  470. package/lib/traefik/middleware.d.ts +0 -27
  471. package/lib/traefik/middleware.d.ts.map +0 -1
  472. package/lib/traefik/middleware.js +0 -22
  473. package/lib/traefik/middleware.js.map +0 -1
  474. package/lib/traefik/secureIngress.d.ts +0 -32
  475. package/lib/traefik/secureIngress.d.ts.map +0 -1
  476. package/lib/traefik/secureIngress.js +0 -58
  477. package/lib/traefik/secureIngress.js.map +0 -1
  478. package/lib/ubuntu/deployment.d.ts +0 -67
  479. package/lib/ubuntu/deployment.d.ts.map +0 -1
  480. package/lib/ubuntu/deployment.js +0 -230
  481. package/lib/ubuntu/deployment.js.map +0 -1
  482. package/lib/ubuntu/index.d.ts.map +0 -1
  483. package/lib/ubuntu/index.js +0 -6
  484. package/lib/ubuntu/index.js.map +0 -1
  485. package/lib/unifi/controller.d.ts +0 -52
  486. package/lib/unifi/controller.d.ts.map +0 -1
  487. package/lib/unifi/controller.js +0 -232
  488. package/lib/unifi/controller.js.map +0 -1
  489. package/lib/unifi/index.d.ts.map +0 -1
  490. package/lib/unifi/index.js +0 -6
  491. package/lib/unifi/index.js.map +0 -1
  492. package/lib/velero/index.d.ts.map +0 -1
  493. package/lib/velero/index.js +0 -6
  494. package/lib/velero/index.js.map +0 -1
  495. package/lib/velero/operator.d.ts +0 -31
  496. package/lib/velero/operator.d.ts.map +0 -1
  497. package/lib/velero/operator.js +0 -148
  498. package/lib/velero/operator.js.map +0 -1
  499. package/lib/wireguard/deployment.d.ts +0 -82
  500. package/lib/wireguard/deployment.d.ts.map +0 -1
  501. package/lib/wireguard/deployment.js +0 -161
  502. package/lib/wireguard/deployment.js.map +0 -1
  503. package/lib/wireguard/index.d.ts.map +0 -1
  504. package/lib/wireguard/index.js +0 -6
  505. package/lib/wireguard/index.js.map +0 -1
@@ -0,0 +1,60 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as k8s from "@pulumi/kubernetes";
3
+ import { ComponentResource } from "../common";
4
+ import * as kubernetes from "../kubernetes";
5
+
6
+ export interface KubeStateMetricsArgs {
7
+ namespace?: pulumi.Input<string>;
8
+ replicas?: pulumi.Input<number>;
9
+ resources?: pulumi.Input<k8s.types.input.core.v1.ResourceRequirements>;
10
+ }
11
+
12
+ export class KubeStateMetrics extends ComponentResource {
13
+ private readonly helmRelease: kubernetes.helm.v3.Release;
14
+ public readonly namespace: pulumi.Output<string>;
15
+
16
+ /**
17
+ * Create a new kube-state-metrics resource.
18
+ * @param name The name of the kube-state-metrics resource.
19
+ * @param args A bag of arguments to control the kube-state-metrics creation.
20
+ * @param opts A bag of options that control this resource's behavior.
21
+ */
22
+ constructor(name: string, args: KubeStateMetricsArgs, opts?: pulumi.ComponentResourceOptions) {
23
+ super("kube-state-metrics", name, args, opts);
24
+
25
+ if (args.replicas === undefined) {
26
+ args.replicas = 1;
27
+ }
28
+
29
+ if (args.resources === undefined) {
30
+ args.resources = { requests: { memory: "48Mi" }, limits: { memory: "64Mi" } };
31
+ }
32
+
33
+ opts = this.opts(k8s.Provider);
34
+
35
+ this.namespace = pulumi.output(args.namespace ?? "kube-system");
36
+
37
+ this.helmRelease = new kubernetes.helm.v3.Release(
38
+ name,
39
+ {
40
+ name,
41
+ namespace: this.namespace,
42
+ repositoryOpts: { repo: "https://prometheus-community.github.io/helm-charts" },
43
+ chart: "kube-state-metrics",
44
+ values: {
45
+ fullnameOverride: name,
46
+ replicas: args.replicas,
47
+ prometheus: { monitor: { enabled: true } },
48
+ resources: args.resources,
49
+ tolerations: [
50
+ { key: "node-role.kubernetes.io/master", operator: "Exists", effect: "NoSchedule" },
51
+ { key: "node-role.kubernetes.io/control-plane", operator: "Exists", effect: "NoSchedule" },
52
+ ],
53
+ },
54
+ },
55
+ opts
56
+ );
57
+
58
+ this.registerOutputs();
59
+ }
60
+ }
@@ -1,3 +1,3 @@
1
1
  import { KubeStateMetricsArgs, KubeStateMetrics } from "./deployment";
2
+
2
3
  export { KubeStateMetricsArgs, KubeStateMetrics };
3
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
1
  import * as v3 from "./v3";
2
+
2
3
  export { v3 };
3
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,79 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as k8s from "@pulumi/kubernetes";
3
+ import * as transformations from "../../transformations";
4
+
5
+ export interface ChartTransformers {
6
+ /**
7
+ * Transform known deprecated resources
8
+ */
9
+ deprecations?: boolean;
10
+ /**
11
+ * Transform metadata namespace value
12
+ */
13
+ metadataNamespace?: boolean;
14
+ /**
15
+ * Transform metadata namespace value to this name
16
+ */
17
+ metadataNamespaceName?: pulumi.Input<string>;
18
+ }
19
+
20
+ export interface ChartArgs {
21
+ /**
22
+ * Enabled transformers
23
+ */
24
+ transformers?: ChartTransformers;
25
+ /**
26
+ * Skip creation of CRD resources
27
+ */
28
+ skipCRDs?: boolean;
29
+ }
30
+
31
+ export class Chart extends k8s.helm.v3.Chart {
32
+ /**
33
+ * Create an instance of the specified Helm chart.
34
+ * @param releaseName Name of the Chart (e.g., nginx-ingress).
35
+ * @param config Configuration options for the Chart.
36
+ * @param args A bag of arguments to control the Chart creation.
37
+ * @param opts A bag of options that control this resource's behavior.
38
+ */
39
+ constructor(
40
+ releaseName: string,
41
+ config: k8s.helm.v3.ChartOpts | k8s.helm.v3.LocalChartOpts,
42
+ args?: ChartArgs,
43
+ opts?: pulumi.ComponentResourceOptions
44
+ ) {
45
+ if (config.transformations === undefined) {
46
+ config.transformations = [];
47
+ }
48
+
49
+ if (args !== undefined) {
50
+ if (args.transformers !== undefined) {
51
+ if (args.transformers.deprecations) {
52
+ config.transformations.push(transformations.v1beta1Deprecations);
53
+ }
54
+
55
+ if (args.transformers.metadataNamespace && args.transformers.metadataNamespaceName !== undefined) {
56
+ config.transformations.push(transformations.metadataNamespace(args.transformers.metadataNamespaceName));
57
+ }
58
+ }
59
+
60
+ if (args.skipCRDs) {
61
+ config.transformations.push((o: any, _: pulumi.CustomResourceOptions): void => {
62
+ if (o === undefined) {
63
+ return;
64
+ }
65
+
66
+ if (o.apiVersion === "apiextensions.k8s.io/v1beta1" || o.apiVersion === "apiextensions.k8s.io/v1") {
67
+ if (o.kind === "CustomResourceDefinition") {
68
+ o.apiVersion = "v1";
69
+ o.kind = "List";
70
+ o.items = [];
71
+ }
72
+ }
73
+ });
74
+ }
75
+ }
76
+
77
+ super(releaseName, config, opts);
78
+ }
79
+ }
@@ -0,0 +1,32 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+
3
+ export function ingressValues(
4
+ name: pulumi.Input<string>,
5
+ hostnames?: pulumi.Input<pulumi.Input<string | undefined>[]>,
6
+ ingressClassName?: pulumi.Input<string>
7
+ ): any {
8
+ if (hostnames === undefined) {
9
+ return { enabled: false };
10
+ }
11
+
12
+ return pulumi.all([name, hostnames, ingressClassName]).apply(([name, hostnames, ingressClassName]) => {
13
+ const hosts = hostnames.filter((h) => h !== undefined);
14
+
15
+ if (hosts.length === 0) {
16
+ return { enabled: false };
17
+ }
18
+
19
+ return {
20
+ enabled: true,
21
+ ingressClassName,
22
+ hosts,
23
+ pathType: "ImplementationSpecific",
24
+ tls: [{ secretName: `${name}-ingress-tls`, hosts }],
25
+ annotations: {
26
+ "traefik.ingress.kubernetes.io/router.entrypoints": "websecure",
27
+ "traefik.ingress.kubernetes.io/router.tls": "true",
28
+ "cert-manager.io/cluster-issuer": "letsencrypt",
29
+ },
30
+ };
31
+ });
32
+ }
@@ -1,5 +1,5 @@
1
1
  import { ChartTransformers, ChartArgs, Chart } from "./chart";
2
2
  import { ReleaseArgs, Release } from "./release";
3
3
  import { ingressValues } from "./helpers";
4
+
4
5
  export { ChartTransformers, ChartArgs, Chart, ReleaseArgs, Release, ingressValues };
5
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,17 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as k8s from "@pulumi/kubernetes";
3
+
4
+ export interface ReleaseArgs extends k8s.helm.v3.ReleaseArgs {}
5
+
6
+ export class Release extends k8s.helm.v3.Release {
7
+ /**
8
+ * Create a Release resource with the given unique name, arguments, and options.
9
+ *
10
+ * @param name The _unique_ name of the resource.
11
+ * @param args The arguments to use to populate this resource's properties.
12
+ * @param opts A bag of options that control this resource's behavior.
13
+ */
14
+ constructor(name: string, args?: ReleaseArgs, opts?: pulumi.ComponentResourceOptions) {
15
+ super(name, args, opts);
16
+ }
17
+ }
@@ -1,5 +1,5 @@
1
1
  import * as v1 from "./v1";
2
2
  import * as transformations from "./transformations";
3
3
  import * as helm from "./helm";
4
+
4
5
  export { v1, transformations, helm };
5
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,43 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+
3
+ export interface FilterArgs {
4
+ /**
5
+ * API group
6
+ */
7
+ group: string;
8
+ /**
9
+ * Kind
10
+ */
11
+ kind: string;
12
+ }
13
+
14
+ export const filter = (filters: FilterArgs[], only?: boolean) => {
15
+ if (only === undefined) {
16
+ only = false;
17
+ }
18
+
19
+ return (o: any, opts: pulumi.CustomResourceOptions): void => {
20
+ if (o === undefined || o.apiVersion === undefined || o.kind === undefined) {
21
+ return;
22
+ }
23
+
24
+ const apiVersionSplit = o.apiVersion.split("/", 2) as string[];
25
+ const objectGroup = (apiVersionSplit.length > 1 ? apiVersionSplit[0] : "").toLowerCase();
26
+ const objectKind = o.kind.toLowerCase();
27
+
28
+ for (const filter of filters) {
29
+ const filterGroup = filter.group.toLowerCase();
30
+ const filterKind = filter.kind.toLowerCase();
31
+
32
+ if (only === false && objectGroup === filterGroup && objectKind === filterKind) {
33
+ o.apiVersion = "v1";
34
+ o.kind = "List";
35
+ o.items = [];
36
+ } else if (only === true && (objectGroup !== filterGroup || objectKind !== filterKind)) {
37
+ o.apiVersion = "v1";
38
+ o.kind = "List";
39
+ o.items = [];
40
+ }
41
+ }
42
+ };
43
+ };
@@ -2,5 +2,5 @@ import { v1beta1Deprecations } from "./v1beta1Deprecations";
2
2
  import { metadataNamespace } from "./metadataNamespace";
3
3
  import { FilterArgs, filter } from "./filter";
4
4
  import { removeCrdDescriptions } from "./removeCrdDescriptions";
5
+
5
6
  export { v1beta1Deprecations, metadataNamespace, FilterArgs, filter, removeCrdDescriptions };
6
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,25 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+
3
+ export const metadataNamespace = (namespace: pulumi.Input<string>) => {
4
+ return (o: any, opts: pulumi.CustomResourceOptions): void => {
5
+ if (o === undefined || o.apiVersion === undefined || o.kind === undefined) {
6
+ return;
7
+ }
8
+
9
+ if (o.apiVersion === "v1" && o.kind === "List") {
10
+ if (o.items === undefined) {
11
+ return;
12
+ }
13
+
14
+ for (const item of o.items) {
15
+ if (item.metadata !== undefined) {
16
+ item.metadata.namespace = namespace;
17
+ }
18
+ }
19
+ } else {
20
+ if (o.metadata !== undefined) {
21
+ o.metadata.namespace = namespace;
22
+ }
23
+ }
24
+ };
25
+ };
@@ -0,0 +1,78 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as k8s from "@pulumi/kubernetes";
3
+
4
+ export const removeCrdDescriptions = (o: any, opts: pulumi.CustomResourceOptions): void => {
5
+ if (o === undefined || o.apiVersion === undefined || o.kind === undefined) {
6
+ return;
7
+ }
8
+
9
+ if (o.apiVersion !== "apiextensions.k8s.io/v1" || o.kind !== "CustomResourceDefinition") {
10
+ return;
11
+ }
12
+
13
+ if (o.spec === undefined || o.spec.versions === undefined) {
14
+ return;
15
+ }
16
+
17
+ o.spec.versions.forEach((v: k8s.types.input.apiextensions.v1.CustomResourceDefinitionVersion) => {
18
+ if (v.schema === undefined) {
19
+ return;
20
+ }
21
+
22
+ const schema = v.schema as k8s.types.input.apiextensions.v1.CustomResourceValidation;
23
+
24
+ if (schema.openAPIV3Schema === undefined) {
25
+ return;
26
+ }
27
+
28
+ removeDescription(schema.openAPIV3Schema);
29
+ });
30
+ };
31
+
32
+ const removeDescription = (o?: pulumi.Input<k8s.types.input.apiextensions.v1.JSONSchemaProps>): void => {
33
+ if (o === undefined) {
34
+ return;
35
+ }
36
+
37
+ const schemaProps = o as k8s.types.input.apiextensions.v1.JSONSchemaProps;
38
+
39
+ delete schemaProps.description;
40
+
41
+ if (schemaProps.allOf !== undefined) {
42
+ for (const p of schemaProps.allOf as pulumi.Input<k8s.types.input.apiextensions.v1.JSONSchemaProps>[]) {
43
+ removeDescription(p);
44
+ }
45
+ }
46
+
47
+ if (schemaProps.anyOf !== undefined) {
48
+ for (const p of schemaProps.anyOf as pulumi.Input<k8s.types.input.apiextensions.v1.JSONSchemaProps>[]) {
49
+ removeDescription(p);
50
+ }
51
+ }
52
+
53
+ removeDescription(schemaProps.not);
54
+
55
+ if (schemaProps.oneOf !== undefined) {
56
+ for (const p of schemaProps.oneOf as pulumi.Input<k8s.types.input.apiextensions.v1.JSONSchemaProps>[]) {
57
+ removeDescription(p);
58
+ }
59
+ }
60
+
61
+ if (schemaProps.patternProperties !== undefined) {
62
+ const patternProperties = schemaProps.patternProperties as {
63
+ [key: string]: k8s.types.input.apiextensions.v1.JSONSchemaProps;
64
+ };
65
+
66
+ for (const p in patternProperties) {
67
+ removeDescription(patternProperties[p]);
68
+ }
69
+ }
70
+
71
+ if (schemaProps.properties !== undefined) {
72
+ const properties = schemaProps.properties as { [key: string]: k8s.types.input.apiextensions.v1.JSONSchemaProps };
73
+
74
+ for (const p in properties) {
75
+ removeDescription(properties[p]);
76
+ }
77
+ }
78
+ };
@@ -0,0 +1,60 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+
3
+ export const v1beta1Deprecations = (o: any, opts: pulumi.CustomResourceOptions): void => {
4
+ if (o === undefined || o.apiVersion === undefined || o.kind === undefined) {
5
+ return;
6
+ }
7
+
8
+ if (o.apiVersion === "apiregistration.k8s.io/v1beta1") {
9
+ if (o.kind === "APIService") {
10
+ o.apiVersion = "apiregistration.k8s.io/v1";
11
+ }
12
+ }
13
+
14
+ if (o.apiVersion === "storage.k8s.io/v1beta1") {
15
+ if (o.kind === "CSIDriver") {
16
+ o.apiVersion = "storage.k8s.io/v1";
17
+ }
18
+ }
19
+
20
+ if (o.apiVersion === "rbac.authorization.k8s.io/v1beta1") {
21
+ if (["ClusterRole", "ClusterRoleBinding", "Role", "RoleBinding"].includes(o.kind)) {
22
+ o.apiVersion = "rbac.authorization.k8s.io/v1";
23
+ }
24
+ }
25
+
26
+ if (o.apiVersion === "apiextensions.k8s.io/v1beta1") {
27
+ if (o.kind === "CustomResourceDefinition") {
28
+ o.apiVersion = "apiextensions.k8s.io/v1";
29
+ }
30
+ }
31
+
32
+ if (["extensions/v1beta1", "networking.k8s.io/v1beta1"].includes(o.apiVersion)) {
33
+ if (o.kind === "Ingress") {
34
+ o.apiVersion = "networking.k8s.io/v1";
35
+
36
+ if (o.spec !== undefined && o.spec.rules) {
37
+ for (const rule of o.spec.rules) {
38
+ if (rule.http !== undefined && rule.http.paths !== undefined) {
39
+ for (const path of rule.http.paths) {
40
+ const backend = path.backend;
41
+
42
+ if (backend.serviceName !== undefined && backend.servicePort !== undefined) {
43
+ path.backend = {
44
+ service: {
45
+ name: backend.serviceName,
46
+ port: { number: backend.servicePort },
47
+ },
48
+ };
49
+ }
50
+
51
+ if (path.pathType === undefined) {
52
+ path.pathType = "Prefix";
53
+ }
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ };
@@ -1,5 +1,15 @@
1
1
  import { ServiceArgs, Service } from "./service";
2
2
  import { PullSecret, PullSecretArgs } from "./pullSecret";
3
3
  import { NfsVolumeArgs, NfsVolume, NfsVolumesMapEntry, NfsVolumesMap, NfsVolumeConfig } from "./nfsVolume";
4
- export { ServiceArgs, Service, PullSecret, PullSecretArgs, NfsVolumeArgs, NfsVolume, NfsVolumesMapEntry, NfsVolumesMap, NfsVolumeConfig, };
5
- //# sourceMappingURL=index.d.ts.map
4
+
5
+ export {
6
+ ServiceArgs,
7
+ Service,
8
+ PullSecret,
9
+ PullSecretArgs,
10
+ NfsVolumeArgs,
11
+ NfsVolume,
12
+ NfsVolumesMapEntry,
13
+ NfsVolumesMap,
14
+ NfsVolumeConfig,
15
+ };
@@ -0,0 +1,145 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as random from "@pulumi/random";
3
+ import * as k8s from "@pulumi/kubernetes";
4
+ import { ComponentResource } from "../../common";
5
+
6
+ export interface NfsVolumesMapEntry {
7
+ server: pulumi.Input<string>;
8
+ path: pulumi.Input<string>;
9
+ mountOptions?: pulumi.Input<pulumi.Input<string>[]>;
10
+ }
11
+
12
+ export interface NfsVolumesMap {
13
+ [key: string]: pulumi.Input<NfsVolumesMapEntry>;
14
+ }
15
+
16
+ export interface NfsVolumeConfig {
17
+ nfsVolume?: pulumi.Input<string>;
18
+ nfsVolumeSubPath?: pulumi.Input<string>;
19
+ nfsServer?: pulumi.Input<string>;
20
+ nfsPath?: pulumi.Input<string>;
21
+ mountOptions?: pulumi.Input<pulumi.Input<string>[]>;
22
+ mountPath?: pulumi.Input<string>;
23
+ }
24
+
25
+ export interface NfsVolumeArgs {
26
+ metadata: pulumi.Input<k8s.types.input.meta.v1.ObjectMeta>;
27
+ server: pulumi.Input<string>;
28
+ path: pulumi.Input<string>;
29
+ mountOptions?: pulumi.Input<pulumi.Input<string>[]>;
30
+ storage?: pulumi.Input<string>;
31
+ persistentVolumeReclaimPolicy?: pulumi.Input<string>;
32
+ }
33
+
34
+ export class NfsVolume extends ComponentResource {
35
+ public readonly persistentVolume: k8s.core.v1.PersistentVolume;
36
+ public readonly persistentVolumeClaim: k8s.core.v1.PersistentVolumeClaim;
37
+
38
+ /**
39
+ * Create a new NFS volume resource.
40
+ * @param name The name of the NFS volume resource.
41
+ * @param args A bag of arguments to control the NFS volume creation.
42
+ * @param opts A bag of options that control this resource's behavior.
43
+ */
44
+ constructor(name: string, args: NfsVolumeArgs, opts?: pulumi.ComponentResourceOptions) {
45
+ super("nfs-volume", name, args, opts);
46
+
47
+ const storage = args.storage || "1Gi";
48
+ const persistentVolumeReclaimPolicy = args.persistentVolumeReclaimPolicy || "Delete";
49
+
50
+ const emptyOpts = this.opts();
51
+ const k8sOpts = this.opts(k8s.Provider);
52
+
53
+ const persistentVolumeUUID = new random.RandomUuid(name, {}, emptyOpts);
54
+
55
+ this.persistentVolume = new k8s.core.v1.PersistentVolume(
56
+ name,
57
+ {
58
+ metadata: {
59
+ ...args.metadata,
60
+ name: pulumi
61
+ .all([args.metadata, persistentVolumeUUID.result])
62
+ .apply(([metadata, uuid]) => `${metadata.namespace}-${metadata.name}-${uuid}`),
63
+ namespace: undefined,
64
+ },
65
+ spec: {
66
+ accessModes: ["ReadWriteMany"],
67
+ capacity: { storage },
68
+ mountOptions: args.mountOptions,
69
+ nfs: { server: args.server, path: args.path },
70
+ persistentVolumeReclaimPolicy,
71
+ storageClassName: "",
72
+ },
73
+ },
74
+ k8sOpts
75
+ );
76
+
77
+ this.persistentVolumeClaim = new k8s.core.v1.PersistentVolumeClaim(
78
+ name,
79
+ {
80
+ metadata: args.metadata,
81
+ spec: {
82
+ accessModes: ["ReadWriteMany"],
83
+ storageClassName: "",
84
+ volumeName: this.persistentVolume.metadata.name,
85
+ resources: { requests: { storage } },
86
+ },
87
+ },
88
+ k8sOpts
89
+ );
90
+
91
+ this.registerOutputs();
92
+ }
93
+
94
+ public static fromConfig(
95
+ name: string,
96
+ args: {
97
+ metadata: pulumi.Input<k8s.types.input.meta.v1.ObjectMeta>;
98
+ config: pulumi.Input<NfsVolumeConfig>;
99
+ volumeMap?: pulumi.Input<NfsVolumesMap>;
100
+ storage?: pulumi.Input<string>;
101
+ persistentVolumeReclaimPolicy?: pulumi.Input<string>;
102
+ },
103
+ opts?: pulumi.ComponentResourceOptions
104
+ ): NfsVolume {
105
+ return new NfsVolume(
106
+ name,
107
+ {
108
+ metadata: args.metadata,
109
+ server: pulumi.all([args.config, args.volumeMap, args.metadata]).apply(([config, volumeMap, m]) => {
110
+ if (config.nfsVolume !== undefined && volumeMap !== undefined) {
111
+ const volumeEntry = volumeMap[config.nfsVolume];
112
+ return volumeEntry.server;
113
+ } else if (config.nfsServer !== undefined && config.nfsPath !== undefined) {
114
+ return config.nfsServer;
115
+ } else {
116
+ throw new Error("NFS volume config is not valid");
117
+ }
118
+ }),
119
+ path: pulumi.all([args.config, args.volumeMap]).apply(([config, volumeMap]) => {
120
+ if (config.nfsVolume !== undefined && volumeMap !== undefined) {
121
+ const volumeEntry = volumeMap[config.nfsVolume];
122
+ return config.nfsVolumeSubPath ? `${volumeEntry.path}/${config.nfsVolumeSubPath}` : volumeEntry.path;
123
+ } else if (config.nfsServer !== undefined && config.nfsPath !== undefined) {
124
+ return config.nfsPath;
125
+ } else {
126
+ throw new Error("NFS volume config is not valid");
127
+ }
128
+ }),
129
+ mountOptions: pulumi.all([args.config, args.volumeMap]).apply(([config, volumeMap]) => {
130
+ if (config.nfsVolume !== undefined && volumeMap !== undefined) {
131
+ const volumeEntry = volumeMap[config.nfsVolume];
132
+ return config.mountOptions || volumeEntry.mountOptions || [];
133
+ } else if (config.nfsServer !== undefined && config.nfsPath !== undefined) {
134
+ return config.mountOptions || [];
135
+ } else {
136
+ throw new Error("NFS volume config is not valid");
137
+ }
138
+ }),
139
+ storage: args.storage,
140
+ persistentVolumeReclaimPolicy: args.persistentVolumeReclaimPolicy,
141
+ },
142
+ opts
143
+ );
144
+ }
145
+ }
@@ -0,0 +1,37 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as k8s from "@pulumi/kubernetes";
3
+
4
+ export interface PullSecretArgs {
5
+ metadata?: pulumi.Input<k8s.types.input.meta.v1.ObjectMeta>;
6
+ registry: pulumi.Input<string>;
7
+ username: pulumi.Input<string>;
8
+ password: pulumi.Input<string>;
9
+ }
10
+
11
+ export class PullSecret extends k8s.core.v1.Secret {
12
+ /**
13
+ * Create a new pull secret resource.
14
+ * @param name The name of the pull secret resource.
15
+ * @param args A bag of arguments to control the pull secret creation.
16
+ * @param opts A bag of options that control this resource's behavior.
17
+ */
18
+ constructor(name: string, args: PullSecretArgs, opts?: pulumi.CustomResourceOptions) {
19
+ const dockerConfigJSON = pulumi.all([args.registry, args.username, args.password]).apply((r) => {
20
+ const auths: { [key: string]: { [key: string]: string } } = {};
21
+
22
+ auths[r[0]] = { auth: Buffer.from(r[1] + ":" + r[2]).toString("base64") };
23
+
24
+ return Buffer.from(JSON.stringify({ auths })).toString("base64");
25
+ });
26
+
27
+ super(
28
+ name,
29
+ {
30
+ metadata: args.metadata,
31
+ type: "kubernetes.io/dockerconfigjson",
32
+ data: { ".dockerconfigjson": dockerConfigJSON },
33
+ },
34
+ opts
35
+ );
36
+ }
37
+ }