typekro 0.44.0 → 0.45.0
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/dist/core/kubernetes/bun-api-client.d.ts +0 -10
- package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -1
- package/dist/core/kubernetes/bun-api-client.js +77 -3
- package/dist/core/kubernetes/bun-api-client.js.map +1 -1
- package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
- package/dist/core/kubernetes/bun-http-library.js +5 -1
- package/dist/core/kubernetes/bun-http-library.js.map +1 -1
- package/dist/core/references/schema-proxy.d.ts +17 -0
- package/dist/core/references/schema-proxy.d.ts.map +1 -1
- package/dist/core/references/schema-proxy.js +53 -3
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +52 -20
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/types/serialization.d.ts +5 -2
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/factories/apisix/resources/helm.d.ts +2 -2
- package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
- package/dist/factories/apisix/resources/helm.js +7 -11
- package/dist/factories/apisix/resources/helm.js.map +1 -1
- package/dist/factories/aws-load-balancer-controller/compositions/bootstrap.d.ts +38 -0
- package/dist/factories/aws-load-balancer-controller/compositions/bootstrap.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/compositions/bootstrap.js +101 -0
- package/dist/factories/aws-load-balancer-controller/compositions/bootstrap.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/compositions/helm-repository.d.ts +10 -0
- package/dist/factories/aws-load-balancer-controller/compositions/helm-repository.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/compositions/helm-repository.js +25 -0
- package/dist/factories/aws-load-balancer-controller/compositions/helm-repository.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/compositions/index.d.ts +3 -0
- package/dist/factories/aws-load-balancer-controller/compositions/index.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/compositions/index.js +3 -0
- package/dist/factories/aws-load-balancer-controller/compositions/index.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/constants.d.ts +21 -0
- package/dist/factories/aws-load-balancer-controller/constants.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/constants.js +29 -0
- package/dist/factories/aws-load-balancer-controller/constants.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/index.d.ts +17 -0
- package/dist/factories/aws-load-balancer-controller/index.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/index.js +16 -0
- package/dist/factories/aws-load-balancer-controller/index.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/resources/elbv2.d.ts +45 -0
- package/dist/factories/aws-load-balancer-controller/resources/elbv2.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/resources/elbv2.js +148 -0
- package/dist/factories/aws-load-balancer-controller/resources/elbv2.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/resources/helm.d.ts +36 -0
- package/dist/factories/aws-load-balancer-controller/resources/helm.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/resources/helm.js +96 -0
- package/dist/factories/aws-load-balancer-controller/resources/helm.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/resources/index.d.ts +3 -0
- package/dist/factories/aws-load-balancer-controller/resources/index.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/resources/index.js +3 -0
- package/dist/factories/aws-load-balancer-controller/resources/index.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/types.d.ts +267 -0
- package/dist/factories/aws-load-balancer-controller/types.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/types.js +81 -0
- package/dist/factories/aws-load-balancer-controller/types.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/utils/helm-values-mapper.d.ts +27 -0
- package/dist/factories/aws-load-balancer-controller/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/utils/helm-values-mapper.js +171 -0
- package/dist/factories/aws-load-balancer-controller/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/aws-load-balancer-controller/utils/index.d.ts +2 -0
- package/dist/factories/aws-load-balancer-controller/utils/index.d.ts.map +1 -0
- package/dist/factories/aws-load-balancer-controller/utils/index.js +2 -0
- package/dist/factories/aws-load-balancer-controller/utils/index.js.map +1 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts +6 -4
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -1
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +22 -196
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -1
- package/dist/factories/cert-manager/resources/helm.d.ts.map +1 -1
- package/dist/factories/cert-manager/resources/helm.js +30 -51
- package/dist/factories/cert-manager/resources/helm.js.map +1 -1
- package/dist/factories/cert-manager/types.d.ts +54 -6
- package/dist/factories/cert-manager/types.d.ts.map +1 -1
- package/dist/factories/cert-manager/types.js +45 -12
- package/dist/factories/cert-manager/types.js.map +1 -1
- package/dist/factories/cert-manager/utils/helm-values-mapper.js +203 -76
- package/dist/factories/cert-manager/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/cilium/resources/helm.d.ts.map +1 -1
- package/dist/factories/cilium/resources/helm.js +23 -0
- package/dist/factories/cilium/resources/helm.js.map +1 -1
- package/dist/factories/cilium/types.d.ts +2 -1
- package/dist/factories/cilium/types.d.ts.map +1 -1
- package/dist/factories/cilium/types.js.map +1 -1
- package/dist/factories/clickhouse/resources/helm.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/helm.js +2 -1
- package/dist/factories/clickhouse/resources/helm.js.map +1 -1
- package/dist/factories/clickhouse/types.d.ts +2 -1
- package/dist/factories/clickhouse/types.d.ts.map +1 -1
- package/dist/factories/clickhouse/types.js.map +1 -1
- package/dist/factories/clickstack/resources/helm.d.ts.map +1 -1
- package/dist/factories/clickstack/resources/helm.js +3 -2
- package/dist/factories/clickstack/resources/helm.js.map +1 -1
- package/dist/factories/clickstack/types.d.ts +3 -3
- package/dist/factories/clickstack/types.d.ts.map +1 -1
- package/dist/factories/clickstack/types.js.map +1 -1
- package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/helm.js +2 -1
- package/dist/factories/cnpg/resources/helm.js.map +1 -1
- package/dist/factories/cnpg/types.d.ts +2 -1
- package/dist/factories/cnpg/types.d.ts.map +1 -1
- package/dist/factories/cnpg/types.js.map +1 -1
- package/dist/factories/crowdsec/compositions/crowdsec-bootstrap.d.ts +33 -0
- package/dist/factories/crowdsec/compositions/crowdsec-bootstrap.d.ts.map +1 -0
- package/dist/factories/crowdsec/compositions/crowdsec-bootstrap.js +174 -0
- package/dist/factories/crowdsec/compositions/crowdsec-bootstrap.js.map +1 -0
- package/dist/factories/crowdsec/compositions/crowdsec-helm-repository.d.ts +10 -0
- package/dist/factories/crowdsec/compositions/crowdsec-helm-repository.d.ts.map +1 -0
- package/dist/factories/crowdsec/compositions/crowdsec-helm-repository.js +25 -0
- package/dist/factories/crowdsec/compositions/crowdsec-helm-repository.js.map +1 -0
- package/dist/factories/crowdsec/compositions/index.d.ts +3 -0
- package/dist/factories/crowdsec/compositions/index.d.ts.map +1 -0
- package/dist/factories/crowdsec/compositions/index.js +3 -0
- package/dist/factories/crowdsec/compositions/index.js.map +1 -0
- package/dist/factories/crowdsec/constants.d.ts +38 -0
- package/dist/factories/crowdsec/constants.d.ts.map +1 -0
- package/dist/factories/crowdsec/constants.js +42 -0
- package/dist/factories/crowdsec/constants.js.map +1 -0
- package/dist/factories/crowdsec/index.d.ts +12 -0
- package/dist/factories/crowdsec/index.d.ts.map +1 -0
- package/dist/factories/crowdsec/index.js +12 -0
- package/dist/factories/crowdsec/index.js.map +1 -0
- package/dist/factories/crowdsec/resources/helm.d.ts +52 -0
- package/dist/factories/crowdsec/resources/helm.d.ts.map +1 -0
- package/dist/factories/crowdsec/resources/helm.js +78 -0
- package/dist/factories/crowdsec/resources/helm.js.map +1 -0
- package/dist/factories/crowdsec/resources/index.d.ts +2 -0
- package/dist/factories/crowdsec/resources/index.d.ts.map +1 -0
- package/dist/factories/crowdsec/resources/index.js +2 -0
- package/dist/factories/crowdsec/resources/index.js.map +1 -0
- package/dist/factories/crowdsec/types.d.ts +266 -0
- package/dist/factories/crowdsec/types.d.ts.map +1 -0
- package/dist/factories/crowdsec/types.js +43 -0
- package/dist/factories/crowdsec/types.js.map +1 -0
- package/dist/factories/crowdsec/utils/helm-values-mapper.d.ts +40 -0
- package/dist/factories/crowdsec/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/crowdsec/utils/helm-values-mapper.js +473 -0
- package/dist/factories/crowdsec/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/crowdsec/utils/index.d.ts +3 -0
- package/dist/factories/crowdsec/utils/index.d.ts.map +1 -0
- package/dist/factories/crowdsec/utils/index.js +3 -0
- package/dist/factories/crowdsec/utils/index.js.map +1 -0
- package/dist/factories/crowdsec/utils/net.js +68 -0
- package/dist/factories/crowdsec/utils/net.js.map +1 -0
- package/dist/factories/crowdsec/utils/traefik-bouncer.d.ts +48 -0
- package/dist/factories/crowdsec/utils/traefik-bouncer.d.ts.map +1 -0
- package/dist/factories/crowdsec/utils/traefik-bouncer.js +302 -0
- package/dist/factories/crowdsec/utils/traefik-bouncer.js.map +1 -0
- package/dist/factories/dagster/resources/helm.d.ts.map +1 -1
- package/dist/factories/dagster/resources/helm.js +2 -0
- package/dist/factories/dagster/resources/helm.js.map +1 -1
- package/dist/factories/dagster/types.d.ts +2 -2
- package/dist/factories/dagster/types.d.ts.map +1 -1
- package/dist/factories/dagster/types.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/resources/helm.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/resources/helm.js +17 -14
- package/dist/factories/envoy-ai-gateway/resources/helm.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/types.d.ts +2 -2
- package/dist/factories/envoy-ai-gateway/types.d.ts.map +1 -1
- package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
- package/dist/factories/external-dns/resources/helm.js +2 -0
- package/dist/factories/external-dns/resources/helm.js.map +1 -1
- package/dist/factories/external-dns/types.d.ts +2 -1
- package/dist/factories/external-dns/types.d.ts.map +1 -1
- package/dist/factories/external-dns/types.js.map +1 -1
- package/dist/factories/harbor/resources/helm.d.ts.map +1 -1
- package/dist/factories/harbor/resources/helm.js +11 -7
- package/dist/factories/harbor/resources/helm.js.map +1 -1
- package/dist/factories/harbor/types.d.ts +2 -1
- package/dist/factories/harbor/types.d.ts.map +1 -1
- package/dist/factories/harbor/types.js.map +1 -1
- package/dist/factories/hatchet/resources/helm.d.ts.map +1 -1
- package/dist/factories/hatchet/resources/helm.js +13 -10
- package/dist/factories/hatchet/resources/helm.js.map +1 -1
- package/dist/factories/hatchet/types.d.ts +2 -1
- package/dist/factories/hatchet/types.d.ts.map +1 -1
- package/dist/factories/hatchet/types.js.map +1 -1
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js +3 -31
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/index.d.ts +3 -1
- package/dist/factories/helm/index.d.ts.map +1 -1
- package/dist/factories/helm/index.js +1 -0
- package/dist/factories/helm/index.js.map +1 -1
- package/dist/factories/helm/lifecycle.d.ts +32 -0
- package/dist/factories/helm/lifecycle.d.ts.map +1 -0
- package/dist/factories/helm/lifecycle.js +165 -0
- package/dist/factories/helm/lifecycle.js.map +1 -0
- package/dist/factories/helm/types.d.ts +22 -0
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/inngest/resources/helm.d.ts.map +1 -1
- package/dist/factories/inngest/resources/helm.js +2 -0
- package/dist/factories/inngest/resources/helm.js.map +1 -1
- package/dist/factories/inngest/types.d.ts +2 -1
- package/dist/factories/inngest/types.d.ts.map +1 -1
- package/dist/factories/inngest/types.js.map +1 -1
- package/dist/factories/karpenter/compositions/index.d.ts +3 -0
- package/dist/factories/karpenter/compositions/index.d.ts.map +1 -0
- package/dist/factories/karpenter/compositions/index.js +3 -0
- package/dist/factories/karpenter/compositions/index.js.map +1 -0
- package/dist/factories/karpenter/compositions/karpenter-bootstrap.d.ts +34 -0
- package/dist/factories/karpenter/compositions/karpenter-bootstrap.d.ts.map +1 -0
- package/dist/factories/karpenter/compositions/karpenter-bootstrap.js +150 -0
- package/dist/factories/karpenter/compositions/karpenter-bootstrap.js.map +1 -0
- package/dist/factories/karpenter/compositions/karpenter-helm-repository.d.ts +10 -0
- package/dist/factories/karpenter/compositions/karpenter-helm-repository.d.ts.map +1 -0
- package/dist/factories/karpenter/compositions/karpenter-helm-repository.js +25 -0
- package/dist/factories/karpenter/compositions/karpenter-helm-repository.js.map +1 -0
- package/dist/factories/karpenter/constants.d.ts +67 -0
- package/dist/factories/karpenter/constants.d.ts.map +1 -0
- package/dist/factories/karpenter/constants.js +65 -0
- package/dist/factories/karpenter/constants.js.map +1 -0
- package/dist/factories/karpenter/index.d.ts +14 -0
- package/dist/factories/karpenter/index.d.ts.map +1 -0
- package/dist/factories/karpenter/index.js +14 -0
- package/dist/factories/karpenter/index.js.map +1 -0
- package/dist/factories/karpenter/resources/ec2-node-class.d.ts +26 -0
- package/dist/factories/karpenter/resources/ec2-node-class.d.ts.map +1 -0
- package/dist/factories/karpenter/resources/ec2-node-class.js +48 -0
- package/dist/factories/karpenter/resources/ec2-node-class.js.map +1 -0
- package/dist/factories/karpenter/resources/helm.d.ts +48 -0
- package/dist/factories/karpenter/resources/helm.d.ts.map +1 -0
- package/dist/factories/karpenter/resources/helm.js +117 -0
- package/dist/factories/karpenter/resources/helm.js.map +1 -0
- package/dist/factories/karpenter/resources/index.d.ts +5 -0
- package/dist/factories/karpenter/resources/index.d.ts.map +1 -0
- package/dist/factories/karpenter/resources/index.js +5 -0
- package/dist/factories/karpenter/resources/index.js.map +1 -0
- package/dist/factories/karpenter/resources/node-pool.d.ts +32 -0
- package/dist/factories/karpenter/resources/node-pool.d.ts.map +1 -0
- package/dist/factories/karpenter/resources/node-pool.js +80 -0
- package/dist/factories/karpenter/resources/node-pool.js.map +1 -0
- package/dist/factories/karpenter/resources/readiness.d.ts +21 -0
- package/dist/factories/karpenter/resources/readiness.d.ts.map +1 -0
- package/dist/factories/karpenter/resources/readiness.js +60 -0
- package/dist/factories/karpenter/resources/readiness.js.map +1 -0
- package/dist/factories/karpenter/types.d.ts +433 -0
- package/dist/factories/karpenter/types.d.ts.map +1 -0
- package/dist/factories/karpenter/types.js +59 -0
- package/dist/factories/karpenter/types.js.map +1 -0
- package/dist/factories/karpenter/utils/helm-values-mapper.d.ts +24 -0
- package/dist/factories/karpenter/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/karpenter/utils/helm-values-mapper.js +89 -0
- package/dist/factories/karpenter/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/karpenter/utils/index.d.ts +3 -0
- package/dist/factories/karpenter/utils/index.d.ts.map +1 -0
- package/dist/factories/karpenter/utils/index.js +3 -0
- package/dist/factories/karpenter/utils/index.js.map +1 -0
- package/dist/factories/karpenter/utils/validation.d.ts +42 -0
- package/dist/factories/karpenter/utils/validation.d.ts.map +1 -0
- package/dist/factories/karpenter/utils/validation.js +441 -0
- package/dist/factories/karpenter/utils/validation.js.map +1 -0
- package/dist/factories/keda/compositions/index.d.ts +3 -0
- package/dist/factories/keda/compositions/index.d.ts.map +1 -0
- package/dist/factories/keda/compositions/index.js +3 -0
- package/dist/factories/keda/compositions/index.js.map +1 -0
- package/dist/factories/keda/compositions/keda-bootstrap.d.ts +30 -0
- package/dist/factories/keda/compositions/keda-bootstrap.d.ts.map +1 -0
- package/dist/factories/keda/compositions/keda-bootstrap.js +102 -0
- package/dist/factories/keda/compositions/keda-bootstrap.js.map +1 -0
- package/dist/factories/keda/compositions/keda-helm-repository.d.ts +10 -0
- package/dist/factories/keda/compositions/keda-helm-repository.d.ts.map +1 -0
- package/dist/factories/keda/compositions/keda-helm-repository.js +25 -0
- package/dist/factories/keda/compositions/keda-helm-repository.js.map +1 -0
- package/dist/factories/keda/constants.d.ts +27 -0
- package/dist/factories/keda/constants.d.ts.map +1 -0
- package/dist/factories/keda/constants.js +27 -0
- package/dist/factories/keda/constants.js.map +1 -0
- package/dist/factories/keda/index.d.ts +14 -0
- package/dist/factories/keda/index.d.ts.map +1 -0
- package/dist/factories/keda/index.js +14 -0
- package/dist/factories/keda/index.js.map +1 -0
- package/dist/factories/keda/resources/helm.d.ts +26 -0
- package/dist/factories/keda/resources/helm.d.ts.map +1 -0
- package/dist/factories/keda/resources/helm.js +84 -0
- package/dist/factories/keda/resources/helm.js.map +1 -0
- package/dist/factories/keda/resources/index.d.ts +7 -0
- package/dist/factories/keda/resources/index.d.ts.map +1 -0
- package/dist/factories/keda/resources/index.js +7 -0
- package/dist/factories/keda/resources/index.js.map +1 -0
- package/dist/factories/keda/resources/readiness.d.ts +28 -0
- package/dist/factories/keda/resources/readiness.d.ts.map +1 -0
- package/dist/factories/keda/resources/readiness.js +70 -0
- package/dist/factories/keda/resources/readiness.js.map +1 -0
- package/dist/factories/keda/resources/scaled-job.d.ts +23 -0
- package/dist/factories/keda/resources/scaled-job.d.ts.map +1 -0
- package/dist/factories/keda/resources/scaled-job.js +43 -0
- package/dist/factories/keda/resources/scaled-job.js.map +1 -0
- package/dist/factories/keda/resources/scaled-object.d.ts +33 -0
- package/dist/factories/keda/resources/scaled-object.d.ts.map +1 -0
- package/dist/factories/keda/resources/scaled-object.js +78 -0
- package/dist/factories/keda/resources/scaled-object.js.map +1 -0
- package/dist/factories/keda/resources/trigger-authentication.d.ts +28 -0
- package/dist/factories/keda/resources/trigger-authentication.d.ts.map +1 -0
- package/dist/factories/keda/resources/trigger-authentication.js +52 -0
- package/dist/factories/keda/resources/trigger-authentication.js.map +1 -0
- package/dist/factories/keda/resources/triggers.d.ts +17 -0
- package/dist/factories/keda/resources/triggers.d.ts.map +1 -0
- package/dist/factories/keda/resources/triggers.js +21 -0
- package/dist/factories/keda/resources/triggers.js.map +1 -0
- package/dist/factories/keda/types.d.ts +580 -0
- package/dist/factories/keda/types.d.ts.map +1 -0
- package/dist/factories/keda/types.js +75 -0
- package/dist/factories/keda/types.js.map +1 -0
- package/dist/factories/keda/utils/helm-values-mapper.d.ts +21 -0
- package/dist/factories/keda/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/keda/utils/helm-values-mapper.js +130 -0
- package/dist/factories/keda/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/keda/utils/index.d.ts +3 -0
- package/dist/factories/keda/utils/index.d.ts.map +1 -0
- package/dist/factories/keda/utils/index.js +3 -0
- package/dist/factories/keda/utils/index.js.map +1 -0
- package/dist/factories/keda/utils/validation.d.ts +52 -0
- package/dist/factories/keda/utils/validation.d.ts.map +1 -0
- package/dist/factories/keda/utils/validation.js +482 -0
- package/dist/factories/keda/utils/validation.js.map +1 -0
- package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -1
- package/dist/factories/kubernetes/policy/limit-range.js +27 -1
- package/dist/factories/kubernetes/policy/limit-range.js.map +1 -1
- package/dist/factories/nats/resources/helm.d.ts +2 -2
- package/dist/factories/nats/resources/helm.d.ts.map +1 -1
- package/dist/factories/nats/resources/helm.js +2 -1
- package/dist/factories/nats/resources/helm.js.map +1 -1
- package/dist/factories/opensearch/resources/helm.d.ts.map +1 -1
- package/dist/factories/opensearch/resources/helm.js +2 -1
- package/dist/factories/opensearch/resources/helm.js.map +1 -1
- package/dist/factories/opensearch/types.d.ts +2 -1
- package/dist/factories/opensearch/types.d.ts.map +1 -1
- package/dist/factories/opensearch/types.js.map +1 -1
- package/dist/factories/ory/resources/helm.d.ts.map +1 -1
- package/dist/factories/ory/resources/helm.js +2 -0
- package/dist/factories/ory/resources/helm.js.map +1 -1
- package/dist/factories/ory/types.d.ts +2 -2
- package/dist/factories/ory/types.d.ts.map +1 -1
- package/dist/factories/ory/types.js.map +1 -1
- package/dist/factories/pebble/resources/helm.d.ts.map +1 -1
- package/dist/factories/pebble/resources/helm.js +2 -0
- package/dist/factories/pebble/resources/helm.js.map +1 -1
- package/dist/factories/pebble/types.d.ts +2 -1
- package/dist/factories/pebble/types.d.ts.map +1 -1
- package/dist/factories/pebble/types.js.map +1 -1
- package/dist/factories/rook/resources/helm.d.ts.map +1 -1
- package/dist/factories/rook/resources/helm.js +3 -2
- package/dist/factories/rook/resources/helm.js.map +1 -1
- package/dist/factories/rook/types.d.ts +2 -1
- package/dist/factories/rook/types.d.ts.map +1 -1
- package/dist/factories/rook/types.js.map +1 -1
- package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts +43 -36
- package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts.map +1 -1
- package/dist/factories/traefik/compositions/traefik-bootstrap.js +70 -38
- package/dist/factories/traefik/compositions/traefik-bootstrap.js.map +1 -1
- package/dist/factories/traefik/constants.d.ts +6 -0
- package/dist/factories/traefik/constants.d.ts.map +1 -1
- package/dist/factories/traefik/constants.js +6 -0
- package/dist/factories/traefik/constants.js.map +1 -1
- package/dist/factories/traefik/resources/common.d.ts +1 -1
- package/dist/factories/traefik/resources/common.js +1 -1
- package/dist/factories/traefik/resources/helm.d.ts.map +1 -1
- package/dist/factories/traefik/resources/helm.js +14 -9
- package/dist/factories/traefik/resources/helm.js.map +1 -1
- package/dist/factories/traefik/resources/middleware.d.ts +35 -1
- package/dist/factories/traefik/resources/middleware.d.ts.map +1 -1
- package/dist/factories/traefik/resources/middleware.js +71 -0
- package/dist/factories/traefik/resources/middleware.js.map +1 -1
- package/dist/factories/traefik/resources/tls.d.ts +22 -1
- package/dist/factories/traefik/resources/tls.d.ts.map +1 -1
- package/dist/factories/traefik/resources/tls.js +40 -0
- package/dist/factories/traefik/resources/tls.js.map +1 -1
- package/dist/factories/traefik/types.d.ts +176 -9
- package/dist/factories/traefik/types.d.ts.map +1 -1
- package/dist/factories/traefik/types.js +111 -2
- package/dist/factories/traefik/types.js.map +1 -1
- package/dist/factories/traefik/utils/access-log.d.ts +18 -0
- package/dist/factories/traefik/utils/access-log.d.ts.map +1 -0
- package/dist/factories/traefik/utils/access-log.js +98 -0
- package/dist/factories/traefik/utils/access-log.js.map +1 -0
- package/dist/factories/traefik/utils/aws-nlb.d.ts +55 -0
- package/dist/factories/traefik/utils/aws-nlb.d.ts.map +1 -0
- package/dist/factories/traefik/utils/aws-nlb.js +121 -0
- package/dist/factories/traefik/utils/aws-nlb.js.map +1 -0
- package/dist/factories/traefik/utils/helm-values-mapper.d.ts +30 -40
- package/dist/factories/traefik/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/traefik/utils/helm-values-mapper.js +308 -41
- package/dist/factories/traefik/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/traefik/utils/index.d.ts +5 -0
- package/dist/factories/traefik/utils/index.d.ts.map +1 -1
- package/dist/factories/traefik/utils/index.js +5 -0
- package/dist/factories/traefik/utils/index.js.map +1 -1
- package/dist/factories/traefik/utils/middleware-validation.d.ts +0 -17
- package/dist/factories/traefik/utils/middleware-validation.d.ts.map +1 -1
- package/dist/factories/traefik/utils/middleware-validation.js +15 -17
- package/dist/factories/traefik/utils/middleware-validation.js.map +1 -1
- package/dist/factories/traefik/utils/plugins.d.ts +38 -0
- package/dist/factories/traefik/utils/plugins.d.ts.map +1 -0
- package/dist/factories/traefik/utils/plugins.js +175 -0
- package/dist/factories/traefik/utils/plugins.js.map +1 -0
- package/dist/factories/traefik/utils/proxy-trust.d.ts +48 -0
- package/dist/factories/traefik/utils/proxy-trust.d.ts.map +1 -0
- package/dist/factories/traefik/utils/proxy-trust.js +514 -0
- package/dist/factories/traefik/utils/proxy-trust.js.map +1 -0
- package/dist/factories/traefik/utils/trusted-range.d.ts +29 -0
- package/dist/factories/traefik/utils/trusted-range.d.ts.map +1 -0
- package/dist/factories/traefik/utils/trusted-range.js +80 -0
- package/dist/factories/traefik/utils/trusted-range.js.map +1 -0
- package/dist/factories/valkey/resources/helm.d.ts.map +1 -1
- package/dist/factories/valkey/resources/helm.js +2 -1
- package/dist/factories/valkey/resources/helm.js.map +1 -1
- package/dist/factories/valkey/types.d.ts +2 -1
- package/dist/factories/valkey/types.d.ts.map +1 -1
- package/dist/factories/valkey/types.js.map +1 -1
- package/dist/factories/vpa/compositions/index.d.ts +3 -0
- package/dist/factories/vpa/compositions/index.d.ts.map +1 -0
- package/dist/factories/vpa/compositions/index.js +3 -0
- package/dist/factories/vpa/compositions/index.js.map +1 -0
- package/dist/factories/vpa/compositions/vpa-bootstrap.d.ts +30 -0
- package/dist/factories/vpa/compositions/vpa-bootstrap.d.ts.map +1 -0
- package/dist/factories/vpa/compositions/vpa-bootstrap.js +104 -0
- package/dist/factories/vpa/compositions/vpa-bootstrap.js.map +1 -0
- package/dist/factories/vpa/compositions/vpa-helm-repository.d.ts +10 -0
- package/dist/factories/vpa/compositions/vpa-helm-repository.d.ts.map +1 -0
- package/dist/factories/vpa/compositions/vpa-helm-repository.js +25 -0
- package/dist/factories/vpa/compositions/vpa-helm-repository.js.map +1 -0
- package/dist/factories/vpa/constants.d.ts +77 -0
- package/dist/factories/vpa/constants.d.ts.map +1 -0
- package/dist/factories/vpa/constants.js +67 -0
- package/dist/factories/vpa/constants.js.map +1 -0
- package/dist/factories/vpa/index.d.ts +14 -0
- package/dist/factories/vpa/index.d.ts.map +1 -0
- package/dist/factories/vpa/index.js +14 -0
- package/dist/factories/vpa/index.js.map +1 -0
- package/dist/factories/vpa/resources/helm.d.ts +28 -0
- package/dist/factories/vpa/resources/helm.d.ts.map +1 -0
- package/dist/factories/vpa/resources/helm.js +88 -0
- package/dist/factories/vpa/resources/helm.js.map +1 -0
- package/dist/factories/vpa/resources/index.d.ts +4 -0
- package/dist/factories/vpa/resources/index.d.ts.map +1 -0
- package/dist/factories/vpa/resources/index.js +4 -0
- package/dist/factories/vpa/resources/index.js.map +1 -0
- package/dist/factories/vpa/resources/readiness.d.ts +24 -0
- package/dist/factories/vpa/resources/readiness.d.ts.map +1 -0
- package/dist/factories/vpa/resources/readiness.js +66 -0
- package/dist/factories/vpa/resources/readiness.js.map +1 -0
- package/dist/factories/vpa/resources/vertical-pod-autoscaler.d.ts +42 -0
- package/dist/factories/vpa/resources/vertical-pod-autoscaler.d.ts.map +1 -0
- package/dist/factories/vpa/resources/vertical-pod-autoscaler.js +93 -0
- package/dist/factories/vpa/resources/vertical-pod-autoscaler.js.map +1 -0
- package/dist/factories/vpa/types.d.ts +312 -0
- package/dist/factories/vpa/types.d.ts.map +1 -0
- package/dist/factories/vpa/types.js +96 -0
- package/dist/factories/vpa/types.js.map +1 -0
- package/dist/factories/vpa/utils/helm-values-mapper.d.ts +18 -0
- package/dist/factories/vpa/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/vpa/utils/helm-values-mapper.js +121 -0
- package/dist/factories/vpa/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/vpa/utils/index.d.ts +3 -0
- package/dist/factories/vpa/utils/index.d.ts.map +1 -0
- package/dist/factories/vpa/utils/index.js +3 -0
- package/dist/factories/vpa/utils/index.js.map +1 -0
- package/dist/factories/vpa/utils/validation.d.ts +42 -0
- package/dist/factories/vpa/utils/validation.d.ts.map +1 -0
- package/dist/factories/vpa/utils/validation.js +225 -0
- package/dist/factories/vpa/utils/validation.js.map +1 -0
- package/package.json +21 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trusted-range.js","sourceRoot":"","sources":["../../../../src/factories/traefik/utils/trusted-range.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEvF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAElE,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,CAAC,0BAA0B,CAAC,GAC7C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAcpD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,CAAC,uBAAuB,CAAC,GAC1C,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAyB9C"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
|
|
12
12
|
import { createHelmRepositoryReadinessEvaluator, helmRepository, } from '../../helm/helm-repository.js';
|
|
13
|
+
import { helmReleaseLifecycle } from '../../helm/lifecycle.js';
|
|
13
14
|
import { createLabeledHelmReleaseEvaluator } from '../../helm/readiness-evaluators.js';
|
|
14
15
|
import { helmRelease } from '../../helm/helm-release.js';
|
|
15
16
|
/** Default OCI registry URL for the Hyperspike charts. */
|
|
@@ -76,7 +77,7 @@ export function valkeyHelmRelease(config) {
|
|
|
76
77
|
namespace: config.repositoryNamespace ?? DEFAULT_FLUX_NAMESPACE,
|
|
77
78
|
kind: 'HelmRepository',
|
|
78
79
|
},
|
|
79
|
-
driftDetection: { mode: 'enabled' },
|
|
80
|
+
...helmReleaseLifecycle(config, { driftDetection: { mode: 'enabled' } }),
|
|
80
81
|
values: config.values ?? {},
|
|
81
82
|
...(config.id && { id: config.id }),
|
|
82
83
|
}).withReadinessEvaluator(createLabeledHelmReleaseEvaluator('Valkey'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EACL,sCAAsC,EACtC,cAAc,GAGf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAEtD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA8C;IAE9C,MAAM,IAAI,GAAG,cAAc,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,wBAAwB;QAC7C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,sBAAsB;QACrD,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,uBAAuB;QAC1C,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CAAC,sCAAsC,CAAC,QAAQ,CAAC,CAGzE,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA2C;IAE3C,sEAAsE;IAEtE,4EAA4E;IAC5E,oFAAoF;IACpF,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,wBAAwB;QACvD,KAAK,EAAE;YACL,UAAU,EAAE,MAAM,CAAC,aAAa,IAAI,uBAAuB;YAC3D,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,sBAAsB;SAClD;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC,cAAc,IAAI,wBAAwB;YACvD,SAAS,EAAE,MAAM,CAAC,mBAAmB,IAAI,sBAAsB;YAC/D,IAAI,EAAE,gBAAgB;SACvB;QACD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EACL,sCAAsC,EACtC,cAAc,GAGf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAEtD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA8C;IAE9C,MAAM,IAAI,GAAG,cAAc,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,wBAAwB;QAC7C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,sBAAsB;QACrD,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,uBAAuB;QAC1C,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CAAC,sCAAsC,CAAC,QAAQ,CAAC,CAGzE,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA2C;IAE3C,sEAAsE;IAEtE,4EAA4E;IAC5E,oFAAoF;IACpF,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,wBAAwB;QACvD,KAAK,EAAE;YACL,UAAU,EAAE,MAAM,CAAC,aAAa,IAAI,uBAAuB;YAC3D,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,sBAAsB;SAClD;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC,cAAc,IAAI,wBAAwB;YACvD,SAAS,EAAE,MAAM,CAAC,mBAAmB,IAAI,sBAAsB;YAC/D,IAAI,EAAE,gBAAgB;SACvB;QACD,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QACxE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAGpE,CAAC;AACJ,CAAC"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* @see https://doc.crds.dev/github.com/hyperspike/valkey-operator
|
|
11
11
|
*/
|
|
12
12
|
import type { TypeKroChartValue } from '../../core/types/common.js';
|
|
13
|
+
import type { HelmReleaseLifecycleOptions } from '../helm/types.js';
|
|
13
14
|
/**
|
|
14
15
|
* ArkType schema for the Valkey operator bootstrap configuration.
|
|
15
16
|
*
|
|
@@ -192,7 +193,7 @@ export declare const ValkeyHelmReleaseConfigSchema: import("arktype/internal/var
|
|
|
192
193
|
id?: string;
|
|
193
194
|
}, {}>;
|
|
194
195
|
/** Configuration for the Valkey operator Helm release. */
|
|
195
|
-
export type ValkeyHelmReleaseConfig = Omit<typeof ValkeyHelmReleaseConfigSchema.infer, 'values'> & {
|
|
196
|
+
export type ValkeyHelmReleaseConfig = Omit<typeof ValkeyHelmReleaseConfigSchema.infer, 'values'> & HelmReleaseLifecycleOptions & {
|
|
196
197
|
/** Graph-aware Helm values serialized recursively by TypeKro. */
|
|
197
198
|
values?: TypeKroChartValue<Record<string, unknown>>;
|
|
198
199
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/valkey/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAyBpE;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;MAiBtC,CAAC;AAEH,4EAA4E;AAC5E,MAAM,MAAM,qBAAqB,GAAG,OAAO,2BAA2B,CAAC,KAAK,CAAC;AAM7E;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6G7B,CAAC;AAEH,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,KAAK,CAAC;AAM3D,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;IACzC,+DAA+D;IAC/D,KAAK,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gDAAgD;AAChD,eAAO,MAAM,2BAA2B;;;;;MAKtC,CAAC;AAMH,mEAAmE;AACnE,eAAO,MAAM,uCAAuC;;;;MAIlD,CAAC;AAEH,qEAAqE;AACrE,eAAO,MAAM,yCAAyC;;MAEpD,CAAC;AAMH,kFAAkF;AAClF,eAAO,MAAM,gCAAgC;;;;;;MAW3C,CAAC;AAEH,mEAAmE;AACnE,MAAM,MAAM,0BAA0B,GAAG,OAAO,gCAAgC,CAAC,KAAK,CAAC;AAEvF,yEAAyE;AACzE,eAAO,MAAM,6BAA6B;;;;;;;;;MAexC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/valkey/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAyBpE;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;MAiBtC,CAAC;AAEH,4EAA4E;AAC5E,MAAM,MAAM,qBAAqB,GAAG,OAAO,2BAA2B,CAAC,KAAK,CAAC;AAM7E;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6G7B,CAAC;AAEH,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,KAAK,CAAC;AAM3D,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;IACzC,+DAA+D;IAC/D,KAAK,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gDAAgD;AAChD,eAAO,MAAM,2BAA2B;;;;;MAKtC,CAAC;AAMH,mEAAmE;AACnE,eAAO,MAAM,uCAAuC;;;;MAIlD,CAAC;AAEH,qEAAqE;AACrE,eAAO,MAAM,yCAAyC;;MAEpD,CAAC;AAMH,kFAAkF;AAClF,eAAO,MAAM,gCAAgC;;;;;;MAW3C,CAAC;AAEH,mEAAmE;AACnE,MAAM,MAAM,0BAA0B,GAAG,OAAO,gCAAgC,CAAC,KAAK,CAAC;AAEvF,yEAAyE;AACzE,eAAO,MAAM,6BAA6B;;;;;;;;;MAexC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,GAC9F,2BAA2B,GAAG;IAC5B,iEAAiE;IACjE,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/valkey/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/valkey/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/vpa/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/vpa/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { CallableComposition } from '../../../core/types/deployment.js';
|
|
2
|
+
import { type VpaBootstrapBuildOptions, type VpaBootstrapConfig, type VpaBootstrapStatus } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build a VPA bootstrap composition.
|
|
5
|
+
*
|
|
6
|
+
* @param options - Build-time options. Must be concrete values.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const vpa = makeVpaBootstrap({ namespaceOwnership: 'owned' });
|
|
11
|
+
* await vpa.factory('direct', { namespace: 'flux-system', waitForReady: true }).deploy({ name: 'vpa' });
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function makeVpaBootstrap(options?: VpaBootstrapBuildOptions): CallableComposition<VpaBootstrapConfig, VpaBootstrapStatus>;
|
|
15
|
+
/**
|
|
16
|
+
* The default VPA bootstrap: all three components in the `vpa` namespace,
|
|
17
|
+
* which Flux creates.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // Recommend only: no evictions, no webhook.
|
|
22
|
+
* await vpaBootstrap.factory('kro', { namespace: 'flux-system' }).deploy({
|
|
23
|
+
* name: 'vpa',
|
|
24
|
+
* updater: { enabled: false },
|
|
25
|
+
* admissionController: { enabled: false },
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare const vpaBootstrap: CallableComposition<VpaBootstrapConfig, VpaBootstrapStatus>;
|
|
30
|
+
//# sourceMappingURL=vpa-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpa-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/vpa/compositions/vpa-bootstrap.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAU7E,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAC;AAcrB;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,wBAA6B,GACrC,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CA0D7D;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,EAAE,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CACjE,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
// `vpaBootstrap`: installs the Vertical Pod Autoscaler with Flux from the
|
|
2
|
+
// Fairwinds `vpa` chart. The shared `HelmRepository` is owned by a singleton.
|
|
3
|
+
//
|
|
4
|
+
// The three components are switched on the runtime spec, since a switch only
|
|
5
|
+
// changes chart values. A recommend-only install disables the updater and the
|
|
6
|
+
// admission controller.
|
|
7
|
+
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
8
|
+
import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
|
|
9
|
+
import { Cel } from '../../../core/references/cel.js';
|
|
10
|
+
import { singleton } from '../../../core/singleton/singleton.js';
|
|
11
|
+
import { helmReleaseConditionSummary } from '../../helm/status.js';
|
|
12
|
+
import { namespace } from '../../kubernetes/core/namespace.js';
|
|
13
|
+
import { DEFAULT_VPA_CHART_VERSION, DEFAULT_VPA_NAMESPACE, DEFAULT_VPA_REPOSITORY_NAME, DEFAULT_VPA_REPOSITORY_URL, } from '../constants.js';
|
|
14
|
+
import { vpaHelmRelease } from '../resources/helm.js';
|
|
15
|
+
import { VpaBootstrapConfigSchema, VpaBootstrapStatusSchema, } from '../types.js';
|
|
16
|
+
import { mapVpaConfigToHelmValues } from '../utils/helm-values-mapper.js';
|
|
17
|
+
import { validateVpaBootstrapConfig, warnVpaIssues } from '../utils/validation.js';
|
|
18
|
+
import { vpaHelmRepositoryBootstrap } from './vpa-helm-repository.js';
|
|
19
|
+
// The chart version Flux installed, newest history entry first. A lazy ternary
|
|
20
|
+
// and `filter` rather than `has(history[0].x)`, so both KRO's cel-go and the
|
|
21
|
+
// direct-mode cel-js accept it; '' until Flux records a release.
|
|
22
|
+
function chartVersionExpression(resourceId) {
|
|
23
|
+
const history = `${resourceId}.status.history`;
|
|
24
|
+
const matching = `${history}.filter(entry, has(entry.chartVersion))`;
|
|
25
|
+
return `has(${history}) ? (size(${matching}) > 0 ? ${matching}[0].chartVersion : "") : ""`;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Build a VPA bootstrap composition.
|
|
29
|
+
*
|
|
30
|
+
* @param options - Build-time options. Must be concrete values.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const vpa = makeVpaBootstrap({ namespaceOwnership: 'owned' });
|
|
35
|
+
* await vpa.factory('direct', { namespace: 'flux-system', waitForReady: true }).deploy({ name: 'vpa' });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function makeVpaBootstrap(options = {}) {
|
|
39
|
+
const ownsNamespace = options.namespaceOwnership === 'owned';
|
|
40
|
+
return kubernetesComposition({
|
|
41
|
+
name: options.name ?? 'vpa-bootstrap',
|
|
42
|
+
kind: options.kind ?? 'VpaBootstrap',
|
|
43
|
+
spec: VpaBootstrapConfigSchema,
|
|
44
|
+
status: VpaBootstrapStatusSchema,
|
|
45
|
+
}, (spec) => {
|
|
46
|
+
warnVpaIssues('vpaBootstrap', validateVpaBootstrapConfig(spec));
|
|
47
|
+
const installNamespace = Cel.default(spec.namespace, DEFAULT_VPA_NAMESPACE);
|
|
48
|
+
if (ownsNamespace) {
|
|
49
|
+
namespace({
|
|
50
|
+
metadata: {
|
|
51
|
+
name: installNamespace,
|
|
52
|
+
labels: {
|
|
53
|
+
'app.kubernetes.io/name': 'vpa',
|
|
54
|
+
'app.kubernetes.io/instance': spec.name,
|
|
55
|
+
'app.kubernetes.io/managed-by': 'typekro',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
id: 'vpaNamespace',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
singleton(vpaHelmRepositoryBootstrap, {
|
|
62
|
+
id: 'vpaHelmRepository',
|
|
63
|
+
spec: {
|
|
64
|
+
name: DEFAULT_VPA_REPOSITORY_NAME,
|
|
65
|
+
namespace: DEFAULT_FLUX_NAMESPACE,
|
|
66
|
+
url: DEFAULT_VPA_REPOSITORY_URL,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
const release = vpaHelmRelease({
|
|
70
|
+
name: spec.name,
|
|
71
|
+
namespace: DEFAULT_FLUX_NAMESPACE,
|
|
72
|
+
targetNamespace: installNamespace,
|
|
73
|
+
version: Cel.default(spec.version, DEFAULT_VPA_CHART_VERSION),
|
|
74
|
+
repositoryName: DEFAULT_VPA_REPOSITORY_NAME,
|
|
75
|
+
repositoryNamespace: DEFAULT_FLUX_NAMESPACE,
|
|
76
|
+
createNamespace: !ownsNamespace,
|
|
77
|
+
...(options.install ? { install: options.install } : {}),
|
|
78
|
+
...(options.upgrade ? { upgrade: options.upgrade } : {}),
|
|
79
|
+
...(options.driftDetection ? { driftDetection: options.driftDetection } : {}),
|
|
80
|
+
values: mapVpaConfigToHelmValues(spec, options.values),
|
|
81
|
+
id: 'vpaHelmRelease',
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
...helmReleaseConditionSummary(release),
|
|
85
|
+
version: Cel.expr(chartVersionExpression('vpaHelmRelease')),
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The default VPA bootstrap: all three components in the `vpa` namespace,
|
|
91
|
+
* which Flux creates.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* // Recommend only: no evictions, no webhook.
|
|
96
|
+
* await vpaBootstrap.factory('kro', { namespace: 'flux-system' }).deploy({
|
|
97
|
+
* name: 'vpa',
|
|
98
|
+
* updater: { enabled: false },
|
|
99
|
+
* admissionController: { enabled: false },
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export const vpaBootstrap = makeVpaBootstrap();
|
|
104
|
+
//# sourceMappingURL=vpa-bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpa-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/vpa/compositions/vpa-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CallableComposition } from '../../../core/types/deployment.js';
|
|
2
|
+
import { type VpaHelmRepositorySingletonSpec } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Shared owner of the Fairwinds `HelmRepository`, kept outside every install
|
|
5
|
+
* so one teardown cannot remove the source another release uses.
|
|
6
|
+
*/
|
|
7
|
+
export declare const vpaHelmRepositoryBootstrap: CallableComposition<VpaHelmRepositorySingletonSpec, {
|
|
8
|
+
ready: boolean;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=vpa-helm-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpa-helm-repository.d.ts","sourceRoot":"","sources":["../../../../src/factories/vpa/compositions/vpa-helm-repository.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,EACL,KAAK,8BAA8B,EAGpC,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,CAC1D,8BAA8B,EAC9B;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAsBnB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
2
|
+
import { Cel } from '../../../core/references/cel.js';
|
|
3
|
+
import { vpaHelmRepository } from '../resources/helm.js';
|
|
4
|
+
import { VpaHelmRepositorySingletonSpecSchema, VpaHelmRepositorySingletonStatusSchema, } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Shared owner of the Fairwinds `HelmRepository`, kept outside every install
|
|
7
|
+
* so one teardown cannot remove the source another release uses.
|
|
8
|
+
*/
|
|
9
|
+
export const vpaHelmRepositoryBootstrap = kubernetesComposition({
|
|
10
|
+
name: 'vpa-helm-repository',
|
|
11
|
+
kind: 'VpaHelmRepository',
|
|
12
|
+
spec: VpaHelmRepositorySingletonSpecSchema,
|
|
13
|
+
status: VpaHelmRepositorySingletonStatusSchema,
|
|
14
|
+
}, (spec) => {
|
|
15
|
+
const repository = vpaHelmRepository({
|
|
16
|
+
name: spec.name,
|
|
17
|
+
namespace: spec.namespace,
|
|
18
|
+
url: spec.url,
|
|
19
|
+
id: 'repository',
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
ready: Cel.expr(repository.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")'),
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=vpa-helm-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpa-helm-repository.js","sourceRoot":"","sources":["../../../../src/factories/vpa/compositions/vpa-helm-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAEL,oCAAoC,EACpC,sCAAsC,GACvC,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAGnC,qBAAqB,CACvB;IACE,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,oCAAoC;IAC1C,MAAM,EAAE,sCAAsC;CAC/C,EACD,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,UAAU,GAAG,iBAAiB,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,EAAE,EAAE,YAAY;KACjB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,IAAI,CACb,UAAU,CAAC,MAAM,CAAC,UAAU,EAC5B,qDAAqD,CACtD;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/** API group/version of `VerticalPodAutoscaler`. */
|
|
2
|
+
export declare const VPA_API_VERSION = "autoscaling.k8s.io/v1";
|
|
3
|
+
/** Pinned Fairwinds `vpa` chart version (VPA 1.7.1). */
|
|
4
|
+
export declare const DEFAULT_VPA_CHART_VERSION = "5.1.0";
|
|
5
|
+
/** Chart name in the Fairwinds repository. */
|
|
6
|
+
export declare const VPA_CHART_NAME = "vpa";
|
|
7
|
+
/** Fairwinds stable chart repository. */
|
|
8
|
+
export declare const DEFAULT_VPA_REPOSITORY_URL = "https://charts.fairwinds.com/stable";
|
|
9
|
+
/** `HelmRepository` name owned by the shared singleton composition. */
|
|
10
|
+
export declare const DEFAULT_VPA_REPOSITORY_NAME = "fairwinds-stable";
|
|
11
|
+
/** Install namespace, as in the chart's install instructions. */
|
|
12
|
+
export declare const DEFAULT_VPA_NAMESPACE = "vpa";
|
|
13
|
+
/**
|
|
14
|
+
* Default component resources: the chart's own requests, restated so the
|
|
15
|
+
* rendered values show them. Helm merges a partial override with these.
|
|
16
|
+
*/
|
|
17
|
+
export declare const VPA_DEFAULT_RESOURCES: {
|
|
18
|
+
readonly recommender: {
|
|
19
|
+
readonly requests: {
|
|
20
|
+
readonly cpu: "50m";
|
|
21
|
+
readonly memory: "500Mi";
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
readonly updater: {
|
|
25
|
+
readonly requests: {
|
|
26
|
+
readonly cpu: "50m";
|
|
27
|
+
readonly memory: "500Mi";
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
readonly admissionController: {
|
|
31
|
+
readonly requests: {
|
|
32
|
+
readonly cpu: "50m";
|
|
33
|
+
readonly memory: "200Mi";
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Recommender flag defaults: the chart's values for the minimum pod
|
|
39
|
+
* recommendation, upstream's for the rest.
|
|
40
|
+
*
|
|
41
|
+
* @see https://github.com/kubernetes/autoscaler/blob/vertical-pod-autoscaler-1.7.1/vertical-pod-autoscaler/docs/flags.md
|
|
42
|
+
*/
|
|
43
|
+
export declare const VPA_DEFAULT_RECOMMENDER_FLAGS: {
|
|
44
|
+
readonly podRecommendationMinCpuMillicores: 15;
|
|
45
|
+
readonly podRecommendationMinMemoryMb: 100;
|
|
46
|
+
readonly targetCpuPercentile: 0.9;
|
|
47
|
+
readonly targetMemoryPercentile: 0.9;
|
|
48
|
+
readonly recommendationMarginFraction: 0.15;
|
|
49
|
+
readonly cpuHistogramDecayHalfLife: "24h";
|
|
50
|
+
readonly memoryHistogramDecayHalfLife: "24h";
|
|
51
|
+
readonly memoryAggregationInterval: "24h";
|
|
52
|
+
readonly memoryAggregationIntervalCount: 8;
|
|
53
|
+
readonly storage: "checkpoint";
|
|
54
|
+
readonly historyLength: "8d";
|
|
55
|
+
readonly prometheusAddress: "http://prometheus.monitoring.svc";
|
|
56
|
+
readonly recommenderName: "default";
|
|
57
|
+
};
|
|
58
|
+
/** Updater flag defaults (upstream). */
|
|
59
|
+
export declare const VPA_DEFAULT_UPDATER_FLAGS: {
|
|
60
|
+
readonly minReplicas: 2;
|
|
61
|
+
readonly evictionTolerance: 0.5;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* `tlsSecretKeys` for a cert-manager `Certificate` Secret: maps `ca.crt`,
|
|
65
|
+
* `tls.crt` and `tls.key` onto the file names the admission controller reads.
|
|
66
|
+
*/
|
|
67
|
+
export declare const VPA_CERT_MANAGER_TLS_SECRET_KEYS: readonly [{
|
|
68
|
+
readonly key: "ca.crt";
|
|
69
|
+
readonly path: "caCert.pem";
|
|
70
|
+
}, {
|
|
71
|
+
readonly key: "tls.crt";
|
|
72
|
+
readonly path: "serverCert.pem";
|
|
73
|
+
}, {
|
|
74
|
+
readonly key: "tls.key";
|
|
75
|
+
readonly path: "serverKey.pem";
|
|
76
|
+
}];
|
|
77
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/factories/vpa/constants.ts"],"names":[],"mappings":"AAcA,oDAAoD;AACpD,eAAO,MAAM,eAAe,0BAA0B,CAAC;AAEvD,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,UAAU,CAAC;AACjD,8CAA8C;AAC9C,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,yCAAyC;AACzC,eAAO,MAAM,0BAA0B,wCAAwC,CAAC;AAChF,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAC9D,iEAAiE;AACjE,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;CAIxB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;CAchC,CAAC;AAEX,wCAAwC;AACxC,eAAO,MAAM,yBAAyB;;;CAAsD,CAAC;AAE7F;;;GAGG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;EAInC,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// Vertical Pod Autoscaler factory constants.
|
|
2
|
+
//
|
|
3
|
+
// Verified against the Fairwinds `vpa` chart 5.1.0 (appVersion `1.7.1`) from
|
|
4
|
+
// https://charts.fairwinds.com/stable. That chart is the long-standing
|
|
5
|
+
// community chart; the kubernetes/autoscaler `vertical-pod-autoscaler` chart
|
|
6
|
+
// (0.13.0) still describes itself as not ready for production use.
|
|
7
|
+
//
|
|
8
|
+
// Bumping the chart: re-check VPA_DEFAULT_RECOMMENDER_FLAGS and
|
|
9
|
+
// VPA_DEFAULT_UPDATER_FLAGS against the new VPA version's docs/flags.md and
|
|
10
|
+
// the chart's default `extraArgs`, since every flag is rendered explicitly.
|
|
11
|
+
//
|
|
12
|
+
// @see https://github.com/FairwindsOps/charts/tree/master/stable/vpa
|
|
13
|
+
// @see https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
|
|
14
|
+
/** API group/version of `VerticalPodAutoscaler`. */
|
|
15
|
+
export const VPA_API_VERSION = 'autoscaling.k8s.io/v1';
|
|
16
|
+
/** Pinned Fairwinds `vpa` chart version (VPA 1.7.1). */
|
|
17
|
+
export const DEFAULT_VPA_CHART_VERSION = '5.1.0';
|
|
18
|
+
/** Chart name in the Fairwinds repository. */
|
|
19
|
+
export const VPA_CHART_NAME = 'vpa';
|
|
20
|
+
/** Fairwinds stable chart repository. */
|
|
21
|
+
export const DEFAULT_VPA_REPOSITORY_URL = 'https://charts.fairwinds.com/stable';
|
|
22
|
+
/** `HelmRepository` name owned by the shared singleton composition. */
|
|
23
|
+
export const DEFAULT_VPA_REPOSITORY_NAME = 'fairwinds-stable';
|
|
24
|
+
/** Install namespace, as in the chart's install instructions. */
|
|
25
|
+
export const DEFAULT_VPA_NAMESPACE = 'vpa';
|
|
26
|
+
/**
|
|
27
|
+
* Default component resources: the chart's own requests, restated so the
|
|
28
|
+
* rendered values show them. Helm merges a partial override with these.
|
|
29
|
+
*/
|
|
30
|
+
export const VPA_DEFAULT_RESOURCES = {
|
|
31
|
+
recommender: { requests: { cpu: '50m', memory: '500Mi' } },
|
|
32
|
+
updater: { requests: { cpu: '50m', memory: '500Mi' } },
|
|
33
|
+
admissionController: { requests: { cpu: '50m', memory: '200Mi' } },
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Recommender flag defaults: the chart's values for the minimum pod
|
|
37
|
+
* recommendation, upstream's for the rest.
|
|
38
|
+
*
|
|
39
|
+
* @see https://github.com/kubernetes/autoscaler/blob/vertical-pod-autoscaler-1.7.1/vertical-pod-autoscaler/docs/flags.md
|
|
40
|
+
*/
|
|
41
|
+
export const VPA_DEFAULT_RECOMMENDER_FLAGS = {
|
|
42
|
+
podRecommendationMinCpuMillicores: 15,
|
|
43
|
+
podRecommendationMinMemoryMb: 100,
|
|
44
|
+
targetCpuPercentile: 0.9,
|
|
45
|
+
targetMemoryPercentile: 0.9,
|
|
46
|
+
recommendationMarginFraction: 0.15,
|
|
47
|
+
cpuHistogramDecayHalfLife: '24h',
|
|
48
|
+
memoryHistogramDecayHalfLife: '24h',
|
|
49
|
+
memoryAggregationInterval: '24h',
|
|
50
|
+
memoryAggregationIntervalCount: 8,
|
|
51
|
+
storage: 'checkpoint',
|
|
52
|
+
historyLength: '8d',
|
|
53
|
+
prometheusAddress: 'http://prometheus.monitoring.svc',
|
|
54
|
+
recommenderName: 'default',
|
|
55
|
+
};
|
|
56
|
+
/** Updater flag defaults (upstream). */
|
|
57
|
+
export const VPA_DEFAULT_UPDATER_FLAGS = { minReplicas: 2, evictionTolerance: 0.5 };
|
|
58
|
+
/**
|
|
59
|
+
* `tlsSecretKeys` for a cert-manager `Certificate` Secret: maps `ca.crt`,
|
|
60
|
+
* `tls.crt` and `tls.key` onto the file names the admission controller reads.
|
|
61
|
+
*/
|
|
62
|
+
export const VPA_CERT_MANAGER_TLS_SECRET_KEYS = [
|
|
63
|
+
{ key: 'ca.crt', path: 'caCert.pem' },
|
|
64
|
+
{ key: 'tls.crt', path: 'serverCert.pem' },
|
|
65
|
+
{ key: 'tls.key', path: 'serverKey.pem' },
|
|
66
|
+
];
|
|
67
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/factories/vpa/constants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,6EAA6E;AAC7E,uEAAuE;AACvE,6EAA6E;AAC7E,mEAAmE;AACnE,EAAE;AACF,gEAAgE;AAChE,4EAA4E;AAC5E,4EAA4E;AAC5E,EAAE;AACF,qEAAqE;AACrE,oFAAoF;AAEpF,oDAAoD;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEvD,wDAAwD;AACxD,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAC;AACjD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AACpC,yCAAyC;AACzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,qCAAqC,CAAC;AAChF,uEAAuE;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAC9D,iEAAiE;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IACtD,mBAAmB,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;CAC1D,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,iCAAiC,EAAE,EAAE;IACrC,4BAA4B,EAAE,GAAG;IACjC,mBAAmB,EAAE,GAAG;IACxB,sBAAsB,EAAE,GAAG;IAC3B,4BAA4B,EAAE,IAAI;IAClC,yBAAyB,EAAE,KAAK;IAChC,4BAA4B,EAAE,KAAK;IACnC,yBAAyB,EAAE,KAAK;IAChC,8BAA8B,EAAE,CAAC;IACjC,OAAO,EAAE,YAAY;IACrB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,kCAAkC;IACrD,eAAe,EAAE,SAAS;CAClB,CAAC;AAEX,wCAAwC;AACxC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAW,CAAC;AAE7F;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE;IACrC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC1C,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;CACjC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vertical Pod Autoscaler: a Flux bootstrap for the recommender, updater and
|
|
3
|
+
* admission controller, plus a typed `VerticalPodAutoscaler`
|
|
4
|
+
* (`autoscaling.k8s.io/v1`) factory.
|
|
5
|
+
*
|
|
6
|
+
* @see docs/api/vpa/index.md
|
|
7
|
+
* @see https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
|
|
8
|
+
*/
|
|
9
|
+
export * from './compositions/index.js';
|
|
10
|
+
export * from './constants.js';
|
|
11
|
+
export * from './resources/index.js';
|
|
12
|
+
export * from './types.js';
|
|
13
|
+
export * from './utils/index.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/vpa/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vertical Pod Autoscaler: a Flux bootstrap for the recommender, updater and
|
|
3
|
+
* admission controller, plus a typed `VerticalPodAutoscaler`
|
|
4
|
+
* (`autoscaling.k8s.io/v1`) factory.
|
|
5
|
+
*
|
|
6
|
+
* @see docs/api/vpa/index.md
|
|
7
|
+
* @see https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
|
|
8
|
+
*/
|
|
9
|
+
export * from './compositions/index.js';
|
|
10
|
+
export * from './constants.js';
|
|
11
|
+
export * from './resources/index.js';
|
|
12
|
+
export * from './types.js';
|
|
13
|
+
export * from './utils/index.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/vpa/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Composable, Enhanced, ReadinessEvaluator } from '../../../core/types/index.js';
|
|
2
|
+
import { type HelmRepositorySpec, type HelmRepositoryStatus } from '../../helm/helm-repository.js';
|
|
3
|
+
import type { HelmReleaseSpec, HelmReleaseStatus } from '../../helm/types.js';
|
|
4
|
+
import type { VpaHelmReleaseConfig, VpaHelmRepositoryConfig } from '../types.js';
|
|
5
|
+
/** VPA `HelmRelease` readiness (the shared Flux evaluator). */
|
|
6
|
+
export declare const vpaHelmReleaseReadinessEvaluator: ReadinessEvaluator<unknown>;
|
|
7
|
+
/**
|
|
8
|
+
* Create the Flux `HelmRepository` for the Fairwinds stable charts.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* vpaHelmRepository({ id: 'vpaRepository' });
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function vpaHelmRepository(config?: Composable<VpaHelmRepositoryConfig>): Enhanced<HelmRepositorySpec, HelmRepositoryStatus>;
|
|
16
|
+
/**
|
|
17
|
+
* Create the `HelmRelease` for the Fairwinds `vpa` chart.
|
|
18
|
+
*
|
|
19
|
+
* The chart ships its CRDs in `crds/`, which Helm alone never upgrades; Flux
|
|
20
|
+
* creates and replaces them on install and on every upgrade (`CreateReplace`).
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* vpaHelmRelease({ name: 'vpa', values: { updater: { enabled: false } }, id: 'vpaRelease' });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function vpaHelmRelease(config: Composable<VpaHelmReleaseConfig>): Enhanced<HelmReleaseSpec, HelmReleaseStatus>;
|
|
28
|
+
//# sourceMappingURL=helm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/vpa/resources/helm.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAS9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEjF,+DAA+D;AAC/D,eAAO,MAAM,gCAAgC,EAAE,kBAAkB,CAAC,OAAO,CAC/B,CAAC;AAE3C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,GAAE,UAAU,CAAC,uBAAuB,CAAM,GAC/C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAcpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,CAAC,oBAAoB,CAAC,GACvC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CA0C9C"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Vertical Pod Autoscaler Helm resources: the shared Fairwinds `HelmRepository`
|
|
2
|
+
// and the `vpa` `HelmRelease`.
|
|
3
|
+
import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
|
|
4
|
+
import { createHelmRepositoryReadinessEvaluator, } from '../../helm/helm-repository.js';
|
|
5
|
+
import { helmReleaseLifecycle } from '../../helm/lifecycle.js';
|
|
6
|
+
import { createLabeledHelmReleaseEvaluator } from '../../helm/readiness-evaluators.js';
|
|
7
|
+
import { createResource } from '../../shared.js';
|
|
8
|
+
import { DEFAULT_VPA_CHART_VERSION, DEFAULT_VPA_NAMESPACE, DEFAULT_VPA_REPOSITORY_NAME, DEFAULT_VPA_REPOSITORY_URL, VPA_CHART_NAME, } from '../constants.js';
|
|
9
|
+
/** VPA `HelmRelease` readiness (the shared Flux evaluator). */
|
|
10
|
+
export const vpaHelmReleaseReadinessEvaluator = createLabeledHelmReleaseEvaluator('VPA');
|
|
11
|
+
/**
|
|
12
|
+
* Create the Flux `HelmRepository` for the Fairwinds stable charts.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* vpaHelmRepository({ id: 'vpaRepository' });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export function vpaHelmRepository(config = {}) {
|
|
20
|
+
return createResource({
|
|
21
|
+
...(config.id ? { id: config.id } : {}),
|
|
22
|
+
apiVersion: 'source.toolkit.fluxcd.io/v1',
|
|
23
|
+
kind: 'HelmRepository',
|
|
24
|
+
metadata: {
|
|
25
|
+
name: config.name ?? DEFAULT_VPA_REPOSITORY_NAME,
|
|
26
|
+
namespace: config.namespace ?? DEFAULT_FLUX_NAMESPACE,
|
|
27
|
+
},
|
|
28
|
+
spec: {
|
|
29
|
+
url: config.url ?? DEFAULT_VPA_REPOSITORY_URL,
|
|
30
|
+
interval: config.interval ?? '1h',
|
|
31
|
+
},
|
|
32
|
+
}).withReadinessEvaluator(createHelmRepositoryReadinessEvaluator('VPA'));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create the `HelmRelease` for the Fairwinds `vpa` chart.
|
|
36
|
+
*
|
|
37
|
+
* The chart ships its CRDs in `crds/`, which Helm alone never upgrades; Flux
|
|
38
|
+
* creates and replaces them on install and on every upgrade (`CreateReplace`).
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* vpaHelmRelease({ name: 'vpa', values: { updater: { enabled: false } }, id: 'vpaRelease' });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export function vpaHelmRelease(config) {
|
|
46
|
+
const namespace = config.namespace ?? DEFAULT_FLUX_NAMESPACE;
|
|
47
|
+
return createResource({
|
|
48
|
+
...(config.id ? { id: config.id } : {}),
|
|
49
|
+
apiVersion: 'helm.toolkit.fluxcd.io/v2',
|
|
50
|
+
kind: 'HelmRelease',
|
|
51
|
+
metadata: { name: config.name, namespace },
|
|
52
|
+
spec: {
|
|
53
|
+
interval: '10m',
|
|
54
|
+
timeout: '10m',
|
|
55
|
+
chart: {
|
|
56
|
+
spec: {
|
|
57
|
+
chart: VPA_CHART_NAME,
|
|
58
|
+
version: config.version ?? DEFAULT_VPA_CHART_VERSION,
|
|
59
|
+
sourceRef: {
|
|
60
|
+
kind: 'HelmRepository',
|
|
61
|
+
name: config.repositoryName ?? DEFAULT_VPA_REPOSITORY_NAME,
|
|
62
|
+
namespace: config.repositoryNamespace ?? namespace,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
targetNamespace: config.targetNamespace ?? DEFAULT_VPA_NAMESPACE,
|
|
67
|
+
// Pinned so Flux does not compose `<targetNamespace>-<name>`.
|
|
68
|
+
releaseName: config.name,
|
|
69
|
+
// The VPA policy, through the shared lifecycle helper: caller `install`,
|
|
70
|
+
// `upgrade` and `driftDetection` override it field by field. Install and
|
|
71
|
+
// upgrade take their timeout from `spec.timeout`.
|
|
72
|
+
...helmReleaseLifecycle(config, {
|
|
73
|
+
install: {
|
|
74
|
+
createNamespace: config.createNamespace ?? false,
|
|
75
|
+
crds: 'CreateReplace',
|
|
76
|
+
remediation: { retries: 3 },
|
|
77
|
+
},
|
|
78
|
+
upgrade: {
|
|
79
|
+
crds: 'CreateReplace',
|
|
80
|
+
remediation: { retries: 3, remediateLastFailure: true, strategy: 'rollback' },
|
|
81
|
+
},
|
|
82
|
+
driftDetection: { mode: 'enabled' },
|
|
83
|
+
}),
|
|
84
|
+
...(config.values ? { values: config.values } : {}),
|
|
85
|
+
},
|
|
86
|
+
}).withReadinessEvaluator(vpaHelmReleaseReadinessEvaluator);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=helm.js.map
|