@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kubernetes.js","sourceRoot":"","sources":["../../../lib/hcloud/kubernetes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { ComponentResource } from "../common";
3
+ import * as wireguard from "../wireguard";
4
+ import { Node } from "../node";
5
+ export interface WireguardArgs extends wireguard.WireguardArgs {
6
+ nodes: pulumi.Input<pulumi.Input<Node>[]>;
7
+ networkId: pulumi.Input<number>;
8
+ hostnames?: pulumi.Input<pulumi.Input<string>[]>;
9
+ }
10
+ export declare class Wireguard extends ComponentResource {
11
+ private readonly wireguard;
12
+ private readonly firewall;
13
+ private readonly networkRoutes;
14
+ private readonly dnsEndpoint?;
15
+ /**
16
+ * Create a new wireguard resource.
17
+ * @param name The name of the wireguard resource.
18
+ * @param args A bag of arguments to control the wireguard deployment.
19
+ * @param opts A bag of options that control this resource's behavior.
20
+ */
21
+ constructor(name: string, args: WireguardArgs, opts?: pulumi.ComponentResourceOptions);
22
+ private static gatewayNodes;
23
+ }
24
+ //# sourceMappingURL=wireguard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wireguard.d.ts","sourceRoot":"","sources":["../../../lib/hcloud/wireguard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,aAAa;IAC5D,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;CAClD;AAED,qBAAa,SAAU,SAAQ,iBAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAc;IAE3C;;;;;OAKG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,wBAAwB;IAgHrF,OAAO,CAAC,MAAM,CAAC,YAAY;CAgB5B"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Wireguard = void 0;
27
+ const pulumi = __importStar(require("@pulumi/pulumi"));
28
+ const hcloud = __importStar(require("@pulumi/hcloud"));
29
+ const k8s = __importStar(require("@pulumi/kubernetes"));
30
+ const common_1 = require("../common");
31
+ const wireguard = __importStar(require("../wireguard"));
32
+ const externalDns_1 = require("../externalDns");
33
+ class Wireguard extends common_1.ComponentResource {
34
+ wireguard;
35
+ firewall;
36
+ networkRoutes;
37
+ dnsEndpoint;
38
+ /**
39
+ * Create a new wireguard resource.
40
+ * @param name The name of the wireguard resource.
41
+ * @param args A bag of arguments to control the wireguard deployment.
42
+ * @param opts A bag of options that control this resource's behavior.
43
+ */
44
+ constructor(name, args, opts) {
45
+ super("hcloud:wireguard", name, args, opts);
46
+ const hcloudOpts = this.opts(hcloud.Provider);
47
+ const k8sOpts = this.opts(k8s.Provider);
48
+ this.wireguard = new wireguard.Wireguard(name, args, { ...opts, parent: this });
49
+ const gatewayNodes = Wireguard.gatewayNodes(args.nodes);
50
+ this.firewall = new hcloud.Firewall(name, {
51
+ name,
52
+ applyTos: gatewayNodes.apply((nodes) => pulumi.all(nodes).apply((nodes) => nodes.map((node) => {
53
+ return { server: parseInt(node.id) };
54
+ }))),
55
+ rules: [
56
+ {
57
+ description: "UDP",
58
+ direction: "in",
59
+ protocol: "udp",
60
+ port: pulumi.interpolate `${this.wireguard.interfacePort}`,
61
+ sourceIps: ["0.0.0.0/0", "::/0"],
62
+ },
63
+ ],
64
+ }, hcloudOpts);
65
+ this.networkRoutes = pulumi.all([gatewayNodes, args.peers]).apply(([gatewayNodes, peers]) => pulumi.all(gatewayNodes ?? []).apply((gatewayNodes) => {
66
+ const gatewayIPs = gatewayNodes.map((node) => node.privateIpv4Address);
67
+ if (gatewayIPs.length === 0) {
68
+ return pulumi.output([]);
69
+ }
70
+ return pulumi.all(peers ?? []).apply((peers) => {
71
+ const peerIPRanges = [];
72
+ for (const peer of peers) {
73
+ for (const ip of peer.allowedIPs) {
74
+ if (ip.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2}$/)) {
75
+ peerIPRanges.push(ip);
76
+ }
77
+ }
78
+ }
79
+ return peerIPRanges.map((peerIPRange) => new hcloud.NetworkRoute(`${name}-${peerIPRange}`, { networkId: args.networkId, destination: peerIPRange, gateway: gatewayIPs[0] }, hcloudOpts));
80
+ });
81
+ }));
82
+ if (args.hostnames !== undefined) {
83
+ this.dnsEndpoint = new externalDns_1.DnsEndpoint(name, {
84
+ metadata: { namespace: this.wireguard.namespace, name },
85
+ spec: {
86
+ endpoints: pulumi.all([args.hostnames, gatewayNodes]).apply(([hostnames, gatewayNodes]) => pulumi.all(hostnames).apply((hostnames) => pulumi.all(gatewayNodes).apply((nodes) => {
87
+ const ipv4Endpoints = [];
88
+ const ipv6Endpoints = [];
89
+ for (const node of nodes) {
90
+ if (node.ipv4Address !== undefined) {
91
+ ipv4Endpoints.push(node.ipv4Address);
92
+ }
93
+ if (node.ipv6Address !== undefined) {
94
+ ipv6Endpoints.push(node.ipv6Address);
95
+ }
96
+ }
97
+ const endpoints = [];
98
+ for (const dnsName of hostnames) {
99
+ if (ipv4Endpoints.length > 0) {
100
+ endpoints.push({ dnsName, recordType: "A", targets: ipv4Endpoints });
101
+ }
102
+ if (ipv6Endpoints.length > 0) {
103
+ endpoints.push({ dnsName, recordType: "AAAA", targets: ipv6Endpoints });
104
+ }
105
+ }
106
+ return endpoints;
107
+ }))),
108
+ },
109
+ }, k8sOpts);
110
+ }
111
+ this.registerOutputs();
112
+ }
113
+ static gatewayNodes(nodes) {
114
+ return pulumi.all([nodes]).apply(([nodes]) => pulumi.all(nodes ?? []).apply((nodes) => {
115
+ return nodes
116
+ .filter((node) => node.id !== undefined &&
117
+ node.labels !== undefined &&
118
+ node.labels[wireguard.Wireguard.gatewayLabel] !== undefined &&
119
+ node.labels[wireguard.Wireguard.gatewayLabel] === wireguard.Wireguard.gatewayLabelValue &&
120
+ node.privateIpv4Address !== undefined)
121
+ .map((node) => pulumi.output(node));
122
+ }));
123
+ }
124
+ }
125
+ exports.Wireguard = Wireguard;
126
+ //# sourceMappingURL=wireguard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wireguard.js","sourceRoot":"","sources":["../../../lib/hcloud/wireguard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as k0s from "@ydkn/pulumi-k0s";
3
+ import { ComponentResource } from "../common";
4
+ import { Node } from "../node";
5
+ export interface ClusterArgs {
6
+ /**
7
+ * Optional: Name
8
+ */
9
+ name?: pulumi.Input<string>;
10
+ /**
11
+ * Nodes
12
+ */
13
+ nodes: pulumi.Input<pulumi.Input<Node>[]>;
14
+ /**
15
+ * Optional: k0s config
16
+ */
17
+ k0s?: pulumi.Input<k0s.types.input.K0sArgs>;
18
+ /**
19
+ * Optional: k0s host hooks
20
+ */
21
+ hooks?: pulumi.Input<k0s.types.input.HooksArgs>;
22
+ /**
23
+ * Optional: Cloud provider
24
+ */
25
+ cloudProvider?: pulumi.Input<boolean>;
26
+ /**
27
+ * Optional: Protect critical resources
28
+ */
29
+ protect?: boolean;
30
+ }
31
+ export declare class Cluster extends ComponentResource {
32
+ private readonly clusterProvider;
33
+ private readonly cluster;
34
+ readonly name: pulumi.Output<string>;
35
+ readonly nodes: pulumi.Output<pulumi.Output<Node>[]>;
36
+ readonly spec: pulumi.Output<k0s.types.output.Spec>;
37
+ readonly kubeconfig: pulumi.Output<string>;
38
+ readonly kubeletDirPath: pulumi.Output<string>;
39
+ /**
40
+ * Create a new cluster resource.
41
+ * @param name The name of the cluster resource.
42
+ * @param args A bag of arguments to control the cluster creation.
43
+ * @param opts A bag of options that control this resource's behavior.
44
+ */
45
+ constructor(name: string, args: ClusterArgs, opts?: pulumi.ComponentResourceOptions);
46
+ static k0sRole(roles?: pulumi.Input<pulumi.Input<string>[]>): pulumi.Output<string>;
47
+ static k0sNode(node: Node, installFlags: string[], keyPath: string, hooks?: pulumi.UnwrappedObject<k0s.types.input.HooksArgs>, noTaints?: boolean): k0s.types.input.HostArgs;
48
+ static rolesHostname(roles?: pulumi.Input<pulumi.Input<string>[]>): pulumi.Output<string>;
49
+ private static transformKubeconfig;
50
+ }
51
+ //# sourceMappingURL=cluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../../lib/k0s/cluster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAMxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,OAAQ,SAAQ,iBAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,SAAgB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,SAAgB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3D,SAAgB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,SAAgB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEtD;;;;;OAKG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,wBAAwB;WAwHrE,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;WAyB5E,OAAO,CACnB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EACzD,QAAQ,CAAC,EAAE,OAAO,GACjB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;WA6Bb,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAYhG,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAkBnC"}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Cluster = void 0;
27
+ const pulumi = __importStar(require("@pulumi/pulumi"));
28
+ const random = __importStar(require("@pulumi/random"));
29
+ const k0s = __importStar(require("@ydkn/pulumi-k0s"));
30
+ const os = __importStar(require("os"));
31
+ const fs = __importStar(require("fs"));
32
+ const path = __importStar(require("path"));
33
+ const crypto = __importStar(require("crypto"));
34
+ const yaml = __importStar(require("js-yaml"));
35
+ const common_1 = require("../common");
36
+ class Cluster extends common_1.ComponentResource {
37
+ clusterProvider;
38
+ cluster;
39
+ name;
40
+ nodes;
41
+ spec;
42
+ kubeconfig;
43
+ kubeletDirPath;
44
+ /**
45
+ * Create a new cluster resource.
46
+ * @param name The name of the cluster resource.
47
+ * @param args A bag of arguments to control the cluster creation.
48
+ * @param opts A bag of options that control this resource's behavior.
49
+ */
50
+ constructor(name, args, opts) {
51
+ super("k0s:cluster", name, args, opts);
52
+ const emptyOpts = this.opts();
53
+ if (args.name === undefined) {
54
+ this.name = new random.RandomId(name, { byteLength: 3 }, { ...emptyOpts, protect: args.protect }).hex;
55
+ }
56
+ else {
57
+ this.name = pulumi.output(args.name);
58
+ }
59
+ this.nodes = pulumi.all([args.nodes]).apply(([nodes]) => {
60
+ const outputNodes = [];
61
+ for (const node of nodes) {
62
+ outputNodes.push(pulumi.output(node));
63
+ }
64
+ return outputNodes;
65
+ });
66
+ this.clusterProvider = new k0s.Provider(name, { noDrain: true }, emptyOpts);
67
+ this.cluster = new k0s.Cluster(name, {
68
+ metadata: { name: this.name },
69
+ spec: pulumi
70
+ .all([this.nodes, args.k0s, args.hooks, args.cloudProvider])
71
+ .apply(([nodes, k0s, hooks, cloudProvider]) => {
72
+ return {
73
+ hosts: nodes.map((node) => {
74
+ let keyPath = "";
75
+ if (node.privateKey !== undefined) {
76
+ const keyHash = crypto.createHash("sha1").update(node.privateKey, "utf8").digest("hex");
77
+ keyPath = path.join(os.tmpdir(), `pulumi-components-k0s-${node.hostname}-${keyHash}.pem`);
78
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
79
+ fs.writeFileSync(keyPath, node.privateKey);
80
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
81
+ fs.chmodSync(keyPath, 0o600);
82
+ }
83
+ const installFlags = [];
84
+ let isController = false;
85
+ let isWorker = false;
86
+ for (const role of node.roles || []) {
87
+ if (role === "controller") {
88
+ isController = true;
89
+ }
90
+ else if (role === "worker") {
91
+ isWorker = true;
92
+ }
93
+ }
94
+ if (!cloudProvider && isController) {
95
+ installFlags.push("--enable-k0s-cloud-provider=true");
96
+ }
97
+ if (isWorker) {
98
+ installFlags.push("--enable-cloud-provider=true");
99
+ }
100
+ if (node.labels === undefined) {
101
+ node.labels = {};
102
+ }
103
+ node.labels["node.kubernetes.io/role"] = isController ? "control-plane" : "worker";
104
+ const labels = [];
105
+ for (const key in node.labels) {
106
+ // eslint-disable-next-line security/detect-object-injection
107
+ labels.push(`${key}=${node.labels[key]}`);
108
+ }
109
+ if (labels.length > 0) {
110
+ installFlags.push(`--labels=${labels.join(",")}`);
111
+ }
112
+ let noTaints = false;
113
+ if (node.taints !== undefined) {
114
+ const taints = [];
115
+ for (const taint of node.taints) {
116
+ taints.push(`${taint.key}=${taint.value}:${taint.effect}`);
117
+ }
118
+ if (taints.length > 0) {
119
+ installFlags.push(`--taints=${taints.join(",")}`);
120
+ }
121
+ else {
122
+ noTaints = true;
123
+ }
124
+ }
125
+ return Cluster.k0sNode(node, installFlags, keyPath, hooks, noTaints);
126
+ }),
127
+ k0s,
128
+ };
129
+ }),
130
+ }, { ...emptyOpts, provider: this.clusterProvider });
131
+ this.spec = this.cluster.spec;
132
+ this.kubeconfig = pulumi.secret(Cluster.transformKubeconfig(this.cluster.kubeconfig, this.cluster.spec.apply((spec) => spec.k0s?.config?.spec?.api?.sans)));
133
+ this.kubeletDirPath = pulumi.output("/var/lib/k0s/kubelet");
134
+ this.registerOutputs();
135
+ }
136
+ static k0sRole(roles) {
137
+ return pulumi.all([roles]).apply(([roles]) => {
138
+ let role = "worker";
139
+ let foundControllerRole = false;
140
+ let foundWorkerRole = false;
141
+ for (const r of roles || []) {
142
+ if (r === "controller") {
143
+ foundControllerRole = true;
144
+ role = "controller";
145
+ }
146
+ else if (r === "worker") {
147
+ foundWorkerRole = true;
148
+ role = "worker";
149
+ }
150
+ if (foundControllerRole && foundWorkerRole) {
151
+ role = "controller+worker";
152
+ break;
153
+ }
154
+ }
155
+ return role;
156
+ });
157
+ }
158
+ static k0sNode(node, installFlags, keyPath, hooks, noTaints) {
159
+ return {
160
+ hostname: node.hostname,
161
+ privateAddress: node.privateIpv4Address,
162
+ role: Cluster.k0sRole(node.roles),
163
+ ssh: { address: node.ipv4Address, user: node.username, port: 22, keyPath },
164
+ installFlags,
165
+ hooks: {
166
+ apply: {
167
+ before: (hooks?.apply?.before ?? []).concat("sudo sh -c 'if [ ! -L /var/lib/kubelet ]; then ln -s /var/lib/k0s/kubelet /var/lib/kubelet; fi'"),
168
+ after: hooks?.apply?.after ?? [],
169
+ },
170
+ reset: {
171
+ before: hooks?.reset?.before ?? [],
172
+ after: (hooks?.reset?.after ?? []).concat("sudo sh -c 'if [ -L /var/lib/kubelet ]; then rm -rf /var/lib/kubelet; fi'"),
173
+ },
174
+ backup: {
175
+ before: hooks?.backup?.before ?? [],
176
+ after: hooks?.backup?.after ?? [],
177
+ },
178
+ },
179
+ noTaints,
180
+ };
181
+ }
182
+ static rolesHostname(roles) {
183
+ const role = this.k0sRole(roles);
184
+ return role.apply((role) => {
185
+ if (role !== undefined && (role === "controller" || role === "controller+worker")) {
186
+ return "controller";
187
+ }
188
+ return "worker";
189
+ });
190
+ }
191
+ static transformKubeconfig(kubeconfig, sans) {
192
+ return pulumi.all([kubeconfig, sans]).apply(([kubeconfig, sans]) => {
193
+ const transformedKubeconfig = yaml.load(kubeconfig, { schema: yaml.FAILSAFE_SCHEMA });
194
+ if (sans !== undefined && sans.length > 0) {
195
+ if (transformedKubeconfig !== undefined && transformedKubeconfig.clusters.length > 0) {
196
+ if (transformedKubeconfig.clusters[0].cluster !== undefined) {
197
+ transformedKubeconfig.clusters[0].cluster.server = `https://${sans[0]}:6443`;
198
+ }
199
+ }
200
+ }
201
+ return yaml.dump(transformedKubeconfig);
202
+ });
203
+ }
204
+ }
205
+ exports.Cluster = Cluster;
206
+ //# sourceMappingURL=cluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../lib/k0s/cluster.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { ClusterArgs, Cluster } from "./cluster";
2
-
3
2
  export { ClusterArgs, Cluster };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/k0s/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cluster = void 0;
