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":"helm.js","sourceRoot":"","sources":["../../../../src/factories/crowdsec/resources/helm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/crowdsec/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/crowdsec/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrowdSec types: the bootstrap's runtime spec and status (ArkType), its
|
|
3
|
+
* build-time options, and the Traefik bouncer configuration.
|
|
4
|
+
*/
|
|
5
|
+
import type { V1Affinity, V1EnvVar, V1Toleration, V1TopologySpreadConstraint } from '@kubernetes/client-node';
|
|
6
|
+
import { type Type } from 'arktype';
|
|
7
|
+
import type { HelmReleaseLifecycleOptions } from '../helm/types.js';
|
|
8
|
+
/** Container requests (required, so no pod is BestEffort) and optional limits. */
|
|
9
|
+
export interface CrowdsecResources {
|
|
10
|
+
requests: {
|
|
11
|
+
cpu: string;
|
|
12
|
+
memory: string;
|
|
13
|
+
};
|
|
14
|
+
limits?: {
|
|
15
|
+
cpu?: string;
|
|
16
|
+
memory?: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/** Runtime spec of the CrowdSec bootstrap. Every field may be a schema reference. */
|
|
20
|
+
export interface CrowdsecBootstrapConfig {
|
|
21
|
+
/** Helm release name; also prefixes every chart resource. */
|
|
22
|
+
name: string;
|
|
23
|
+
/** @default 'crowdsec' */
|
|
24
|
+
namespace?: string;
|
|
25
|
+
/** @default DEFAULT_CROWDSEC_CHART_VERSION */
|
|
26
|
+
chartVersion?: string;
|
|
27
|
+
lapi?: {
|
|
28
|
+
resources?: CrowdsecResources;
|
|
29
|
+
};
|
|
30
|
+
agent?: {
|
|
31
|
+
resources?: CrowdsecResources;
|
|
32
|
+
};
|
|
33
|
+
/** Only used when the build options enable AppSec. */
|
|
34
|
+
appsec?: {
|
|
35
|
+
replicas?: number;
|
|
36
|
+
resources?: CrowdsecResources;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/** Status of the CrowdSec bootstrap. Every field is a projection of the owned release. */
|
|
40
|
+
export interface CrowdsecBootstrapStatus {
|
|
41
|
+
ready: boolean;
|
|
42
|
+
failed: boolean;
|
|
43
|
+
phase: 'Ready' | 'Installing' | 'Failed';
|
|
44
|
+
/** `host:port` of the LAPI Service, for the bouncer middleware. */
|
|
45
|
+
lapiHost: string;
|
|
46
|
+
/** `host:port` of the AppSec Service, or `''` when AppSec is off. */
|
|
47
|
+
appsecHost: string;
|
|
48
|
+
/** Chart version Flux installed, `''` until the first release. */
|
|
49
|
+
version: string;
|
|
50
|
+
}
|
|
51
|
+
/** ArkType schema of {@link CrowdsecBootstrapConfig}. */
|
|
52
|
+
export declare const CrowdsecBootstrapConfigSchema: Type<CrowdsecBootstrapConfig>;
|
|
53
|
+
/** ArkType schema of {@link CrowdsecBootstrapStatus}. */
|
|
54
|
+
export declare const CrowdsecBootstrapStatusSchema: Type<CrowdsecBootstrapStatus>;
|
|
55
|
+
/** Spec of the shared `HelmRepository` singleton. */
|
|
56
|
+
export interface CrowdsecHelmRepositorySpec {
|
|
57
|
+
name: string;
|
|
58
|
+
namespace: string;
|
|
59
|
+
url: string;
|
|
60
|
+
}
|
|
61
|
+
/** ArkType schema of {@link CrowdsecHelmRepositorySpec}. */
|
|
62
|
+
export declare const CrowdsecHelmRepositorySpecSchema: Type<CrowdsecHelmRepositorySpec>;
|
|
63
|
+
/** ArkType schema of the singleton's status. */
|
|
64
|
+
export declare const CrowdsecHelmRepositoryStatusSchema: Type<{
|
|
65
|
+
ready: boolean;
|
|
66
|
+
}>;
|
|
67
|
+
/** A key of a Secret in the CrowdSec namespace. */
|
|
68
|
+
export interface CrowdsecSecretKeyRef {
|
|
69
|
+
readonly name: string;
|
|
70
|
+
readonly key: string;
|
|
71
|
+
}
|
|
72
|
+
/** Scheduling for one CrowdSec component. */
|
|
73
|
+
export interface CrowdsecPlacement {
|
|
74
|
+
readonly nodeSelector?: Readonly<Record<string, string>>;
|
|
75
|
+
readonly tolerations?: readonly V1Toleration[];
|
|
76
|
+
readonly affinity?: V1Affinity;
|
|
77
|
+
/** Defaults to a soft spread across nodes for LAPI and AppSec. */
|
|
78
|
+
readonly topologySpreadConstraints?: readonly V1TopologySpreadConstraint[];
|
|
79
|
+
readonly priorityClassName?: string;
|
|
80
|
+
}
|
|
81
|
+
/** LAPI storage: SQLite on a PVC (one replica) or an existing Postgres. */
|
|
82
|
+
export type CrowdsecStorage = {
|
|
83
|
+
readonly type: 'sqlite';
|
|
84
|
+
readonly size?: string;
|
|
85
|
+
readonly storageClassName?: string;
|
|
86
|
+
} | {
|
|
87
|
+
readonly type: 'postgres';
|
|
88
|
+
readonly host: string;
|
|
89
|
+
/** @default 5432 */
|
|
90
|
+
readonly port?: number;
|
|
91
|
+
readonly database: string;
|
|
92
|
+
readonly user: string;
|
|
93
|
+
readonly passwordSecretRef: CrowdsecSecretKeyRef;
|
|
94
|
+
/** @default 'require' */
|
|
95
|
+
readonly sslMode?: 'disable' | 'require' | 'verify-ca' | 'verify-full';
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Pods whose logs the agents read: a namespace and a pod-name glob, matched
|
|
99
|
+
* against node-local container log files by every agent in the DaemonSet.
|
|
100
|
+
* @see docs/api/crowdsec/index.md for why label selectors are not offered.
|
|
101
|
+
*/
|
|
102
|
+
export interface CrowdsecAcquisition {
|
|
103
|
+
readonly namespace: string;
|
|
104
|
+
/** Glob over pod names, e.g. `traefik-*`. */
|
|
105
|
+
readonly podName: string;
|
|
106
|
+
/** Parser program. @default 'traefik' */
|
|
107
|
+
readonly program?: string;
|
|
108
|
+
}
|
|
109
|
+
/** An AppSec rule to switch off, everywhere or under one path prefix. */
|
|
110
|
+
export interface CrowdsecAppsecExclusion {
|
|
111
|
+
readonly ruleId?: number;
|
|
112
|
+
readonly ruleName?: string;
|
|
113
|
+
readonly ruleTag?: string;
|
|
114
|
+
/** @default 'both' */
|
|
115
|
+
readonly phase?: 'inband' | 'outofband' | 'both';
|
|
116
|
+
/** Only exclude for request paths starting with this prefix. */
|
|
117
|
+
readonly pathPrefix?: string;
|
|
118
|
+
}
|
|
119
|
+
/** The AppSec (WAF) component. Present means enabled. */
|
|
120
|
+
export interface CrowdsecAppsecOptions {
|
|
121
|
+
/** In-band virtual patching (`crowdsecurity/appsec-default`). @default true */
|
|
122
|
+
readonly virtualPatching?: boolean;
|
|
123
|
+
/** Out-of-band OWASP CRS (`crowdsecurity/crs`). @default true */
|
|
124
|
+
readonly crs?: boolean;
|
|
125
|
+
/** Largest body AppSec inspects, in bytes. @default 10485760 */
|
|
126
|
+
readonly maxBodySize?: number;
|
|
127
|
+
/** What happens to a larger body. @default 'partial' */
|
|
128
|
+
readonly bodySizeExceededAction?: 'drop' | 'partial' | 'allow';
|
|
129
|
+
/** In-band remediation. Defaults to `'allow'` under global simulation, else `'ban'`. */
|
|
130
|
+
readonly inBandRemediation?: 'ban' | 'allow';
|
|
131
|
+
readonly exclusions?: readonly CrowdsecAppsecExclusion[];
|
|
132
|
+
readonly pdb?: boolean;
|
|
133
|
+
readonly placement?: CrowdsecPlacement;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Simulation: everything simulated except `enforce`, or nothing simulated
|
|
137
|
+
* except `simulate`. Both render as CrowdSec's `exclusions`.
|
|
138
|
+
*/
|
|
139
|
+
export type CrowdsecSimulation = {
|
|
140
|
+
readonly global: true;
|
|
141
|
+
readonly enforce?: readonly string[];
|
|
142
|
+
} | {
|
|
143
|
+
readonly global: false;
|
|
144
|
+
readonly simulate?: readonly string[];
|
|
145
|
+
};
|
|
146
|
+
/** Ingress allowed to LAPI (`:8080`) and AppSec (`:7422`). */
|
|
147
|
+
export interface CrowdsecNetworkPolicyOptions {
|
|
148
|
+
/** Namespace of the Traefik pods running the bouncer. */
|
|
149
|
+
readonly traefikNamespace: string;
|
|
150
|
+
/** Namespace allowed to scrape `:6060`. @default any namespace */
|
|
151
|
+
readonly metricsNamespace?: string;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Build-time options of {@link makeCrowdsecBootstrap}.
|
|
155
|
+
*
|
|
156
|
+
* `install`, `upgrade` and `driftDetection` are the Flux lifecycle options
|
|
157
|
+
* every TypeKro HelmRelease factory takes. They override the release's
|
|
158
|
+
* defaults field by field.
|
|
159
|
+
*/
|
|
160
|
+
export interface CrowdsecBootstrapOptions extends HelmReleaseLifecycleOptions {
|
|
161
|
+
/** @default 'crowdsec-bootstrap' */
|
|
162
|
+
readonly name?: string;
|
|
163
|
+
/** @default 'CrowdsecBootstrap' */
|
|
164
|
+
readonly kind?: string;
|
|
165
|
+
/** @default 'owned' */
|
|
166
|
+
readonly namespaceOwnership?: 'owned' | 'external';
|
|
167
|
+
/** @default { type: 'sqlite', size: '1Gi' } */
|
|
168
|
+
readonly storage?: CrowdsecStorage;
|
|
169
|
+
readonly lapi?: {
|
|
170
|
+
/** More than one needs Postgres. @default 1 */
|
|
171
|
+
readonly replicas?: number;
|
|
172
|
+
/** @default true */
|
|
173
|
+
readonly pdb?: boolean;
|
|
174
|
+
readonly placement?: CrowdsecPlacement;
|
|
175
|
+
/** Pod CIDRs allowed to auto-register agents. @default the RFC 1918 ranges */
|
|
176
|
+
readonly autoRegistrationRanges?: readonly string[];
|
|
177
|
+
/** Extra LAPI env, appended after the env this factory sets. */
|
|
178
|
+
readonly env?: readonly V1EnvVar[];
|
|
179
|
+
};
|
|
180
|
+
readonly agent?: {
|
|
181
|
+
/** @default 'containerd' */
|
|
182
|
+
readonly containerRuntime?: 'containerd' | 'docker';
|
|
183
|
+
readonly placement?: CrowdsecPlacement;
|
|
184
|
+
/** Extra agent env, e.g. `DISABLE_PARSERS`, after `COLLECTIONS`. */
|
|
185
|
+
readonly env?: readonly V1EnvVar[];
|
|
186
|
+
};
|
|
187
|
+
/** @default [{ namespace: 'traefik', podName: 'traefik-*' }] */
|
|
188
|
+
readonly acquisitions?: readonly CrowdsecAcquisition[];
|
|
189
|
+
/** Hub collections installed on top of {@link DEFAULT_CROWDSEC_COLLECTIONS}. */
|
|
190
|
+
readonly collections?: readonly string[];
|
|
191
|
+
/** Central API. Absent means LAPI runs offline. */
|
|
192
|
+
readonly centralApi?: {
|
|
193
|
+
/** Register with CAPI and pull the community blocklist. */
|
|
194
|
+
readonly communityBlocklist: boolean;
|
|
195
|
+
readonly enrollment?: {
|
|
196
|
+
readonly keySecretRef: CrowdsecSecretKeyRef;
|
|
197
|
+
readonly instanceName?: string;
|
|
198
|
+
readonly tags?: readonly string[];
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
/** Bouncers registered as `BOUNCER_KEY_<name>`. */
|
|
202
|
+
readonly bouncers?: readonly {
|
|
203
|
+
readonly name: string;
|
|
204
|
+
readonly keySecretRef: CrowdsecSecretKeyRef;
|
|
205
|
+
}[];
|
|
206
|
+
/** IPs and CIDRs that never trigger a decision. */
|
|
207
|
+
readonly allowlist?: {
|
|
208
|
+
readonly ips?: readonly string[];
|
|
209
|
+
readonly cidrs?: readonly string[];
|
|
210
|
+
readonly reason?: string;
|
|
211
|
+
};
|
|
212
|
+
/** Simulated scenarios alert but do not remediate. */
|
|
213
|
+
readonly simulation?: CrowdsecSimulation;
|
|
214
|
+
/** NetworkPolicies for LAPI and AppSec ingress. Absent means none. */
|
|
215
|
+
readonly networkPolicy?: CrowdsecNetworkPolicyOptions;
|
|
216
|
+
readonly appsec?: CrowdsecAppsecOptions;
|
|
217
|
+
/** Prometheus Operator objects. Metrics are always served on port 6060. */
|
|
218
|
+
readonly metrics?: {
|
|
219
|
+
readonly serviceMonitor?: boolean;
|
|
220
|
+
readonly podMonitor?: boolean;
|
|
221
|
+
};
|
|
222
|
+
/** Raw chart values, merged first; everything this factory sets wins. */
|
|
223
|
+
readonly values?: Readonly<Record<string, unknown>>;
|
|
224
|
+
}
|
|
225
|
+
/** One entry of Traefik's `experimental.plugins`. */
|
|
226
|
+
export interface CrowdsecTraefikPluginDeclaration {
|
|
227
|
+
moduleName: string;
|
|
228
|
+
version: string;
|
|
229
|
+
/** SHA-256 of the plugin archive, as Traefik verifies it. */
|
|
230
|
+
hash: string;
|
|
231
|
+
}
|
|
232
|
+
/** Options of {@link crowdsecBouncerMiddleware}. */
|
|
233
|
+
export interface CrowdsecBouncerMiddlewareOptions {
|
|
234
|
+
/** LAPI `host:port`, e.g. the bootstrap's `status.lapiHost`. */
|
|
235
|
+
readonly lapiHost: string;
|
|
236
|
+
/** Secret in the Middleware's namespace holding this bouncer's key. */
|
|
237
|
+
readonly apiKeySecret?: CrowdsecSecretKeyRef;
|
|
238
|
+
/** Path of the key in the Traefik pods, instead of `apiKeySecret`. */
|
|
239
|
+
readonly apiKeyFile?: string;
|
|
240
|
+
/** AppSec `host:port`. Omit to skip the WAF. */
|
|
241
|
+
readonly appsecHost?: string;
|
|
242
|
+
/** Let traffic through when LAPI or AppSec is unreachable. @default true */
|
|
243
|
+
readonly failOpen?: boolean;
|
|
244
|
+
/** Failed pulls tolerated before fail-closed blocks traffic. @default 4 */
|
|
245
|
+
readonly failClosedAfter?: number;
|
|
246
|
+
/**
|
|
247
|
+
* Key of the plugin in `experimental.plugins`: a letter, then letters, digits, `_` or `-`.
|
|
248
|
+
* @default 'crowdsec'
|
|
249
|
+
*/
|
|
250
|
+
readonly pluginName?: string;
|
|
251
|
+
/** Seconds between decision pulls. @default 15 */
|
|
252
|
+
readonly updateIntervalSeconds?: number;
|
|
253
|
+
/** Proxies in front of Traefik whose `X-Forwarded-For` is trusted. */
|
|
254
|
+
readonly forwardedHeadersTrustedIps?: readonly string[];
|
|
255
|
+
/** Clients that bypass the bouncer and AppSec. */
|
|
256
|
+
readonly clientTrustedIps?: readonly string[];
|
|
257
|
+
/** Bytes of body sent to AppSec; match `appsec.maxBodySize`. @default 10485760 */
|
|
258
|
+
readonly appsecBodyLimit?: number;
|
|
259
|
+
/** @default 'INFO' */
|
|
260
|
+
readonly logLevel?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
|
|
261
|
+
}
|
|
262
|
+
/** A Traefik `Middleware.spec` that runs the bouncer plugin. */
|
|
263
|
+
export interface CrowdsecBouncerMiddlewareSpec {
|
|
264
|
+
plugin: Record<string, Record<string, unknown>>;
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/crowdsec/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAIpE,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,qFAAqF;AACrF,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACzC,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAC1C,sDAAsD;IACtD,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;CAC/D;AAED,0FAA0F;AAC1F,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;IACzC,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,yDAAyD;AACzD,eAAO,MAAM,6BAA6B,EAAE,IAAI,CAAC,uBAAuB,CAOtE,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,6BAA6B,EAAE,IAAI,CAAC,uBAAuB,CAOtE,CAAC;AAEH,qDAAqD;AACrD,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,4DAA4D;AAC5D,eAAO,MAAM,gCAAgC,EAAE,IAAI,CAAC,0BAA0B,CAI5E,CAAC;AAEH,gDAAgD;AAChD,eAAO,MAAM,kCAAkC,EAAE,IAAI,CAAC;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAEtE,CAAC;AAIH,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC3E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GACvF;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IACjD,yBAAyB;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;CACxE,CAAC;AAEN;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,yEAAyE;AACzE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IACjD,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAC/D,wFAAwF;IACxF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAEtE,8DAA8D;AAC9D,MAAM,WAAW,4BAA4B;IAC3C,yDAAyD;IACzD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IAC3E,oCAAoC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACnD,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,+CAA+C;QAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,oBAAoB;QACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;QACvC,8EAA8E;QAC9E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACpD,gEAAgE;QAChE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;KACpC,CAAC;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,4BAA4B;QAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;QACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;QACvC,oEAAoE;QACpE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;KACpC,CAAC;IACF,gEAAgE;IAChE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvD,gFAAgF;IAChF,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,mDAAmD;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,2DAA2D;QAC3D,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;QACrC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;YAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;SACnC,CAAC;KACH,CAAC;IACF,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS;QAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;KAC7C,EAAE,CAAC;IACJ,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,sDAAsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IACzC,sEAAsE;IACtE,QAAQ,CAAC,aAAa,CAAC,EAAE,4BAA4B,CAAC;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxF,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD;AAID,qDAAqD;AACrD,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,oDAAoD;AACpD,MAAM,WAAW,gCAAgC;IAC/C,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAC7C,sEAAsE;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,sEAAsE;IACtE,QAAQ,CAAC,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxD,kDAAkD;IAClD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,kFAAkF;IAClF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,sBAAsB;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACzD;AAED,gEAAgE;AAChE,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrowdSec types: the bootstrap's runtime spec and status (ArkType), its
|
|
3
|
+
* build-time options, and the Traefik bouncer configuration.
|
|
4
|
+
*/
|
|
5
|
+
import { type } from 'arktype';
|
|
6
|
+
// The longest name the 0.24.2 chart renders from the release name is the LAPI
|
|
7
|
+
// volume `<name>-lapi-cscli-credentials-volume` (+30). Volume names are DNS-1123
|
|
8
|
+
// labels of at most 63 characters, so the release name is capped at 33.
|
|
9
|
+
const releaseName = type(/^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?$/).and('string <= 33');
|
|
10
|
+
const dnsLabel = type(/^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?$/).and('string <= 63');
|
|
11
|
+
const resources = type({
|
|
12
|
+
requests: { cpu: 'string > 0', memory: 'string > 0' },
|
|
13
|
+
'limits?': { 'cpu?': 'string > 0', 'memory?': 'string > 0' },
|
|
14
|
+
});
|
|
15
|
+
/** ArkType schema of {@link CrowdsecBootstrapConfig}. */
|
|
16
|
+
export const CrowdsecBootstrapConfigSchema = type({
|
|
17
|
+
name: releaseName,
|
|
18
|
+
'namespace?': dnsLabel,
|
|
19
|
+
'chartVersion?': 'string > 0',
|
|
20
|
+
'lapi?': { 'resources?': resources },
|
|
21
|
+
'agent?': { 'resources?': resources },
|
|
22
|
+
'appsec?': { 'replicas?': 'number.integer >= 1', 'resources?': resources },
|
|
23
|
+
});
|
|
24
|
+
/** ArkType schema of {@link CrowdsecBootstrapStatus}. */
|
|
25
|
+
export const CrowdsecBootstrapStatusSchema = type({
|
|
26
|
+
ready: 'boolean',
|
|
27
|
+
failed: 'boolean',
|
|
28
|
+
phase: '"Ready" | "Installing" | "Failed"',
|
|
29
|
+
lapiHost: 'string',
|
|
30
|
+
appsecHost: 'string',
|
|
31
|
+
version: 'string',
|
|
32
|
+
});
|
|
33
|
+
/** ArkType schema of {@link CrowdsecHelmRepositorySpec}. */
|
|
34
|
+
export const CrowdsecHelmRepositorySpecSchema = type({
|
|
35
|
+
name: dnsLabel,
|
|
36
|
+
namespace: dnsLabel,
|
|
37
|
+
url: 'string > 0',
|
|
38
|
+
});
|
|
39
|
+
/** ArkType schema of the singleton's status. */
|
|
40
|
+
export const CrowdsecHelmRepositoryStatusSchema = type({
|
|
41
|
+
ready: 'boolean',
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/crowdsec/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAa,IAAI,EAAE,MAAM,SAAS,CAAC;AAsC1C,8EAA8E;AAC9E,iFAAiF;AACjF,wEAAwE;AACxE,MAAM,WAAW,GAAG,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC/E,MAAM,SAAS,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE;IACrD,SAAS,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE;CAC7D,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,6BAA6B,GAAkC,IAAI,CAAC;IAC/E,IAAI,EAAE,WAAW;IACjB,YAAY,EAAE,QAAQ;IACtB,eAAe,EAAE,YAAY;IAC7B,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE;IACpC,QAAQ,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE;IACrC,SAAS,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE;CAC3E,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,6BAA6B,GAAkC,IAAI,CAAC;IAC/E,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,mCAAmC;IAC1C,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,QAAQ;CAClB,CAAC,CAAC;AASH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gCAAgC,GAAqC,IAAI,CAAC;IACrF,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,QAAQ;IACnB,GAAG,EAAE,YAAY;CAClB,CAAC,CAAC;AAEH,gDAAgD;AAChD,MAAM,CAAC,MAAM,kCAAkC,GAA6B,IAAI,CAAC;IAC/E,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrowdSec Helm values mapping for the official `crowdsec` chart 0.24.2.
|
|
3
|
+
*
|
|
4
|
+
* The detection policy (acquisitions, collections, allowlist, simulation,
|
|
5
|
+
* AppSec) is rendered into CrowdSec config FILES, so it comes from the
|
|
6
|
+
* build-time options and is always concrete. The runtime spec only supplies
|
|
7
|
+
* values that land in the tree as-is (names, resources, replicas), which may be
|
|
8
|
+
* schema references in KRO mode and are never branched on here.
|
|
9
|
+
*/
|
|
10
|
+
import type { CrowdsecAcquisition, CrowdsecBootstrapConfig, CrowdsecBootstrapOptions } from '../types.js';
|
|
11
|
+
/** Default acquisition: the pods `traefikBootstrap` creates with its defaults. */
|
|
12
|
+
export declare const DEFAULT_CROWDSEC_ACQUISITIONS: readonly CrowdsecAcquisition[];
|
|
13
|
+
/** File names this factory writes into the chart's config maps. */
|
|
14
|
+
export declare const CROWDSEC_GENERATED_FILES: {
|
|
15
|
+
readonly allowlist: "typekro-allowlist.yaml";
|
|
16
|
+
readonly appsecPolicy: "typekro-appsec-policy.yaml";
|
|
17
|
+
};
|
|
18
|
+
/** Name of the AppSec config holding the body limit and the exclusions. */
|
|
19
|
+
export declare const CROWDSEC_APPSEC_POLICY_NAME = "typekro/appsec-policy";
|
|
20
|
+
/**
|
|
21
|
+
* Throw on option combinations the chart would accept but CrowdSec would run
|
|
22
|
+
* wrongly, or not at all.
|
|
23
|
+
*
|
|
24
|
+
* @throws {TypeKroError} `CROWDSEC_INVALID_OPTIONS`
|
|
25
|
+
*/
|
|
26
|
+
export declare function assertCrowdsecBootstrapOptions(options: CrowdsecBootstrapOptions): void;
|
|
27
|
+
/** The parser (and postoverflow) whitelist this factory renders, or `undefined`. */
|
|
28
|
+
export declare function renderCrowdsecAllowlist(allowlist: CrowdsecBootstrapOptions['allowlist']): string | undefined;
|
|
29
|
+
/** `simulation.yaml`, or `''` when simulation is not configured. */
|
|
30
|
+
export declare function renderCrowdsecSimulation(simulation: CrowdsecBootstrapOptions['simulation']): string;
|
|
31
|
+
/** The AppSec config carrying the body limit and the rule exclusions. */
|
|
32
|
+
export declare function renderCrowdsecAppsecPolicy(options: CrowdsecBootstrapOptions): string;
|
|
33
|
+
/**
|
|
34
|
+
* Map the runtime spec and the build options to chart values.
|
|
35
|
+
*
|
|
36
|
+
* `options.values` is merged first; the mapped values win, and the network
|
|
37
|
+
* pins (no LAPI Ingress, ClusterIP Services only) are applied last.
|
|
38
|
+
*/
|
|
39
|
+
export declare function mapCrowdsecConfigToHelmValues(spec: CrowdsecBootstrapConfig, options?: CrowdsecBootstrapOptions): Record<string, unknown>;
|
|
40
|
+
//# sourceMappingURL=helm-values-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm-values-mapper.d.ts","sourceRoot":"","sources":["../../../../src/factories/crowdsec/utils/helm-values-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,KAAK,EACV,mBAAmB,EAEnB,uBAAuB,EACvB,wBAAwB,EAGzB,MAAM,aAAa,CAAC;AA2BrB,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,EAAE,SAAS,mBAAmB,EAEvE,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,wBAAwB;;;CAG3B,CAAC;AAEX,2EAA2E;AAC3E,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAsCnE;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CA0FtF;AAuDD,oFAAoF;AACpF,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,GAC/C,MAAM,GAAG,SAAS,CAapB;AAED,oEAAoE;AACpE,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,wBAAwB,CAAC,YAAY,CAAC,GACjD,MAAM,CAMR;AAQD,yEAAyE;AACzE,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAyBpF;AAuDD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,uBAAuB,EAC7B,OAAO,GAAE,wBAA6B,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgGzB"}
|