@reyemtech/nimbus 1.2.0 → 2.0.1
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/README.md +32 -28
- package/dist/cjs/access/dns.d.ts +26 -0
- package/dist/cjs/access/dns.d.ts.map +1 -0
- package/dist/cjs/access/dns.js +136 -0
- package/dist/cjs/access/dns.js.map +1 -0
- package/dist/cjs/access/index.d.ts +30 -0
- package/dist/cjs/access/index.d.ts.map +1 -0
- package/dist/cjs/access/index.js +45 -0
- package/dist/cjs/access/index.js.map +1 -0
- package/dist/cjs/access/interfaces.d.ts +97 -0
- package/dist/cjs/access/interfaces.d.ts.map +1 -0
- package/dist/cjs/access/interfaces.js +17 -0
- package/dist/cjs/access/interfaces.js.map +1 -0
- package/dist/cjs/access/proxy.d.ts +21 -0
- package/dist/cjs/access/proxy.d.ts.map +1 -0
- package/dist/cjs/access/proxy.js +155 -0
- package/dist/cjs/access/proxy.js.map +1 -0
- package/dist/cjs/access/tailscale-dns.d.ts +28 -0
- package/dist/cjs/access/tailscale-dns.d.ts.map +1 -0
- package/dist/cjs/access/tailscale-dns.js +131 -0
- package/dist/cjs/access/tailscale-dns.js.map +1 -0
- package/dist/cjs/access/tailscale.d.ts +14 -0
- package/dist/cjs/access/tailscale.d.ts.map +1 -0
- package/dist/cjs/access/tailscale.js +135 -0
- package/dist/cjs/access/tailscale.js.map +1 -0
- package/dist/cjs/access/wireguard.d.ts +14 -0
- package/dist/cjs/access/wireguard.d.ts.map +1 -0
- package/dist/cjs/access/wireguard.js +140 -0
- package/dist/cjs/access/wireguard.js.map +1 -0
- package/dist/cjs/argocd/app.d.ts +31 -0
- package/dist/cjs/argocd/app.d.ts.map +1 -0
- package/dist/cjs/argocd/app.js +194 -0
- package/dist/cjs/argocd/app.js.map +1 -0
- package/dist/cjs/argocd/argocd.d.ts +33 -0
- package/dist/cjs/argocd/argocd.d.ts.map +1 -0
- package/dist/cjs/argocd/argocd.js +182 -0
- package/dist/cjs/argocd/argocd.js.map +1 -0
- package/dist/cjs/argocd/external-secrets.d.ts +23 -0
- package/dist/cjs/argocd/external-secrets.d.ts.map +1 -0
- package/dist/cjs/argocd/external-secrets.js +121 -0
- package/dist/cjs/argocd/external-secrets.js.map +1 -0
- package/dist/cjs/argocd/index.d.ts +18 -0
- package/dist/cjs/argocd/index.d.ts.map +1 -0
- package/dist/cjs/argocd/index.js +27 -0
- package/dist/cjs/argocd/index.js.map +1 -0
- package/dist/cjs/argocd/interfaces.d.ts +144 -0
- package/dist/cjs/argocd/interfaces.d.ts.map +1 -0
- package/dist/cjs/argocd/interfaces.js +8 -0
- package/dist/cjs/argocd/interfaces.js.map +1 -0
- package/dist/cjs/argocd/project.d.ts +23 -0
- package/dist/cjs/argocd/project.d.ts.map +1 -0
- package/dist/cjs/argocd/project.js +93 -0
- package/dist/cjs/argocd/project.js.map +1 -0
- package/dist/cjs/argocd/repo.d.ts +15 -0
- package/dist/cjs/argocd/repo.d.ts.map +1 -0
- package/dist/cjs/argocd/repo.js +83 -0
- package/dist/cjs/argocd/repo.js.map +1 -0
- package/dist/cjs/argocd/secrets.d.ts +23 -0
- package/dist/cjs/argocd/secrets.d.ts.map +1 -0
- package/dist/cjs/argocd/secrets.js +87 -0
- package/dist/cjs/argocd/secrets.js.map +1 -0
- package/dist/cjs/azure/index.d.ts +1 -0
- package/dist/cjs/azure/index.d.ts.map +1 -1
- package/dist/cjs/azure/index.js +3 -1
- package/dist/cjs/azure/index.js.map +1 -1
- package/dist/cjs/azure/resource-group.d.ts +37 -0
- package/dist/cjs/azure/resource-group.d.ts.map +1 -0
- package/dist/cjs/azure/resource-group.js +79 -0
- package/dist/cjs/azure/resource-group.js.map +1 -0
- package/dist/cjs/azure/secrets.d.ts +6 -3
- package/dist/cjs/azure/secrets.d.ts.map +1 -1
- package/dist/cjs/azure/secrets.js +17 -3
- package/dist/cjs/azure/secrets.js.map +1 -1
- package/dist/cjs/backup/index.d.ts +20 -0
- package/dist/cjs/backup/index.d.ts.map +1 -0
- package/dist/cjs/backup/index.js +206 -0
- package/dist/cjs/backup/index.js.map +1 -0
- package/dist/cjs/backup/interfaces.d.ts +29 -0
- package/dist/cjs/backup/interfaces.d.ts.map +1 -0
- package/dist/cjs/backup/interfaces.js +3 -0
- package/dist/cjs/backup/interfaces.js.map +1 -0
- package/dist/cjs/cache/cache.d.ts +38 -0
- package/dist/cjs/cache/cache.d.ts.map +1 -0
- package/dist/cjs/cache/cache.js +189 -0
- package/dist/cjs/cache/cache.js.map +1 -0
- package/dist/cjs/cache/index.d.ts +2 -0
- package/dist/cjs/cache/index.d.ts.map +1 -1
- package/dist/cjs/cache/index.js +7 -0
- package/dist/cjs/cache/index.js.map +1 -1
- package/dist/cjs/cache/interfaces.d.ts +20 -0
- package/dist/cjs/cache/interfaces.d.ts.map +1 -1
- package/dist/cjs/cache/interfaces.js +18 -0
- package/dist/cjs/cache/interfaces.js.map +1 -1
- package/dist/cjs/cli/azure-prompts.d.ts +3 -12
- package/dist/cjs/cli/azure-prompts.d.ts.map +1 -1
- package/dist/cjs/cli/azure-prompts.js +4 -23
- package/dist/cjs/cli/azure-prompts.js.map +1 -1
- package/dist/cjs/cli/templates-azure.d.ts.map +1 -1
- package/dist/cjs/cli/templates-azure.js +20 -15
- package/dist/cjs/cli/templates-azure.js.map +1 -1
- package/dist/cjs/cli/templates.d.ts +0 -1
- package/dist/cjs/cli/templates.d.ts.map +1 -1
- package/dist/cjs/cli/templates.js.map +1 -1
- package/dist/cjs/cli.js +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/cluster/index.d.ts +1 -1
- package/dist/cjs/cluster/index.d.ts.map +1 -1
- package/dist/cjs/cluster/interfaces.d.ts +18 -1
- package/dist/cjs/cluster/interfaces.d.ts.map +1 -1
- package/dist/cjs/database/index.d.ts +1 -0
- package/dist/cjs/database/index.d.ts.map +1 -1
- package/dist/cjs/database/index.js +5 -0
- package/dist/cjs/database/index.js.map +1 -1
- package/dist/cjs/database/interfaces.d.ts +19 -0
- package/dist/cjs/database/interfaces.d.ts.map +1 -1
- package/dist/cjs/database/interfaces.js +20 -0
- package/dist/cjs/database/interfaces.js.map +1 -1
- package/dist/cjs/dns/index.d.ts +1 -0
- package/dist/cjs/dns/index.d.ts.map +1 -1
- package/dist/cjs/dns/index.js +3 -0
- package/dist/cjs/dns/index.js.map +1 -1
- package/dist/cjs/dns/interfaces.d.ts +11 -0
- package/dist/cjs/dns/interfaces.d.ts.map +1 -1
- package/dist/cjs/dns/interfaces.js +12 -0
- package/dist/cjs/dns/interfaces.js.map +1 -1
- package/dist/cjs/email/index.d.ts +41 -0
- package/dist/cjs/email/index.d.ts.map +1 -0
- package/dist/cjs/email/index.js +318 -0
- package/dist/cjs/email/index.js.map +1 -0
- package/dist/cjs/email/interfaces.d.ts +119 -0
- package/dist/cjs/email/interfaces.d.ts.map +1 -0
- package/dist/cjs/email/interfaces.js +19 -0
- package/dist/cjs/email/interfaces.js.map +1 -0
- package/dist/cjs/factories/cluster.d.ts +1 -1
- package/dist/cjs/factories/cluster.d.ts.map +1 -1
- package/dist/cjs/factories/cluster.js +16 -0
- package/dist/cjs/factories/cluster.js.map +1 -1
- package/dist/cjs/factories/index.d.ts +1 -1
- package/dist/cjs/factories/index.d.ts.map +1 -1
- package/dist/cjs/factories/index.js.map +1 -1
- package/dist/cjs/factories/secrets.d.ts +1 -1
- package/dist/cjs/factories/secrets.js +3 -3
- package/dist/cjs/factories/secrets.js.map +1 -1
- package/dist/cjs/factories/types.d.ts +26 -0
- package/dist/cjs/factories/types.d.ts.map +1 -1
- package/dist/cjs/factories/types.js.map +1 -1
- package/dist/cjs/index.d.ts +27 -5
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +75 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/network/index.d.ts +1 -0
- package/dist/cjs/network/index.d.ts.map +1 -1
- package/dist/cjs/network/index.js +3 -1
- package/dist/cjs/network/index.js.map +1 -1
- package/dist/cjs/network/interfaces.d.ts +6 -0
- package/dist/cjs/network/interfaces.d.ts.map +1 -1
- package/dist/cjs/network/interfaces.js +7 -0
- package/dist/cjs/network/interfaces.js.map +1 -1
- package/dist/cjs/nimbus/index.d.ts +28 -0
- package/dist/cjs/nimbus/index.d.ts.map +1 -0
- package/dist/cjs/nimbus/index.js +44 -0
- package/dist/cjs/nimbus/index.js.map +1 -0
- package/dist/cjs/nimbus/interfaces.d.ts +64 -0
- package/dist/cjs/nimbus/interfaces.d.ts.map +1 -0
- package/dist/cjs/nimbus/interfaces.js +10 -0
- package/dist/cjs/nimbus/interfaces.js.map +1 -0
- package/dist/cjs/nimbus/registry.d.ts +19 -0
- package/dist/cjs/nimbus/registry.d.ts.map +1 -0
- package/dist/cjs/nimbus/registry.js +123 -0
- package/dist/cjs/nimbus/registry.js.map +1 -0
- package/dist/cjs/observability/alerts.d.ts +51 -0
- package/dist/cjs/observability/alerts.d.ts.map +1 -0
- package/dist/cjs/observability/alerts.js +281 -0
- package/dist/cjs/observability/alerts.js.map +1 -0
- package/dist/cjs/observability/dashboards/_helpers.d.ts +38 -0
- package/dist/cjs/observability/dashboards/_helpers.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/_helpers.js +141 -0
- package/dist/cjs/observability/dashboards/_helpers.js.map +1 -0
- package/dist/cjs/observability/dashboards/alerts.d.ts +12 -0
- package/dist/cjs/observability/dashboards/alerts.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/alerts.js +261 -0
- package/dist/cjs/observability/dashboards/alerts.js.map +1 -0
- package/dist/cjs/observability/dashboards/argocd-app.d.ts +18 -0
- package/dist/cjs/observability/dashboards/argocd-app.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/argocd-app.js +212 -0
- package/dist/cjs/observability/dashboards/argocd-app.js.map +1 -0
- package/dist/cjs/observability/dashboards/argocd.d.ts +9 -0
- package/dist/cjs/observability/dashboards/argocd.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/argocd.js +141 -0
- package/dist/cjs/observability/dashboards/argocd.js.map +1 -0
- package/dist/cjs/observability/dashboards/cert-manager.d.ts +9 -0
- package/dist/cjs/observability/dashboards/cert-manager.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/cert-manager.js +167 -0
- package/dist/cjs/observability/dashboards/cert-manager.js.map +1 -0
- package/dist/cjs/observability/dashboards/cnpg-cluster.d.ts +15 -0
- package/dist/cjs/observability/dashboards/cnpg-cluster.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/cnpg-cluster.js +376 -0
- package/dist/cjs/observability/dashboards/cnpg-cluster.js.map +1 -0
- package/dist/cjs/observability/dashboards/cnpg.d.ts +10 -0
- package/dist/cjs/observability/dashboards/cnpg.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/cnpg.js +181 -0
- package/dist/cjs/observability/dashboards/cnpg.js.map +1 -0
- package/dist/cjs/observability/dashboards/index.d.ts +28 -0
- package/dist/cjs/observability/dashboards/index.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/index.js +159 -0
- package/dist/cjs/observability/dashboards/index.js.map +1 -0
- package/dist/cjs/observability/dashboards/loki.d.ts +9 -0
- package/dist/cjs/observability/dashboards/loki.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/loki.js +113 -0
- package/dist/cjs/observability/dashboards/loki.js.map +1 -0
- package/dist/cjs/observability/dashboards/mariadb-cluster.d.ts +15 -0
- package/dist/cjs/observability/dashboards/mariadb-cluster.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/mariadb-cluster.js +424 -0
- package/dist/cjs/observability/dashboards/mariadb-cluster.js.map +1 -0
- package/dist/cjs/observability/dashboards/mariadb.d.ts +10 -0
- package/dist/cjs/observability/dashboards/mariadb.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/mariadb.js +181 -0
- package/dist/cjs/observability/dashboards/mariadb.js.map +1 -0
- package/dist/cjs/observability/dashboards/minio.d.ts +9 -0
- package/dist/cjs/observability/dashboards/minio.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/minio.js +267 -0
- package/dist/cjs/observability/dashboards/minio.js.map +1 -0
- package/dist/cjs/observability/dashboards/neo4j-cluster.d.ts +16 -0
- package/dist/cjs/observability/dashboards/neo4j-cluster.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/neo4j-cluster.js +223 -0
- package/dist/cjs/observability/dashboards/neo4j-cluster.js.map +1 -0
- package/dist/cjs/observability/dashboards/neo4j.d.ts +9 -0
- package/dist/cjs/observability/dashboards/neo4j.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/neo4j.js +156 -0
- package/dist/cjs/observability/dashboards/neo4j.js.map +1 -0
- package/dist/cjs/observability/dashboards/redis.d.ts +9 -0
- package/dist/cjs/observability/dashboards/redis.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/redis.js +221 -0
- package/dist/cjs/observability/dashboards/redis.js.map +1 -0
- package/dist/cjs/observability/dashboards/traefik.d.ts +9 -0
- package/dist/cjs/observability/dashboards/traefik.d.ts.map +1 -0
- package/dist/cjs/observability/dashboards/traefik.js +387 -0
- package/dist/cjs/observability/dashboards/traefik.js.map +1 -0
- package/dist/cjs/observability/index.d.ts +10 -0
- package/dist/cjs/observability/index.d.ts.map +1 -0
- package/dist/cjs/observability/index.js +14 -0
- package/dist/cjs/observability/index.js.map +1 -0
- package/dist/cjs/observability/interfaces.d.ts +173 -0
- package/dist/cjs/observability/interfaces.d.ts.map +1 -0
- package/dist/cjs/observability/interfaces.js +11 -0
- package/dist/cjs/observability/interfaces.js.map +1 -0
- package/dist/cjs/observability/stack.d.ts +31 -0
- package/dist/cjs/observability/stack.d.ts.map +1 -0
- package/dist/cjs/observability/stack.js +523 -0
- package/dist/cjs/observability/stack.js.map +1 -0
- package/dist/cjs/operator/cnpg.d.ts +22 -0
- package/dist/cjs/operator/cnpg.d.ts.map +1 -0
- package/dist/cjs/operator/cnpg.js +412 -0
- package/dist/cjs/operator/cnpg.js.map +1 -0
- package/dist/cjs/operator/index.d.ts +48 -0
- package/dist/cjs/operator/index.d.ts.map +1 -0
- package/dist/cjs/operator/index.js +155 -0
- package/dist/cjs/operator/index.js.map +1 -0
- package/dist/cjs/operator/interfaces.d.ts +192 -0
- package/dist/cjs/operator/interfaces.d.ts.map +1 -0
- package/dist/cjs/operator/interfaces.js +20 -0
- package/dist/cjs/operator/interfaces.js.map +1 -0
- package/dist/cjs/operator/mariadb.d.ts +22 -0
- package/dist/cjs/operator/mariadb.d.ts.map +1 -0
- package/dist/cjs/operator/mariadb.js +389 -0
- package/dist/cjs/operator/mariadb.js.map +1 -0
- package/dist/cjs/operator/minio.d.ts +37 -0
- package/dist/cjs/operator/minio.d.ts.map +1 -0
- package/dist/cjs/operator/minio.js +364 -0
- package/dist/cjs/operator/minio.js.map +1 -0
- package/dist/cjs/operator/neo4j.d.ts +48 -0
- package/dist/cjs/operator/neo4j.d.ts.map +1 -0
- package/dist/cjs/operator/neo4j.js +431 -0
- package/dist/cjs/operator/neo4j.js.map +1 -0
- package/dist/cjs/platform/components/argocd.d.ts +9 -0
- package/dist/cjs/platform/components/argocd.d.ts.map +1 -0
- package/dist/cjs/platform/components/argocd.js +82 -0
- package/dist/cjs/platform/components/argocd.js.map +1 -0
- package/dist/cjs/platform/components/cert-manager.d.ts +9 -0
- package/dist/cjs/platform/components/cert-manager.d.ts.map +1 -0
- package/dist/cjs/platform/components/cert-manager.js +56 -0
- package/dist/cjs/platform/components/cert-manager.js.map +1 -0
- package/dist/cjs/platform/components/descheduler.d.ts +9 -0
- package/dist/cjs/platform/components/descheduler.d.ts.map +1 -0
- package/dist/cjs/platform/components/descheduler.js +67 -0
- package/dist/cjs/platform/components/descheduler.js.map +1 -0
- package/dist/cjs/platform/components/external-dns.d.ts +9 -0
- package/dist/cjs/platform/components/external-dns.d.ts.map +1 -0
- package/dist/cjs/platform/components/external-dns.js +83 -0
- package/dist/cjs/platform/components/external-dns.js.map +1 -0
- package/dist/cjs/platform/components/external-secrets.d.ts +9 -0
- package/dist/cjs/platform/components/external-secrets.d.ts.map +1 -0
- package/dist/cjs/platform/components/external-secrets.js +62 -0
- package/dist/cjs/platform/components/external-secrets.js.map +1 -0
- package/dist/cjs/platform/components/index.d.ts +17 -0
- package/dist/cjs/platform/components/index.d.ts.map +1 -0
- package/dist/cjs/platform/components/index.js +28 -0
- package/dist/cjs/platform/components/index.js.map +1 -0
- package/dist/cjs/platform/components/oauth2-proxy.d.ts +14 -0
- package/dist/cjs/platform/components/oauth2-proxy.d.ts.map +1 -0
- package/dist/cjs/platform/components/oauth2-proxy.js +80 -0
- package/dist/cjs/platform/components/oauth2-proxy.js.map +1 -0
- package/dist/cjs/platform/components/traefik.d.ts +9 -0
- package/dist/cjs/platform/components/traefik.d.ts.map +1 -0
- package/dist/cjs/platform/components/traefik.js +74 -0
- package/dist/cjs/platform/components/traefik.js.map +1 -0
- package/dist/cjs/platform/components/vault.d.ts +12 -0
- package/dist/cjs/platform/components/vault.d.ts.map +1 -0
- package/dist/cjs/platform/components/vault.js +474 -0
- package/dist/cjs/platform/components/vault.js.map +1 -0
- package/dist/cjs/platform/index.d.ts +2 -1
- package/dist/cjs/platform/index.d.ts.map +1 -1
- package/dist/cjs/platform/index.js +3 -1
- package/dist/cjs/platform/index.js.map +1 -1
- package/dist/cjs/platform/interfaces.d.ts +73 -1
- package/dist/cjs/platform/interfaces.d.ts.map +1 -1
- package/dist/cjs/platform/interfaces.js +8 -0
- package/dist/cjs/platform/interfaces.js.map +1 -1
- package/dist/cjs/platform/stack.d.ts +1 -1
- package/dist/cjs/platform/stack.d.ts.map +1 -1
- package/dist/cjs/platform/stack.js +363 -153
- package/dist/cjs/platform/stack.js.map +1 -1
- package/dist/cjs/queue/index.d.ts +1 -0
- package/dist/cjs/queue/index.d.ts.map +1 -1
- package/dist/cjs/queue/index.js +5 -0
- package/dist/cjs/queue/index.js.map +1 -1
- package/dist/cjs/queue/interfaces.d.ts +20 -0
- package/dist/cjs/queue/interfaces.d.ts.map +1 -1
- package/dist/cjs/queue/interfaces.js +21 -0
- package/dist/cjs/queue/interfaces.js.map +1 -1
- package/dist/cjs/rackspace/cluster.d.ts +30 -0
- package/dist/cjs/rackspace/cluster.d.ts.map +1 -0
- package/dist/cjs/rackspace/cluster.js +116 -0
- package/dist/cjs/rackspace/cluster.js.map +1 -0
- package/dist/cjs/rackspace/index.d.ts +7 -0
- package/dist/cjs/rackspace/index.d.ts.map +1 -0
- package/dist/cjs/rackspace/index.js +11 -0
- package/dist/cjs/rackspace/index.js.map +1 -0
- package/dist/cjs/secrets/index.d.ts +1 -0
- package/dist/cjs/secrets/index.d.ts.map +1 -1
- package/dist/cjs/secrets/index.js +3 -0
- package/dist/cjs/secrets/index.js.map +1 -1
- package/dist/cjs/secrets/interfaces.d.ts +7 -0
- package/dist/cjs/secrets/interfaces.d.ts.map +1 -1
- package/dist/cjs/secrets/interfaces.js +8 -0
- package/dist/cjs/secrets/interfaces.js.map +1 -1
- package/dist/cjs/state/index.d.ts +1 -0
- package/dist/cjs/state/index.d.ts.map +1 -1
- package/dist/cjs/state/index.js +3 -0
- package/dist/cjs/state/index.js.map +1 -1
- package/dist/cjs/state/interfaces.d.ts +6 -0
- package/dist/cjs/state/interfaces.d.ts.map +1 -1
- package/dist/cjs/state/interfaces.js +7 -0
- package/dist/cjs/state/interfaces.js.map +1 -1
- package/dist/cjs/types/cloud-target.d.ts +7 -0
- package/dist/cjs/types/cloud-target.d.ts.map +1 -1
- package/dist/cjs/types/cloud-target.js +9 -2
- package/dist/cjs/types/cloud-target.js.map +1 -1
- package/dist/cjs/types/exposed-service.d.ts +20 -0
- package/dist/cjs/types/exposed-service.d.ts.map +1 -0
- package/dist/cjs/types/exposed-service.js +8 -0
- package/dist/cjs/types/exposed-service.js.map +1 -0
- package/dist/cjs/types/index.d.ts +3 -1
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +5 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/storage-tiers.d.ts +26 -0
- package/dist/cjs/types/storage-tiers.d.ts.map +1 -0
- package/dist/cjs/types/storage-tiers.js +30 -0
- package/dist/cjs/types/storage-tiers.js.map +1 -0
- package/dist/cjs/utils/ensure-namespace.d.ts +7 -0
- package/dist/cjs/utils/ensure-namespace.d.ts.map +1 -0
- package/dist/cjs/utils/ensure-namespace.js +53 -0
- package/dist/cjs/utils/ensure-namespace.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +3 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/access/dns.d.ts +26 -0
- package/dist/esm/access/dns.d.ts.map +1 -0
- package/dist/esm/access/dns.js +136 -0
- package/dist/esm/access/dns.js.map +1 -0
- package/dist/esm/access/index.d.ts +30 -0
- package/dist/esm/access/index.d.ts.map +1 -0
- package/dist/esm/access/index.js +45 -0
- package/dist/esm/access/index.js.map +1 -0
- package/dist/esm/access/interfaces.d.ts +97 -0
- package/dist/esm/access/interfaces.d.ts.map +1 -0
- package/dist/esm/access/interfaces.js +17 -0
- package/dist/esm/access/interfaces.js.map +1 -0
- package/dist/esm/access/proxy.d.ts +21 -0
- package/dist/esm/access/proxy.d.ts.map +1 -0
- package/dist/esm/access/proxy.js +155 -0
- package/dist/esm/access/proxy.js.map +1 -0
- package/dist/esm/access/tailscale-dns.d.ts +28 -0
- package/dist/esm/access/tailscale-dns.d.ts.map +1 -0
- package/dist/esm/access/tailscale-dns.js +131 -0
- package/dist/esm/access/tailscale-dns.js.map +1 -0
- package/dist/esm/access/tailscale.d.ts +14 -0
- package/dist/esm/access/tailscale.d.ts.map +1 -0
- package/dist/esm/access/tailscale.js +135 -0
- package/dist/esm/access/tailscale.js.map +1 -0
- package/dist/esm/access/wireguard.d.ts +14 -0
- package/dist/esm/access/wireguard.d.ts.map +1 -0
- package/dist/esm/access/wireguard.js +140 -0
- package/dist/esm/access/wireguard.js.map +1 -0
- package/dist/esm/argocd/app.d.ts +31 -0
- package/dist/esm/argocd/app.d.ts.map +1 -0
- package/dist/esm/argocd/app.js +194 -0
- package/dist/esm/argocd/app.js.map +1 -0
- package/dist/esm/argocd/argocd.d.ts +33 -0
- package/dist/esm/argocd/argocd.d.ts.map +1 -0
- package/dist/esm/argocd/argocd.js +182 -0
- package/dist/esm/argocd/argocd.js.map +1 -0
- package/dist/esm/argocd/external-secrets.d.ts +23 -0
- package/dist/esm/argocd/external-secrets.d.ts.map +1 -0
- package/dist/esm/argocd/external-secrets.js +121 -0
- package/dist/esm/argocd/external-secrets.js.map +1 -0
- package/dist/esm/argocd/index.d.ts +18 -0
- package/dist/esm/argocd/index.d.ts.map +1 -0
- package/dist/esm/argocd/index.js +27 -0
- package/dist/esm/argocd/index.js.map +1 -0
- package/dist/esm/argocd/interfaces.d.ts +144 -0
- package/dist/esm/argocd/interfaces.d.ts.map +1 -0
- package/dist/esm/argocd/interfaces.js +8 -0
- package/dist/esm/argocd/interfaces.js.map +1 -0
- package/dist/esm/argocd/project.d.ts +23 -0
- package/dist/esm/argocd/project.d.ts.map +1 -0
- package/dist/esm/argocd/project.js +93 -0
- package/dist/esm/argocd/project.js.map +1 -0
- package/dist/esm/argocd/repo.d.ts +15 -0
- package/dist/esm/argocd/repo.d.ts.map +1 -0
- package/dist/esm/argocd/repo.js +83 -0
- package/dist/esm/argocd/repo.js.map +1 -0
- package/dist/esm/argocd/secrets.d.ts +23 -0
- package/dist/esm/argocd/secrets.d.ts.map +1 -0
- package/dist/esm/argocd/secrets.js +87 -0
- package/dist/esm/argocd/secrets.js.map +1 -0
- package/dist/esm/azure/index.d.ts +1 -0
- package/dist/esm/azure/index.d.ts.map +1 -1
- package/dist/esm/azure/index.js +3 -1
- package/dist/esm/azure/index.js.map +1 -1
- package/dist/esm/azure/resource-group.d.ts +37 -0
- package/dist/esm/azure/resource-group.d.ts.map +1 -0
- package/dist/esm/azure/resource-group.js +79 -0
- package/dist/esm/azure/resource-group.js.map +1 -0
- package/dist/esm/azure/secrets.d.ts +6 -3
- package/dist/esm/azure/secrets.d.ts.map +1 -1
- package/dist/esm/azure/secrets.js +17 -3
- package/dist/esm/azure/secrets.js.map +1 -1
- package/dist/esm/backup/index.d.ts +20 -0
- package/dist/esm/backup/index.d.ts.map +1 -0
- package/dist/esm/backup/index.js +206 -0
- package/dist/esm/backup/index.js.map +1 -0
- package/dist/esm/backup/interfaces.d.ts +29 -0
- package/dist/esm/backup/interfaces.d.ts.map +1 -0
- package/dist/esm/backup/interfaces.js +3 -0
- package/dist/esm/backup/interfaces.js.map +1 -0
- package/dist/esm/cache/cache.d.ts +38 -0
- package/dist/esm/cache/cache.d.ts.map +1 -0
- package/dist/esm/cache/cache.js +189 -0
- package/dist/esm/cache/cache.js.map +1 -0
- package/dist/esm/cache/index.d.ts +2 -0
- package/dist/esm/cache/index.d.ts.map +1 -1
- package/dist/esm/cache/index.js +7 -0
- package/dist/esm/cache/index.js.map +1 -1
- package/dist/esm/cache/interfaces.d.ts +20 -0
- package/dist/esm/cache/interfaces.d.ts.map +1 -1
- package/dist/esm/cache/interfaces.js +18 -0
- package/dist/esm/cache/interfaces.js.map +1 -1
- package/dist/esm/cli/azure-prompts.d.ts +3 -12
- package/dist/esm/cli/azure-prompts.d.ts.map +1 -1
- package/dist/esm/cli/azure-prompts.js +4 -23
- package/dist/esm/cli/azure-prompts.js.map +1 -1
- package/dist/esm/cli/templates-azure.d.ts.map +1 -1
- package/dist/esm/cli/templates-azure.js +20 -15
- package/dist/esm/cli/templates-azure.js.map +1 -1
- package/dist/esm/cli/templates.d.ts +0 -1
- package/dist/esm/cli/templates.d.ts.map +1 -1
- package/dist/esm/cli/templates.js.map +1 -1
- package/dist/esm/cli.js +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/cluster/index.d.ts +1 -1
- package/dist/esm/cluster/index.d.ts.map +1 -1
- package/dist/esm/cluster/interfaces.d.ts +18 -1
- package/dist/esm/cluster/interfaces.d.ts.map +1 -1
- package/dist/esm/database/index.d.ts +1 -0
- package/dist/esm/database/index.d.ts.map +1 -1
- package/dist/esm/database/index.js +5 -0
- package/dist/esm/database/index.js.map +1 -1
- package/dist/esm/database/interfaces.d.ts +19 -0
- package/dist/esm/database/interfaces.d.ts.map +1 -1
- package/dist/esm/database/interfaces.js +20 -0
- package/dist/esm/database/interfaces.js.map +1 -1
- package/dist/esm/dns/index.d.ts +1 -0
- package/dist/esm/dns/index.d.ts.map +1 -1
- package/dist/esm/dns/index.js +3 -0
- package/dist/esm/dns/index.js.map +1 -1
- package/dist/esm/dns/interfaces.d.ts +11 -0
- package/dist/esm/dns/interfaces.d.ts.map +1 -1
- package/dist/esm/dns/interfaces.js +12 -0
- package/dist/esm/dns/interfaces.js.map +1 -1
- package/dist/esm/email/index.d.ts +41 -0
- package/dist/esm/email/index.d.ts.map +1 -0
- package/dist/esm/email/index.js +318 -0
- package/dist/esm/email/index.js.map +1 -0
- package/dist/esm/email/interfaces.d.ts +119 -0
- package/dist/esm/email/interfaces.d.ts.map +1 -0
- package/dist/esm/email/interfaces.js +19 -0
- package/dist/esm/email/interfaces.js.map +1 -0
- package/dist/esm/factories/cluster.d.ts +1 -1
- package/dist/esm/factories/cluster.d.ts.map +1 -1
- package/dist/esm/factories/cluster.js +16 -0
- package/dist/esm/factories/cluster.js.map +1 -1
- package/dist/esm/factories/index.d.ts +1 -1
- package/dist/esm/factories/index.d.ts.map +1 -1
- package/dist/esm/factories/index.js.map +1 -1
- package/dist/esm/factories/secrets.d.ts +1 -1
- package/dist/esm/factories/secrets.js +3 -3
- package/dist/esm/factories/secrets.js.map +1 -1
- package/dist/esm/factories/types.d.ts +26 -0
- package/dist/esm/factories/types.d.ts.map +1 -1
- package/dist/esm/factories/types.js.map +1 -1
- package/dist/esm/index.d.ts +27 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +75 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/network/index.d.ts +1 -0
- package/dist/esm/network/index.d.ts.map +1 -1
- package/dist/esm/network/index.js +3 -1
- package/dist/esm/network/index.js.map +1 -1
- package/dist/esm/network/interfaces.d.ts +6 -0
- package/dist/esm/network/interfaces.d.ts.map +1 -1
- package/dist/esm/network/interfaces.js +7 -0
- package/dist/esm/network/interfaces.js.map +1 -1
- package/dist/esm/nimbus/index.d.ts +28 -0
- package/dist/esm/nimbus/index.d.ts.map +1 -0
- package/dist/esm/nimbus/index.js +44 -0
- package/dist/esm/nimbus/index.js.map +1 -0
- package/dist/esm/nimbus/interfaces.d.ts +64 -0
- package/dist/esm/nimbus/interfaces.d.ts.map +1 -0
- package/dist/esm/nimbus/interfaces.js +10 -0
- package/dist/esm/nimbus/interfaces.js.map +1 -0
- package/dist/esm/nimbus/registry.d.ts +19 -0
- package/dist/esm/nimbus/registry.d.ts.map +1 -0
- package/dist/esm/nimbus/registry.js +123 -0
- package/dist/esm/nimbus/registry.js.map +1 -0
- package/dist/esm/observability/alerts.d.ts +51 -0
- package/dist/esm/observability/alerts.d.ts.map +1 -0
- package/dist/esm/observability/alerts.js +281 -0
- package/dist/esm/observability/alerts.js.map +1 -0
- package/dist/esm/observability/dashboards/_helpers.d.ts +38 -0
- package/dist/esm/observability/dashboards/_helpers.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/_helpers.js +141 -0
- package/dist/esm/observability/dashboards/_helpers.js.map +1 -0
- package/dist/esm/observability/dashboards/alerts.d.ts +12 -0
- package/dist/esm/observability/dashboards/alerts.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/alerts.js +261 -0
- package/dist/esm/observability/dashboards/alerts.js.map +1 -0
- package/dist/esm/observability/dashboards/argocd-app.d.ts +18 -0
- package/dist/esm/observability/dashboards/argocd-app.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/argocd-app.js +212 -0
- package/dist/esm/observability/dashboards/argocd-app.js.map +1 -0
- package/dist/esm/observability/dashboards/argocd.d.ts +9 -0
- package/dist/esm/observability/dashboards/argocd.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/argocd.js +141 -0
- package/dist/esm/observability/dashboards/argocd.js.map +1 -0
- package/dist/esm/observability/dashboards/cert-manager.d.ts +9 -0
- package/dist/esm/observability/dashboards/cert-manager.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/cert-manager.js +167 -0
- package/dist/esm/observability/dashboards/cert-manager.js.map +1 -0
- package/dist/esm/observability/dashboards/cnpg-cluster.d.ts +15 -0
- package/dist/esm/observability/dashboards/cnpg-cluster.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/cnpg-cluster.js +376 -0
- package/dist/esm/observability/dashboards/cnpg-cluster.js.map +1 -0
- package/dist/esm/observability/dashboards/cnpg.d.ts +10 -0
- package/dist/esm/observability/dashboards/cnpg.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/cnpg.js +181 -0
- package/dist/esm/observability/dashboards/cnpg.js.map +1 -0
- package/dist/esm/observability/dashboards/index.d.ts +28 -0
- package/dist/esm/observability/dashboards/index.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/index.js +159 -0
- package/dist/esm/observability/dashboards/index.js.map +1 -0
- package/dist/esm/observability/dashboards/loki.d.ts +9 -0
- package/dist/esm/observability/dashboards/loki.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/loki.js +113 -0
- package/dist/esm/observability/dashboards/loki.js.map +1 -0
- package/dist/esm/observability/dashboards/mariadb-cluster.d.ts +15 -0
- package/dist/esm/observability/dashboards/mariadb-cluster.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/mariadb-cluster.js +424 -0
- package/dist/esm/observability/dashboards/mariadb-cluster.js.map +1 -0
- package/dist/esm/observability/dashboards/mariadb.d.ts +10 -0
- package/dist/esm/observability/dashboards/mariadb.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/mariadb.js +181 -0
- package/dist/esm/observability/dashboards/mariadb.js.map +1 -0
- package/dist/esm/observability/dashboards/minio.d.ts +9 -0
- package/dist/esm/observability/dashboards/minio.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/minio.js +267 -0
- package/dist/esm/observability/dashboards/minio.js.map +1 -0
- package/dist/esm/observability/dashboards/neo4j-cluster.d.ts +16 -0
- package/dist/esm/observability/dashboards/neo4j-cluster.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/neo4j-cluster.js +223 -0
- package/dist/esm/observability/dashboards/neo4j-cluster.js.map +1 -0
- package/dist/esm/observability/dashboards/neo4j.d.ts +9 -0
- package/dist/esm/observability/dashboards/neo4j.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/neo4j.js +156 -0
- package/dist/esm/observability/dashboards/neo4j.js.map +1 -0
- package/dist/esm/observability/dashboards/redis.d.ts +9 -0
- package/dist/esm/observability/dashboards/redis.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/redis.js +221 -0
- package/dist/esm/observability/dashboards/redis.js.map +1 -0
- package/dist/esm/observability/dashboards/traefik.d.ts +9 -0
- package/dist/esm/observability/dashboards/traefik.d.ts.map +1 -0
- package/dist/esm/observability/dashboards/traefik.js +387 -0
- package/dist/esm/observability/dashboards/traefik.js.map +1 -0
- package/dist/esm/observability/index.d.ts +10 -0
- package/dist/esm/observability/index.d.ts.map +1 -0
- package/dist/esm/observability/index.js +14 -0
- package/dist/esm/observability/index.js.map +1 -0
- package/dist/esm/observability/interfaces.d.ts +173 -0
- package/dist/esm/observability/interfaces.d.ts.map +1 -0
- package/dist/esm/observability/interfaces.js +11 -0
- package/dist/esm/observability/interfaces.js.map +1 -0
- package/dist/esm/observability/stack.d.ts +31 -0
- package/dist/esm/observability/stack.d.ts.map +1 -0
- package/dist/esm/observability/stack.js +523 -0
- package/dist/esm/observability/stack.js.map +1 -0
- package/dist/esm/operator/cnpg.d.ts +22 -0
- package/dist/esm/operator/cnpg.d.ts.map +1 -0
- package/dist/esm/operator/cnpg.js +412 -0
- package/dist/esm/operator/cnpg.js.map +1 -0
- package/dist/esm/operator/index.d.ts +48 -0
- package/dist/esm/operator/index.d.ts.map +1 -0
- package/dist/esm/operator/index.js +155 -0
- package/dist/esm/operator/index.js.map +1 -0
- package/dist/esm/operator/interfaces.d.ts +192 -0
- package/dist/esm/operator/interfaces.d.ts.map +1 -0
- package/dist/esm/operator/interfaces.js +20 -0
- package/dist/esm/operator/interfaces.js.map +1 -0
- package/dist/esm/operator/mariadb.d.ts +22 -0
- package/dist/esm/operator/mariadb.d.ts.map +1 -0
- package/dist/esm/operator/mariadb.js +389 -0
- package/dist/esm/operator/mariadb.js.map +1 -0
- package/dist/esm/operator/minio.d.ts +37 -0
- package/dist/esm/operator/minio.d.ts.map +1 -0
- package/dist/esm/operator/minio.js +364 -0
- package/dist/esm/operator/minio.js.map +1 -0
- package/dist/esm/operator/neo4j.d.ts +48 -0
- package/dist/esm/operator/neo4j.d.ts.map +1 -0
- package/dist/esm/operator/neo4j.js +431 -0
- package/dist/esm/operator/neo4j.js.map +1 -0
- package/dist/esm/platform/components/argocd.d.ts +9 -0
- package/dist/esm/platform/components/argocd.d.ts.map +1 -0
- package/dist/esm/platform/components/argocd.js +82 -0
- package/dist/esm/platform/components/argocd.js.map +1 -0
- package/dist/esm/platform/components/cert-manager.d.ts +9 -0
- package/dist/esm/platform/components/cert-manager.d.ts.map +1 -0
- package/dist/esm/platform/components/cert-manager.js +56 -0
- package/dist/esm/platform/components/cert-manager.js.map +1 -0
- package/dist/esm/platform/components/descheduler.d.ts +9 -0
- package/dist/esm/platform/components/descheduler.d.ts.map +1 -0
- package/dist/esm/platform/components/descheduler.js +67 -0
- package/dist/esm/platform/components/descheduler.js.map +1 -0
- package/dist/esm/platform/components/external-dns.d.ts +9 -0
- package/dist/esm/platform/components/external-dns.d.ts.map +1 -0
- package/dist/esm/platform/components/external-dns.js +83 -0
- package/dist/esm/platform/components/external-dns.js.map +1 -0
- package/dist/esm/platform/components/external-secrets.d.ts +9 -0
- package/dist/esm/platform/components/external-secrets.d.ts.map +1 -0
- package/dist/esm/platform/components/external-secrets.js +62 -0
- package/dist/esm/platform/components/external-secrets.js.map +1 -0
- package/dist/esm/platform/components/index.d.ts +17 -0
- package/dist/esm/platform/components/index.d.ts.map +1 -0
- package/dist/esm/platform/components/index.js +28 -0
- package/dist/esm/platform/components/index.js.map +1 -0
- package/dist/esm/platform/components/oauth2-proxy.d.ts +14 -0
- package/dist/esm/platform/components/oauth2-proxy.d.ts.map +1 -0
- package/dist/esm/platform/components/oauth2-proxy.js +80 -0
- package/dist/esm/platform/components/oauth2-proxy.js.map +1 -0
- package/dist/esm/platform/components/traefik.d.ts +9 -0
- package/dist/esm/platform/components/traefik.d.ts.map +1 -0
- package/dist/esm/platform/components/traefik.js +74 -0
- package/dist/esm/platform/components/traefik.js.map +1 -0
- package/dist/esm/platform/components/vault.d.ts +12 -0
- package/dist/esm/platform/components/vault.d.ts.map +1 -0
- package/dist/esm/platform/components/vault.js +474 -0
- package/dist/esm/platform/components/vault.js.map +1 -0
- package/dist/esm/platform/index.d.ts +2 -1
- package/dist/esm/platform/index.d.ts.map +1 -1
- package/dist/esm/platform/index.js +3 -1
- package/dist/esm/platform/index.js.map +1 -1
- package/dist/esm/platform/interfaces.d.ts +73 -1
- package/dist/esm/platform/interfaces.d.ts.map +1 -1
- package/dist/esm/platform/interfaces.js +8 -0
- package/dist/esm/platform/interfaces.js.map +1 -1
- package/dist/esm/platform/stack.d.ts +1 -1
- package/dist/esm/platform/stack.d.ts.map +1 -1
- package/dist/esm/platform/stack.js +363 -153
- package/dist/esm/platform/stack.js.map +1 -1
- package/dist/esm/queue/index.d.ts +1 -0
- package/dist/esm/queue/index.d.ts.map +1 -1
- package/dist/esm/queue/index.js +5 -0
- package/dist/esm/queue/index.js.map +1 -1
- package/dist/esm/queue/interfaces.d.ts +20 -0
- package/dist/esm/queue/interfaces.d.ts.map +1 -1
- package/dist/esm/queue/interfaces.js +21 -0
- package/dist/esm/queue/interfaces.js.map +1 -1
- package/dist/esm/rackspace/cluster.d.ts +30 -0
- package/dist/esm/rackspace/cluster.d.ts.map +1 -0
- package/dist/esm/rackspace/cluster.js +116 -0
- package/dist/esm/rackspace/cluster.js.map +1 -0
- package/dist/esm/rackspace/index.d.ts +7 -0
- package/dist/esm/rackspace/index.d.ts.map +1 -0
- package/dist/esm/rackspace/index.js +11 -0
- package/dist/esm/rackspace/index.js.map +1 -0
- package/dist/esm/secrets/index.d.ts +1 -0
- package/dist/esm/secrets/index.d.ts.map +1 -1
- package/dist/esm/secrets/index.js +3 -0
- package/dist/esm/secrets/index.js.map +1 -1
- package/dist/esm/secrets/interfaces.d.ts +7 -0
- package/dist/esm/secrets/interfaces.d.ts.map +1 -1
- package/dist/esm/secrets/interfaces.js +8 -0
- package/dist/esm/secrets/interfaces.js.map +1 -1
- package/dist/esm/state/index.d.ts +1 -0
- package/dist/esm/state/index.d.ts.map +1 -1
- package/dist/esm/state/index.js +3 -0
- package/dist/esm/state/index.js.map +1 -1
- package/dist/esm/state/interfaces.d.ts +6 -0
- package/dist/esm/state/interfaces.d.ts.map +1 -1
- package/dist/esm/state/interfaces.js +7 -0
- package/dist/esm/state/interfaces.js.map +1 -1
- package/dist/esm/types/cloud-target.d.ts +7 -0
- package/dist/esm/types/cloud-target.d.ts.map +1 -1
- package/dist/esm/types/cloud-target.js +9 -2
- package/dist/esm/types/cloud-target.js.map +1 -1
- package/dist/esm/types/exposed-service.d.ts +20 -0
- package/dist/esm/types/exposed-service.d.ts.map +1 -0
- package/dist/esm/types/exposed-service.js +8 -0
- package/dist/esm/types/exposed-service.js.map +1 -0
- package/dist/esm/types/index.d.ts +3 -1
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js +5 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/storage-tiers.d.ts +26 -0
- package/dist/esm/types/storage-tiers.d.ts.map +1 -0
- package/dist/esm/types/storage-tiers.js +30 -0
- package/dist/esm/types/storage-tiers.js.map +1 -0
- package/dist/esm/utils/ensure-namespace.d.ts +7 -0
- package/dist/esm/utils/ensure-namespace.d.ts.map +1 -0
- package/dist/esm/utils/ensure-namespace.js +53 -0
- package/dist/esm/utils/ensure-namespace.js.map +1 -0
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +3 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/package.json +8 -4
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operator module interfaces for @reyemtech/nimbus.
|
|
3
|
+
*
|
|
4
|
+
* Models the real-world pattern: install an operator once, create cluster
|
|
5
|
+
* instances, then provision individual databases within each cluster.
|
|
6
|
+
* Each database gets connection secrets replicated to target namespaces.
|
|
7
|
+
*
|
|
8
|
+
* @module operator/interfaces
|
|
9
|
+
*/
|
|
10
|
+
import type * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
import type * as k8s from "@pulumi/kubernetes";
|
|
12
|
+
import type { ICluster } from "../cluster";
|
|
13
|
+
import type { IBackupTarget } from "../backup";
|
|
14
|
+
import type { StorageTier } from "../types/storage-tiers";
|
|
15
|
+
/** Per-environment config overrides. Keys are environment names (e.g. "dev", "prod"). */
|
|
16
|
+
export type EnvironmentOverrides<T> = Record<string, Partial<T>>;
|
|
17
|
+
/** Supported Kubernetes database operators. */
|
|
18
|
+
export type OperatorType = "cloudnative-pg" | "mariadb-operator" | "minio" | "neo4j";
|
|
19
|
+
/** Typed constant map for OperatorType string literals. */
|
|
20
|
+
export declare const OPERATOR_TYPES: {
|
|
21
|
+
CLOUDNATIVE_PG: "cloudnative-pg";
|
|
22
|
+
MARIADB_OPERATOR: "mariadb-operator";
|
|
23
|
+
NEO4J: "neo4j";
|
|
24
|
+
MINIO: "minio";
|
|
25
|
+
};
|
|
26
|
+
/** Default backup configuration for clusters provisioned by an operator. */
|
|
27
|
+
export interface IBackupDefaults {
|
|
28
|
+
/** Backup target (S3 bucket + credentials). */
|
|
29
|
+
readonly target: IBackupTarget;
|
|
30
|
+
/** Cron schedule for scheduled backups (e.g., "0 3 * * *"). */
|
|
31
|
+
readonly schedule?: string;
|
|
32
|
+
/** Number of days to retain backups. */
|
|
33
|
+
readonly retentionDays?: number;
|
|
34
|
+
/** Enable point-in-time recovery. */
|
|
35
|
+
readonly pitr?: boolean;
|
|
36
|
+
/** WAL archive upload interval in seconds (CNPG-specific). Default: 300. */
|
|
37
|
+
readonly pitrIntervalSeconds?: number;
|
|
38
|
+
}
|
|
39
|
+
/** Configuration for deploying a database operator via Helm. */
|
|
40
|
+
export interface IOperatorConfig {
|
|
41
|
+
/** Cluster to deploy the operator to. */
|
|
42
|
+
readonly cluster: ICluster;
|
|
43
|
+
/** Kubernetes namespace for the operator. Defaults to operator-specific namespace. */
|
|
44
|
+
readonly namespace?: string;
|
|
45
|
+
/** Helm chart version. Uses latest if omitted. */
|
|
46
|
+
readonly version?: string;
|
|
47
|
+
/** Additional Helm values to merge. */
|
|
48
|
+
readonly values?: Record<string, unknown>;
|
|
49
|
+
/** Default backup configuration for clusters created by this operator. */
|
|
50
|
+
readonly backup?: IBackupDefaults;
|
|
51
|
+
}
|
|
52
|
+
/** Per-cluster configuration when creating a database cluster via an operator. */
|
|
53
|
+
export interface IOperatorClusterConfig {
|
|
54
|
+
/** Database engine version (e.g., "17" for PostgreSQL, "11.7" for MariaDB). */
|
|
55
|
+
readonly version?: string;
|
|
56
|
+
/** Number of instances/replicas. Default: 1. */
|
|
57
|
+
readonly replicas?: number;
|
|
58
|
+
/** Storage size in GB. Default: 10. */
|
|
59
|
+
readonly storageGb?: number;
|
|
60
|
+
/** Storage tier for PVC storage class selection. */
|
|
61
|
+
readonly storageTier?: StorageTier;
|
|
62
|
+
/** Override operator-level backup defaults for this cluster. */
|
|
63
|
+
readonly backup?: Partial<IBackupDefaults>;
|
|
64
|
+
/** CPU and memory resource requests/limits. */
|
|
65
|
+
readonly resources?: {
|
|
66
|
+
readonly requests?: {
|
|
67
|
+
cpu?: string;
|
|
68
|
+
memory?: string;
|
|
69
|
+
};
|
|
70
|
+
readonly limits?: {
|
|
71
|
+
cpu?: string;
|
|
72
|
+
memory?: string;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
/** Database engine parameters (e.g., max_connections, shared_buffers). */
|
|
76
|
+
readonly parameters?: Record<string, string>;
|
|
77
|
+
/** Resource tags (applied as labels). */
|
|
78
|
+
readonly tags?: Record<string, string>;
|
|
79
|
+
/** When set, creates separate clusters per environment with {name}-{env} naming. Per-env values override base config. */
|
|
80
|
+
readonly environments?: EnvironmentOverrides<Omit<IOperatorClusterConfig, "environments">>;
|
|
81
|
+
}
|
|
82
|
+
/** Configuration for creating a database within a cluster. */
|
|
83
|
+
export interface IOperatorDatabaseConfig {
|
|
84
|
+
/** Namespaces to replicate the connection secret into. */
|
|
85
|
+
readonly namespaces: string[];
|
|
86
|
+
/** Database owner/username. Default: same as database name. */
|
|
87
|
+
readonly owner?: string;
|
|
88
|
+
/** When set, creates separate databases per environment with {dbName}-{env} naming. Per-env values override base config. */
|
|
89
|
+
readonly environments?: EnvironmentOverrides<Omit<IOperatorDatabaseConfig, "environments">>;
|
|
90
|
+
}
|
|
91
|
+
/** A database within a cluster, with connection secrets in target namespaces. */
|
|
92
|
+
export interface IDatabaseInstance {
|
|
93
|
+
/** Database name. */
|
|
94
|
+
readonly name: string;
|
|
95
|
+
/** Cluster this database belongs to. */
|
|
96
|
+
readonly clusterName: string;
|
|
97
|
+
/** Database connection endpoint. */
|
|
98
|
+
readonly host: pulumi.Output<string>;
|
|
99
|
+
/** Database connection port. */
|
|
100
|
+
readonly port: pulumi.Output<number>;
|
|
101
|
+
/** Database name on the server. */
|
|
102
|
+
readonly database: pulumi.Output<string>;
|
|
103
|
+
/** Secrets created in target namespaces (namespace → secret name). */
|
|
104
|
+
readonly secrets: Record<string, pulumi.Output<string>>;
|
|
105
|
+
/** Underlying Pulumi resource for dependency wiring. */
|
|
106
|
+
readonly nativeResource: pulumi.Resource;
|
|
107
|
+
}
|
|
108
|
+
/** A database cluster instance created by an operator. */
|
|
109
|
+
export interface IClusterInstance {
|
|
110
|
+
/** Cluster name. */
|
|
111
|
+
readonly name: string;
|
|
112
|
+
/** Database engine type. */
|
|
113
|
+
readonly engine: "postgresql" | "mariadb" | "neo4j";
|
|
114
|
+
/** Read-write endpoint for the cluster. */
|
|
115
|
+
readonly endpoint: pulumi.Output<string>;
|
|
116
|
+
/** Connection port. */
|
|
117
|
+
readonly port: pulumi.Output<number>;
|
|
118
|
+
/** Underlying CRD resource. */
|
|
119
|
+
readonly nativeResource: pulumi.Resource;
|
|
120
|
+
/**
|
|
121
|
+
* Create a database within this cluster and replicate connection
|
|
122
|
+
* secrets to specified namespaces.
|
|
123
|
+
*
|
|
124
|
+
* Each secret contains: host, port, username, password, database, uri.
|
|
125
|
+
*
|
|
126
|
+
* @param name - Database name
|
|
127
|
+
* @param config - Namespaces for secret replication + optional owner
|
|
128
|
+
* @returns Database instance with secret references
|
|
129
|
+
*/
|
|
130
|
+
createDatabase(name: string, config: IOperatorDatabaseConfig): IDatabaseInstance;
|
|
131
|
+
/** Overload: when environments is provided, returns a Record keyed by environment name. */
|
|
132
|
+
createDatabase(name: string, config: IOperatorDatabaseConfig & Required<Pick<IOperatorDatabaseConfig, "environments">>): Record<string, IDatabaseInstance>;
|
|
133
|
+
}
|
|
134
|
+
/** Configuration for creating a MinIO bucket via the operator. */
|
|
135
|
+
export interface IMinIOBucketConfig {
|
|
136
|
+
/** Bucket size in GB. Default: 10. */
|
|
137
|
+
readonly sizeGb?: number;
|
|
138
|
+
/** Enable public read access on the bucket. Default: false. */
|
|
139
|
+
readonly public?: boolean;
|
|
140
|
+
/** Namespaces to replicate the access credentials secret into. */
|
|
141
|
+
readonly namespaces?: string[];
|
|
142
|
+
}
|
|
143
|
+
/** MinIO ingress configuration for external S3 API access. */
|
|
144
|
+
export interface IMinIOIngressConfig {
|
|
145
|
+
/** Base domain (e.g., "reyem.ca"). */
|
|
146
|
+
readonly domain: string;
|
|
147
|
+
/** Subdomain prefix for the S3 API. Default: "s3". */
|
|
148
|
+
readonly subdomain?: string;
|
|
149
|
+
/** TLS secret name. If omitted, derived from domain. */
|
|
150
|
+
readonly tlsSecretName?: string;
|
|
151
|
+
}
|
|
152
|
+
/** A MinIO bucket with endpoint, credentials, and namespace secrets. */
|
|
153
|
+
export interface IMinIOBucket {
|
|
154
|
+
readonly name: string;
|
|
155
|
+
readonly endpoint: pulumi.Output<string>;
|
|
156
|
+
readonly bucketName: pulumi.Output<string>;
|
|
157
|
+
readonly credentials: {
|
|
158
|
+
readonly accessKeyId: pulumi.Output<string>;
|
|
159
|
+
readonly secretAccessKey: pulumi.Output<string>;
|
|
160
|
+
};
|
|
161
|
+
/** Secrets created in target namespaces (namespace → secret name). */
|
|
162
|
+
readonly secrets: Record<string, pulumi.Output<string>>;
|
|
163
|
+
/** Underlying Pulumi resource for dependency wiring. */
|
|
164
|
+
readonly nativeResource: pulumi.Resource;
|
|
165
|
+
}
|
|
166
|
+
/** A MinIO operator instance with createBucket(). */
|
|
167
|
+
export interface IMinIOOperator extends Omit<IOperator, "createCluster"> {
|
|
168
|
+
/** S3 API endpoint URL (internal cluster URL). */
|
|
169
|
+
readonly endpoint: pulumi.Output<string>;
|
|
170
|
+
/** Create a bucket on the MinIO deployment and replicate credentials to target namespaces. */
|
|
171
|
+
createBucket(name: string, config?: IMinIOBucketConfig): IMinIOBucket;
|
|
172
|
+
}
|
|
173
|
+
/** Deployed database operator instance. */
|
|
174
|
+
export interface IOperator {
|
|
175
|
+
/** Logical name of the operator. */
|
|
176
|
+
readonly name: string;
|
|
177
|
+
/** Operator type discriminant. */
|
|
178
|
+
readonly type: OperatorType;
|
|
179
|
+
/** Underlying Helm release resource. */
|
|
180
|
+
readonly helmRelease: k8s.helm.v3.Release;
|
|
181
|
+
/**
|
|
182
|
+
* Create a database cluster via the operator.
|
|
183
|
+
*
|
|
184
|
+
* @param name - Cluster name (used for CRD metadata and service names)
|
|
185
|
+
* @param config - Per-cluster configuration (when environments is set, returns a Record keyed by environment name)
|
|
186
|
+
* @returns Cluster instance with createDatabase() for per-database provisioning
|
|
187
|
+
*/
|
|
188
|
+
createCluster(name: string, config?: IOperatorClusterConfig): IClusterInstance;
|
|
189
|
+
/** Overload: when environments is provided, returns a Record keyed by environment name. */
|
|
190
|
+
createCluster(name: string, config: IOperatorClusterConfig & Required<Pick<IOperatorClusterConfig, "environments">>): Record<string, IClusterInstance>;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/operator/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Operator module interfaces for @reyemtech/nimbus.
|
|
4
|
+
*
|
|
5
|
+
* Models the real-world pattern: install an operator once, create cluster
|
|
6
|
+
* instances, then provision individual databases within each cluster.
|
|
7
|
+
* Each database gets connection secrets replicated to target namespaces.
|
|
8
|
+
*
|
|
9
|
+
* @module operator/interfaces
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.OPERATOR_TYPES = void 0;
|
|
13
|
+
/** Typed constant map for OperatorType string literals. */
|
|
14
|
+
exports.OPERATOR_TYPES = {
|
|
15
|
+
CLOUDNATIVE_PG: "cloudnative-pg",
|
|
16
|
+
MARIADB_OPERATOR: "mariadb-operator",
|
|
17
|
+
NEO4J: "neo4j",
|
|
18
|
+
MINIO: "minio",
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/operator/interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAcH,2DAA2D;AAC9C,QAAA,cAAc,GAAG;IAC5B,cAAc,EAAE,gBAAyB;IACzC,gBAAgB,EAAE,kBAA2B;IAC7C,KAAK,EAAE,OAAgB;IACvB,KAAK,EAAE,OAAgB;CACe,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MariaDB Operator backend — provisions MariaDB instances via CRDs.
|
|
3
|
+
*
|
|
4
|
+
* Creates a MariaDB CRD and optional backup CRDs. Returns IClusterInstance
|
|
5
|
+
* with createDatabase() for provisioning individual databases with connection
|
|
6
|
+
* secrets replicated to target namespaces.
|
|
7
|
+
*
|
|
8
|
+
* @module operator/mariadb
|
|
9
|
+
*/
|
|
10
|
+
import * as k8s from "@pulumi/kubernetes";
|
|
11
|
+
import { type StorageTierMap } from "../types/storage-tiers";
|
|
12
|
+
import type { IBackupDefaults, IOperatorClusterConfig, IClusterInstance } from "./interfaces";
|
|
13
|
+
/**
|
|
14
|
+
* Create a MariaDB instance via the MariaDB Operator.
|
|
15
|
+
*
|
|
16
|
+
* When `config.environments` is set, creates separate instances per environment
|
|
17
|
+
* with `{name}-{env}` naming and returns a Record of IClusterInstance.
|
|
18
|
+
*
|
|
19
|
+
* @returns IClusterInstance or Record<string, IClusterInstance> when environments is set
|
|
20
|
+
*/
|
|
21
|
+
export declare function createMariadbDatabase(name: string, config: IOperatorClusterConfig | undefined, backupDefaults: IBackupDefaults | undefined, provider: k8s.Provider, operatorRelease: k8s.helm.v3.Release, storageTiers?: StorageTierMap): IClusterInstance | Record<string, IClusterInstance>;
|
|
22
|
+
//# sourceMappingURL=mariadb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mariadb.d.ts","sourceRoot":"","sources":["../../../src/operator/mariadb.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAG1C,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAGjB,MAAM,cAAc,CAAC;AAgatB;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,sBAAsB,GAAG,SAAS,EAC1C,cAAc,EAAE,eAAe,GAAG,SAAS,EAC3C,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EACpC,YAAY,CAAC,EAAE,cAAc,GAC5B,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAyCrD"}
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MariaDB Operator backend — provisions MariaDB instances via CRDs.
|
|
4
|
+
*
|
|
5
|
+
* Creates a MariaDB CRD and optional backup CRDs. Returns IClusterInstance
|
|
6
|
+
* with createDatabase() for provisioning individual databases with connection
|
|
7
|
+
* secrets replicated to target namespaces.
|
|
8
|
+
*
|
|
9
|
+
* @module operator/mariadb
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.createMariadbDatabase = createMariadbDatabase;
|
|
46
|
+
const crypto = __importStar(require("node:crypto"));
|
|
47
|
+
const k8s = __importStar(require("@pulumi/kubernetes"));
|
|
48
|
+
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
49
|
+
const ensure_namespace_1 = require("../utils/ensure-namespace");
|
|
50
|
+
const storage_tiers_1 = require("../types/storage-tiers");
|
|
51
|
+
const dashboards_1 = require("../observability/dashboards");
|
|
52
|
+
const alerts_1 = require("../observability/alerts");
|
|
53
|
+
const nimbus_1 = require("../nimbus");
|
|
54
|
+
const DATA_NAMESPACE = "data";
|
|
55
|
+
const DEFAULT_MARIADB_VERSION = "11.7";
|
|
56
|
+
const DEFAULT_REPLICAS = 1;
|
|
57
|
+
const DEFAULT_STORAGE_GB = 10;
|
|
58
|
+
/**
|
|
59
|
+
* Create a single database instance within a MariaDB cluster using
|
|
60
|
+
* operator CRDs (Database, User, Grant) for proper lifecycle management.
|
|
61
|
+
*/
|
|
62
|
+
function createSingleMariadbDatabaseInstance(clusterName, dbName, dbConfig, endpoint, port, mariadb, provider) {
|
|
63
|
+
// MariaDB operator uses the User CRD name as the MySQL username
|
|
64
|
+
const username = `${clusterName}-${dbName}`;
|
|
65
|
+
const userSecretName = `${clusterName}-${dbName}-user`;
|
|
66
|
+
// 1. Database CRD — creates the database on the MariaDB instance
|
|
67
|
+
const database = new k8s.apiextensions.CustomResource(`${clusterName}-${dbName}-database`, {
|
|
68
|
+
apiVersion: "k8s.mariadb.com/v1alpha1",
|
|
69
|
+
kind: "Database",
|
|
70
|
+
metadata: {
|
|
71
|
+
name: `${clusterName}-${dbName}`,
|
|
72
|
+
namespace: DATA_NAMESPACE,
|
|
73
|
+
labels: {
|
|
74
|
+
"app.kubernetes.io/managed-by": "nimbus",
|
|
75
|
+
"nimbus/cluster": clusterName,
|
|
76
|
+
"nimbus/database": dbName,
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
spec: {
|
|
80
|
+
mariaDbRef: { name: clusterName },
|
|
81
|
+
characterSet: "utf8mb4",
|
|
82
|
+
collate: "utf8mb4_unicode_ci",
|
|
83
|
+
},
|
|
84
|
+
}, { provider, dependsOn: [mariadb] });
|
|
85
|
+
// 2. Generate a password and store it in a Secret for the User CRD to reference
|
|
86
|
+
const generatedPassword = pulumi.secret(crypto.randomBytes(24).toString("base64url"));
|
|
87
|
+
const passwordSecret = new k8s.core.v1.Secret(`${clusterName}-${dbName}-password-secret`, {
|
|
88
|
+
metadata: {
|
|
89
|
+
name: userSecretName,
|
|
90
|
+
namespace: DATA_NAMESPACE,
|
|
91
|
+
labels: {
|
|
92
|
+
"app.kubernetes.io/managed-by": "nimbus",
|
|
93
|
+
"nimbus/cluster": clusterName,
|
|
94
|
+
"nimbus/database": dbName,
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
stringData: {
|
|
98
|
+
password: generatedPassword,
|
|
99
|
+
},
|
|
100
|
+
}, { provider, dependsOn: [mariadb], ignoreChanges: ["data", "stringData"] });
|
|
101
|
+
// User CRD — creates a user referencing the password Secret
|
|
102
|
+
const user = new k8s.apiextensions.CustomResource(`${clusterName}-${dbName}-user`, {
|
|
103
|
+
apiVersion: "k8s.mariadb.com/v1alpha1",
|
|
104
|
+
kind: "User",
|
|
105
|
+
metadata: {
|
|
106
|
+
name: `${clusterName}-${dbName}`,
|
|
107
|
+
namespace: DATA_NAMESPACE,
|
|
108
|
+
labels: {
|
|
109
|
+
"app.kubernetes.io/managed-by": "nimbus",
|
|
110
|
+
"nimbus/cluster": clusterName,
|
|
111
|
+
"nimbus/database": dbName,
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
spec: {
|
|
115
|
+
mariaDbRef: { name: clusterName },
|
|
116
|
+
passwordSecretKeyRef: {
|
|
117
|
+
name: userSecretName,
|
|
118
|
+
key: "password",
|
|
119
|
+
},
|
|
120
|
+
maxUserConnections: 100,
|
|
121
|
+
},
|
|
122
|
+
}, { provider, dependsOn: [mariadb, passwordSecret] });
|
|
123
|
+
// 3. Grant CRD — grants ALL PRIVILEGES on the database to the user
|
|
124
|
+
const grant = new k8s.apiextensions.CustomResource(`${clusterName}-${dbName}-grant`, {
|
|
125
|
+
apiVersion: "k8s.mariadb.com/v1alpha1",
|
|
126
|
+
kind: "Grant",
|
|
127
|
+
metadata: {
|
|
128
|
+
name: `${clusterName}-${dbName}`,
|
|
129
|
+
namespace: DATA_NAMESPACE,
|
|
130
|
+
labels: {
|
|
131
|
+
"app.kubernetes.io/managed-by": "nimbus",
|
|
132
|
+
"nimbus/cluster": clusterName,
|
|
133
|
+
"nimbus/database": dbName,
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
spec: {
|
|
137
|
+
mariaDbRef: { name: clusterName },
|
|
138
|
+
privileges: ["ALL PRIVILEGES"],
|
|
139
|
+
database: `${clusterName}-${dbName}`,
|
|
140
|
+
table: "*",
|
|
141
|
+
username: `${clusterName}-${dbName}`,
|
|
142
|
+
grantOption: true,
|
|
143
|
+
},
|
|
144
|
+
}, { provider, dependsOn: [database, user] });
|
|
145
|
+
// 4. Read password back from the stored secret (stable across deploys)
|
|
146
|
+
const storedSecret = k8s.core.v1.Secret.get(`${clusterName}-${dbName}-password-read`, pulumi.interpolate `${DATA_NAMESPACE}/${userSecretName}`, { provider, dependsOn: [passwordSecret] });
|
|
147
|
+
const stablePassword = storedSecret.data.apply((d) => Buffer.from(d?.["password"] ?? "", "base64").toString());
|
|
148
|
+
// Replicate connection secrets with per-user credentials to target namespaces
|
|
149
|
+
const secrets = {};
|
|
150
|
+
const dbHost = endpoint;
|
|
151
|
+
const dbPort = port;
|
|
152
|
+
for (const targetNs of dbConfig.namespaces) {
|
|
153
|
+
const nsResource = (0, ensure_namespace_1.ensureNamespace)(targetNs, provider);
|
|
154
|
+
const secretName = `${clusterName}-${dbName}-mariadb`;
|
|
155
|
+
new k8s.core.v1.Secret(`${clusterName}-${dbName}-secret-${targetNs}`, {
|
|
156
|
+
metadata: {
|
|
157
|
+
name: secretName,
|
|
158
|
+
namespace: targetNs,
|
|
159
|
+
labels: {
|
|
160
|
+
"app.kubernetes.io/managed-by": "nimbus",
|
|
161
|
+
"nimbus/cluster": clusterName,
|
|
162
|
+
"nimbus/database": dbName,
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
stringData: {
|
|
166
|
+
host: dbHost,
|
|
167
|
+
port: dbPort.apply((p) => String(p)),
|
|
168
|
+
username,
|
|
169
|
+
password: stablePassword,
|
|
170
|
+
database: `${clusterName}-${dbName}`,
|
|
171
|
+
uri: pulumi
|
|
172
|
+
.all([dbHost, dbPort, stablePassword])
|
|
173
|
+
.apply(([h, p, pw]) => `mysql://${username}:${pw}@${h}:${p}/${clusterName}-${dbName}`),
|
|
174
|
+
},
|
|
175
|
+
}, { provider, dependsOn: [grant, nsResource] });
|
|
176
|
+
secrets[targetNs] = pulumi.output(secretName);
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
name: dbName,
|
|
180
|
+
clusterName,
|
|
181
|
+
host: endpoint,
|
|
182
|
+
port,
|
|
183
|
+
database: pulumi.output(dbName),
|
|
184
|
+
secrets,
|
|
185
|
+
nativeResource: database,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Create a single MariaDB instance via the MariaDB Operator (no environment awareness).
|
|
190
|
+
*/
|
|
191
|
+
function createSingleMariadbCluster(name, config, backupDefaults, provider, operatorRelease, storageTiers) {
|
|
192
|
+
const namespace = (0, ensure_namespace_1.ensureNamespace)(DATA_NAMESPACE, provider);
|
|
193
|
+
const replicas = config?.replicas ?? DEFAULT_REPLICAS;
|
|
194
|
+
const storageGb = config?.storageGb ?? DEFAULT_STORAGE_GB;
|
|
195
|
+
const dbVersion = config?.version ?? DEFAULT_MARIADB_VERSION;
|
|
196
|
+
const image = `mariadb:${dbVersion}`;
|
|
197
|
+
// Merge backup: per-cluster config overrides operator defaults
|
|
198
|
+
const backup = config?.backup?.target !== undefined
|
|
199
|
+
? { ...backupDefaults, ...config.backup }
|
|
200
|
+
: backupDefaults;
|
|
201
|
+
const dependsOn = [operatorRelease, namespace];
|
|
202
|
+
// MariaDB CRD spec
|
|
203
|
+
const mariadbSpec = {
|
|
204
|
+
image,
|
|
205
|
+
rootPasswordSecretKeyRef: {
|
|
206
|
+
name: `${name}-root`,
|
|
207
|
+
key: "password",
|
|
208
|
+
generate: true,
|
|
209
|
+
},
|
|
210
|
+
port: 3306,
|
|
211
|
+
storage: {
|
|
212
|
+
size: `${storageGb}Gi`,
|
|
213
|
+
// Note: MariaDB operator's admission webhook marks storageClassName as
|
|
214
|
+
// immutable after creation. Only set it if explicitly requested via storageTier.
|
|
215
|
+
...(config?.storageTier && (0, storage_tiers_1.resolveStorageTier)(config.storageTier, storageTiers)
|
|
216
|
+
? { storageClassName: (0, storage_tiers_1.resolveStorageTier)(config.storageTier, storageTiers) }
|
|
217
|
+
: {}),
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
if (config?.resources) {
|
|
221
|
+
mariadbSpec["resources"] = config.resources;
|
|
222
|
+
}
|
|
223
|
+
if (config?.parameters) {
|
|
224
|
+
mariadbSpec["myCnf"] = Object.entries(config.parameters)
|
|
225
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
226
|
+
.join("\n");
|
|
227
|
+
}
|
|
228
|
+
// Metrics exporter sidecar
|
|
229
|
+
mariadbSpec["metrics"] = {
|
|
230
|
+
enabled: true,
|
|
231
|
+
exporter: { image: "prom/mysqld-exporter:v0.16.0", port: 9104 },
|
|
232
|
+
};
|
|
233
|
+
// Replication (replicas > 1)
|
|
234
|
+
if (replicas > 1) {
|
|
235
|
+
mariadbSpec["replicas"] = replicas;
|
|
236
|
+
mariadbSpec["replication"] = {
|
|
237
|
+
enabled: true,
|
|
238
|
+
primary: { automaticFailover: true },
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
// S3 backup credentials
|
|
242
|
+
if (backup) {
|
|
243
|
+
const backupSecret = new k8s.core.v1.Secret(`${name}-mariadb-backup-secret`, {
|
|
244
|
+
metadata: {
|
|
245
|
+
name: `${name}-backup-s3-credentials`,
|
|
246
|
+
namespace: DATA_NAMESPACE,
|
|
247
|
+
},
|
|
248
|
+
stringData: {
|
|
249
|
+
"access-key-id": backup.target.credentials.accessKeyId,
|
|
250
|
+
"secret-access-key": backup.target.credentials.secretAccessKey,
|
|
251
|
+
},
|
|
252
|
+
}, { provider, dependsOn: [namespace] });
|
|
253
|
+
dependsOn.push(backupSecret);
|
|
254
|
+
}
|
|
255
|
+
// Create the MariaDB CRD
|
|
256
|
+
const mariadb = new k8s.apiextensions.CustomResource(`${name}-mariadb`, {
|
|
257
|
+
apiVersion: "k8s.mariadb.com/v1alpha1",
|
|
258
|
+
kind: "MariaDB",
|
|
259
|
+
metadata: {
|
|
260
|
+
name,
|
|
261
|
+
namespace: DATA_NAMESPACE,
|
|
262
|
+
labels: config?.tags ?? {},
|
|
263
|
+
},
|
|
264
|
+
spec: mariadbSpec,
|
|
265
|
+
}, { provider, dependsOn });
|
|
266
|
+
// Per-cluster Grafana dashboard
|
|
267
|
+
(0, dashboards_1.createMariadbClusterDashboard)(name, "observability", provider, [mariadb]);
|
|
268
|
+
// Per-cluster alert rules
|
|
269
|
+
(0, alerts_1.createPrometheusRule)(`${name}-mariadb-alerts`, "observability", [
|
|
270
|
+
{
|
|
271
|
+
name: `nimbus.mariadb.${name}`,
|
|
272
|
+
rules: [
|
|
273
|
+
{
|
|
274
|
+
alert: "MariadbDown",
|
|
275
|
+
expr: `mysql_up{job=~".*mariadb.*",instance=~"${name}.*"} == 0`,
|
|
276
|
+
for: "2m",
|
|
277
|
+
labels: { severity: "critical" },
|
|
278
|
+
annotations: { summary: `MariaDB instance ${name} is DOWN` },
|
|
279
|
+
},
|
|
280
|
+
],
|
|
281
|
+
},
|
|
282
|
+
], provider, [mariadb]);
|
|
283
|
+
// Scheduled backup via S3
|
|
284
|
+
if (backup) {
|
|
285
|
+
new k8s.apiextensions.CustomResource(`${name}-mariadb-backup`, {
|
|
286
|
+
apiVersion: "k8s.mariadb.com/v1alpha1",
|
|
287
|
+
kind: "Backup",
|
|
288
|
+
metadata: {
|
|
289
|
+
name: `${name}-scheduled-backup`,
|
|
290
|
+
namespace: DATA_NAMESPACE,
|
|
291
|
+
},
|
|
292
|
+
spec: {
|
|
293
|
+
mariaDbRef: { name },
|
|
294
|
+
schedule: {
|
|
295
|
+
cron: backup.schedule ?? "0 3 * * *",
|
|
296
|
+
suspend: false,
|
|
297
|
+
},
|
|
298
|
+
maxRetention: `${(backup.retentionDays ?? 7) * 24}h`,
|
|
299
|
+
storage: {
|
|
300
|
+
s3: {
|
|
301
|
+
bucket: backup.target.bucket,
|
|
302
|
+
prefix: `mariadb/${name}`,
|
|
303
|
+
endpoint: `s3.${backup.target.region}.amazonaws.com`,
|
|
304
|
+
accessKeyIdSecretKeyRef: {
|
|
305
|
+
name: `${name}-backup-s3-credentials`,
|
|
306
|
+
key: "access-key-id",
|
|
307
|
+
},
|
|
308
|
+
secretAccessKeySecretKeyRef: {
|
|
309
|
+
name: `${name}-backup-s3-credentials`,
|
|
310
|
+
key: "secret-access-key",
|
|
311
|
+
},
|
|
312
|
+
region: backup.target.region,
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
}, { provider, dependsOn: [mariadb] });
|
|
317
|
+
}
|
|
318
|
+
const endpoint = pulumi.output(`${name}.${DATA_NAMESPACE}.svc.cluster.local`);
|
|
319
|
+
const port = pulumi.output(3306);
|
|
320
|
+
nimbus_1.nimbus.register(name, {
|
|
321
|
+
name,
|
|
322
|
+
type: "database",
|
|
323
|
+
namespace: DATA_NAMESPACE,
|
|
324
|
+
endpoint,
|
|
325
|
+
port: 3306,
|
|
326
|
+
secretRef: {
|
|
327
|
+
name: `${name}-root`,
|
|
328
|
+
keys: { password: "password" },
|
|
329
|
+
},
|
|
330
|
+
nativeResource: mariadb,
|
|
331
|
+
});
|
|
332
|
+
return {
|
|
333
|
+
name,
|
|
334
|
+
engine: "mariadb",
|
|
335
|
+
endpoint,
|
|
336
|
+
port,
|
|
337
|
+
nativeResource: mariadb,
|
|
338
|
+
createDatabase(dbName, dbConfig) {
|
|
339
|
+
let result;
|
|
340
|
+
if (dbConfig.environments) {
|
|
341
|
+
const envResult = {};
|
|
342
|
+
for (const [env, envOverrides] of Object.entries(dbConfig.environments)) {
|
|
343
|
+
const { environments: _, ...baseConfig } = dbConfig;
|
|
344
|
+
const mergedConfig = {
|
|
345
|
+
...baseConfig,
|
|
346
|
+
...envOverrides,
|
|
347
|
+
};
|
|
348
|
+
envResult[env] = createSingleMariadbDatabaseInstance(`${name}`, `${dbName}-${env}`, mergedConfig, endpoint, port, mariadb, provider);
|
|
349
|
+
}
|
|
350
|
+
result = envResult;
|
|
351
|
+
}
|
|
352
|
+
else {
|
|
353
|
+
const { environments: _, ...cleanConfig } = dbConfig;
|
|
354
|
+
result = createSingleMariadbDatabaseInstance(name, dbName, cleanConfig, endpoint, port, mariadb, provider);
|
|
355
|
+
}
|
|
356
|
+
// Runtime: environments → Record, otherwise → IDatabaseInstance.
|
|
357
|
+
// Overload signatures on IClusterInstance narrow the type for callers.
|
|
358
|
+
return result;
|
|
359
|
+
},
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Create a MariaDB instance via the MariaDB Operator.
|
|
364
|
+
*
|
|
365
|
+
* When `config.environments` is set, creates separate instances per environment
|
|
366
|
+
* with `{name}-{env}` naming and returns a Record of IClusterInstance.
|
|
367
|
+
*
|
|
368
|
+
* @returns IClusterInstance or Record<string, IClusterInstance> when environments is set
|
|
369
|
+
*/
|
|
370
|
+
function createMariadbDatabase(name, config, backupDefaults, provider, operatorRelease, storageTiers) {
|
|
371
|
+
if (config?.environments) {
|
|
372
|
+
const result = {};
|
|
373
|
+
for (const [env, envOverrides] of Object.entries(config.environments)) {
|
|
374
|
+
const { environments: _, ...baseConfig } = config;
|
|
375
|
+
const mergedConfig = {
|
|
376
|
+
...baseConfig,
|
|
377
|
+
...envOverrides,
|
|
378
|
+
};
|
|
379
|
+
result[env] = createSingleMariadbCluster(`${name}-${env}`, mergedConfig, backupDefaults, provider, operatorRelease, storageTiers);
|
|
380
|
+
}
|
|
381
|
+
return result;
|
|
382
|
+
}
|
|
383
|
+
if (config) {
|
|
384
|
+
const { environments: _, ...cleanConfig } = config;
|
|
385
|
+
return createSingleMariadbCluster(name, cleanConfig, backupDefaults, provider, operatorRelease, storageTiers);
|
|
386
|
+
}
|
|
387
|
+
return createSingleMariadbCluster(name, config, backupDefaults, provider, operatorRelease, storageTiers);
|
|
388
|
+
}
|
|
389
|
+
//# sourceMappingURL=mariadb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mariadb.js","sourceRoot":"","sources":["../../../src/operator/mariadb.ts"],"names":[],"mappings":"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"}
|