4
+ const cluster_1 = require("./cluster");
5
+ Object.defineProperty(exports, "Cluster", { enumerable: true, get: function () { return cluster_1.Cluster; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/k0s/index.ts"],"names":[],"mappings":";;;AAAA,uCAAiD;AAE3B,wFAFA,iBAAO,OAEA"}
@@ -0,0 +1,20 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as k8s from "@pulumi/kubernetes";
3
+ import { ComponentResource } from "../common";
4
+ export interface KubeStateMetricsArgs {
5
+ namespace?: pulumi.Input<string>;
6
+ replicas?: pulumi.Input<number>;
7
+ resources?: pulumi.Input<k8s.types.input.core.v1.ResourceRequirements>;
8
+ }
9
+ export declare class KubeStateMetrics extends ComponentResource {
10
+ private readonly helmRelease;
11
+ readonly namespace: pulumi.Output<string>;
12
+ /**
13
+ * Create a new kube-state-metrics resource.
14
+ * @param name The name of the kube-state-metrics resource.
15
+ * @param args A bag of arguments to control the kube-state-metrics creation.
16
+ * @param opts A bag of options that control this resource's behavior.
17
+ */
18
+ constructor(name: string, args: KubeStateMetricsArgs, opts?: pulumi.ComponentResourceOptions);
19
+ }
20
+ //# sourceMappingURL=deployment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../../../lib/kubeStateMetrics/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;CACxE;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,SAAgB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjD;;;;;OAKG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,wBAAwB;CAiD7F"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.KubeStateMetrics = void 0;
27
+ const pulumi = __importStar(require("@pulumi/pulumi"));
28
+ const k8s = __importStar(require("@pulumi/kubernetes"));
29
+ const common_1 = require("../common");
30
+ const kubernetes = __importStar(require("../kubernetes"));
31
+ class KubeStateMetrics extends common_1.ComponentResource {
32
+ helmRelease;
33
+ namespace;
34
+ /**
35
+ * Create a new kube-state-metrics resource.
36
+ * @param name The name of the kube-state-metrics resource.
37
+ * @param args A bag of arguments to control the kube-state-metrics creation.
38
+ * @param opts A bag of options that control this resource's behavior.
39
+ */
40
+ constructor(name, args, opts) {
41
+ super("kube-state-metrics", name, args, opts);
42
+ if (args.replicas === undefined) {
43
+ args.replicas = 1;
44
+ }
45
+ if (args.resources === undefined) {
46
+ args.resources = { requests: { memory: "64Mi" }, limits: { memory: "96Mi" } };
47
+ }
48
+ opts = this.opts(k8s.Provider);
49
+ this.namespace = pulumi.output(args.namespace ?? "kube-system");
50
+ this.helmRelease = new kubernetes.helm.v3.Release(name, {
51
+ name,
52
+ namespace: this.namespace,
53
+ repositoryOpts: { repo: "https://prometheus-community.github.io/helm-charts" },
54
+ chart: "kube-state-metrics",
55
+ values: {
56
+ fullnameOverride: name,
57
+ replicas: args.replicas,
58
+ prometheus: {
59
+ monitor: {
60
+ enabled: true,
61
+ metricRelabelings: [
62
+ {
63
+ action: "drop",
64
+ regex: "go_.*",
65
+ sourceLabels: ["__name__"],
66
+ },
67
+ ],
68
+ },
69
+ },
70
+ resources: args.resources,
71
+ tolerations: [
72
+ { key: "node-role.kubernetes.io/master", operator: "Exists", effect: "NoSchedule" },
73
+ { key: "node-role.kubernetes.io/control-plane", operator: "Exists", effect: "NoSchedule" },
74
+ ],
75
+ },
76
+ }, opts);
77
+ this.registerOutputs();
78
+ }
79
+ }
80
+ exports.KubeStateMetrics = KubeStateMetrics;
81
+ //# sourceMappingURL=deployment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../lib/kubeStateMetrics/deployment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AACzC,wDAA0C;AAC1C,sCAA8C;AAC9C,0DAA4C;AAQ5C,MAAa,gBAAiB,SAAQ,0BAAiB;IACpC,WAAW,CAA6B;IACzC,SAAS,CAAwB;IAEjD;;;;;OAKG;IACH,YAAY,IAAY,EAAE,IAA0B,EAAE,IAAsC;QAC1F,KAAK,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;SACnB;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;SAC/E;QAED,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC;QAEhE,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAC/C,IAAI,EACJ;YACE,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,EAAE,IAAI,EAAE,oDAAoD,EAAE;YAC9E,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE;gBACN,gBAAgB,EAAE,IAAI;gBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,OAAO,EAAE,IAAI;wBACb,iBAAiB,EAAE;4BACjB;gCACE,MAAM,EAAE,MAAM;gCACd,KAAK,EAAE,OAAO;gCACd,YAAY,EAAE,CAAC,UAAU,CAAC;6BAC3B;yBACF;qBACF;iBACF;gBACD,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE;oBACX,EAAE,GAAG,EAAE,gCAAgC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE;oBACnF,EAAE,GAAG,EAAE,uCAAuC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE;iBAC3F;aACF;SACF,EACD,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;CACF;AA3DD,4CA2DC"}
@@ -1,3 +1,3 @@
1
1
  import { KubeStateMetricsArgs, KubeStateMetrics } from "./deployment";
2
-
3
2
  export { KubeStateMetricsArgs, KubeStateMetrics };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/kubeStateMetrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KubeStateMetrics = void 0;
4
+ const deployment_1 = require("./deployment");
5
+ Object.defineProperty(exports, "KubeStateMetrics", { enumerable: true, get: function () { return deployment_1.KubeStateMetrics; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/kubeStateMetrics/index.ts"],"names":[],"mappings":";;;AAAA,6CAAsE;AAEvC,iGAFA,6BAAgB,OAEA"}