@ydkn/pulumi-components 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +14 -0
- package/.gitlab-ci.yml +73 -0
- package/.prettierrc +3 -0
- package/{index.d.ts → index.ts} +46 -2
- package/lib/avahi/deployment.ts +171 -0
- package/lib/avahi/{index.d.ts → index.ts} +1 -1
- package/lib/avahi/service.ts +118 -0
- package/lib/aws/accessKey.ts +40 -0
- package/lib/aws/bucket.ts +71 -0
- package/lib/aws/{index.d.ts → index.ts} +1 -1
- package/lib/blocky/assets/dashboard.json +1777 -0
- package/lib/blocky/deployment.ts +134 -0
- package/lib/blocky/{index.d.ts → index.ts} +1 -1
- package/lib/certManager/assets/dashboard.json +1188 -0
- package/lib/certManager/certificate.ts +168 -0
- package/lib/certManager/index.ts +39 -0
- package/lib/certManager/issuer.ts +141 -0
- package/lib/certManager/operator.ts +244 -0
- package/lib/common/componentResource.ts +78 -0
- package/lib/common/{index.d.ts → index.ts} +2 -1
- package/lib/common/types.ts +3 -0
- package/lib/cups/avahiService.ts +66 -0
- package/lib/cups/deployment.ts +199 -0
- package/lib/cups/index.ts +4 -0
- package/lib/devcontainer/assets/init.sh +44 -0
- package/lib/devcontainer/deployment.ts +253 -0
- package/lib/devcontainer/index.ts +3 -0
- package/lib/dhcpd/deployment.ts +164 -0
- package/lib/dhcpd/index.ts +3 -0
- package/lib/externalDns/dnsEndpoint.ts +70 -0
- package/lib/externalDns/index.ts +18 -0
- package/lib/externalDns/operator.ts +165 -0
- package/lib/fcos/assets/rpm-opstree-install.sh +0 -0
- package/lib/fcos/config.ts +237 -0
- package/lib/fcos/host.ts +91 -0
- package/lib/fcos/index.ts +27 -0
- package/lib/freeradius/deployment.ts +244 -0
- package/lib/freeradius/{index.d.ts → index.ts} +1 -1
- package/lib/gitlab/{index.d.ts → index.ts} +13 -2
- package/lib/gitlab/project.ts +148 -0
- package/lib/gitlab/renovate.ts +98 -0
- package/lib/gitlab/runners/cleanup.ts +104 -0
- package/lib/gitlab/runners/{index.d.ts → index.ts} +1 -1
- package/lib/gitlab/runners/runner.ts +122 -0
- package/lib/gitlab/runners/runners.ts +49 -0
- package/lib/grafana/agent.ts +449 -0
- package/lib/grafana/dashboard.ts +38 -0
- package/lib/grafana/datasource.ts +59 -0
- package/lib/grafana/deployment.ts +78 -0
- package/lib/grafana/index.ts +17 -0
- package/lib/hcloud/assets/fcos-install.sh +0 -0
- package/lib/hcloud/cluster.ts +500 -0
- package/lib/hcloud/{index.d.ts → index.ts} +1 -1
- package/lib/hcloud/kubernetes.ts +237 -0
- package/lib/hcloud/wireguard.ts +155 -0
- package/lib/k0s/cluster.ts +264 -0
- package/lib/k0s/{index.d.ts → index.ts} +1 -1
- package/lib/kubeStateMetrics/deployment.ts +60 -0
- package/lib/kubeStateMetrics/{index.d.ts → index.ts} +1 -1
- package/lib/kubernetes/helm/{index.d.ts → index.ts} +1 -1
- package/lib/kubernetes/helm/v3/chart.ts +79 -0
- package/lib/kubernetes/helm/v3/helpers.ts +32 -0
- package/lib/kubernetes/helm/v3/{index.d.ts → index.ts} +1 -1
- package/lib/kubernetes/helm/v3/release.ts +17 -0
- package/lib/kubernetes/{index.d.ts → index.ts} +1 -1
- package/lib/kubernetes/transformations/filter.ts +43 -0
- package/lib/kubernetes/transformations/{index.d.ts → index.ts} +1 -1
- package/lib/kubernetes/transformations/metadataNamespace.ts +25 -0
- package/lib/kubernetes/transformations/removeCrdDescriptions.ts +78 -0
- package/lib/kubernetes/transformations/v1beta1Deprecations.ts +60 -0
- package/lib/kubernetes/v1/{index.d.ts → index.ts} +12 -2
- package/lib/kubernetes/v1/nfsVolume.ts +145 -0
- package/lib/kubernetes/v1/pullSecret.ts +37 -0
- package/lib/kubernetes/v1/service.ts +58 -0
- package/lib/localPathProvisioner/deployment.ts +88 -0
- package/lib/localPathProvisioner/index.ts +3 -0
- package/lib/loki/deployment.ts +122 -0
- package/lib/loki/index.ts +3 -0
- package/lib/metallb/controller.ts +96 -0
- package/lib/metallb/{index.d.ts → index.ts} +11 -2
- package/lib/metallb/ipAddressPool.ts +33 -0
- package/lib/metallb/l2Advertisement.ts +34 -0
- package/lib/node/{index.d.ts → index.ts} +1 -1
- package/lib/node/kubernetes.ts +129 -0
- package/lib/node/node.ts +17 -0
- package/lib/openldap/deployment.ts +226 -0
- package/lib/openldap/{index.d.ts → index.ts} +1 -1
- package/lib/plex/{index.d.ts → index.ts} +1 -1
- package/lib/plex/mediaServer.ts +265 -0
- package/lib/plex/playlists.ts +123 -0
- package/lib/postgresql/cluster.ts +61 -0
- package/lib/postgresql/index.ts +4 -0
- package/lib/postgresql/operator.ts +70 -0
- package/lib/prometheus/index.ts +23 -0
- package/lib/prometheus/monitor.ts +13 -0
- package/lib/prometheus/operator.ts +264 -0
- package/lib/prometheus/podMonitor.ts +32 -0
- package/lib/prometheus/serviceMonitor.ts +43 -0
- package/lib/raspberrypi/cluster.ts +279 -0
- package/lib/raspberrypi/{index.d.ts → index.ts} +1 -1
- package/lib/rethinkdb/deployment.ts +424 -0
- package/lib/rethinkdb/{index.d.ts → index.ts} +1 -1
- package/lib/rook/assets/dashboard.json +4871 -0
- package/lib/rook/blockPool.ts +80 -0
- package/lib/rook/cluster.ts +168 -0
- package/lib/rook/filesystem.ts +140 -0
- package/lib/rook/{index.d.ts → index.ts} +15 -2
- package/lib/rook/operator.ts +175 -0
- package/lib/samba/avahiService.ts +44 -0
- package/lib/samba/deployment.ts +305 -0
- package/lib/samba/index.ts +5 -0
- package/lib/samba/volumes.ts +70 -0
- package/lib/ssh/exec.ts +162 -0
- package/lib/ssh/file.ts +165 -0
- package/lib/ssh/{index.d.ts → index.ts} +1 -1
- package/lib/ssh/types.ts +20 -0
- package/lib/torproxy/deployment.ts +165 -0
- package/lib/torproxy/{index.d.ts → index.ts} +1 -1
- package/lib/traefik/assets/dashboard.json +759 -0
- package/lib/traefik/controller.ts +207 -0
- package/lib/traefik/{index.d.ts → index.ts} +1 -1
- package/lib/traefik/middleware.ts +37 -0
- package/lib/traefik/secureIngress.ts +81 -0
- package/lib/ubuntu/assets/init.sh +0 -0
- package/lib/ubuntu/deployment.ts +275 -0
- package/lib/ubuntu/{index.d.ts → index.ts} +1 -1
- package/lib/unifi/controller.ts +234 -0
- package/lib/unifi/{index.d.ts → index.ts} +1 -1
- package/lib/velero/{index.d.ts → index.ts} +1 -1
- package/lib/velero/operator.ts +182 -0
- package/lib/wireguard/deployment.ts +168 -0
- package/lib/wireguard/{index.d.ts → index.ts} +1 -1
- package/package.json +63 -62
- package/renovate.json +4 -0
- package/tsconfig.json +21 -0
- package/index.d.ts.map +0 -1
- package/index.js +0 -64
- package/index.js.map +0 -1
- package/lib/avahi/deployment.d.ts +0 -36
- package/lib/avahi/deployment.d.ts.map +0 -1
- package/lib/avahi/deployment.js +0 -164
- package/lib/avahi/deployment.js.map +0 -1
- package/lib/avahi/index.d.ts.map +0 -1
- package/lib/avahi/index.js +0 -8
- package/lib/avahi/index.js.map +0 -1
- package/lib/avahi/service.d.ts +0 -51
- package/lib/avahi/service.d.ts.map +0 -1
- package/lib/avahi/service.js +0 -57
- package/lib/avahi/service.js.map +0 -1
- package/lib/aws/accessKey.d.ts +0 -22
- package/lib/aws/accessKey.d.ts.map +0 -1
- package/lib/aws/accessKey.js +0 -27
- package/lib/aws/accessKey.js.map +0 -1
- package/lib/aws/bucket.d.ts +0 -28
- package/lib/aws/bucket.d.ts.map +0 -1
- package/lib/aws/bucket.js +0 -49
- package/lib/aws/bucket.js.map +0 -1
- package/lib/aws/index.d.ts.map +0 -1
- package/lib/aws/index.js +0 -8
- package/lib/aws/index.js.map +0 -1
- package/lib/blocky/deployment.d.ts +0 -39
- package/lib/blocky/deployment.d.ts.map +0 -1
- package/lib/blocky/deployment.js +0 -97
- package/lib/blocky/deployment.js.map +0 -1
- package/lib/blocky/index.d.ts.map +0 -1
- package/lib/blocky/index.js +0 -6
- package/lib/blocky/index.js.map +0 -1
- package/lib/certManager/certificate.d.ts +0 -126
- package/lib/certManager/certificate.d.ts.map +0 -1
- package/lib/certManager/certificate.js +0 -42
- package/lib/certManager/certificate.js.map +0 -1
- package/lib/certManager/index.d.ts +0 -5
- package/lib/certManager/index.d.ts.map +0 -1
- package/lib/certManager/index.js +0 -11
- package/lib/certManager/index.js.map +0 -1
- package/lib/certManager/issuer.d.ts +0 -109
- package/lib/certManager/issuer.d.ts.map +0 -1
- package/lib/certManager/issuer.js +0 -39
- package/lib/certManager/issuer.js.map +0 -1
- package/lib/certManager/operator.d.ts +0 -43
- package/lib/certManager/operator.d.ts.map +0 -1
- package/lib/certManager/operator.js +0 -177
- package/lib/certManager/operator.js.map +0 -1
- package/lib/common/componentResource.d.ts +0 -20
- package/lib/common/componentResource.d.ts.map +0 -1
- package/lib/common/componentResource.js +0 -62
- package/lib/common/componentResource.js.map +0 -1
- package/lib/common/index.d.ts.map +0 -1
- package/lib/common/index.js +0 -6
- package/lib/common/index.js.map +0 -1
- package/lib/common/types.d.ts +0 -3
- package/lib/common/types.d.ts.map +0 -1
- package/lib/common/types.js +0 -3
- package/lib/common/types.js.map +0 -1
- package/lib/externalDns/dnsEndpoint.d.ts +0 -66
- package/lib/externalDns/dnsEndpoint.d.ts.map +0 -1
- package/lib/externalDns/dnsEndpoint.js +0 -17
- package/lib/externalDns/dnsEndpoint.js.map +0 -1
- package/lib/externalDns/index.d.ts +0 -4
- package/lib/externalDns/index.d.ts.map +0 -1
- package/lib/externalDns/index.js +0 -8
- package/lib/externalDns/index.js.map +0 -1
- package/lib/externalDns/operator.d.ts +0 -45
- package/lib/externalDns/operator.d.ts.map +0 -1
- package/lib/externalDns/operator.js +0 -112
- package/lib/externalDns/operator.js.map +0 -1
- package/lib/fcos/config.d.ts +0 -156
- package/lib/fcos/config.d.ts.map +0 -1
- package/lib/fcos/config.js +0 -168
- package/lib/fcos/config.js.map +0 -1
- package/lib/fcos/host.d.ts +0 -34
- package/lib/fcos/host.d.ts.map +0 -1
- package/lib/fcos/host.js +0 -57
- package/lib/fcos/host.js.map +0 -1
- package/lib/fcos/index.d.ts +0 -4
- package/lib/fcos/index.d.ts.map +0 -1
- package/lib/fcos/index.js +0 -8
- package/lib/fcos/index.js.map +0 -1
- package/lib/freeradius/deployment.d.ts +0 -74
- package/lib/freeradius/deployment.d.ts.map +0 -1
- package/lib/freeradius/deployment.js +0 -216
- package/lib/freeradius/deployment.js.map +0 -1
- package/lib/freeradius/index.d.ts.map +0 -1
- package/lib/freeradius/index.js +0 -6
- package/lib/freeradius/index.js.map +0 -1
- package/lib/gitlab/index.d.ts.map +0 -1
- package/lib/gitlab/index.js +0 -12
- package/lib/gitlab/index.js.map +0 -1
- package/lib/gitlab/project.d.ts +0 -18
- package/lib/gitlab/project.d.ts.map +0 -1
- package/lib/gitlab/project.js +0 -116
- package/lib/gitlab/project.js.map +0 -1
- package/lib/gitlab/renovate.d.ts +0 -23
- package/lib/gitlab/renovate.d.ts.map +0 -1
- package/lib/gitlab/renovate.js +0 -77
- package/lib/gitlab/renovate.js.map +0 -1
- package/lib/gitlab/runners/cleanup.d.ts +0 -20
- package/lib/gitlab/runners/cleanup.d.ts.map +0 -1
- package/lib/gitlab/runners/cleanup.js +0 -86
- package/lib/gitlab/runners/cleanup.js.map +0 -1
- package/lib/gitlab/runners/index.d.ts.map +0 -1
- package/lib/gitlab/runners/index.js +0 -10
- package/lib/gitlab/runners/index.js.map +0 -1
- package/lib/gitlab/runners/runner.d.ts +0 -30
- package/lib/gitlab/runners/runner.d.ts.map +0 -1
- package/lib/gitlab/runners/runner.js +0 -89
- package/lib/gitlab/runners/runner.js.map +0 -1
- package/lib/gitlab/runners/runners.d.ts +0 -21
- package/lib/gitlab/runners/runners.d.ts.map +0 -1
- package/lib/gitlab/runners/runners.js +0 -36
- package/lib/gitlab/runners/runners.js.map +0 -1
- package/lib/grafana/agent.d.ts +0 -43
- package/lib/grafana/agent.d.ts.map +0 -1
- package/lib/grafana/agent.js +0 -417
- package/lib/grafana/agent.js.map +0 -1
- package/lib/grafana/index.d.ts +0 -3
- package/lib/grafana/index.d.ts.map +0 -1
- package/lib/grafana/index.js +0 -6
- package/lib/grafana/index.js.map +0 -1
- package/lib/hcloud/cluster.d.ts +0 -96
- package/lib/hcloud/cluster.d.ts.map +0 -1
- package/lib/hcloud/cluster.js +0 -323
- package/lib/hcloud/cluster.js.map +0 -1
- package/lib/hcloud/index.d.ts.map +0 -1
- package/lib/hcloud/index.js +0 -10
- package/lib/hcloud/index.js.map +0 -1
- package/lib/hcloud/kubernetes.d.ts +0 -39
- package/lib/hcloud/kubernetes.d.ts.map +0 -1
- package/lib/hcloud/kubernetes.js +0 -188
- package/lib/hcloud/kubernetes.js.map +0 -1
- package/lib/hcloud/wireguard.d.ts +0 -33
- package/lib/hcloud/wireguard.d.ts.map +0 -1
- package/lib/hcloud/wireguard.js +0 -103
- package/lib/hcloud/wireguard.js.map +0 -1
- package/lib/k0s/cluster.d.ts +0 -51
- package/lib/k0s/cluster.d.ts.map +0 -1
- package/lib/k0s/cluster.js +0 -183
- package/lib/k0s/cluster.js.map +0 -1
- package/lib/k0s/index.d.ts.map +0 -1
- package/lib/k0s/index.js +0 -6
- package/lib/k0s/index.js.map +0 -1
- package/lib/kubeStateMetrics/deployment.d.ts +0 -20
- package/lib/kubeStateMetrics/deployment.d.ts.map +0 -1
- package/lib/kubeStateMetrics/deployment.js +0 -47
- package/lib/kubeStateMetrics/deployment.js.map +0 -1
- package/lib/kubeStateMetrics/index.d.ts.map +0 -1
- package/lib/kubeStateMetrics/index.js +0 -6
- package/lib/kubeStateMetrics/index.js.map +0 -1
- package/lib/kubernetes/helm/index.d.ts.map +0 -1
- package/lib/kubernetes/helm/index.js +0 -6
- package/lib/kubernetes/helm/index.js.map +0 -1
- package/lib/kubernetes/helm/v3/chart.d.ts +0 -37
- package/lib/kubernetes/helm/v3/chart.d.ts.map +0 -1
- package/lib/kubernetes/helm/v3/chart.js +0 -46
- package/lib/kubernetes/helm/v3/chart.js.map +0 -1
- package/lib/kubernetes/helm/v3/helpers.d.ts +0 -3
- package/lib/kubernetes/helm/v3/helpers.d.ts.map +0 -1
- package/lib/kubernetes/helm/v3/helpers.js +0 -29
- package/lib/kubernetes/helm/v3/helpers.js.map +0 -1
- package/lib/kubernetes/helm/v3/index.d.ts.map +0 -1
- package/lib/kubernetes/helm/v3/index.js +0 -10
- package/lib/kubernetes/helm/v3/index.js.map +0 -1
- package/lib/kubernetes/helm/v3/release.d.ts +0 -15
- package/lib/kubernetes/helm/v3/release.d.ts.map +0 -1
- package/lib/kubernetes/helm/v3/release.js +0 -18
- package/lib/kubernetes/helm/v3/release.js.map +0 -1
- package/lib/kubernetes/index.d.ts.map +0 -1
- package/lib/kubernetes/index.js +0 -10
- package/lib/kubernetes/index.js.map +0 -1
- package/lib/kubernetes/transformations/filter.d.ts +0 -13
- package/lib/kubernetes/transformations/filter.d.ts.map +0 -1
- package/lib/kubernetes/transformations/filter.js +0 -32
- package/lib/kubernetes/transformations/filter.js.map +0 -1
- package/lib/kubernetes/transformations/index.d.ts.map +0 -1
- package/lib/kubernetes/transformations/index.js +0 -12
- package/lib/kubernetes/transformations/index.js.map +0 -1
- package/lib/kubernetes/transformations/metadataNamespace.d.ts +0 -3
- package/lib/kubernetes/transformations/metadataNamespace.d.ts.map +0 -1
- package/lib/kubernetes/transformations/metadataNamespace.js +0 -27
- package/lib/kubernetes/transformations/metadataNamespace.js.map +0 -1
- package/lib/kubernetes/transformations/removeCrdDescriptions.d.ts +0 -3
- package/lib/kubernetes/transformations/removeCrdDescriptions.d.ts.map +0 -1
- package/lib/kubernetes/transformations/removeCrdDescriptions.js +0 -61
- package/lib/kubernetes/transformations/removeCrdDescriptions.js.map +0 -1
- package/lib/kubernetes/transformations/v1beta1Deprecations.d.ts +0 -3
- package/lib/kubernetes/transformations/v1beta1Deprecations.d.ts.map +0 -1
- package/lib/kubernetes/transformations/v1beta1Deprecations.js +0 -55
- package/lib/kubernetes/transformations/v1beta1Deprecations.js.map +0 -1
- package/lib/kubernetes/v1/index.d.ts.map +0 -1
- package/lib/kubernetes/v1/index.js +0 -10
- package/lib/kubernetes/v1/index.js.map +0 -1
- package/lib/kubernetes/v1/nfsVolume.d.ts +0 -92
- package/lib/kubernetes/v1/nfsVolume.d.ts.map +0 -1
- package/lib/kubernetes/v1/nfsVolume.js +0 -97
- package/lib/kubernetes/v1/nfsVolume.js.map +0 -1
- package/lib/kubernetes/v1/pullSecret.d.ts +0 -31
- package/lib/kubernetes/v1/pullSecret.d.ts.map +0 -1
- package/lib/kubernetes/v1/pullSecret.js +0 -27
- package/lib/kubernetes/v1/pullSecret.js.map +0 -1
- package/lib/kubernetes/v1/service.d.ts +0 -31
- package/lib/kubernetes/v1/service.d.ts.map +0 -1
- package/lib/kubernetes/v1/service.js +0 -43
- package/lib/kubernetes/v1/service.js.map +0 -1
- package/lib/metallb/controller.d.ts +0 -17
- package/lib/metallb/controller.d.ts.map +0 -1
- package/lib/metallb/controller.js +0 -87
- package/lib/metallb/controller.js.map +0 -1
- package/lib/metallb/index.d.ts.map +0 -1
- package/lib/metallb/index.js +0 -10
- package/lib/metallb/index.js.map +0 -1
- package/lib/metallb/ipAddressPool.d.ts +0 -20
- package/lib/metallb/ipAddressPool.d.ts.map +0 -1
- package/lib/metallb/ipAddressPool.js +0 -22
- package/lib/metallb/ipAddressPool.js.map +0 -1
- package/lib/metallb/l2Advertisement.d.ts +0 -21
- package/lib/metallb/l2Advertisement.d.ts.map +0 -1
- package/lib/metallb/l2Advertisement.js +0 -22
- package/lib/metallb/l2Advertisement.js.map +0 -1
- package/lib/node/index.d.ts.map +0 -1
- package/lib/node/index.js +0 -6
- package/lib/node/index.js.map +0 -1
- package/lib/node/kubernetes.d.ts +0 -38
- package/lib/node/kubernetes.d.ts.map +0 -1
- package/lib/node/kubernetes.js +0 -89
- package/lib/node/kubernetes.js.map +0 -1
- package/lib/node/node.d.ts +0 -21
- package/lib/node/node.d.ts.map +0 -1
- package/lib/node/node.js +0 -3
- package/lib/node/node.js.map +0 -1
- package/lib/openldap/deployment.d.ts +0 -58
- package/lib/openldap/deployment.d.ts.map +0 -1
- package/lib/openldap/deployment.js +0 -217
- package/lib/openldap/deployment.js.map +0 -1
- package/lib/openldap/index.d.ts.map +0 -1
- package/lib/openldap/index.js +0 -6
- package/lib/openldap/index.js.map +0 -1
- package/lib/plex/index.d.ts.map +0 -1
- package/lib/plex/index.js +0 -8
- package/lib/plex/index.js.map +0 -1
- package/lib/plex/mediaServer.d.ts +0 -46
- package/lib/plex/mediaServer.d.ts.map +0 -1
- package/lib/plex/mediaServer.js +0 -234
- package/lib/plex/mediaServer.js.map +0 -1
- package/lib/plex/playlists.d.ts +0 -62
- package/lib/plex/playlists.d.ts.map +0 -1
- package/lib/plex/playlists.js +0 -129
- package/lib/plex/playlists.js.map +0 -1
- package/lib/prometheus/index.d.ts +0 -4
- package/lib/prometheus/index.d.ts.map +0 -1
- package/lib/prometheus/index.js +0 -8
- package/lib/prometheus/index.js.map +0 -1
- package/lib/prometheus/podMonitor.d.ts +0 -42
- package/lib/prometheus/podMonitor.d.ts.map +0 -1
- package/lib/prometheus/podMonitor.js +0 -17
- package/lib/prometheus/podMonitor.js.map +0 -1
- package/lib/prometheus/serviceMonitor.d.ts +0 -46
- package/lib/prometheus/serviceMonitor.d.ts.map +0 -1
- package/lib/prometheus/serviceMonitor.js +0 -17
- package/lib/prometheus/serviceMonitor.js.map +0 -1
- package/lib/raspberrypi/cluster.d.ts +0 -41
- package/lib/raspberrypi/cluster.d.ts.map +0 -1
- package/lib/raspberrypi/cluster.js +0 -194
- package/lib/raspberrypi/cluster.js.map +0 -1
- package/lib/raspberrypi/index.d.ts.map +0 -1
- package/lib/raspberrypi/index.js +0 -6
- package/lib/raspberrypi/index.js.map +0 -1
- package/lib/rethinkdb/deployment.d.ts +0 -61
- package/lib/rethinkdb/deployment.d.ts.map +0 -1
- package/lib/rethinkdb/deployment.js +0 -350
- package/lib/rethinkdb/deployment.js.map +0 -1
- package/lib/rethinkdb/index.d.ts.map +0 -1
- package/lib/rethinkdb/index.js +0 -6
- package/lib/rethinkdb/index.js.map +0 -1
- package/lib/rook/blockPool.d.ts +0 -28
- package/lib/rook/blockPool.d.ts.map +0 -1
- package/lib/rook/blockPool.js +0 -56
- package/lib/rook/blockPool.js.map +0 -1
- package/lib/rook/cluster.d.ts +0 -54
- package/lib/rook/cluster.d.ts.map +0 -1
- package/lib/rook/cluster.js +0 -100
- package/lib/rook/cluster.js.map +0 -1
- package/lib/rook/filesystem.d.ts +0 -29
- package/lib/rook/filesystem.d.ts.map +0 -1
- package/lib/rook/filesystem.js +0 -110
- package/lib/rook/filesystem.js.map +0 -1
- package/lib/rook/index.d.ts.map +0 -1
- package/lib/rook/index.js +0 -12
- package/lib/rook/index.js.map +0 -1
- package/lib/rook/operator.d.ts +0 -19
- package/lib/rook/operator.d.ts.map +0 -1
- package/lib/rook/operator.js +0 -162
- package/lib/rook/operator.js.map +0 -1
- package/lib/samba/deployment.d.ts +0 -79
- package/lib/samba/deployment.d.ts.map +0 -1
- package/lib/samba/deployment.js +0 -238
- package/lib/samba/deployment.js.map +0 -1
- package/lib/samba/index.d.ts +0 -3
- package/lib/samba/index.d.ts.map +0 -1
- package/lib/samba/index.js +0 -6
- package/lib/samba/index.js.map +0 -1
- package/lib/ssh/exec.d.ts +0 -33
- package/lib/ssh/exec.d.ts.map +0 -1
- package/lib/ssh/exec.js +0 -116
- package/lib/ssh/exec.js.map +0 -1
- package/lib/ssh/file.d.ts +0 -43
- package/lib/ssh/file.d.ts.map +0 -1
- package/lib/ssh/file.js +0 -110
- package/lib/ssh/file.js.map +0 -1
- package/lib/ssh/index.d.ts.map +0 -1
- package/lib/ssh/index.js +0 -8
- package/lib/ssh/index.js.map +0 -1
- package/lib/ssh/types.d.ts +0 -19
- package/lib/ssh/types.d.ts.map +0 -1
- package/lib/ssh/types.js +0 -3
- package/lib/ssh/types.js.map +0 -1
- package/lib/torproxy/deployment.d.ts +0 -31
- package/lib/torproxy/deployment.d.ts.map +0 -1
- package/lib/torproxy/deployment.js +0 -131
- package/lib/torproxy/deployment.js.map +0 -1
- package/lib/torproxy/index.d.ts.map +0 -1
- package/lib/torproxy/index.js +0 -6
- package/lib/torproxy/index.js.map +0 -1
- package/lib/traefik/controller.d.ts +0 -50
- package/lib/traefik/controller.d.ts.map +0 -1
- package/lib/traefik/controller.js +0 -166
- package/lib/traefik/controller.js.map +0 -1
- package/lib/traefik/index.d.ts.map +0 -1
- package/lib/traefik/index.js +0 -10
- package/lib/traefik/index.js.map +0 -1
- package/lib/traefik/middleware.d.ts +0 -27
- package/lib/traefik/middleware.d.ts.map +0 -1
- package/lib/traefik/middleware.js +0 -22
- package/lib/traefik/middleware.js.map +0 -1
- package/lib/traefik/secureIngress.d.ts +0 -32
- package/lib/traefik/secureIngress.d.ts.map +0 -1
- package/lib/traefik/secureIngress.js +0 -58
- package/lib/traefik/secureIngress.js.map +0 -1
- package/lib/ubuntu/deployment.d.ts +0 -67
- package/lib/ubuntu/deployment.d.ts.map +0 -1
- package/lib/ubuntu/deployment.js +0 -230
- package/lib/ubuntu/deployment.js.map +0 -1
- package/lib/ubuntu/index.d.ts.map +0 -1
- package/lib/ubuntu/index.js +0 -6
- package/lib/ubuntu/index.js.map +0 -1
- package/lib/unifi/controller.d.ts +0 -52
- package/lib/unifi/controller.d.ts.map +0 -1
- package/lib/unifi/controller.js +0 -232
- package/lib/unifi/controller.js.map +0 -1
- package/lib/unifi/index.d.ts.map +0 -1
- package/lib/unifi/index.js +0 -6
- package/lib/unifi/index.js.map +0 -1
- package/lib/velero/index.d.ts.map +0 -1
- package/lib/velero/index.js +0 -6
- package/lib/velero/index.js.map +0 -1
- package/lib/velero/operator.d.ts +0 -31
- package/lib/velero/operator.d.ts.map +0 -1
- package/lib/velero/operator.js +0 -148
- package/lib/velero/operator.js.map +0 -1
- package/lib/wireguard/deployment.d.ts +0 -82
- package/lib/wireguard/deployment.d.ts.map +0 -1
- package/lib/wireguard/deployment.js +0 -161
- package/lib/wireguard/deployment.js.map +0 -1
- package/lib/wireguard/index.d.ts.map +0 -1
- package/lib/wireguard/index.js +0 -6
- package/lib/wireguard/index.js.map +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as k8s from "@pulumi/kubernetes";
|
|
3
|
+
import { ComponentResource } from "../common";
|
|
4
|
+
import * as kubernetes from "../kubernetes";
|
|
5
|
+
|
|
6
|
+
export interface KubeStateMetricsArgs {
|
|
7
|
+
namespace?: pulumi.Input<string>;
|
|
8
|
+
replicas?: pulumi.Input<number>;
|
|
9
|
+
resources?: pulumi.Input<k8s.types.input.core.v1.ResourceRequirements>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class KubeStateMetrics extends ComponentResource {
|
|
13
|
+
private readonly helmRelease: kubernetes.helm.v3.Release;
|
|
14
|
+
public readonly namespace: pulumi.Output<string>;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Create a new kube-state-metrics resource.
|
|
18
|
+
* @param name The name of the kube-state-metrics resource.
|
|
19
|
+
* @param args A bag of arguments to control the kube-state-metrics creation.
|
|
20
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
21
|
+
*/
|
|
22
|
+
constructor(name: string, args: KubeStateMetricsArgs, opts?: pulumi.ComponentResourceOptions) {
|
|
23
|
+
super("kube-state-metrics", name, args, opts);
|
|
24
|
+
|
|
25
|
+
if (args.replicas === undefined) {
|
|
26
|
+
args.replicas = 1;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (args.resources === undefined) {
|
|
30
|
+
args.resources = { requests: { memory: "48Mi" }, limits: { memory: "64Mi" } };
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
opts = this.opts(k8s.Provider);
|
|
34
|
+
|
|
35
|
+
this.namespace = pulumi.output(args.namespace ?? "kube-system");
|
|
36
|
+
|
|
37
|
+
this.helmRelease = new kubernetes.helm.v3.Release(
|
|
38
|
+
name,
|
|
39
|
+
{
|
|
40
|
+
name,
|
|
41
|
+
namespace: this.namespace,
|
|
42
|
+
repositoryOpts: { repo: "https://prometheus-community.github.io/helm-charts" },
|
|
43
|
+
chart: "kube-state-metrics",
|
|
44
|
+
values: {
|
|
45
|
+
fullnameOverride: name,
|
|
46
|
+
replicas: args.replicas,
|
|
47
|
+
prometheus: { monitor: { enabled: true } },
|
|
48
|
+
resources: args.resources,
|
|
49
|
+
tolerations: [
|
|
50
|
+
{ key: "node-role.kubernetes.io/master", operator: "Exists", effect: "NoSchedule" },
|
|
51
|
+
{ key: "node-role.kubernetes.io/control-plane", operator: "Exists", effect: "NoSchedule" },
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
opts
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
this.registerOutputs();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as k8s from "@pulumi/kubernetes";
|
|
3
|
+
import * as transformations from "../../transformations";
|
|
4
|
+
|
|
5
|
+
export interface ChartTransformers {
|
|
6
|
+
/**
|
|
7
|
+
* Transform known deprecated resources
|
|
8
|
+
*/
|
|
9
|
+
deprecations?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Transform metadata namespace value
|
|
12
|
+
*/
|
|
13
|
+
metadataNamespace?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Transform metadata namespace value to this name
|
|
16
|
+
*/
|
|
17
|
+
metadataNamespaceName?: pulumi.Input<string>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface ChartArgs {
|
|
21
|
+
/**
|
|
22
|
+
* Enabled transformers
|
|
23
|
+
*/
|
|
24
|
+
transformers?: ChartTransformers;
|
|
25
|
+
/**
|
|
26
|
+
* Skip creation of CRD resources
|
|
27
|
+
*/
|
|
28
|
+
skipCRDs?: boolean;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export class Chart extends k8s.helm.v3.Chart {
|
|
32
|
+
/**
|
|
33
|
+
* Create an instance of the specified Helm chart.
|
|
34
|
+
* @param releaseName Name of the Chart (e.g., nginx-ingress).
|
|
35
|
+
* @param config Configuration options for the Chart.
|
|
36
|
+
* @param args A bag of arguments to control the Chart creation.
|
|
37
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
38
|
+
*/
|
|
39
|
+
constructor(
|
|
40
|
+
releaseName: string,
|
|
41
|
+
config: k8s.helm.v3.ChartOpts | k8s.helm.v3.LocalChartOpts,
|
|
42
|
+
args?: ChartArgs,
|
|
43
|
+
opts?: pulumi.ComponentResourceOptions
|
|
44
|
+
) {
|
|
45
|
+
if (config.transformations === undefined) {
|
|
46
|
+
config.transformations = [];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (args !== undefined) {
|
|
50
|
+
if (args.transformers !== undefined) {
|
|
51
|
+
if (args.transformers.deprecations) {
|
|
52
|
+
config.transformations.push(transformations.v1beta1Deprecations);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (args.transformers.metadataNamespace && args.transformers.metadataNamespaceName !== undefined) {
|
|
56
|
+
config.transformations.push(transformations.metadataNamespace(args.transformers.metadataNamespaceName));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (args.skipCRDs) {
|
|
61
|
+
config.transformations.push((o: any, _: pulumi.CustomResourceOptions): void => {
|
|
62
|
+
if (o === undefined) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (o.apiVersion === "apiextensions.k8s.io/v1beta1" || o.apiVersion === "apiextensions.k8s.io/v1") {
|
|
67
|
+
if (o.kind === "CustomResourceDefinition") {
|
|
68
|
+
o.apiVersion = "v1";
|
|
69
|
+
o.kind = "List";
|
|
70
|
+
o.items = [];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
super(releaseName, config, opts);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
|
|
3
|
+
export function ingressValues(
|
|
4
|
+
name: pulumi.Input<string>,
|
|
5
|
+
hostnames?: pulumi.Input<pulumi.Input<string | undefined>[]>,
|
|
6
|
+
ingressClassName?: pulumi.Input<string>
|
|
7
|
+
): any {
|
|
8
|
+
if (hostnames === undefined) {
|
|
9
|
+
return { enabled: false };
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return pulumi.all([name, hostnames, ingressClassName]).apply(([name, hostnames, ingressClassName]) => {
|
|
13
|
+
const hosts = hostnames.filter((h) => h !== undefined);
|
|
14
|
+
|
|
15
|
+
if (hosts.length === 0) {
|
|
16
|
+
return { enabled: false };
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return {
|
|
20
|
+
enabled: true,
|
|
21
|
+
ingressClassName,
|
|
22
|
+
hosts,
|
|
23
|
+
pathType: "ImplementationSpecific",
|
|
24
|
+
tls: [{ secretName: `${name}-ingress-tls`, hosts }],
|
|
25
|
+
annotations: {
|
|
26
|
+
"traefik.ingress.kubernetes.io/router.entrypoints": "websecure",
|
|
27
|
+
"traefik.ingress.kubernetes.io/router.tls": "true",
|
|
28
|
+
"cert-manager.io/cluster-issuer": "letsencrypt",
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChartTransformers, ChartArgs, Chart } from "./chart";
|
|
2
2
|
import { ReleaseArgs, Release } from "./release";
|
|
3
3
|
import { ingressValues } from "./helpers";
|
|
4
|
+
|
|
4
5
|
export { ChartTransformers, ChartArgs, Chart, ReleaseArgs, Release, ingressValues };
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as k8s from "@pulumi/kubernetes";
|
|
3
|
+
|
|
4
|
+
export interface ReleaseArgs extends k8s.helm.v3.ReleaseArgs {}
|
|
5
|
+
|
|
6
|
+
export class Release extends k8s.helm.v3.Release {
|
|
7
|
+
/**
|
|
8
|
+
* Create a Release resource with the given unique name, arguments, and options.
|
|
9
|
+
*
|
|
10
|
+
* @param name The _unique_ name of the resource.
|
|
11
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
12
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
13
|
+
*/
|
|
14
|
+
constructor(name: string, args?: ReleaseArgs, opts?: pulumi.ComponentResourceOptions) {
|
|
15
|
+
super(name, args, opts);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
|
|
3
|
+
export interface FilterArgs {
|
|
4
|
+
/**
|
|
5
|
+
* API group
|
|
6
|
+
*/
|
|
7
|
+
group: string;
|
|
8
|
+
/**
|
|
9
|
+
* Kind
|
|
10
|
+
*/
|
|
11
|
+
kind: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const filter = (filters: FilterArgs[], only?: boolean) => {
|
|
15
|
+
if (only === undefined) {
|
|
16
|
+
only = false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return (o: any, opts: pulumi.CustomResourceOptions): void => {
|
|
20
|
+
if (o === undefined || o.apiVersion === undefined || o.kind === undefined) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const apiVersionSplit = o.apiVersion.split("/", 2) as string[];
|
|
25
|
+
const objectGroup = (apiVersionSplit.length > 1 ? apiVersionSplit[0] : "").toLowerCase();
|
|
26
|
+
const objectKind = o.kind.toLowerCase();
|
|
27
|
+
|
|
28
|
+
for (const filter of filters) {
|
|
29
|
+
const filterGroup = filter.group.toLowerCase();
|
|
30
|
+
const filterKind = filter.kind.toLowerCase();
|
|
31
|
+
|
|
32
|
+
if (only === false && objectGroup === filterGroup && objectKind === filterKind) {
|
|
33
|
+
o.apiVersion = "v1";
|
|
34
|
+
o.kind = "List";
|
|
35
|
+
o.items = [];
|
|
36
|
+
} else if (only === true && (objectGroup !== filterGroup || objectKind !== filterKind)) {
|
|
37
|
+
o.apiVersion = "v1";
|
|
38
|
+
o.kind = "List";
|
|
39
|
+
o.items = [];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
};
|
|
@@ -2,5 +2,5 @@ import { v1beta1Deprecations } from "./v1beta1Deprecations";
|
|
|
2
2
|
import { metadataNamespace } from "./metadataNamespace";
|
|
3
3
|
import { FilterArgs, filter } from "./filter";
|
|
4
4
|
import { removeCrdDescriptions } from "./removeCrdDescriptions";
|
|
5
|
+
|
|
5
6
|
export { v1beta1Deprecations, metadataNamespace, FilterArgs, filter, removeCrdDescriptions };
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
|
|
3
|
+
export const metadataNamespace = (namespace: pulumi.Input<string>) => {
|
|
4
|
+
return (o: any, opts: pulumi.CustomResourceOptions): void => {
|
|
5
|
+
if (o === undefined || o.apiVersion === undefined || o.kind === undefined) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
if (o.apiVersion === "v1" && o.kind === "List") {
|
|
10
|
+
if (o.items === undefined) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
for (const item of o.items) {
|
|
15
|
+
if (item.metadata !== undefined) {
|
|
16
|
+
item.metadata.namespace = namespace;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
} else {
|
|
20
|
+
if (o.metadata !== undefined) {
|
|
21
|
+
o.metadata.namespace = namespace;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as k8s from "@pulumi/kubernetes";
|
|
3
|
+
|
|
4
|
+
export const removeCrdDescriptions = (o: any, opts: pulumi.CustomResourceOptions): void => {
|
|
5
|
+
if (o === undefined || o.apiVersion === undefined || o.kind === undefined) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
if (o.apiVersion !== "apiextensions.k8s.io/v1" || o.kind !== "CustomResourceDefinition") {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (o.spec === undefined || o.spec.versions === undefined) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
o.spec.versions.forEach((v: k8s.types.input.apiextensions.v1.CustomResourceDefinitionVersion) => {
|
|
18
|
+
if (v.schema === undefined) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const schema = v.schema as k8s.types.input.apiextensions.v1.CustomResourceValidation;
|
|
23
|
+
|
|
24
|
+
if (schema.openAPIV3Schema === undefined) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
removeDescription(schema.openAPIV3Schema);
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const removeDescription = (o?: pulumi.Input<k8s.types.input.apiextensions.v1.JSONSchemaProps>): void => {
|
|
33
|
+
if (o === undefined) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const schemaProps = o as k8s.types.input.apiextensions.v1.JSONSchemaProps;
|
|
38
|
+
|
|
39
|
+
delete schemaProps.description;
|
|
40
|
+
|
|
41
|
+
if (schemaProps.allOf !== undefined) {
|
|
42
|
+
for (const p of schemaProps.allOf as pulumi.Input<k8s.types.input.apiextensions.v1.JSONSchemaProps>[]) {
|
|
43
|
+
removeDescription(p);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (schemaProps.anyOf !== undefined) {
|
|
48
|
+
for (const p of schemaProps.anyOf as pulumi.Input<k8s.types.input.apiextensions.v1.JSONSchemaProps>[]) {
|
|
49
|
+
removeDescription(p);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
removeDescription(schemaProps.not);
|
|
54
|
+
|
|
55
|
+
if (schemaProps.oneOf !== undefined) {
|
|
56
|
+
for (const p of schemaProps.oneOf as pulumi.Input<k8s.types.input.apiextensions.v1.JSONSchemaProps>[]) {
|
|
57
|
+
removeDescription(p);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (schemaProps.patternProperties !== undefined) {
|
|
62
|
+
const patternProperties = schemaProps.patternProperties as {
|
|
63
|
+
[key: string]: k8s.types.input.apiextensions.v1.JSONSchemaProps;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
for (const p in patternProperties) {
|
|
67
|
+
removeDescription(patternProperties[p]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (schemaProps.properties !== undefined) {
|
|
72
|
+
const properties = schemaProps.properties as { [key: string]: k8s.types.input.apiextensions.v1.JSONSchemaProps };
|
|
73
|
+
|
|
74
|
+
for (const p in properties) {
|
|
75
|
+
removeDescription(properties[p]);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
|
|
3
|
+
export const v1beta1Deprecations = (o: any, opts: pulumi.CustomResourceOptions): void => {
|
|
4
|
+
if (o === undefined || o.apiVersion === undefined || o.kind === undefined) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
if (o.apiVersion === "apiregistration.k8s.io/v1beta1") {
|
|
9
|
+
if (o.kind === "APIService") {
|
|
10
|
+
o.apiVersion = "apiregistration.k8s.io/v1";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (o.apiVersion === "storage.k8s.io/v1beta1") {
|
|
15
|
+
if (o.kind === "CSIDriver") {
|
|
16
|
+
o.apiVersion = "storage.k8s.io/v1";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (o.apiVersion === "rbac.authorization.k8s.io/v1beta1") {
|
|
21
|
+
if (["ClusterRole", "ClusterRoleBinding", "Role", "RoleBinding"].includes(o.kind)) {
|
|
22
|
+
o.apiVersion = "rbac.authorization.k8s.io/v1";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (o.apiVersion === "apiextensions.k8s.io/v1beta1") {
|
|
27
|
+
if (o.kind === "CustomResourceDefinition") {
|
|
28
|
+
o.apiVersion = "apiextensions.k8s.io/v1";
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (["extensions/v1beta1", "networking.k8s.io/v1beta1"].includes(o.apiVersion)) {
|
|
33
|
+
if (o.kind === "Ingress") {
|
|
34
|
+
o.apiVersion = "networking.k8s.io/v1";
|
|
35
|
+
|
|
36
|
+
if (o.spec !== undefined && o.spec.rules) {
|
|
37
|
+
for (const rule of o.spec.rules) {
|
|
38
|
+
if (rule.http !== undefined && rule.http.paths !== undefined) {
|
|
39
|
+
for (const path of rule.http.paths) {
|
|
40
|
+
const backend = path.backend;
|
|
41
|
+
|
|
42
|
+
if (backend.serviceName !== undefined && backend.servicePort !== undefined) {
|
|
43
|
+
path.backend = {
|
|
44
|
+
service: {
|
|
45
|
+
name: backend.serviceName,
|
|
46
|
+
port: { number: backend.servicePort },
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (path.pathType === undefined) {
|
|
52
|
+
path.pathType = "Prefix";
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { ServiceArgs, Service } from "./service";
|
|
2
2
|
import { PullSecret, PullSecretArgs } from "./pullSecret";
|
|
3
3
|
import { NfsVolumeArgs, NfsVolume, NfsVolumesMapEntry, NfsVolumesMap, NfsVolumeConfig } from "./nfsVolume";
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
ServiceArgs,
|
|
7
|
+
Service,
|
|
8
|
+
PullSecret,
|
|
9
|
+
PullSecretArgs,
|
|
10
|
+
NfsVolumeArgs,
|
|
11
|
+
NfsVolume,
|
|
12
|
+
NfsVolumesMapEntry,
|
|
13
|
+
NfsVolumesMap,
|
|
14
|
+
NfsVolumeConfig,
|
|
15
|
+
};
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as random from "@pulumi/random";
|
|
3
|
+
import * as k8s from "@pulumi/kubernetes";
|
|
4
|
+
import { ComponentResource } from "../../common";
|
|
5
|
+
|
|
6
|
+
export interface NfsVolumesMapEntry {
|
|
7
|
+
server: pulumi.Input<string>;
|
|
8
|
+
path: pulumi.Input<string>;
|
|
9
|
+
mountOptions?: pulumi.Input<pulumi.Input<string>[]>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface NfsVolumesMap {
|
|
13
|
+
[key: string]: pulumi.Input<NfsVolumesMapEntry>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface NfsVolumeConfig {
|
|
17
|
+
nfsVolume?: pulumi.Input<string>;
|
|
18
|
+
nfsVolumeSubPath?: pulumi.Input<string>;
|
|
19
|
+
nfsServer?: pulumi.Input<string>;
|
|
20
|
+
nfsPath?: pulumi.Input<string>;
|
|
21
|
+
mountOptions?: pulumi.Input<pulumi.Input<string>[]>;
|
|
22
|
+
mountPath?: pulumi.Input<string>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface NfsVolumeArgs {
|
|
26
|
+
metadata: pulumi.Input<k8s.types.input.meta.v1.ObjectMeta>;
|
|
27
|
+
server: pulumi.Input<string>;
|
|
28
|
+
path: pulumi.Input<string>;
|
|
29
|
+
mountOptions?: pulumi.Input<pulumi.Input<string>[]>;
|
|
30
|
+
storage?: pulumi.Input<string>;
|
|
31
|
+
persistentVolumeReclaimPolicy?: pulumi.Input<string>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class NfsVolume extends ComponentResource {
|
|
35
|
+
public readonly persistentVolume: k8s.core.v1.PersistentVolume;
|
|
36
|
+
public readonly persistentVolumeClaim: k8s.core.v1.PersistentVolumeClaim;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Create a new NFS volume resource.
|
|
40
|
+
* @param name The name of the NFS volume resource.
|
|
41
|
+
* @param args A bag of arguments to control the NFS volume creation.
|
|
42
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
43
|
+
*/
|
|
44
|
+
constructor(name: string, args: NfsVolumeArgs, opts?: pulumi.ComponentResourceOptions) {
|
|
45
|
+
super("nfs-volume", name, args, opts);
|
|
46
|
+
|
|
47
|
+
const storage = args.storage || "1Gi";
|
|
48
|
+
const persistentVolumeReclaimPolicy = args.persistentVolumeReclaimPolicy || "Delete";
|
|
49
|
+
|
|
50
|
+
const emptyOpts = this.opts();
|
|
51
|
+
const k8sOpts = this.opts(k8s.Provider);
|
|
52
|
+
|
|
53
|
+
const persistentVolumeUUID = new random.RandomUuid(name, {}, emptyOpts);
|
|
54
|
+
|
|
55
|
+
this.persistentVolume = new k8s.core.v1.PersistentVolume(
|
|
56
|
+
name,
|
|
57
|
+
{
|
|
58
|
+
metadata: {
|
|
59
|
+
...args.metadata,
|
|
60
|
+
name: pulumi
|
|
61
|
+
.all([args.metadata, persistentVolumeUUID.result])
|
|
62
|
+
.apply(([metadata, uuid]) => `${metadata.namespace}-${metadata.name}-${uuid}`),
|
|
63
|
+
namespace: undefined,
|
|
64
|
+
},
|
|
65
|
+
spec: {
|
|
66
|
+
accessModes: ["ReadWriteMany"],
|
|
67
|
+
capacity: { storage },
|
|
68
|
+
mountOptions: args.mountOptions,
|
|
69
|
+
nfs: { server: args.server, path: args.path },
|
|
70
|
+
persistentVolumeReclaimPolicy,
|
|
71
|
+
storageClassName: "",
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
k8sOpts
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
this.persistentVolumeClaim = new k8s.core.v1.PersistentVolumeClaim(
|
|
78
|
+
name,
|
|
79
|
+
{
|
|
80
|
+
metadata: args.metadata,
|
|
81
|
+
spec: {
|
|
82
|
+
accessModes: ["ReadWriteMany"],
|
|
83
|
+
storageClassName: "",
|
|
84
|
+
volumeName: this.persistentVolume.metadata.name,
|
|
85
|
+
resources: { requests: { storage } },
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
k8sOpts
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
this.registerOutputs();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
public static fromConfig(
|
|
95
|
+
name: string,
|
|
96
|
+
args: {
|
|
97
|
+
metadata: pulumi.Input<k8s.types.input.meta.v1.ObjectMeta>;
|
|
98
|
+
config: pulumi.Input<NfsVolumeConfig>;
|
|
99
|
+
volumeMap?: pulumi.Input<NfsVolumesMap>;
|
|
100
|
+
storage?: pulumi.Input<string>;
|
|
101
|
+
persistentVolumeReclaimPolicy?: pulumi.Input<string>;
|
|
102
|
+
},
|
|
103
|
+
opts?: pulumi.ComponentResourceOptions
|
|
104
|
+
): NfsVolume {
|
|
105
|
+
return new NfsVolume(
|
|
106
|
+
name,
|
|
107
|
+
{
|
|
108
|
+
metadata: args.metadata,
|
|
109
|
+
server: pulumi.all([args.config, args.volumeMap, args.metadata]).apply(([config, volumeMap, m]) => {
|
|
110
|
+
if (config.nfsVolume !== undefined && volumeMap !== undefined) {
|
|
111
|
+
const volumeEntry = volumeMap[config.nfsVolume];
|
|
112
|
+
return volumeEntry.server;
|
|
113
|
+
} else if (config.nfsServer !== undefined && config.nfsPath !== undefined) {
|
|
114
|
+
return config.nfsServer;
|
|
115
|
+
} else {
|
|
116
|
+
throw new Error("NFS volume config is not valid");
|
|
117
|
+
}
|
|
118
|
+
}),
|
|
119
|
+
path: pulumi.all([args.config, args.volumeMap]).apply(([config, volumeMap]) => {
|
|
120
|
+
if (config.nfsVolume !== undefined && volumeMap !== undefined) {
|
|
121
|
+
const volumeEntry = volumeMap[config.nfsVolume];
|
|
122
|
+
return config.nfsVolumeSubPath ? `${volumeEntry.path}/${config.nfsVolumeSubPath}` : volumeEntry.path;
|
|
123
|
+
} else if (config.nfsServer !== undefined && config.nfsPath !== undefined) {
|
|
124
|
+
return config.nfsPath;
|
|
125
|
+
} else {
|
|
126
|
+
throw new Error("NFS volume config is not valid");
|
|
127
|
+
}
|
|
128
|
+
}),
|
|
129
|
+
mountOptions: pulumi.all([args.config, args.volumeMap]).apply(([config, volumeMap]) => {
|
|
130
|
+
if (config.nfsVolume !== undefined && volumeMap !== undefined) {
|
|
131
|
+
const volumeEntry = volumeMap[config.nfsVolume];
|
|
132
|
+
return config.mountOptions || volumeEntry.mountOptions || [];
|
|
133
|
+
} else if (config.nfsServer !== undefined && config.nfsPath !== undefined) {
|
|
134
|
+
return config.mountOptions || [];
|
|
135
|
+
} else {
|
|
136
|
+
throw new Error("NFS volume config is not valid");
|
|
137
|
+
}
|
|
138
|
+
}),
|
|
139
|
+
storage: args.storage,
|
|
140
|
+
persistentVolumeReclaimPolicy: args.persistentVolumeReclaimPolicy,
|
|
141
|
+
},
|
|
142
|
+
opts
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as k8s from "@pulumi/kubernetes";
|
|
3
|
+
|
|
4
|
+
export interface PullSecretArgs {
|
|
5
|
+
metadata?: pulumi.Input<k8s.types.input.meta.v1.ObjectMeta>;
|
|
6
|
+
registry: pulumi.Input<string>;
|
|
7
|
+
username: pulumi.Input<string>;
|
|
8
|
+
password: pulumi.Input<string>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class PullSecret extends k8s.core.v1.Secret {
|
|
12
|
+
/**
|
|
13
|
+
* Create a new pull secret resource.
|
|
14
|
+
* @param name The name of the pull secret resource.
|
|
15
|
+
* @param args A bag of arguments to control the pull secret creation.
|
|
16
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
17
|
+
*/
|
|
18
|
+
constructor(name: string, args: PullSecretArgs, opts?: pulumi.CustomResourceOptions) {
|
|
19
|
+
const dockerConfigJSON = pulumi.all([args.registry, args.username, args.password]).apply((r) => {
|
|
20
|
+
const auths: { [key: string]: { [key: string]: string } } = {};
|
|
21
|
+
|
|
22
|
+
auths[r[0]] = { auth: Buffer.from(r[1] + ":" + r[2]).toString("base64") };
|
|
23
|
+
|
|
24
|
+
return Buffer.from(JSON.stringify({ auths })).toString("base64");
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
super(
|
|
28
|
+
name,
|
|
29
|
+
{
|
|
30
|
+
metadata: args.metadata,
|
|
31
|
+
type: "kubernetes.io/dockerconfigjson",
|
|
32
|
+
data: { ".dockerconfigjson": dockerConfigJSON },
|
|
33
|
+
},
|
|
34
|
+
opts
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
}
|