@ydkn/pulumi-components 0.4.4 → 0.4.6

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 (610) hide show
  1. package/{index.ts → index.d.ts} +5 -40
  2. package/index.d.ts.map +1 -0
  3. package/index.js +105 -0
  4. package/index.js.map +1 -0
  5. package/lib/avahi/deployment.d.ts +26 -0
  6. package/lib/avahi/deployment.d.ts.map +1 -0
  7. package/lib/avahi/deployment.js +165 -0
  8. package/lib/avahi/deployment.js.map +1 -0
  9. package/lib/avahi/{index.ts → index.d.ts} +1 -1
  10. package/lib/avahi/index.d.ts.map +1 -0
  11. package/lib/avahi/index.js +8 -0
  12. package/lib/avahi/index.js.map +1 -0
  13. package/lib/avahi/service.d.ts +37 -0
  14. package/lib/avahi/service.d.ts.map +1 -0
  15. package/lib/avahi/service.js +93 -0
  16. package/lib/avahi/service.js.map +1 -0
  17. package/lib/aws/accessKey.d.ts +22 -0
  18. package/lib/aws/accessKey.d.ts.map +1 -0
  19. package/lib/aws/accessKey.js +50 -0
  20. package/lib/aws/accessKey.js.map +1 -0
  21. package/lib/aws/bucket.d.ts +28 -0
  22. package/lib/aws/bucket.d.ts.map +1 -0
  23. package/lib/aws/bucket.js +72 -0
  24. package/lib/aws/bucket.js.map +1 -0
  25. package/lib/aws/{index.ts → index.d.ts} +1 -1
  26. package/lib/aws/index.d.ts.map +1 -0
  27. package/lib/aws/index.js +8 -0
  28. package/lib/aws/index.js.map +1 -0
  29. package/lib/blocky/deployment.d.ts +25 -0
  30. package/lib/blocky/deployment.d.ts.map +1 -0
  31. package/lib/blocky/deployment.js +130 -0
  32. package/lib/blocky/deployment.js.map +1 -0
  33. package/lib/blocky/{index.ts → index.d.ts} +1 -1
  34. package/lib/blocky/index.d.ts.map +1 -0
  35. package/lib/blocky/index.js +6 -0
  36. package/lib/blocky/index.js.map +1 -0
  37. package/lib/certManager/certificate.d.ts +126 -0
  38. package/lib/certManager/certificate.d.ts.map +1 -0
  39. package/lib/certManager/certificate.js +65 -0
  40. package/lib/certManager/certificate.js.map +1 -0
  41. package/lib/certManager/index.d.ts +5 -0
  42. package/lib/certManager/index.d.ts.map +1 -0
  43. package/lib/certManager/index.js +11 -0
  44. package/lib/certManager/index.js.map +1 -0
  45. package/lib/certManager/issuer.d.ts +109 -0
  46. package/lib/certManager/issuer.d.ts.map +1 -0
  47. package/lib/certManager/issuer.js +62 -0
  48. package/lib/certManager/issuer.js.map +1 -0
  49. package/lib/certManager/operator.d.ts +29 -0
  50. package/lib/certManager/operator.d.ts.map +1 -0
  51. package/lib/certManager/operator.js +209 -0
  52. package/lib/certManager/operator.js.map +1 -0
  53. package/lib/common/componentResource.d.ts +20 -0
  54. package/lib/common/componentResource.d.ts.map +1 -0
  55. package/lib/common/componentResource.js +85 -0
  56. package/lib/common/componentResource.js.map +1 -0
  57. package/lib/common/{index.ts → index.d.ts} +1 -2
  58. package/lib/common/index.d.ts.map +1 -0
  59. package/lib/common/index.js +6 -0
  60. package/lib/common/index.js.map +1 -0
  61. package/lib/common/types.d.ts +3 -0
  62. package/lib/common/types.d.ts.map +1 -0
  63. package/lib/common/types.js +3 -0
  64. package/lib/common/types.js.map +1 -0
  65. package/lib/cups/avahiService.d.ts +20 -0
  66. package/lib/cups/avahiService.d.ts.map +1 -0
  67. package/lib/cups/avahiService.js +79 -0
  68. package/lib/cups/avahiService.js.map +1 -0
  69. package/lib/cups/deployment.d.ts +38 -0
  70. package/lib/cups/deployment.d.ts.map +1 -0
  71. package/lib/cups/deployment.js +166 -0
  72. package/lib/cups/deployment.js.map +1 -0
  73. package/lib/cups/{index.ts → index.d.ts} +1 -1
  74. package/lib/cups/index.d.ts.map +1 -0
  75. package/lib/cups/index.js +8 -0
  76. package/lib/cups/index.js.map +1 -0
  77. package/lib/devcontainer/deployment.d.ts +39 -0
  78. package/lib/devcontainer/deployment.d.ts.map +1 -0
  79. package/lib/devcontainer/deployment.js +216 -0
  80. package/lib/devcontainer/deployment.js.map +1 -0
  81. package/lib/devcontainer/{index.ts → index.d.ts} +1 -1
  82. package/lib/devcontainer/index.d.ts.map +1 -0
  83. package/lib/devcontainer/index.js +6 -0
  84. package/lib/devcontainer/index.js.map +1 -0
  85. package/lib/dhcpd/deployment.d.ts +28 -0
  86. package/lib/dhcpd/deployment.d.ts.map +1 -0
  87. package/lib/dhcpd/deployment.js +150 -0
  88. package/lib/dhcpd/deployment.js.map +1 -0
  89. package/lib/dhcpd/{index.ts → index.d.ts} +1 -1
  90. package/lib/dhcpd/index.d.ts.map +1 -0
  91. package/lib/dhcpd/index.js +6 -0
  92. package/lib/dhcpd/index.js.map +1 -0
  93. package/lib/externalDns/dnsEndpoint.d.ts +66 -0
  94. package/lib/externalDns/dnsEndpoint.d.ts.map +1 -0
  95. package/lib/externalDns/dnsEndpoint.js +40 -0
  96. package/lib/externalDns/dnsEndpoint.js.map +1 -0
  97. package/lib/externalDns/index.d.ts +4 -0
  98. package/lib/externalDns/index.d.ts.map +1 -0
  99. package/lib/externalDns/index.js +8 -0
  100. package/lib/externalDns/index.js.map +1 -0
  101. package/lib/externalDns/operator.d.ts +45 -0
  102. package/lib/externalDns/operator.d.ts.map +1 -0
  103. package/lib/externalDns/operator.js +135 -0
  104. package/lib/externalDns/operator.js.map +1 -0
  105. package/lib/fcos/config.d.ts +63 -0
  106. package/lib/fcos/config.d.ts.map +1 -0
  107. package/lib/fcos/config.js +191 -0
  108. package/lib/fcos/config.js.map +1 -0
  109. package/lib/fcos/host.d.ts +34 -0
  110. package/lib/fcos/host.d.ts.map +1 -0
  111. package/lib/fcos/host.js +80 -0
  112. package/lib/fcos/host.js.map +1 -0
  113. package/lib/fcos/index.d.ts +4 -0
  114. package/lib/fcos/index.d.ts.map +1 -0
  115. package/lib/fcos/index.js +8 -0
  116. package/lib/fcos/index.js.map +1 -0
  117. package/lib/freeradius/deployment.d.ts +40 -0
  118. package/lib/freeradius/deployment.d.ts.map +1 -0
  119. package/lib/freeradius/deployment.js +199 -0
  120. package/lib/freeradius/deployment.js.map +1 -0
  121. package/lib/freeradius/{index.ts → index.d.ts} +1 -1
  122. package/lib/freeradius/index.d.ts.map +1 -0
  123. package/lib/freeradius/index.js +6 -0
  124. package/lib/freeradius/index.js.map +1 -0
  125. package/lib/gitlab/{index.ts → index.d.ts} +2 -13
  126. package/lib/gitlab/index.d.ts.map +1 -0
  127. package/lib/gitlab/index.js +12 -0
  128. package/lib/gitlab/index.js.map +1 -0
  129. package/lib/gitlab/project.d.ts +18 -0
  130. package/lib/gitlab/project.d.ts.map +1 -0
  131. package/lib/gitlab/project.js +139 -0
  132. package/lib/gitlab/project.js.map +1 -0
  133. package/lib/gitlab/renovate.d.ts +23 -0
  134. package/lib/gitlab/renovate.d.ts.map +1 -0
  135. package/lib/gitlab/renovate.js +100 -0
  136. package/lib/gitlab/renovate.js.map +1 -0
  137. package/lib/gitlab/runners/cleanup.d.ts +20 -0
  138. package/lib/gitlab/runners/cleanup.d.ts.map +1 -0
  139. package/lib/gitlab/runners/cleanup.js +109 -0
  140. package/lib/gitlab/runners/cleanup.js.map +1 -0
  141. package/lib/gitlab/runners/{index.ts → index.d.ts} +1 -1
  142. package/lib/gitlab/runners/index.d.ts.map +1 -0
  143. package/lib/gitlab/runners/index.js +10 -0
  144. package/lib/gitlab/runners/index.js.map +1 -0
  145. package/lib/gitlab/runners/runner.d.ts +30 -0
  146. package/lib/gitlab/runners/runner.d.ts.map +1 -0
  147. package/lib/gitlab/runners/runner.js +112 -0
  148. package/lib/gitlab/runners/runner.js.map +1 -0
  149. package/lib/gitlab/runners/runners.d.ts +21 -0
  150. package/lib/gitlab/runners/runners.d.ts.map +1 -0
  151. package/lib/gitlab/runners/runners.js +59 -0
  152. package/lib/gitlab/runners/runners.js.map +1 -0
  153. package/lib/grafana/agent.d.ts +41 -0
  154. package/lib/grafana/agent.d.ts.map +1 -0
  155. package/lib/grafana/agent.js +396 -0
  156. package/lib/grafana/agent.js.map +1 -0
  157. package/lib/grafana/dashboard.d.ts +17 -0
  158. package/lib/grafana/dashboard.d.ts.map +1 -0
  159. package/lib/grafana/dashboard.js +53 -0
  160. package/lib/grafana/dashboard.js.map +1 -0
  161. package/lib/grafana/datasource.d.ts +20 -0
  162. package/lib/grafana/datasource.d.ts.map +1 -0
  163. package/lib/grafana/datasource.js +71 -0
  164. package/lib/grafana/datasource.js.map +1 -0
  165. package/lib/grafana/deployment.d.ts +21 -0
  166. package/lib/grafana/deployment.d.ts.map +1 -0
  167. package/lib/grafana/deployment.js +85 -0
  168. package/lib/grafana/deployment.js.map +1 -0
  169. package/lib/grafana/{index.ts → index.d.ts} +2 -13
  170. package/lib/grafana/index.d.ts.map +1 -0
  171. package/lib/grafana/index.js +12 -0
  172. package/lib/grafana/index.js.map +1 -0
  173. package/lib/hcloud/cluster.d.ts +63 -0
  174. package/lib/hcloud/cluster.d.ts.map +1 -0
  175. package/lib/hcloud/cluster.js +344 -0
  176. package/lib/hcloud/cluster.js.map +1 -0
  177. package/lib/hcloud/{index.ts → index.d.ts} +1 -1
  178. package/lib/hcloud/index.d.ts.map +1 -0
  179. package/lib/hcloud/index.js +10 -0
  180. package/lib/hcloud/index.js.map +1 -0
  181. package/lib/hcloud/kubernetes.d.ts +27 -0
  182. package/lib/hcloud/kubernetes.d.ts.map +1 -0
  183. package/lib/hcloud/kubernetes.js +211 -0
  184. package/lib/hcloud/kubernetes.js.map +1 -0
  185. package/lib/hcloud/wireguard.d.ts +24 -0
  186. package/lib/hcloud/wireguard.d.ts.map +1 -0
  187. package/lib/hcloud/wireguard.js +126 -0
  188. package/lib/hcloud/wireguard.js.map +1 -0
  189. package/lib/k0s/cluster.d.ts +51 -0
  190. package/lib/k0s/cluster.d.ts.map +1 -0
  191. package/lib/k0s/cluster.js +206 -0
  192. package/lib/k0s/cluster.js.map +1 -0
  193. package/lib/k0s/{index.ts → index.d.ts} +1 -1
  194. package/lib/k0s/index.d.ts.map +1 -0
  195. package/lib/k0s/index.js +6 -0
  196. package/lib/k0s/index.js.map +1 -0
  197. package/lib/kubeStateMetrics/deployment.d.ts +20 -0
  198. package/lib/kubeStateMetrics/deployment.d.ts.map +1 -0
  199. package/lib/kubeStateMetrics/deployment.js +81 -0
  200. package/lib/kubeStateMetrics/deployment.js.map +1 -0
  201. package/lib/kubeStateMetrics/{index.ts → index.d.ts} +1 -1
  202. package/lib/kubeStateMetrics/index.d.ts.map +1 -0
  203. package/lib/kubeStateMetrics/index.js +6 -0
  204. package/lib/kubeStateMetrics/index.js.map +1 -0
  205. package/lib/kubemq/assets/dashboard.json +5431 -0
  206. package/lib/kubemq/cluster.d.ts +29 -0
  207. package/lib/kubemq/cluster.d.ts.map +1 -0
  208. package/lib/kubemq/cluster.js +77 -0
  209. package/lib/kubemq/cluster.js.map +1 -0
  210. package/lib/{postgresql/index.ts → kubemq/index.d.ts} +1 -1
  211. package/lib/kubemq/index.d.ts.map +1 -0
  212. package/lib/kubemq/index.js +8 -0
  213. package/lib/kubemq/index.js.map +1 -0
  214. package/lib/kubemq/operator.d.ts +18 -0
  215. package/lib/kubemq/operator.d.ts.map +1 -0
  216. package/lib/kubemq/operator.js +66 -0
  217. package/lib/kubemq/operator.js.map +1 -0
  218. package/lib/kubernetes/helm/{index.ts → index.d.ts} +1 -1
  219. package/lib/kubernetes/helm/index.d.ts.map +1 -0
  220. package/lib/kubernetes/helm/index.js +29 -0
  221. package/lib/kubernetes/helm/index.js.map +1 -0
  222. package/lib/kubernetes/helm/v3/chart.d.ts +37 -0
  223. package/lib/kubernetes/helm/v3/chart.d.ts.map +1 -0
  224. package/lib/kubernetes/helm/v3/chart.js +69 -0
  225. package/lib/kubernetes/helm/v3/chart.js.map +1 -0
  226. package/lib/kubernetes/helm/v3/helpers.d.ts +3 -0
  227. package/lib/kubernetes/helm/v3/helpers.d.ts.map +1 -0
  228. package/lib/kubernetes/helm/v3/helpers.js +52 -0
  229. package/lib/kubernetes/helm/v3/helpers.js.map +1 -0
  230. package/lib/kubernetes/helm/v3/{index.ts → index.d.ts} +1 -1
  231. package/lib/kubernetes/helm/v3/index.d.ts.map +1 -0
  232. package/lib/kubernetes/helm/v3/index.js +10 -0
  233. package/lib/kubernetes/helm/v3/index.js.map +1 -0
  234. package/lib/kubernetes/helm/v3/release.d.ts +15 -0
  235. package/lib/kubernetes/helm/v3/release.d.ts.map +1 -0
  236. package/lib/kubernetes/helm/v3/release.js +41 -0
  237. package/lib/kubernetes/helm/v3/release.js.map +1 -0
  238. package/lib/kubernetes/{index.ts → index.d.ts} +1 -1
  239. package/lib/kubernetes/index.d.ts.map +1 -0
  240. package/lib/kubernetes/index.js +33 -0
  241. package/lib/kubernetes/index.js.map +1 -0
  242. package/lib/kubernetes/transformations/filter.d.ts +13 -0
  243. package/lib/kubernetes/transformations/filter.d.ts.map +1 -0
  244. package/lib/kubernetes/transformations/filter.js +32 -0
  245. package/lib/kubernetes/transformations/filter.js.map +1 -0
  246. package/lib/kubernetes/transformations/{index.ts → index.d.ts} +1 -1
  247. package/lib/kubernetes/transformations/index.d.ts.map +1 -0
  248. package/lib/kubernetes/transformations/index.js +12 -0
  249. package/lib/kubernetes/transformations/index.js.map +1 -0
  250. package/lib/kubernetes/transformations/metadataNamespace.d.ts +3 -0
  251. package/lib/kubernetes/transformations/metadataNamespace.d.ts.map +1 -0
  252. package/lib/kubernetes/transformations/metadataNamespace.js +27 -0
  253. package/lib/kubernetes/transformations/metadataNamespace.js.map +1 -0
  254. package/lib/kubernetes/transformations/removeCrdDescriptions.d.ts +3 -0
  255. package/lib/kubernetes/transformations/removeCrdDescriptions.d.ts.map +1 -0
  256. package/lib/kubernetes/transformations/removeCrdDescriptions.js +61 -0
  257. package/lib/kubernetes/transformations/removeCrdDescriptions.js.map +1 -0
  258. package/lib/kubernetes/transformations/v1beta1Deprecations.d.ts +3 -0
  259. package/lib/kubernetes/transformations/v1beta1Deprecations.d.ts.map +1 -0
  260. package/lib/kubernetes/transformations/v1beta1Deprecations.js +55 -0
  261. package/lib/kubernetes/transformations/v1beta1Deprecations.js.map +1 -0
  262. package/lib/kubernetes/v1/{index.ts → index.d.ts} +2 -12
  263. package/lib/kubernetes/v1/index.d.ts.map +1 -0
  264. package/lib/kubernetes/v1/index.js +10 -0
  265. package/lib/kubernetes/v1/index.js.map +1 -0
  266. package/lib/kubernetes/v1/nfsVolume.d.ts +46 -0
  267. package/lib/kubernetes/v1/nfsVolume.d.ts.map +1 -0
  268. package/lib/kubernetes/v1/nfsVolume.js +120 -0
  269. package/lib/kubernetes/v1/nfsVolume.js.map +1 -0
  270. package/lib/kubernetes/v1/pullSecret.d.ts +18 -0
  271. package/lib/kubernetes/v1/pullSecret.d.ts.map +1 -0
  272. package/lib/kubernetes/v1/pullSecret.js +50 -0
  273. package/lib/kubernetes/v1/pullSecret.js.map +1 -0
  274. package/lib/kubernetes/v1/service.d.ts +19 -0
  275. package/lib/kubernetes/v1/service.d.ts.map +1 -0
  276. package/lib/kubernetes/v1/service.js +66 -0
  277. package/lib/kubernetes/v1/service.js.map +1 -0
  278. package/lib/localPathProvisioner/deployment.d.ts +23 -0
  279. package/lib/localPathProvisioner/deployment.d.ts.map +1 -0
  280. package/lib/localPathProvisioner/deployment.js +97 -0
  281. package/lib/localPathProvisioner/deployment.js.map +1 -0
  282. package/lib/localPathProvisioner/{index.ts → index.d.ts} +1 -1
  283. package/lib/localPathProvisioner/index.d.ts.map +1 -0
  284. package/lib/localPathProvisioner/index.js +6 -0
  285. package/lib/localPathProvisioner/index.js.map +1 -0
  286. package/lib/loki/deployment.d.ts +25 -0
  287. package/lib/loki/deployment.d.ts.map +1 -0
  288. package/lib/loki/deployment.js +125 -0
  289. package/lib/loki/deployment.js.map +1 -0
  290. package/lib/loki/{index.ts → index.d.ts} +1 -1
  291. package/lib/loki/index.d.ts.map +1 -0
  292. package/lib/loki/index.js +6 -0
  293. package/lib/loki/index.js.map +1 -0
  294. package/lib/metallb/controller.d.ts +17 -0
  295. package/lib/metallb/controller.d.ts.map +1 -0
  296. package/lib/metallb/controller.js +110 -0
  297. package/lib/metallb/controller.js.map +1 -0
  298. package/lib/metallb/{index.ts → index.d.ts} +2 -11
  299. package/lib/metallb/index.d.ts.map +1 -0
  300. package/lib/metallb/index.js +10 -0
  301. package/lib/metallb/index.js.map +1 -0
  302. package/lib/metallb/ipAddressPool.d.ts +20 -0
  303. package/lib/metallb/ipAddressPool.d.ts.map +1 -0
  304. package/lib/metallb/ipAddressPool.js +45 -0
  305. package/lib/metallb/ipAddressPool.js.map +1 -0
  306. package/lib/metallb/l2Advertisement.d.ts +21 -0
  307. package/lib/metallb/l2Advertisement.d.ts.map +1 -0
  308. package/lib/metallb/l2Advertisement.js +45 -0
  309. package/lib/metallb/l2Advertisement.js.map +1 -0
  310. package/lib/mongodb/cluster.d.ts +47 -0
  311. package/lib/mongodb/cluster.d.ts.map +1 -0
  312. package/lib/mongodb/cluster.js +260 -0
  313. package/lib/mongodb/cluster.js.map +1 -0
  314. package/lib/mongodb/index.d.ts +4 -0
  315. package/lib/mongodb/index.d.ts.map +1 -0
  316. package/lib/mongodb/index.js +8 -0
  317. package/lib/mongodb/index.js.map +1 -0
  318. package/lib/mongodb/operator.d.ts +17 -0
  319. package/lib/mongodb/operator.d.ts.map +1 -0
  320. package/lib/mongodb/operator.js +67 -0
  321. package/lib/mongodb/operator.js.map +1 -0
  322. package/lib/node/{index.ts → index.d.ts} +1 -1
  323. package/lib/node/index.d.ts.map +1 -0
  324. package/lib/node/index.js +6 -0
  325. package/lib/node/index.js.map +1 -0
  326. package/lib/node/kubernetes.d.ts +23 -0
  327. package/lib/node/kubernetes.d.ts.map +1 -0
  328. package/lib/node/kubernetes.js +112 -0
  329. package/lib/node/kubernetes.js.map +1 -0
  330. package/lib/node/node.d.ts +21 -0
  331. package/lib/node/node.d.ts.map +1 -0
  332. package/lib/node/node.js +3 -0
  333. package/lib/node/node.js.map +1 -0
  334. package/lib/openldap/deployment.d.ts +33 -0
  335. package/lib/openldap/deployment.d.ts.map +1 -0
  336. package/lib/openldap/deployment.js +200 -0
  337. package/lib/openldap/deployment.js.map +1 -0
  338. package/lib/openldap/{index.ts → index.d.ts} +1 -1
  339. package/lib/openldap/index.d.ts.map +1 -0
  340. package/lib/openldap/index.js +6 -0
  341. package/lib/openldap/index.js.map +1 -0
  342. package/lib/plex/{index.ts → index.d.ts} +1 -1
  343. package/lib/plex/index.d.ts.map +1 -0
  344. package/lib/plex/index.js +8 -0
  345. package/lib/plex/index.js.map +1 -0
  346. package/lib/plex/mediaServer.d.ts +42 -0
  347. package/lib/plex/mediaServer.d.ts.map +1 -0
  348. package/lib/plex/mediaServer.js +217 -0
  349. package/lib/plex/mediaServer.js.map +1 -0
  350. package/lib/plex/playlists.d.ts +31 -0
  351. package/lib/plex/playlists.d.ts.map +1 -0
  352. package/lib/plex/playlists.js +112 -0
  353. package/lib/plex/playlists.js.map +1 -0
  354. package/lib/postgresql/cluster.d.ts +37 -0
  355. package/lib/postgresql/cluster.d.ts.map +1 -0
  356. package/lib/postgresql/cluster.js +64 -0
  357. package/lib/postgresql/cluster.js.map +1 -0
  358. package/lib/postgresql/index.d.ts +4 -0
  359. package/lib/postgresql/index.d.ts.map +1 -0
  360. package/lib/postgresql/index.js +8 -0
  361. package/lib/postgresql/index.js.map +1 -0
  362. package/lib/postgresql/operator.d.ts +18 -0
  363. package/lib/postgresql/operator.d.ts.map +1 -0
  364. package/lib/postgresql/operator.js +83 -0
  365. package/lib/postgresql/operator.js.map +1 -0
  366. package/lib/prometheus/index.d.ts +5 -0
  367. package/lib/prometheus/index.d.ts.map +1 -0
  368. package/lib/prometheus/index.js +10 -0
  369. package/lib/prometheus/index.js.map +1 -0
  370. package/lib/prometheus/monitor.d.ts +12 -0
  371. package/lib/prometheus/monitor.d.ts.map +1 -0
  372. package/lib/prometheus/monitor.js +3 -0
  373. package/lib/prometheus/monitor.js.map +1 -0
  374. package/lib/prometheus/operator.d.ts +38 -0
  375. package/lib/prometheus/operator.d.ts.map +1 -0
  376. package/lib/prometheus/operator.js +239 -0
  377. package/lib/prometheus/operator.js.map +1 -0
  378. package/lib/prometheus/podMonitor.d.ts +27 -0
  379. package/lib/prometheus/podMonitor.d.ts.map +1 -0
  380. package/lib/prometheus/podMonitor.js +40 -0
  381. package/lib/prometheus/podMonitor.js.map +1 -0
  382. package/lib/prometheus/serviceMonitor.d.ts +37 -0
  383. package/lib/prometheus/serviceMonitor.d.ts.map +1 -0
  384. package/lib/prometheus/serviceMonitor.js +40 -0
  385. package/lib/prometheus/serviceMonitor.js.map +1 -0
  386. package/lib/raspberrypi/cluster.d.ts +41 -0
  387. package/lib/raspberrypi/cluster.d.ts.map +1 -0
  388. package/lib/raspberrypi/cluster.js +215 -0
  389. package/lib/raspberrypi/cluster.js.map +1 -0
  390. package/lib/raspberrypi/{index.ts → index.d.ts} +1 -1
  391. package/lib/raspberrypi/index.d.ts.map +1 -0
  392. package/lib/raspberrypi/index.js +6 -0
  393. package/lib/raspberrypi/index.js.map +1 -0
  394. package/lib/redis/index.d.ts +4 -0
  395. package/lib/redis/index.d.ts.map +1 -0
  396. package/lib/redis/index.js +8 -0
  397. package/lib/redis/index.js.map +1 -0
  398. package/lib/redis/operator.d.ts +17 -0
  399. package/lib/redis/operator.d.ts.map +1 -0
  400. package/lib/redis/operator.js +62 -0
  401. package/lib/redis/operator.js.map +1 -0
  402. package/lib/redis/standalone.d.ts +17 -0
  403. package/lib/redis/standalone.d.ts.map +1 -0
  404. package/lib/redis/standalone.js +87 -0
  405. package/lib/redis/standalone.js.map +1 -0
  406. package/lib/rethinkdb/deployment.d.ts +36 -0
  407. package/lib/rethinkdb/deployment.d.ts.map +1 -0
  408. package/lib/rethinkdb/deployment.js +335 -0
  409. package/lib/rethinkdb/deployment.js.map +1 -0
  410. package/lib/rethinkdb/{index.ts → index.d.ts} +1 -1
  411. package/lib/rethinkdb/index.d.ts.map +1 -0
  412. package/lib/rethinkdb/index.js +6 -0
  413. package/lib/rethinkdb/index.js.map +1 -0
  414. package/lib/rook/blockPool.d.ts +28 -0
  415. package/lib/rook/blockPool.d.ts.map +1 -0
  416. package/lib/rook/blockPool.js +79 -0
  417. package/lib/rook/blockPool.js.map +1 -0
  418. package/lib/rook/cluster.d.ts +55 -0
  419. package/lib/rook/cluster.d.ts.map +1 -0
  420. package/lib/rook/cluster.js +133 -0
  421. package/lib/rook/cluster.js.map +1 -0
  422. package/lib/rook/filesystem.d.ts +29 -0
  423. package/lib/rook/filesystem.d.ts.map +1 -0
  424. package/lib/rook/filesystem.js +133 -0
  425. package/lib/rook/filesystem.js.map +1 -0
  426. package/lib/rook/{index.ts → index.d.ts} +2 -15
  427. package/lib/rook/index.d.ts.map +1 -0
  428. package/lib/rook/index.js +12 -0
  429. package/lib/rook/index.js.map +1 -0
  430. package/lib/rook/operator.d.ts +19 -0
  431. package/lib/rook/operator.d.ts.map +1 -0
  432. package/lib/rook/operator.js +186 -0
  433. package/lib/rook/operator.js.map +1 -0
  434. package/lib/samba/avahiService.d.ts +20 -0
  435. package/lib/samba/avahiService.d.ts.map +1 -0
  436. package/lib/samba/avahiService.js +58 -0
  437. package/lib/samba/avahiService.js.map +1 -0
  438. package/lib/samba/deployment.d.ts +40 -0
  439. package/lib/samba/deployment.d.ts.map +1 -0
  440. package/lib/samba/deployment.js +251 -0
  441. package/lib/samba/deployment.js.map +1 -0
  442. package/lib/samba/{index.ts → index.d.ts} +1 -1
  443. package/lib/samba/index.d.ts.map +1 -0
  444. package/lib/samba/index.js +11 -0
  445. package/lib/samba/index.js.map +1 -0
  446. package/lib/samba/volumes.d.ts +29 -0
  447. package/lib/samba/volumes.d.ts.map +1 -0
  448. package/lib/samba/volumes.js +61 -0
  449. package/lib/samba/volumes.js.map +1 -0
  450. package/lib/ssh/exec.d.ts +33 -0
  451. package/lib/ssh/exec.d.ts.map +1 -0
  452. package/lib/ssh/exec.js +139 -0
  453. package/lib/ssh/exec.js.map +1 -0
  454. package/lib/ssh/file.d.ts +43 -0
  455. package/lib/ssh/file.d.ts.map +1 -0
  456. package/lib/ssh/file.js +136 -0
  457. package/lib/ssh/file.js.map +1 -0
  458. package/lib/ssh/{index.ts → index.d.ts} +1 -1
  459. package/lib/ssh/index.d.ts.map +1 -0
  460. package/lib/ssh/index.js +8 -0
  461. package/lib/ssh/index.js.map +1 -0
  462. package/lib/ssh/types.d.ts +19 -0
  463. package/lib/ssh/types.d.ts.map +1 -0
  464. package/lib/ssh/types.js +3 -0
  465. package/lib/ssh/types.js.map +1 -0
  466. package/lib/torproxy/deployment.d.ts +31 -0
  467. package/lib/torproxy/deployment.d.ts.map +1 -0
  468. package/lib/torproxy/deployment.js +154 -0
  469. package/lib/torproxy/deployment.js.map +1 -0
  470. package/lib/torproxy/{index.ts → index.d.ts} +1 -1
  471. package/lib/torproxy/index.d.ts.map +1 -0
  472. package/lib/torproxy/index.js +6 -0
  473. package/lib/torproxy/index.js.map +1 -0
  474. package/lib/traefik/controller.d.ts +29 -0
  475. package/lib/traefik/controller.d.ts.map +1 -0
  476. package/lib/traefik/controller.js +189 -0
  477. package/lib/traefik/controller.js.map +1 -0
  478. package/lib/traefik/{index.ts → index.d.ts} +1 -1
  479. package/lib/traefik/index.d.ts.map +1 -0
  480. package/lib/traefik/index.js +10 -0
  481. package/lib/traefik/index.js.map +1 -0
  482. package/lib/traefik/middleware.d.ts +27 -0
  483. package/lib/traefik/middleware.d.ts.map +1 -0
  484. package/lib/traefik/middleware.js +45 -0
  485. package/lib/traefik/middleware.js.map +1 -0
  486. package/lib/traefik/secureIngress.d.ts +32 -0
  487. package/lib/traefik/secureIngress.d.ts.map +1 -0
  488. package/lib/traefik/secureIngress.js +81 -0
  489. package/lib/traefik/secureIngress.js.map +1 -0
  490. package/lib/ubuntu/deployment.d.ts +39 -0
  491. package/lib/ubuntu/deployment.d.ts.map +1 -0
  492. package/lib/ubuntu/deployment.js +236 -0
  493. package/lib/ubuntu/deployment.js.map +1 -0
  494. package/lib/ubuntu/{index.ts → index.d.ts} +1 -1
  495. package/lib/ubuntu/index.d.ts.map +1 -0
  496. package/lib/ubuntu/index.js +6 -0
  497. package/lib/ubuntu/index.js.map +1 -0
  498. package/lib/unifi/controller.d.ts +28 -0
  499. package/lib/unifi/controller.d.ts.map +1 -0
  500. package/lib/unifi/controller.js +217 -0
  501. package/lib/unifi/controller.js.map +1 -0
  502. package/lib/unifi/{index.ts → index.d.ts} +1 -1
  503. package/lib/unifi/index.d.ts.map +1 -0
  504. package/lib/unifi/index.js +6 -0
  505. package/lib/unifi/index.js.map +1 -0
  506. package/lib/velero/{index.ts → index.d.ts} +1 -1
  507. package/lib/velero/index.d.ts.map +1 -0
  508. package/lib/velero/index.js +6 -0
  509. package/lib/velero/index.js.map +1 -0
  510. package/lib/velero/operator.d.ts +31 -0
  511. package/lib/velero/operator.d.ts.map +1 -0
  512. package/lib/velero/operator.js +171 -0
  513. package/lib/velero/operator.js.map +1 -0
  514. package/lib/wireguard/deployment.d.ts +42 -0
  515. package/lib/wireguard/deployment.d.ts.map +1 -0
  516. package/lib/wireguard/deployment.js +139 -0
  517. package/lib/wireguard/deployment.js.map +1 -0
  518. package/lib/wireguard/{index.ts → index.d.ts} +1 -1
  519. package/lib/wireguard/index.d.ts.map +1 -0
  520. package/lib/wireguard/index.js +6 -0
  521. package/lib/wireguard/index.js.map +1 -0
  522. package/package.json +16 -17
  523. package/.eslintrc.json +0 -14
  524. package/.gitlab-ci.yml +0 -73
  525. package/.prettierrc +0 -3
  526. package/lib/avahi/deployment.ts +0 -171
  527. package/lib/avahi/service.ts +0 -118
  528. package/lib/aws/accessKey.ts +0 -40
  529. package/lib/aws/bucket.ts +0 -71
  530. package/lib/blocky/deployment.ts +0 -134
  531. package/lib/certManager/certificate.ts +0 -168
  532. package/lib/certManager/index.ts +0 -39
  533. package/lib/certManager/issuer.ts +0 -141
  534. package/lib/certManager/operator.ts +0 -244
  535. package/lib/common/componentResource.ts +0 -78
  536. package/lib/common/types.ts +0 -3
  537. package/lib/cups/avahiService.ts +0 -66
  538. package/lib/cups/deployment.ts +0 -199
  539. package/lib/devcontainer/deployment.ts +0 -253
  540. package/lib/dhcpd/deployment.ts +0 -164
  541. package/lib/externalDns/dnsEndpoint.ts +0 -70
  542. package/lib/externalDns/index.ts +0 -18
  543. package/lib/externalDns/operator.ts +0 -165
  544. package/lib/fcos/config.ts +0 -237
  545. package/lib/fcos/host.ts +0 -91
  546. package/lib/fcos/index.ts +0 -27
  547. package/lib/freeradius/deployment.ts +0 -244
  548. package/lib/gitlab/project.ts +0 -148
  549. package/lib/gitlab/renovate.ts +0 -98
  550. package/lib/gitlab/runners/cleanup.ts +0 -104
  551. package/lib/gitlab/runners/runner.ts +0 -122
  552. package/lib/gitlab/runners/runners.ts +0 -49
  553. package/lib/grafana/agent.ts +0 -449
  554. package/lib/grafana/dashboard.ts +0 -38
  555. package/lib/grafana/datasource.ts +0 -59
  556. package/lib/grafana/deployment.ts +0 -78
  557. package/lib/hcloud/cluster.ts +0 -500
  558. package/lib/hcloud/kubernetes.ts +0 -237
  559. package/lib/hcloud/wireguard.ts +0 -155
  560. package/lib/k0s/cluster.ts +0 -264
  561. package/lib/kubeStateMetrics/deployment.ts +0 -60
  562. package/lib/kubernetes/helm/v3/chart.ts +0 -79
  563. package/lib/kubernetes/helm/v3/helpers.ts +0 -32
  564. package/lib/kubernetes/helm/v3/release.ts +0 -17
  565. package/lib/kubernetes/transformations/filter.ts +0 -43
  566. package/lib/kubernetes/transformations/metadataNamespace.ts +0 -25
  567. package/lib/kubernetes/transformations/removeCrdDescriptions.ts +0 -78
  568. package/lib/kubernetes/transformations/v1beta1Deprecations.ts +0 -60
  569. package/lib/kubernetes/v1/nfsVolume.ts +0 -145
  570. package/lib/kubernetes/v1/pullSecret.ts +0 -37
  571. package/lib/kubernetes/v1/service.ts +0 -58
  572. package/lib/localPathProvisioner/deployment.ts +0 -88
  573. package/lib/loki/deployment.ts +0 -122
  574. package/lib/metallb/controller.ts +0 -96
  575. package/lib/metallb/ipAddressPool.ts +0 -33
  576. package/lib/metallb/l2Advertisement.ts +0 -34
  577. package/lib/node/kubernetes.ts +0 -129
  578. package/lib/node/node.ts +0 -17
  579. package/lib/openldap/deployment.ts +0 -226
  580. package/lib/plex/mediaServer.ts +0 -265
  581. package/lib/plex/playlists.ts +0 -123
  582. package/lib/postgresql/cluster.ts +0 -61
  583. package/lib/postgresql/operator.ts +0 -70
  584. package/lib/prometheus/index.ts +0 -23
  585. package/lib/prometheus/monitor.ts +0 -13
  586. package/lib/prometheus/operator.ts +0 -264
  587. package/lib/prometheus/podMonitor.ts +0 -32
  588. package/lib/prometheus/serviceMonitor.ts +0 -43
  589. package/lib/raspberrypi/cluster.ts +0 -279
  590. package/lib/rethinkdb/deployment.ts +0 -424
  591. package/lib/rook/blockPool.ts +0 -80
  592. package/lib/rook/cluster.ts +0 -168
  593. package/lib/rook/filesystem.ts +0 -140
  594. package/lib/rook/operator.ts +0 -175
  595. package/lib/samba/avahiService.ts +0 -44
  596. package/lib/samba/deployment.ts +0 -305
  597. package/lib/samba/volumes.ts +0 -70
  598. package/lib/ssh/exec.ts +0 -162
  599. package/lib/ssh/file.ts +0 -165
  600. package/lib/ssh/types.ts +0 -20
  601. package/lib/torproxy/deployment.ts +0 -165
  602. package/lib/traefik/controller.ts +0 -207
  603. package/lib/traefik/middleware.ts +0 -37
  604. package/lib/traefik/secureIngress.ts +0 -81
  605. package/lib/ubuntu/deployment.ts +0 -275
  606. package/lib/unifi/controller.ts +0 -234
  607. package/lib/velero/operator.ts +0 -182
  608. package/lib/wireguard/deployment.ts +0 -168
  609. package/renovate.json +0 -4
  610. package/tsconfig.json +0 -21
@@ -1,305 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as k8s from "@pulumi/kubernetes";
3
- import * as crypto from "crypto";
4
- import { ComponentResource } from "../common";
5
- import * as kubernetes from "../kubernetes";
6
- import { AvahiService } from "./avahiService";
7
-
8
- export interface User {
9
- name: string;
10
- uid: number;
11
- }
12
-
13
- export interface SambaArgs {
14
- namespace?: pulumi.Input<string>;
15
- serverName: pulumi.Input<string>;
16
- workgroup: pulumi.Input<string>;
17
- deviceModel: pulumi.Input<string>;
18
- hostname: pulumi.Input<string>;
19
- users: pulumi.Input<pulumi.Input<User>[]>;
20
- volumes?: { [key: string]: pulumi.Input<string> };
21
- serviceType?: pulumi.Input<string>;
22
- avahiLabelName?: pulumi.Input<string>;
23
- storageClassName?: pulumi.Input<string>;
24
- protect?: boolean;
25
- }
26
-
27
- export class Samba extends ComponentResource {
28
- private static readonly vetoFiles = [
29
- ".apdisk",
30
- ".DS_Store",
31
- "._.DS_Store",
32
- ".TemporaryItems",
33
- "._.TemporaryItems",
34
- ".Trashes",
35
- "desktop.ini",
36
- "ehthumbs.db",
37
- "Network Trash Folder",
38
- "Temporary Items",
39
- "Thumbs.db",
40
- ];
41
-
42
- private readonly settings: k8s.core.v1.ConfigMap;
43
- private readonly dataVolumeClaim: k8s.core.v1.PersistentVolumeClaim;
44
- private readonly deployment: k8s.apps.v1.Deployment;
45
- private readonly podDisruptionBudget: k8s.policy.v1.PodDisruptionBudget;
46
- private readonly service: k8s.core.v1.Service;
47
- private readonly avahiService?: AvahiService;
48
- public readonly namespace: pulumi.Output<string>;
49
- public readonly hostname: pulumi.Output<string>;
50
-
51
- /**
52
- * Create a new Samba resource.
53
- * @param name The name of the Samba resource.
54
- * @param args A bag of arguments to control the Samba creation.
55
- * @param opts A bag of options that control this resource's behavior.
56
- */
57
- constructor(name: string, args: SambaArgs, opts?: pulumi.ComponentResourceOptions) {
58
- super("samba", name, args, opts);
59
-
60
- if (args.serviceType === undefined) {
61
- args.serviceType = "LoadBalancer";
62
- }
63
-
64
- opts = this.opts(k8s.Provider);
65
-
66
- this.hostname = pulumi.output(args.hostname);
67
-
68
- this.namespace = args.namespace
69
- ? pulumi.output(args.namespace)
70
- : new k8s.core.v1.Namespace(name, { metadata: { name } }, opts).metadata.name;
71
-
72
- const metadata = {
73
- name,
74
- namespace: this.namespace,
75
- labels: {
76
- "app.kubernetes.io/name": "samba",
77
- "app.kubernetes.io/component": "samba",
78
- "app.kubernetes.io/instance": name,
79
- },
80
- };
81
-
82
- const sambaConfig = [
83
- "[global]",
84
- `workgroup = ${args.workgroup}`,
85
- `server string = ${args.serverName}`,
86
- `netbios name = ${args.serverName}`,
87
- "server role = standalone server",
88
- "log file = /dev/stdout",
89
- "max log size = 50",
90
- "dns proxy = no",
91
- "map to guest = bad user",
92
- "usershare allow guests = no",
93
- "client ipc min protocol = SMB2",
94
- "client ipc max protocol = SMB3",
95
- "client min protocol = SMB2",
96
- "client max protocol = SMB3",
97
- "server min protocol = SMB2",
98
- "server max protocol = SMB3",
99
- "follow symlinks = yes",
100
- "load printers = no",
101
- "printing = bsd",
102
- "printcap name = /dev/null",
103
- "disable spoolss = yes",
104
- "aio read size = 0",
105
- "aio write size = 0",
106
- "posix locking = no",
107
- "strict locking = no",
108
- "follow symlinks = yes",
109
- "unix extensions = yes",
110
- "wide links = no",
111
- "mangled names = no",
112
- "unix charset = UTF-8",
113
- "acl allow execute always = yes",
114
- "vfs objects = catia fruit",
115
- "fruit:aapl = yes",
116
- "fruit:delete_empty_adfiles = yes",
117
- "fruit:time machine = yes",
118
- "fruit:veto_appledouble = yes",
119
- "fruit:wipe_intentionally_left_blank_rfork = yes",
120
- `fruit:model = ${args.deviceModel}`,
121
- "fruit:locking = none",
122
- "ea support = no",
123
- "kernel oplocks = no",
124
- "oplocks = no",
125
- "level2 oplocks = no",
126
- ];
127
-
128
- const shareVolumes: any[] = [];
129
- const shareVolumeMounts: any[] = [];
130
-
131
- if (args.volumes !== undefined) {
132
- for (const shareName in args.volumes) {
133
- // eslint-disable-next-line security/detect-object-injection
134
- const volume = args.volumes[shareName];
135
-
136
- const shasum = crypto.createHash("sha1");
137
- shasum.update(shareName);
138
- const volumeName = shasum.digest("hex");
139
-
140
- shareVolumes.push(
141
- pulumi.all([volume]).apply((o) => {
142
- return { name: volumeName, persistentVolumeClaim: { claimName: o[0] } };
143
- })
144
- );
145
-
146
- const mountPath = `/shares/${volumeName}`;
147
-
148
- shareVolumeMounts.push({ name: volumeName, mountPath });
149
-
150
- sambaConfig.push(
151
- `[${shareName}]`,
152
- `comment = ${shareName}`,
153
- `path = ${mountPath}`,
154
- "browseable = yes",
155
- "read only = no",
156
- "guest ok = no",
157
- `veto files = /${Samba.vetoFiles.join("/")}/`,
158
- "delete veto files = yes"
159
- );
160
- }
161
- }
162
-
163
- const containerArgs = pulumi.all([args.users]).apply((o) => {
164
- const cmds = ["mkdir -p /var/lib/samba/private"];
165
-
166
- for (const user of o[0]) {
167
- cmds.push(`adduser -s /bin/false -D -u ${user.uid} "${user.name}"`);
168
- }
169
-
170
- cmds.push("/usr/bin/samba.sh -n");
171
-
172
- return ["-c", cmds.join(" && ")];
173
- });
174
-
175
- this.settings = new k8s.core.v1.ConfigMap(
176
- `${name}-config`,
177
- {
178
- metadata: { ...metadata, name: pulumi.interpolate`${name}-config` },
179
- data: {
180
- "smb.conf": sambaConfig.join("\n"),
181
- },
182
- },
183
- opts
184
- );
185
-
186
- const dataVolumeClaimName = pulumi.interpolate`${name}-data`;
187
-
188
- this.dataVolumeClaim = new k8s.core.v1.PersistentVolumeClaim(
189
- `${name}-data`,
190
- {
191
- metadata: { ...metadata, name: dataVolumeClaimName },
192
- spec: {
193
- storageClassName: args.storageClassName,
194
- accessModes: ["ReadWriteOnce"],
195
- resources: { requests: { storage: "128Mi" } },
196
- },
197
- },
198
- { ...opts, protect: args.protect }
199
- );
200
-
201
- this.deployment = new k8s.apps.v1.Deployment(
202
- name,
203
- {
204
- metadata,
205
- spec: {
206
- selector: { matchLabels: metadata.labels },
207
- strategy: { type: "Recreate" },
208
- replicas: 1,
209
- template: {
210
- metadata: {
211
- labels: metadata.labels,
212
- annotations: { "backup.velero.io/backup-volumes": "data" },
213
- },
214
- spec: {
215
- containers: [
216
- {
217
- name: "samba",
218
- image: "dperson/samba:latest",
219
- imagePullPolicy: "Always",
220
- command: ["/bin/sh"],
221
- args: containerArgs,
222
- ports: [
223
- { containerPort: 137, protocol: "UDP", name: "netbios-ns" },
224
- { containerPort: 138, protocol: "UDP", name: "netbios-dgm" },
225
- { containerPort: 139, protocol: "TCP", name: "netbios-ssn" },
226
- { containerPort: 445, protocol: "TCP", name: "microsoft-ds" },
227
- ],
228
- readinessProbe: {
229
- exec: { command: ["smbclient", "-L", "\\\\localhost", "-U", "%", "-m", "SMB3"] },
230
- periodSeconds: 20,
231
- failureThreshold: 3,
232
- successThreshold: 1,
233
- timeoutSeconds: 10,
234
- },
235
- livenessProbe: {
236
- exec: { command: ["smbclient", "-L", "\\\\localhost", "-U", "%", "-m", "SMB3"] },
237
- periodSeconds: 20,
238
- failureThreshold: 3,
239
- successThreshold: 1,
240
- timeoutSeconds: 10,
241
- },
242
- resources: {
243
- requests: { memory: "256Mi" },
244
- limits: { memory: "512Mi" },
245
- },
246
- volumeMounts: [
247
- { name: "config", mountPath: "/etc/samba" },
248
- { name: "data", mountPath: "/var/lib/samba" },
249
- ].concat(shareVolumeMounts),
250
- },
251
- ],
252
- volumes: [
253
- { name: "config", configMap: { name: this.settings.metadata.name } },
254
- { name: "data", persistentVolumeClaim: { claimName: dataVolumeClaimName } },
255
- ].concat(shareVolumes),
256
- },
257
- },
258
- },
259
- },
260
- opts
261
- );
262
-
263
- this.podDisruptionBudget = new k8s.policy.v1.PodDisruptionBudget(
264
- name,
265
- {
266
- metadata,
267
- spec: {
268
- minAvailable: 1,
269
- selector: { matchLabels: metadata.labels },
270
- },
271
- },
272
- opts
273
- );
274
-
275
- this.service = new kubernetes.v1.Service(
276
- name,
277
- {
278
- metadata,
279
- spec: {
280
- type: args.serviceType,
281
- selector: metadata.labels,
282
- ports: [{ name: "microsoft-ds", protocol: "TCP", port: 445, targetPort: "microsoft-ds" }],
283
- },
284
- hostnames: [args.hostname],
285
- },
286
- { ...opts, dependsOn: [this.deployment] }
287
- );
288
-
289
- if (args.avahiLabelName !== undefined) {
290
- this.avahiService = new AvahiService(
291
- name,
292
- {
293
- labelName: args.avahiLabelName,
294
- metadata,
295
- serverName: args.serverName,
296
- hostname: args.hostname,
297
- deviceModel: args.deviceModel,
298
- },
299
- opts
300
- );
301
- }
302
-
303
- this.registerOutputs();
304
- }
305
- }
@@ -1,70 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as k8s from "@pulumi/kubernetes";
3
- import * as kubernetes from "../kubernetes";
4
-
5
- export interface Volumes {
6
- [key: string]: pulumi.Output<string>;
7
- }
8
-
9
- export interface LocalPathVolumesArgs {
10
- name: string;
11
- }
12
-
13
- export interface LocalPathArgs {
14
- metadata: pulumi.Input<k8s.types.input.meta.v1.ObjectMeta>;
15
- volumes: { [key: string]: LocalPathVolumesArgs };
16
- storageClassName?: pulumi.Input<string>;
17
- }
18
-
19
- export function localPathVolumesFromConfig(args: LocalPathArgs, opts?: pulumi.CustomResourceOptions): Volumes {
20
- const volumes: Volumes = {};
21
-
22
- for (const name in args.volumes) {
23
- // eslint-disable-next-line security/detect-object-injection
24
- const config = args.volumes[name];
25
-
26
- // eslint-disable-next-line no-unused-vars
27
- const pvc = new k8s.core.v1.PersistentVolumeClaim(
28
- name,
29
- {
30
- metadata: { ...args.metadata, name },
31
- spec: {
32
- storageClassName: args.storageClassName ?? "local-path",
33
- accessModes: ["ReadWriteOnce"],
34
- resources: { requests: { storage: "1Gi" } },
35
- },
36
- },
37
- opts
38
- );
39
-
40
- volumes[config.name] = pulumi.output(name);
41
- }
42
-
43
- return volumes;
44
- }
45
-
46
- export interface NfsVolumeArgs extends kubernetes.v1.NfsVolumeConfig {
47
- name: string;
48
- }
49
-
50
- export interface NfsArgs {
51
- metadata: pulumi.Input<k8s.types.input.meta.v1.ObjectMeta>;
52
- volumes: { [key: string]: NfsVolumeArgs };
53
- storageClassName?: pulumi.Input<string>;
54
- }
55
-
56
- export function nfsVolumesFromConfig(args: NfsArgs, opts?: pulumi.CustomResourceOptions): Volumes {
57
- const volumes: Volumes = {};
58
-
59
- for (const name in args.volumes) {
60
- // eslint-disable-next-line security/detect-object-injection
61
- const config = args.volumes[name];
62
-
63
- // eslint-disable-next-line no-unused-vars
64
- const pvc = kubernetes.v1.NfsVolume.fromConfig(name, { metadata: { ...args.metadata, name }, config }, opts);
65
-
66
- volumes[config.name] = pulumi.output(name);
67
- }
68
-
69
- return volumes;
70
- }
package/lib/ssh/exec.ts DELETED
@@ -1,162 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as ssh from "ssh2";
3
- import { ConnectionArgs, ConnectionArgsInternal } from "./types";
4
-
5
- interface ExecResult {
6
- exitCode: number;
7
- stdout: string;
8
- stderr: string;
9
- }
10
-
11
- function sshCommand(connection: pulumi.Unwrap<ConnectionArgs>, cmd: string, finishDelay?: number): Promise<ExecResult> {
12
- const connectionRetryFactor = connection.retryBackoffFactor || 1.2;
13
- const initialDelay = connection.initialDelay || 0;
14
- let connectionFailCount = connection.retries || 10;
15
- let connectionRetryDelay = connection.retryIntialBackoff || 500;
16
-
17
- return new Promise((resolve, reject) => {
18
- const sshConnection = new ssh.Client();
19
-
20
- function retryFunc() {
21
- sshConnection
22
- .on("ready", () => {
23
- sshConnection.exec(cmd, (err, stream) => {
24
- if (err) {
25
- reject(err);
26
-
27
- return;
28
- }
29
-
30
- let stdout = "";
31
- let stderr = "";
32
-
33
- stream
34
- .on("close", (exitCode: number, signal: any) => {
35
- sshConnection.end();
36
-
37
- if (exitCode) {
38
- reject(new Error("Command exited with " + exitCode));
39
- } else {
40
- setTimeout(function () {
41
- resolve({ exitCode, stdout, stderr });
42
- }, finishDelay || 0);
43
- }
44
- })
45
- .on("data", (data: any) => {
46
- stdout += data.toString("utf8");
47
- })
48
- .stderr.on("data", (data) => {
49
- stderr += data.toString("utf8");
50
- });
51
- });
52
- })
53
- .on("error", (err) => {
54
- connectionFailCount--;
55
- connectionRetryDelay *= connectionRetryFactor;
56
-
57
- if (connectionFailCount < 0) {
58
- reject(err);
59
- } else {
60
- setTimeout(retryFunc, Math.round(connectionRetryDelay));
61
- }
62
- })
63
- .connect({
64
- host: connection.host,
65
- port: connection.port ?? 22,
66
- username: connection.username,
67
- password: connection.password,
68
- privateKey: connection.privateKey,
69
- passphrase: connection.privateKeyPassphrase,
70
- });
71
- }
72
-
73
- setTimeout(retryFunc, initialDelay);
74
- });
75
- }
76
-
77
- export interface ExecArgs {
78
- /**
79
- * SSH connection details
80
- */
81
- connection: pulumi.Input<ConnectionArgs>;
82
- /**
83
- * Command to run
84
- */
85
- command: pulumi.Input<string>;
86
- /**
87
- * Optional: Change token
88
- */
89
- changeToken?: pulumi.Input<string>;
90
- /**
91
- * Optional: Finish delay
92
- */
93
- finishDelay?: pulumi.Input<number>;
94
- }
95
-
96
- interface ProviderInputs {
97
- connection: ConnectionArgsInternal;
98
- command: string;
99
- changeToken?: string;
100
- finishDelay?: number;
101
- }
102
-
103
- export class Exec extends pulumi.dynamic.Resource {
104
- public readonly exitCode!: pulumi.Output<number>;
105
- public readonly stdout!: pulumi.Output<string>;
106
- public readonly stderr!: pulumi.Output<string>;
107
-
108
- /**
109
- * Create a new SSH exec resource.
110
- * @param name The name of the SSH exec resource.
111
- * @param args A bag of arguments to control the SSH exec creation.
112
- * @param opts A bag of options that control this resource's behavior.
113
- */
114
- constructor(name: string, args: ExecArgs, opts?: pulumi.ComponentResourceOptions) {
115
- const provider: pulumi.dynamic.ResourceProvider = {
116
- async diff(id: pulumi.ID, olds: ProviderInputs, news: ProviderInputs): Promise<pulumi.dynamic.DiffResult> {
117
- const replaces = [];
118
-
119
- for (const [nKey, nValue] of Object.entries(news)) {
120
- if (nKey === "__provider") {
121
- continue;
122
- }
123
-
124
- let keyFound = false;
125
-
126
- for (const [oKey, oValue] of Object.entries(olds)) {
127
- if (oKey === "__provider") {
128
- continue;
129
- }
130
-
131
- if (nKey === oKey) {
132
- keyFound = true;
133
-
134
- if (JSON.stringify(nValue) !== JSON.stringify(oValue)) {
135
- replaces.push(nKey);
136
- }
137
- }
138
- }
139
-
140
- if (!keyFound) {
141
- replaces.push(nKey);
142
- }
143
- }
144
-
145
- return { changes: replaces.length > 0, replaces, deleteBeforeReplace: true };
146
- },
147
- async create(inputs: ProviderInputs): Promise<pulumi.dynamic.CreateResult> {
148
- return sshCommand(inputs.connection, inputs.command, inputs.finishDelay).then((r) => {
149
- return {
150
- id: require("uuid").v4(),
151
- outs:
152
- r.exitCode === 0
153
- ? { exitCode: r.exitCode, stdout: "", stderr: "", ...inputs }
154
- : { exitCode: r.exitCode, stdout: r.stdout, stderr: r.stderr, ...inputs },
155
- };
156
- });
157
- },
158
- };
159
-
160
- super(provider, name, { exitCode: undefined, stdout: undefined, stderr: undefined, ...args }, opts);
161
- }
162
- }
package/lib/ssh/file.ts DELETED
@@ -1,165 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as Sftp from "ssh2-sftp-client";
3
- import * as crypto from "crypto";
4
- import * as fs from "fs";
5
- import { ConnectionArgs, ConnectionArgsInternal } from "./types";
6
-
7
- function sshFileCreate(
8
- connection: pulumi.Unwrap<ConnectionArgs>,
9
- dst: string,
10
- srcFile?: string,
11
- srcData?: string | Buffer
12
- ): Promise<boolean> {
13
- const connectionRetryFactor = connection.retryBackoffFactor || 1.2;
14
- const initialDelay = connection.initialDelay || 0;
15
- let connectionFailCount = connection.retries || 10;
16
- let connectionRetryDelay = connection.retryIntialBackoff || 500;
17
-
18
- return new Promise((resolve, reject) => {
19
- function retryFunc() {
20
- if (srcFile === undefined && srcData === undefined) {
21
- reject(new Error("Must provide either srcFile or srcData"));
22
- }
23
-
24
- const client = new Sftp();
25
-
26
- client
27
- .connect({
28
- host: connection.host,
29
- port: connection.port ?? 22,
30
- username: connection.username,
31
- password: connection.password,
32
- privateKey: connection.privateKey,
33
- passphrase: connection.privateKeyPassphrase,
34
- })
35
- .then(() => {
36
- if (srcFile !== undefined) {
37
- return client.put(srcFile, dst);
38
- } else {
39
- if (srcData instanceof Buffer) {
40
- return client.put(srcData, dst);
41
- }
42
-
43
- return client.put(Buffer.from(srcData as string), dst);
44
- }
45
- })
46
- .then(() => {
47
- client.end();
48
-
49
- resolve(true);
50
- })
51
- .catch((err) => {
52
- connectionFailCount--;
53
- connectionRetryDelay *= connectionRetryFactor;
54
-
55
- if (connectionFailCount < 0) {
56
- reject(err);
57
- } else {
58
- setTimeout(retryFunc, Math.round(connectionRetryDelay));
59
- }
60
- });
61
- }
62
-
63
- setTimeout(retryFunc, initialDelay);
64
- });
65
- }
66
-
67
- export interface FileSourceArgs {
68
- /**
69
- * Source file
70
- */
71
- file?: pulumi.Input<string>;
72
- /**
73
- * Source data
74
- */
75
- data?: pulumi.Input<string | Buffer>;
76
- }
77
-
78
- export interface FileArgs {
79
- /**
80
- * SSH connection details
81
- */
82
- connection: pulumi.Input<ConnectionArgs>;
83
- /**
84
- * Source
85
- */
86
- src: pulumi.Input<FileSourceArgs>;
87
- /**
88
- * Destination file
89
- */
90
- dst: pulumi.Input<string>;
91
- /**
92
- * Optional: Change token
93
- */
94
- changeToken?: pulumi.Input<string>;
95
- }
96
-
97
- interface ProviderInputs {
98
- connection: ConnectionArgsInternal;
99
- src: { file?: string; data?: string | Buffer };
100
- dst: string;
101
- changeToken?: string;
102
- }
103
-
104
- export class File extends pulumi.dynamic.Resource {
105
- /**
106
- * Create a new SSH file resource.
107
- * @param name The name of the SSH file resource.
108
- * @param args A bag of arguments to control the SSH file creation.
109
- * @param opts A bag of options that control this resource's behavior.
110
- */
111
- constructor(name: string, args: FileArgs, opts?: pulumi.ComponentResourceOptions) {
112
- const provider: pulumi.dynamic.ResourceProvider = {
113
- async diff(id: pulumi.ID, olds: ProviderInputs, news: ProviderInputs): Promise<pulumi.dynamic.DiffResult> {
114
- const replaces = [];
115
-
116
- for (const [nKey, nValue] of Object.entries(news)) {
117
- if (nKey === "__provider") {
118
- continue;
119
- }
120
-
121
- let keyFound = false;
122
-
123
- for (const [oKey, oValue] of Object.entries(olds)) {
124
- if (oKey === "__provider") {
125
- continue;
126
- }
127
-
128
- if (nKey === oKey) {
129
- keyFound = true;
130
-
131
- if (JSON.stringify(nValue) !== JSON.stringify(oValue)) {
132
- replaces.push(nKey);
133
- }
134
- }
135
- }
136
-
137
- if (!keyFound) {
138
- replaces.push(nKey);
139
- }
140
- }
141
-
142
- return { changes: replaces.length > 0, replaces, deleteBeforeReplace: true };
143
- },
144
- async create(inputs: ProviderInputs): Promise<pulumi.dynamic.CreateResult> {
145
- return sshFileCreate(inputs.connection, inputs.dst, inputs.src.file, inputs.src.data).then((r) => {
146
- return {
147
- id: require("uuid").v4(),
148
- outs: inputs,
149
- };
150
- });
151
- },
152
- };
153
-
154
- super(provider, name, args, opts);
155
- }
156
-
157
- public static changeToken(str: string): string {
158
- return crypto.createHash("sha1").update(str, "utf8").digest("hex");
159
- }
160
-
161
- public static fileChangeToken(filename: string): string {
162
- // eslint-disable-next-line security/detect-non-literal-fs-filename
163
- return this.changeToken(fs.readFileSync(filename, "utf-8"));
164
- }
165
- }