typekro 0.33.9 → 0.34.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/.tsbuildinfo +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +0 -33
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js +63 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/compositions/typekro-runtime/types.d.ts +8 -0
- package/dist/compositions/typekro-runtime/types.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/types.js +1 -0
- package/dist/compositions/typekro-runtime/types.js.map +1 -1
- package/dist/core/aspects/values-merge.d.ts +17 -0
- package/dist/core/aspects/values-merge.d.ts.map +1 -1
- package/dist/core/aspects/values-merge.js +67 -8
- package/dist/core/aspects/values-merge.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +9 -0
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +37 -3
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +34 -0
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +173 -29
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/index.d.ts +2 -0
- package/dist/core/deployment/index.d.ts.map +1 -1
- package/dist/core/deployment/index.js +1 -0
- package/dist/core/deployment/index.js.map +1 -1
- package/dist/core/deployment/k8s-helpers.d.ts +73 -0
- package/dist/core/deployment/k8s-helpers.d.ts.map +1 -1
- package/dist/core/deployment/k8s-helpers.js +198 -4
- package/dist/core/deployment/k8s-helpers.js.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +21 -1
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/status-leaf-resolution.d.ts +101 -0
- package/dist/core/deployment/status-leaf-resolution.d.ts.map +1 -0
- package/dist/core/deployment/status-leaf-resolution.js +232 -0
- package/dist/core/deployment/status-leaf-resolution.js.map +1 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +31 -3
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.js +8 -1
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +20 -2
- package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
- package/dist/core/kro/index.d.ts +6 -0
- package/dist/core/kro/index.d.ts.map +1 -0
- package/dist/core/kro/index.js +6 -0
- package/dist/core/kro/index.js.map +1 -0
- package/dist/core/kro/label-guard-capability.d.ts +141 -0
- package/dist/core/kro/label-guard-capability.d.ts.map +1 -0
- package/dist/core/kro/label-guard-capability.js +257 -0
- package/dist/core/kro/label-guard-capability.js.map +1 -0
- package/dist/core/kro/labels.d.ts +56 -0
- package/dist/core/kro/labels.d.ts.map +1 -0
- package/dist/core/kro/labels.js +62 -0
- package/dist/core/kro/labels.js.map +1 -0
- package/dist/core/kubernetes/api-capability.d.ts +196 -0
- package/dist/core/kubernetes/api-capability.d.ts.map +1 -0
- package/dist/core/kubernetes/api-capability.js +301 -0
- package/dist/core/kubernetes/api-capability.js.map +1 -0
- package/dist/core/kubernetes/index.d.ts +2 -0
- package/dist/core/kubernetes/index.d.ts.map +1 -1
- package/dist/core/kubernetes/index.js +2 -0
- package/dist/core/kubernetes/index.js.map +1 -1
- package/dist/core/kubernetes/naming.d.ts +100 -0
- package/dist/core/kubernetes/naming.d.ts.map +1 -0
- package/dist/core/kubernetes/naming.js +93 -0
- package/dist/core/kubernetes/naming.js.map +1 -0
- package/dist/core/planning/direct-runtime-adapter.d.ts.map +1 -1
- package/dist/core/planning/direct-runtime-adapter.js +54 -17
- package/dist/core/planning/direct-runtime-adapter.js.map +1 -1
- package/dist/core/planning/planner.d.ts.map +1 -1
- package/dist/core/planning/planner.js +17 -0
- package/dist/core/planning/planner.js.map +1 -1
- package/dist/core/planning/schema.d.ts.map +1 -1
- package/dist/core/planning/schema.js +7 -3
- package/dist/core/planning/schema.js.map +1 -1
- package/dist/core/references/cel-lexical-scanner.d.ts +100 -1
- package/dist/core/references/cel-lexical-scanner.d.ts.map +1 -1
- package/dist/core/references/cel-lexical-scanner.js +196 -2
- package/dist/core/references/cel-lexical-scanner.js.map +1 -1
- package/dist/core/references/cel.d.ts +249 -1
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +289 -8
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/serialization/arktype-ast.d.ts +21 -0
- package/dist/core/serialization/arktype-ast.d.ts.map +1 -0
- package/dist/core/serialization/arktype-ast.js +29 -0
- package/dist/core/serialization/arktype-ast.js.map +1 -0
- package/dist/core/serialization/cel-references.d.ts +133 -32
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +908 -109
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +13 -2
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/schema.d.ts +16 -2
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +113 -21
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/types/composable.d.ts +7 -1
- package/dist/core/types/composable.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +32 -2
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/serialization.d.ts +37 -0
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/validation/cel-dialect.d.ts +246 -0
- package/dist/core/validation/cel-dialect.d.ts.map +1 -0
- package/dist/core/validation/cel-dialect.js +1997 -0
- package/dist/core/validation/cel-dialect.js.map +1 -0
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +8 -1
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/core/validation/literal-status.d.ts +107 -0
- package/dist/core/validation/literal-status.d.ts.map +1 -0
- package/dist/core/validation/literal-status.js +346 -0
- package/dist/core/validation/literal-status.js.map +1 -0
- package/dist/core/validation/structural-spec-dependence.d.ts +179 -0
- package/dist/core/validation/structural-spec-dependence.d.ts.map +1 -0
- package/dist/core/validation/structural-spec-dependence.js +911 -0
- package/dist/core/validation/structural-spec-dependence.js.map +1 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.js +9 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +6 -0
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +273 -23
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -1
- package/dist/factories/clickhouse/resources/index.d.ts +1 -0
- package/dist/factories/clickhouse/resources/index.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/index.js +1 -0
- package/dist/factories/clickhouse/resources/index.js.map +1 -1
- package/dist/factories/clickhouse/resources/installation.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/installation.js +31 -4
- package/dist/factories/clickhouse/resources/installation.js.map +1 -1
- package/dist/factories/clickhouse/resources/s3-backup.d.ts +215 -0
- package/dist/factories/clickhouse/resources/s3-backup.d.ts.map +1 -0
- package/dist/factories/clickhouse/resources/s3-backup.js +410 -0
- package/dist/factories/clickhouse/resources/s3-backup.js.map +1 -0
- package/dist/factories/clickhouse/types.d.ts +416 -20
- package/dist/factories/clickhouse/types.d.ts.map +1 -1
- package/dist/factories/clickhouse/types.js +235 -11
- package/dist/factories/clickhouse/types.js.map +1 -1
- package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts +42 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/helm-values-mapper.js +48 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/clickhouse/utils/index.d.ts +2 -0
- package/dist/factories/clickhouse/utils/index.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/index.js +2 -0
- package/dist/factories/clickhouse/utils/index.js.map +1 -1
- package/dist/factories/clickhouse/utils/s3-storage.d.ts +503 -0
- package/dist/factories/clickhouse/utils/s3-storage.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/s3-storage.js +1139 -0
- package/dist/factories/clickhouse/utils/s3-storage.js.map +1 -0
- package/dist/factories/clickhouse/utils/validation.d.ts +103 -0
- package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/validation.js +129 -0
- package/dist/factories/clickhouse/utils/validation.js.map +1 -1
- package/dist/factories/clickhouse/utils/xml.d.ts +87 -0
- package/dist/factories/clickhouse/utils/xml.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/xml.js +151 -0
- package/dist/factories/clickhouse/utils/xml.js.map +1 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +57 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -1
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +266 -7
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -1
- package/dist/factories/clickstack/types.d.ts +205 -26
- package/dist/factories/clickstack/types.d.ts.map +1 -1
- package/dist/factories/clickstack/types.js +106 -8
- package/dist/factories/clickstack/types.js.map +1 -1
- package/dist/factories/clickstack/utils/collector-config.d.ts +104 -0
- package/dist/factories/clickstack/utils/collector-config.d.ts.map +1 -0
- package/dist/factories/clickstack/utils/collector-config.js +266 -0
- package/dist/factories/clickstack/utils/collector-config.js.map +1 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.d.ts +26 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/clickstack/utils/helm-values-mapper.js +53 -12
- package/dist/factories/clickstack/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/clickstack/utils/index.d.ts +2 -0
- package/dist/factories/clickstack/utils/index.d.ts.map +1 -1
- package/dist/factories/clickstack/utils/index.js +2 -0
- package/dist/factories/clickstack/utils/index.js.map +1 -1
- package/dist/factories/clickstack/utils/storage.d.ts +449 -0
- package/dist/factories/clickstack/utils/storage.d.ts.map +1 -0
- package/dist/factories/clickstack/utils/storage.js +698 -0
- package/dist/factories/clickstack/utils/storage.js.map +1 -0
- package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/helm.js +4 -4
- package/dist/factories/cnpg/resources/helm.js.map +1 -1
- package/dist/factories/cnpg/types.d.ts +10 -1
- package/dist/factories/cnpg/types.d.ts.map +1 -1
- package/dist/factories/cnpg/types.js.map +1 -1
- package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +19 -2
- package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/cnpg/utils/helm-values-mapper.js +22 -4
- package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/compositions/gateway.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/compositions/gateway.js +16 -3
- package/dist/factories/envoy-ai-gateway/compositions/gateway.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/constants.d.ts +5 -2
- package/dist/factories/envoy-ai-gateway/constants.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/constants.js +5 -2
- package/dist/factories/envoy-ai-gateway/constants.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts +12 -0
- package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/resources/gateway.js +27 -104
- package/dist/factories/envoy-ai-gateway/resources/gateway.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/types.d.ts +15 -47
- package/dist/factories/envoy-ai-gateway/types.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/types.js.map +1 -1
- package/dist/factories/gateway-api/constants.d.ts +27 -0
- package/dist/factories/gateway-api/constants.d.ts.map +1 -0
- package/dist/factories/gateway-api/constants.js +27 -0
- package/dist/factories/gateway-api/constants.js.map +1 -0
- package/dist/factories/gateway-api/index.d.ts +14 -0
- package/dist/factories/gateway-api/index.d.ts.map +1 -0
- package/dist/factories/gateway-api/index.js +14 -0
- package/dist/factories/gateway-api/index.js.map +1 -0
- package/dist/factories/gateway-api/readiness.d.ts +67 -0
- package/dist/factories/gateway-api/readiness.d.ts.map +1 -0
- package/dist/factories/gateway-api/readiness.js +213 -0
- package/dist/factories/gateway-api/readiness.js.map +1 -0
- package/dist/factories/gateway-api/resources/gateway.d.ts +91 -0
- package/dist/factories/gateway-api/resources/gateway.d.ts.map +1 -0
- package/dist/factories/gateway-api/resources/gateway.js +99 -0
- package/dist/factories/gateway-api/resources/gateway.js.map +1 -0
- package/dist/factories/gateway-api/resources/index.d.ts +2 -0
- package/dist/factories/gateway-api/resources/index.d.ts.map +1 -0
- package/dist/factories/gateway-api/resources/index.js +2 -0
- package/dist/factories/gateway-api/resources/index.js.map +1 -0
- package/dist/factories/gateway-api/types.d.ts +1269 -0
- package/dist/factories/gateway-api/types.d.ts.map +1 -0
- package/dist/factories/gateway-api/types.js +417 -0
- package/dist/factories/gateway-api/types.js.map +1 -0
- package/dist/factories/helm/readiness-evaluators.d.ts +21 -3
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +117 -11
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/types.d.ts +28 -0
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/index.d.ts +2 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +8 -0
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.js +10 -0
- package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
- package/dist/factories/kubernetes/admission/index.d.ts +2 -0
- package/dist/factories/kubernetes/admission/index.d.ts.map +1 -1
- package/dist/factories/kubernetes/admission/index.js +2 -0
- package/dist/factories/kubernetes/admission/index.js.map +1 -1
- package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts +108 -0
- package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/label-propagation-guard.js +247 -0
- package/dist/factories/kubernetes/admission/label-propagation-guard.js.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts +286 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.js +157 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.js.map +1 -0
- package/dist/factories/opensearch/compositions/cluster.d.ts.map +1 -1
- package/dist/factories/opensearch/compositions/cluster.js +6 -1
- package/dist/factories/opensearch/compositions/cluster.js.map +1 -1
- package/dist/factories/ory/compositions/ory-identity-stack.d.ts +8 -8
- package/dist/factories/ory/types.d.ts +16 -16
- package/dist/factories/rook/compositions/object-storage-claim.d.ts +1 -1
- package/dist/factories/rook/compositions/rook-ceph-platform.js +8 -1
- package/dist/factories/rook/compositions/rook-ceph-platform.js.map +1 -1
- package/dist/factories/rook/types.d.ts +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.js +18 -13
- package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
- package/dist/factories/searxng/index.d.ts +3 -0
- package/dist/factories/searxng/index.d.ts.map +1 -1
- package/dist/factories/searxng/index.js +3 -0
- package/dist/factories/searxng/index.js.map +1 -1
- package/dist/factories/searxng/types.js +1 -1
- package/dist/factories/searxng/types.js.map +1 -1
- package/dist/factories/traefik/compositions/index.d.ts +6 -0
- package/dist/factories/traefik/compositions/index.d.ts.map +1 -0
- package/dist/factories/traefik/compositions/index.js +6 -0
- package/dist/factories/traefik/compositions/index.js.map +1 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts +185 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts.map +1 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.js +339 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.js.map +1 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts +16 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts.map +1 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.js +31 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.js.map +1 -0
- package/dist/factories/traefik/constants.d.ts +78 -0
- package/dist/factories/traefik/constants.d.ts.map +1 -0
- package/dist/factories/traefik/constants.js +104 -0
- package/dist/factories/traefik/constants.js.map +1 -0
- package/dist/factories/traefik/index.d.ts +25 -0
- package/dist/factories/traefik/index.d.ts.map +1 -0
- package/dist/factories/traefik/index.js +25 -0
- package/dist/factories/traefik/index.js.map +1 -0
- package/dist/factories/traefik/resources/common.d.ts +68 -0
- package/dist/factories/traefik/resources/common.d.ts.map +1 -0
- package/dist/factories/traefik/resources/common.js +59 -0
- package/dist/factories/traefik/resources/common.js.map +1 -0
- package/dist/factories/traefik/resources/gateway.d.ts +85 -0
- package/dist/factories/traefik/resources/gateway.d.ts.map +1 -0
- package/dist/factories/traefik/resources/gateway.js +109 -0
- package/dist/factories/traefik/resources/gateway.js.map +1 -0
- package/dist/factories/traefik/resources/helm.d.ts +56 -0
- package/dist/factories/traefik/resources/helm.d.ts.map +1 -0
- package/dist/factories/traefik/resources/helm.js +131 -0
- package/dist/factories/traefik/resources/helm.js.map +1 -0
- package/dist/factories/traefik/resources/index.d.ts +10 -0
- package/dist/factories/traefik/resources/index.d.ts.map +1 -0
- package/dist/factories/traefik/resources/index.js +10 -0
- package/dist/factories/traefik/resources/index.js.map +1 -0
- package/dist/factories/traefik/resources/middleware.d.ts +169 -0
- package/dist/factories/traefik/resources/middleware.d.ts.map +1 -0
- package/dist/factories/traefik/resources/middleware.js +225 -0
- package/dist/factories/traefik/resources/middleware.js.map +1 -0
- package/dist/factories/traefik/resources/routing.d.ts +113 -0
- package/dist/factories/traefik/resources/routing.d.ts.map +1 -0
- package/dist/factories/traefik/resources/routing.js +119 -0
- package/dist/factories/traefik/resources/routing.js.map +1 -0
- package/dist/factories/traefik/resources/tls.d.ts +85 -0
- package/dist/factories/traefik/resources/tls.d.ts.map +1 -0
- package/dist/factories/traefik/resources/tls.js +93 -0
- package/dist/factories/traefik/resources/tls.js.map +1 -0
- package/dist/factories/traefik/types.d.ts +2690 -0
- package/dist/factories/traefik/types.d.ts.map +1 -0
- package/dist/factories/traefik/types.js +1084 -0
- package/dist/factories/traefik/types.js.map +1 -0
- package/dist/factories/traefik/utils/helm-values-mapper.d.ts +198 -0
- package/dist/factories/traefik/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/traefik/utils/helm-values-mapper.js +372 -0
- package/dist/factories/traefik/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/traefik/utils/index.d.ts +6 -0
- package/dist/factories/traefik/utils/index.d.ts.map +1 -0
- package/dist/factories/traefik/utils/index.js +6 -0
- package/dist/factories/traefik/utils/index.js.map +1 -0
- package/dist/factories/traefik/utils/middleware-validation.d.ts +42 -0
- package/dist/factories/traefik/utils/middleware-validation.d.ts.map +1 -0
- package/dist/factories/traefik/utils/middleware-validation.js +78 -0
- package/dist/factories/traefik/utils/middleware-validation.js.map +1 -0
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.js +10 -0
- package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +9 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traefik v3 factory.
|
|
3
|
+
*
|
|
4
|
+
* Stands Traefik up as a cluster edge — the Helm repository, the Helm release
|
|
5
|
+
* and a status contract — and exposes its `traefik.io/v1alpha1` CRDs as typed
|
|
6
|
+
* factories: `IngressRoute`, `IngressRouteTCP`, `Middleware` (the OSS
|
|
7
|
+
* middleware set as a discriminated union), `TLSOption`, `TLSStore`,
|
|
8
|
+
* `ServersTransport` and `TraefikService`.
|
|
9
|
+
*
|
|
10
|
+
* Traefik's Gateway API support comes from the shared
|
|
11
|
+
* `src/factories/gateway-api` module rather than a Traefik-specific copy of the
|
|
12
|
+
* upstream kinds.
|
|
13
|
+
*
|
|
14
|
+
* @security Secure by construction: the dashboard and the insecure API cannot
|
|
15
|
+
* be enabled through this factory, `forwardAuth` defaults to
|
|
16
|
+
* `trustForwardHeader: false` with an explicit `authResponseHeaders`
|
|
17
|
+
* allowlist, `TLSOption` defaults to TLS 1.2 with `sniStrict`, and the proxy
|
|
18
|
+
* runs non-root with a read-only root filesystem.
|
|
19
|
+
*/
|
|
20
|
+
export * from './compositions/index.js';
|
|
21
|
+
export * from './constants.js';
|
|
22
|
+
export * from './resources/index.js';
|
|
23
|
+
export * from './types.js';
|
|
24
|
+
export * from './utils/index.js';
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/traefik/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared plumbing for the Traefik CRD resource factories.
|
|
3
|
+
*
|
|
4
|
+
* All of it exists to answer one question consistently: what does readiness
|
|
5
|
+
* mean for a resource that has no status?
|
|
6
|
+
*/
|
|
7
|
+
import type { Composable, ReadinessEvaluator } from '../../../core/types/index.js';
|
|
8
|
+
import type { TraefikResourceMetadata } from '../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Configuration accepted by every namespaced Traefik CRD factory.
|
|
11
|
+
*
|
|
12
|
+
* Nothing here is hand-written. The identity half is
|
|
13
|
+
* {@link TraefikResourceMetadata}, inferred from
|
|
14
|
+
* `TraefikResourceMetadataSchema`; `spec` stays a TYPE PARAMETER because it is
|
|
15
|
+
* a different schema per kind — `TraefikIngressRouteSpec`,
|
|
16
|
+
* `TraefikMiddlewareSpec`, `TraefikTLSOptionSpec` and the rest, each already
|
|
17
|
+
* inferred from its own ArkType schema — so the caller binds it rather than
|
|
18
|
+
* this file re-declaring any of them.
|
|
19
|
+
*/
|
|
20
|
+
export type TraefikResourceConfig<TSpec extends object> = TraefikResourceMetadata & {
|
|
21
|
+
readonly spec: TSpec;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Readiness evaluator for a Traefik CRD.
|
|
25
|
+
*
|
|
26
|
+
* **Why always-ready:** none of the `traefik.io/v1alpha1` kinds
|
|
27
|
+
* (`IngressRoute`, `IngressRouteTCP`, `Middleware`, `TLSOption`, `TLSStore`,
|
|
28
|
+
* `ServersTransport`, `TraefikService`) declares a `status` subresource — the
|
|
29
|
+
* proxy consumes them as dynamic configuration and reports problems in its own
|
|
30
|
+
* logs and metrics, never on the object. A condition-based evaluator would
|
|
31
|
+
* therefore poll to its deadline and then fail a deployment whose routing is
|
|
32
|
+
* in fact live, so applying the object successfully is the only readiness
|
|
33
|
+
* signal the API offers. This mirrors how `envoy-ai-gateway` treats Envoy
|
|
34
|
+
* Gateway's status-less `Backend` kind.
|
|
35
|
+
*
|
|
36
|
+
* A route that references a missing Service or Middleware is still surfaced —
|
|
37
|
+
* by the referenced resource's own readiness, and by Traefik returning 404/503
|
|
38
|
+
* for the route, which the integration suite asserts on.
|
|
39
|
+
*
|
|
40
|
+
* @param kind - Traefik kind name, used in the readiness message.
|
|
41
|
+
*/
|
|
42
|
+
export declare function traefikStatuslessReadinessEvaluator<T = unknown>(kind: string): ReadinessEvaluator<T>;
|
|
43
|
+
/** The `app.kubernetes.io` label set TypeKro stamps on Traefik resources. */
|
|
44
|
+
export declare function traefikManagedLabels(instance: string): Record<string, string>;
|
|
45
|
+
/**
|
|
46
|
+
* Build the resource definition passed to `createResource`.
|
|
47
|
+
*
|
|
48
|
+
* Takes `Composable<...>` so a composition can pass proxy-sourced optional
|
|
49
|
+
* fields straight through (integration-skill.md: "All factory functions use
|
|
50
|
+
* `Composable<MyConfig>`").
|
|
51
|
+
*/
|
|
52
|
+
export declare function traefikResourceDefinition<TSpec extends object>(apiVersion: string, kind: string, config: Composable<TraefikResourceConfig<TSpec>>): {
|
|
53
|
+
id?: string;
|
|
54
|
+
apiVersion: string;
|
|
55
|
+
kind: string;
|
|
56
|
+
metadata: {
|
|
57
|
+
annotations?: {
|
|
58
|
+
[x: string]: string;
|
|
59
|
+
};
|
|
60
|
+
name: string;
|
|
61
|
+
namespace: string;
|
|
62
|
+
labels: {
|
|
63
|
+
[x: string]: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
spec: TSpec;
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,uBAAuB,GAAG;IAClF,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,GAAG,OAAO,EAC7D,IAAI,EAAE,MAAM,GACX,kBAAkB,CAAC,CAAC,CAAC,CAKvB;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7E;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,MAAM,EAC5D,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;UAWzB,KAAK;EAG7B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared plumbing for the Traefik CRD resource factories.
|
|
3
|
+
*
|
|
4
|
+
* All of it exists to answer one question consistently: what does readiness
|
|
5
|
+
* mean for a resource that has no status?
|
|
6
|
+
*/
|
|
7
|
+
import { createAlwaysReadyEvaluator } from '../../../core/readiness/evaluator-factories.js';
|
|
8
|
+
/**
|
|
9
|
+
* Readiness evaluator for a Traefik CRD.
|
|
10
|
+
*
|
|
11
|
+
* **Why always-ready:** none of the `traefik.io/v1alpha1` kinds
|
|
12
|
+
* (`IngressRoute`, `IngressRouteTCP`, `Middleware`, `TLSOption`, `TLSStore`,
|
|
13
|
+
* `ServersTransport`, `TraefikService`) declares a `status` subresource — the
|
|
14
|
+
* proxy consumes them as dynamic configuration and reports problems in its own
|
|
15
|
+
* logs and metrics, never on the object. A condition-based evaluator would
|
|
16
|
+
* therefore poll to its deadline and then fail a deployment whose routing is
|
|
17
|
+
* in fact live, so applying the object successfully is the only readiness
|
|
18
|
+
* signal the API offers. This mirrors how `envoy-ai-gateway` treats Envoy
|
|
19
|
+
* Gateway's status-less `Backend` kind.
|
|
20
|
+
*
|
|
21
|
+
* A route that references a missing Service or Middleware is still surfaced —
|
|
22
|
+
* by the referenced resource's own readiness, and by Traefik returning 404/503
|
|
23
|
+
* for the route, which the integration suite asserts on.
|
|
24
|
+
*
|
|
25
|
+
* @param kind - Traefik kind name, used in the readiness message.
|
|
26
|
+
*/
|
|
27
|
+
export function traefikStatuslessReadinessEvaluator(kind) {
|
|
28
|
+
return createAlwaysReadyEvaluator(kind, `${kind} is ready (Traefik CRDs publish no status subresource)`);
|
|
29
|
+
}
|
|
30
|
+
/** The `app.kubernetes.io` label set TypeKro stamps on Traefik resources. */
|
|
31
|
+
export function traefikManagedLabels(instance) {
|
|
32
|
+
return {
|
|
33
|
+
'app.kubernetes.io/name': 'traefik',
|
|
34
|
+
'app.kubernetes.io/instance': instance,
|
|
35
|
+
'app.kubernetes.io/managed-by': 'typekro',
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Build the resource definition passed to `createResource`.
|
|
40
|
+
*
|
|
41
|
+
* Takes `Composable<...>` so a composition can pass proxy-sourced optional
|
|
42
|
+
* fields straight through (integration-skill.md: "All factory functions use
|
|
43
|
+
* `Composable<MyConfig>`").
|
|
44
|
+
*/
|
|
45
|
+
export function traefikResourceDefinition(apiVersion, kind, config) {
|
|
46
|
+
return {
|
|
47
|
+
apiVersion,
|
|
48
|
+
kind,
|
|
49
|
+
metadata: {
|
|
50
|
+
name: config.name,
|
|
51
|
+
namespace: config.namespace,
|
|
52
|
+
labels: { ...traefikManagedLabels(config.name), ...config.labels },
|
|
53
|
+
...(config.annotations ? { annotations: { ...config.annotations } } : {}),
|
|
54
|
+
},
|
|
55
|
+
spec: config.spec,
|
|
56
|
+
...(config.id ? { id: config.id } : {}),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAC;AAmB5F;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mCAAmC,CACjD,IAAY;IAEZ,OAAO,0BAA0B,CAC/B,IAAI,EACJ,GAAG,IAAI,wDAAwD,CAChE,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO;QACL,wBAAwB,EAAE,SAAS;QACnC,4BAA4B,EAAE,QAAQ;QACtC,8BAA8B,EAAE,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAkB,EAClB,IAAY,EACZ,MAAgD;IAEhD,OAAO;QACL,UAAU;QACV,IAAI;QACJ,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;YAClE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E;QACD,IAAI,EAAE,MAAM,CAAC,IAAa;QAC1B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traefik's Gateway API surface.
|
|
3
|
+
*
|
|
4
|
+
* Traefik v3 implements upstream Gateway API, so there is no Traefik-specific
|
|
5
|
+
* copy of `Gateway`/`HTTPRoute`/`GRPCRoute` here: these are thin wrappers over
|
|
6
|
+
* the shared `src/factories/gateway-api` factories (#176) that pin Traefik's
|
|
7
|
+
* controller name and stamp the Traefik managed labels.
|
|
8
|
+
*
|
|
9
|
+
* Enable the provider with `providers: { gatewayApi: true }` on the bootstrap
|
|
10
|
+
* spec. Traefik middlewares attach to a Gateway API route through an
|
|
11
|
+
* `ExtensionRef` filter — see {@link traefikMiddlewareFilter}.
|
|
12
|
+
*/
|
|
13
|
+
import type { Composable, Enhanced } from '../../../core/types/index.js';
|
|
14
|
+
import { type GatewayApiNamespacedResourceConfig } from '../../gateway-api/index.js';
|
|
15
|
+
import type { AcceptedResourceStatus, GatewayClassSpec, GatewayObservedStatus, GatewaySpec, GRPCRouteSpec, HTTPRouteFilter, HTTPRouteSpec, RouteObservedStatus } from '../../gateway-api/types.js';
|
|
16
|
+
import { TRAEFIK_GATEWAY_CONTROLLER_NAME } from '../constants.js';
|
|
17
|
+
import type { TraefikGatewayClassConfig } from '../types.js';
|
|
18
|
+
/** `GatewayClass.spec` pinned to Traefik's controller. */
|
|
19
|
+
export type TraefikGatewayClassSpec = GatewayClassSpec<typeof TRAEFIK_GATEWAY_CONTROLLER_NAME>;
|
|
20
|
+
/**
|
|
21
|
+
* `traefikGatewayClass`'s configuration type.
|
|
22
|
+
*
|
|
23
|
+
* DECLARED in `../types.js`, next to the ArkType schema it is inferred from,
|
|
24
|
+
* and re-exported here so the public import path stays `resources/gateway.js`.
|
|
25
|
+
*/
|
|
26
|
+
export type { TraefikGatewayClassConfig } from '../types.js';
|
|
27
|
+
/**
|
|
28
|
+
* Create a `GatewayClass` claimed by Traefik.
|
|
29
|
+
*
|
|
30
|
+
* The Helm chart can create one itself (`gatewayClass.enabled`), which the
|
|
31
|
+
* bootstrap composition leaves alone. Use this factory when a consumer graph
|
|
32
|
+
* owns the class — for instance to run a second, differently named class
|
|
33
|
+
* alongside the chart's.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* traefikGatewayClass({ name: 'traefik-edge', id: 'traefikGatewayClass' });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function traefikGatewayClass(config: Composable<TraefikGatewayClassConfig>): Enhanced<TraefikGatewayClassSpec, AcceptedResourceStatus>;
|
|
41
|
+
/**
|
|
42
|
+
* Create a Gateway API `Gateway` served by Traefik.
|
|
43
|
+
*
|
|
44
|
+
* `spec.gatewayClassName` must name a class Traefik has claimed.
|
|
45
|
+
*/
|
|
46
|
+
export declare function traefikGateway(config: Composable<GatewayApiNamespacedResourceConfig<GatewaySpec>>): Enhanced<GatewaySpec, GatewayObservedStatus>;
|
|
47
|
+
/**
|
|
48
|
+
* Create a Gateway API `HTTPRoute` served by Traefik.
|
|
49
|
+
*
|
|
50
|
+
* @example A route attaching a Traefik `Middleware` through an ExtensionRef
|
|
51
|
+
* ```typescript
|
|
52
|
+
* traefikHTTPRoute({
|
|
53
|
+
* name: 'orders-api',
|
|
54
|
+
* namespace: 'edge',
|
|
55
|
+
* spec: {
|
|
56
|
+
* parentRefs: [{ name: 'traefik-gateway', namespace: 'traefik' }],
|
|
57
|
+
* hostnames: ['api.example.com'],
|
|
58
|
+
* rules: [
|
|
59
|
+
* {
|
|
60
|
+
* matches: [{ path: { type: 'PathPrefix', value: '/v1' } }],
|
|
61
|
+
* filters: [traefikMiddlewareFilter('orders-api-authz')],
|
|
62
|
+
* backendRefs: [{ name: 'orders-api', port: 8080 }],
|
|
63
|
+
* timeouts: { request: '120s' },
|
|
64
|
+
* },
|
|
65
|
+
* ],
|
|
66
|
+
* },
|
|
67
|
+
* id: 'ordersApiHttpRoute',
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare function traefikHTTPRoute(config: Composable<GatewayApiNamespacedResourceConfig<HTTPRouteSpec>>): Enhanced<HTTPRouteSpec, RouteObservedStatus>;
|
|
72
|
+
/** Create a Gateway API `GRPCRoute` served by Traefik. */
|
|
73
|
+
export declare function traefikGRPCRoute(config: Composable<GatewayApiNamespacedResourceConfig<GRPCRouteSpec>>): Enhanced<GRPCRouteSpec, RouteObservedStatus>;
|
|
74
|
+
/**
|
|
75
|
+
* Build the `ExtensionRef` filter that attaches a Traefik `Middleware` to a
|
|
76
|
+
* Gateway API route rule.
|
|
77
|
+
*
|
|
78
|
+
* Gateway API has no vendor-neutral filter for `forwardAuth` or `rateLimit`,
|
|
79
|
+
* so an implementation-specific extension is the supported way to reference
|
|
80
|
+
* one from an `HTTPRoute`.
|
|
81
|
+
*
|
|
82
|
+
* @param name - Name of a `Middleware` in the route's namespace.
|
|
83
|
+
*/
|
|
84
|
+
export declare function traefikMiddlewareFilter(name: string): HTTPRouteFilter;
|
|
85
|
+
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAGL,KAAK,kCAAkC,EAGxC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAuB,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG7D,0DAA0D;AAC1D,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAE/F;;;;;GAKG;AACH,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,CAAC,yBAAyB,CAAC,GAC5C,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAW3D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,CAAC,kCAAkC,CAAC,WAAW,CAAC,CAAC,GAClE,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAK9C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,CAAC,kCAAkC,CAAC,aAAa,CAAC,CAAC,GACpE,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAK9C;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,CAAC,kCAAkC,CAAC,aAAa,CAAC,CAAC,GACpE,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAK9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CASrE"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traefik's Gateway API surface.
|
|
3
|
+
*
|
|
4
|
+
* Traefik v3 implements upstream Gateway API, so there is no Traefik-specific
|
|
5
|
+
* copy of `Gateway`/`HTTPRoute`/`GRPCRoute` here: these are thin wrappers over
|
|
6
|
+
* the shared `src/factories/gateway-api` factories (#176) that pin Traefik's
|
|
7
|
+
* controller name and stamp the Traefik managed labels.
|
|
8
|
+
*
|
|
9
|
+
* Enable the provider with `providers: { gatewayApi: true }` on the bootstrap
|
|
10
|
+
* spec. Traefik middlewares attach to a Gateway API route through an
|
|
11
|
+
* `ExtensionRef` filter — see {@link traefikMiddlewareFilter}.
|
|
12
|
+
*/
|
|
13
|
+
import { gateway as gatewayApiGateway, gatewayClass as gatewayApiGatewayClass, grpcRoute as gatewayApiGrpcRoute, httpRoute as gatewayApiHttpRoute, } from '../../gateway-api/index.js';
|
|
14
|
+
import { TRAEFIK_API_VERSION, TRAEFIK_GATEWAY_CONTROLLER_NAME } from '../constants.js';
|
|
15
|
+
import { traefikManagedLabels } from './common.js';
|
|
16
|
+
/**
|
|
17
|
+
* Create a `GatewayClass` claimed by Traefik.
|
|
18
|
+
*
|
|
19
|
+
* The Helm chart can create one itself (`gatewayClass.enabled`), which the
|
|
20
|
+
* bootstrap composition leaves alone. Use this factory when a consumer graph
|
|
21
|
+
* owns the class — for instance to run a second, differently named class
|
|
22
|
+
* alongside the chart's.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* traefikGatewayClass({ name: 'traefik-edge', id: 'traefikGatewayClass' });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export function traefikGatewayClass(config) {
|
|
30
|
+
return gatewayApiGatewayClass({
|
|
31
|
+
name: config.name,
|
|
32
|
+
labels: { ...traefikManagedLabels(config.name), ...config.labels },
|
|
33
|
+
...(config.annotations ? { annotations: config.annotations } : {}),
|
|
34
|
+
...(config.id ? { id: config.id } : {}),
|
|
35
|
+
spec: {
|
|
36
|
+
controllerName: TRAEFIK_GATEWAY_CONTROLLER_NAME,
|
|
37
|
+
...(config.description === undefined ? {} : { description: config.description }),
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create a Gateway API `Gateway` served by Traefik.
|
|
43
|
+
*
|
|
44
|
+
* `spec.gatewayClassName` must name a class Traefik has claimed.
|
|
45
|
+
*/
|
|
46
|
+
export function traefikGateway(config) {
|
|
47
|
+
return gatewayApiGateway({
|
|
48
|
+
...config,
|
|
49
|
+
labels: { ...traefikManagedLabels(config.name), ...config.labels },
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Create a Gateway API `HTTPRoute` served by Traefik.
|
|
54
|
+
*
|
|
55
|
+
* @example A route attaching a Traefik `Middleware` through an ExtensionRef
|
|
56
|
+
* ```typescript
|
|
57
|
+
* traefikHTTPRoute({
|
|
58
|
+
* name: 'orders-api',
|
|
59
|
+
* namespace: 'edge',
|
|
60
|
+
* spec: {
|
|
61
|
+
* parentRefs: [{ name: 'traefik-gateway', namespace: 'traefik' }],
|
|
62
|
+
* hostnames: ['api.example.com'],
|
|
63
|
+
* rules: [
|
|
64
|
+
* {
|
|
65
|
+
* matches: [{ path: { type: 'PathPrefix', value: '/v1' } }],
|
|
66
|
+
* filters: [traefikMiddlewareFilter('orders-api-authz')],
|
|
67
|
+
* backendRefs: [{ name: 'orders-api', port: 8080 }],
|
|
68
|
+
* timeouts: { request: '120s' },
|
|
69
|
+
* },
|
|
70
|
+
* ],
|
|
71
|
+
* },
|
|
72
|
+
* id: 'ordersApiHttpRoute',
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export function traefikHTTPRoute(config) {
|
|
77
|
+
return gatewayApiHttpRoute({
|
|
78
|
+
...config,
|
|
79
|
+
labels: { ...traefikManagedLabels(config.name), ...config.labels },
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/** Create a Gateway API `GRPCRoute` served by Traefik. */
|
|
83
|
+
export function traefikGRPCRoute(config) {
|
|
84
|
+
return gatewayApiGrpcRoute({
|
|
85
|
+
...config,
|
|
86
|
+
labels: { ...traefikManagedLabels(config.name), ...config.labels },
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Build the `ExtensionRef` filter that attaches a Traefik `Middleware` to a
|
|
91
|
+
* Gateway API route rule.
|
|
92
|
+
*
|
|
93
|
+
* Gateway API has no vendor-neutral filter for `forwardAuth` or `rateLimit`,
|
|
94
|
+
* so an implementation-specific extension is the supported way to reference
|
|
95
|
+
* one from an `HTTPRoute`.
|
|
96
|
+
*
|
|
97
|
+
* @param name - Name of a `Middleware` in the route's namespace.
|
|
98
|
+
*/
|
|
99
|
+
export function traefikMiddlewareFilter(name) {
|
|
100
|
+
return {
|
|
101
|
+
type: 'ExtensionRef',
|
|
102
|
+
extensionRef: {
|
|
103
|
+
group: TRAEFIK_API_VERSION.split('/')[0] ?? 'traefik.io',
|
|
104
|
+
kind: 'Middleware',
|
|
105
|
+
name,
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EACL,OAAO,IAAI,iBAAiB,EAC5B,YAAY,IAAI,sBAAsB,EAEtC,SAAS,IAAI,mBAAmB,EAChC,SAAS,IAAI,mBAAmB,GACjC,MAAM,4BAA4B,CAAC;AAWpC,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAanD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA6C;IAE7C,OAAO,sBAAsB,CAAyC;QACpE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;QAClE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,EAAE;YACJ,cAAc,EAAE,+BAA+B;YAC/C,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;SACjF;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAmE;IAEnE,OAAO,iBAAiB,CAAC;QACvB,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;KACnE,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAqE;IAErE,OAAO,mBAAmB,CAAC;QACzB,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;KACnE,CAAC,CAAC;AACL,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAC9B,MAAqE;IAErE,OAAO,mBAAmB,CAAC;QACzB,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;KACnE,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE;YACZ,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY;YACxD,IAAI,EAAE,YAAY;YAClB,IAAI;SACL;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traefik Helm resources.
|
|
3
|
+
*
|
|
4
|
+
* The factory owns both halves of the install — the chart source and the
|
|
5
|
+
* release — so a consumer never hand-writes Flux objects. The bootstrap
|
|
6
|
+
* composition owns the release and delegates the shared repository to a
|
|
7
|
+
* singleton composition.
|
|
8
|
+
*/
|
|
9
|
+
import type { Composable, Enhanced } from '../../../core/types/index.js';
|
|
10
|
+
import { type HelmRepositorySpec, type HelmRepositoryStatus } from '../../helm/helm-repository.js';
|
|
11
|
+
import type { HelmReleaseSpec, HelmReleaseStatus } from '../../helm/types.js';
|
|
12
|
+
import type { TraefikHelmReleaseConfig, TraefikHelmRepositoryConfig, TraefikHelmValues } from '../types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Traefik `HelmRelease` readiness (delegates to the shared Flux evaluator).
|
|
15
|
+
*
|
|
16
|
+
* Exported so a consumer graph that adopts an externally created release can
|
|
17
|
+
* reuse the same readiness contract.
|
|
18
|
+
*/
|
|
19
|
+
export declare const traefikHelmReleaseReadinessEvaluator: import("../../index.js").ReadinessEvaluator<unknown>;
|
|
20
|
+
/**
|
|
21
|
+
* Create the Flux `HelmRepository` for the official Traefik chart repository.
|
|
22
|
+
*
|
|
23
|
+
* This is a classic (non-OCI) Helm repository, so Flux publishes a normal
|
|
24
|
+
* `Ready` condition for it.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* traefikHelmRepository({ name: 'traefik-repo', id: 'repository' });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function traefikHelmRepository(config: Composable<TraefikHelmRepositoryConfig>): Enhanced<HelmRepositorySpec, HelmRepositoryStatus>;
|
|
32
|
+
/**
|
|
33
|
+
* Create the Flux `HelmRelease` installing Traefik.
|
|
34
|
+
*
|
|
35
|
+
* Chart 41.5.0 ships the `traefik.io/v1alpha1` CRDs in its own `crds/`
|
|
36
|
+
* directory, so this single release installs both the CRDs and the proxy — no
|
|
37
|
+
* separate `traefik-crds` release is needed. Because Flux SKIPS `crds/` on
|
|
38
|
+
* upgrade by default, `install.crds` and `upgrade.crds` are both set from
|
|
39
|
+
* `config.crds` (default `CreateReplace`) so a chart bump moves the CRDs too.
|
|
40
|
+
*
|
|
41
|
+
* Values are passed through unchanged. Build them with
|
|
42
|
+
* `mapTraefikConfigToHelmValues`, which applies the security pins from #172.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* traefikHelmRelease({
|
|
47
|
+
* name: 'traefik',
|
|
48
|
+
* targetNamespace: 'traefik',
|
|
49
|
+
* repositoryName: 'traefik-repo',
|
|
50
|
+
* values: mapTraefikConfigToHelmValues({ name: 'traefik' }),
|
|
51
|
+
* id: 'traefikHelmRelease',
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare function traefikHelmRelease(config: Composable<TraefikHelmReleaseConfig>): Enhanced<HelmReleaseSpec<TraefikHelmValues>, HelmReleaseStatus>;
|
|
56
|
+
//# sourceMappingURL=helm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAU9E,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAKrB;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,sDAA+C,CAAC;AAEjG;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,CAAC,2BAA2B,CAAC,GAC9C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAcpD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,CAAC,wBAAwB,CAAC,GAC3C,QAAQ,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CA0DjE"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traefik Helm resources.
|
|
3
|
+
*
|
|
4
|
+
* The factory owns both halves of the install — the chart source and the
|
|
5
|
+
* release — so a consumer never hand-writes Flux objects. The bootstrap
|
|
6
|
+
* composition owns the release and delegates the shared repository to a
|
|
7
|
+
* singleton composition.
|
|
8
|
+
*/
|
|
9
|
+
import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
|
|
10
|
+
import { createHelmRepositoryReadinessEvaluator, } from '../../helm/helm-repository.js';
|
|
11
|
+
import { createLabeledHelmReleaseEvaluator } from '../../helm/readiness-evaluators.js';
|
|
12
|
+
import { createResource } from '../../shared.js';
|
|
13
|
+
import { DEFAULT_TRAEFIK_CHART_NAME, DEFAULT_TRAEFIK_CHART_VERSION, DEFAULT_TRAEFIK_CRDS_POLICY, DEFAULT_TRAEFIK_NAMESPACE, DEFAULT_TRAEFIK_REPOSITORY_NAME, DEFAULT_TRAEFIK_REPOSITORY_URL, } from '../constants.js';
|
|
14
|
+
/** Traefik `HelmRepository` readiness (delegates to the shared Flux evaluator). */
|
|
15
|
+
const traefikHelmRepositoryReadinessEvaluator = createHelmRepositoryReadinessEvaluator('Traefik');
|
|
16
|
+
/**
|
|
17
|
+
* Traefik `HelmRelease` readiness (delegates to the shared Flux evaluator).
|
|
18
|
+
*
|
|
19
|
+
* Exported so a consumer graph that adopts an externally created release can
|
|
20
|
+
* reuse the same readiness contract.
|
|
21
|
+
*/
|
|
22
|
+
export const traefikHelmReleaseReadinessEvaluator = createLabeledHelmReleaseEvaluator('Traefik');
|
|
23
|
+
/**
|
|
24
|
+
* Create the Flux `HelmRepository` for the official Traefik chart repository.
|
|
25
|
+
*
|
|
26
|
+
* This is a classic (non-OCI) Helm repository, so Flux publishes a normal
|
|
27
|
+
* `Ready` condition for it.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* traefikHelmRepository({ name: 'traefik-repo', id: 'repository' });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function traefikHelmRepository(config) {
|
|
35
|
+
return createResource({
|
|
36
|
+
...(config.id ? { id: config.id } : {}),
|
|
37
|
+
apiVersion: 'source.toolkit.fluxcd.io/v1',
|
|
38
|
+
kind: 'HelmRepository',
|
|
39
|
+
metadata: {
|
|
40
|
+
name: config.name,
|
|
41
|
+
namespace: config.namespace ?? DEFAULT_FLUX_NAMESPACE,
|
|
42
|
+
},
|
|
43
|
+
spec: {
|
|
44
|
+
url: config.url ?? DEFAULT_TRAEFIK_REPOSITORY_URL,
|
|
45
|
+
interval: config.interval ?? '1h',
|
|
46
|
+
},
|
|
47
|
+
}).withReadinessEvaluator(traefikHelmRepositoryReadinessEvaluator);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create the Flux `HelmRelease` installing Traefik.
|
|
51
|
+
*
|
|
52
|
+
* Chart 41.5.0 ships the `traefik.io/v1alpha1` CRDs in its own `crds/`
|
|
53
|
+
* directory, so this single release installs both the CRDs and the proxy — no
|
|
54
|
+
* separate `traefik-crds` release is needed. Because Flux SKIPS `crds/` on
|
|
55
|
+
* upgrade by default, `install.crds` and `upgrade.crds` are both set from
|
|
56
|
+
* `config.crds` (default `CreateReplace`) so a chart bump moves the CRDs too.
|
|
57
|
+
*
|
|
58
|
+
* Values are passed through unchanged. Build them with
|
|
59
|
+
* `mapTraefikConfigToHelmValues`, which applies the security pins from #172.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* traefikHelmRelease({
|
|
64
|
+
* name: 'traefik',
|
|
65
|
+
* targetNamespace: 'traefik',
|
|
66
|
+
* repositoryName: 'traefik-repo',
|
|
67
|
+
* values: mapTraefikConfigToHelmValues({ name: 'traefik' }),
|
|
68
|
+
* id: 'traefikHelmRelease',
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export function traefikHelmRelease(config) {
|
|
73
|
+
const namespace = config.namespace ?? DEFAULT_FLUX_NAMESPACE;
|
|
74
|
+
// Flux's own defaults are `install.crds: Create` and `upgrade.crds: Skip`.
|
|
75
|
+
// `Skip` on upgrade is the dangerous half: the chart carries its CRDs in
|
|
76
|
+
// `crds/`, so a version bump would install a newer proxy against the CRD
|
|
77
|
+
// schemas the release was FIRST created with. Both actions are set from one
|
|
78
|
+
// policy so they cannot drift apart.
|
|
79
|
+
const crds = config.crds ?? DEFAULT_TRAEFIK_CRDS_POLICY;
|
|
80
|
+
return createResource({
|
|
81
|
+
...(config.id ? { id: config.id } : {}),
|
|
82
|
+
apiVersion: 'helm.toolkit.fluxcd.io/v2',
|
|
83
|
+
kind: 'HelmRelease',
|
|
84
|
+
metadata: {
|
|
85
|
+
name: config.name,
|
|
86
|
+
namespace,
|
|
87
|
+
},
|
|
88
|
+
spec: {
|
|
89
|
+
interval: config.interval ?? '5m',
|
|
90
|
+
timeout: config.timeout ?? '10m',
|
|
91
|
+
chart: {
|
|
92
|
+
spec: {
|
|
93
|
+
chart: DEFAULT_TRAEFIK_CHART_NAME,
|
|
94
|
+
version: config.version ?? DEFAULT_TRAEFIK_CHART_VERSION,
|
|
95
|
+
sourceRef: {
|
|
96
|
+
kind: 'HelmRepository',
|
|
97
|
+
name: config.repositoryName ?? DEFAULT_TRAEFIK_REPOSITORY_NAME,
|
|
98
|
+
namespace: config.repositoryNamespace ?? namespace,
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
targetNamespace: config.targetNamespace ?? DEFAULT_TRAEFIK_NAMESPACE,
|
|
103
|
+
// Pinned to the same `name` the values mapper pins as the chart's
|
|
104
|
+
// `fullnameOverride`. Left unset, Flux's `GetReleaseName()` composes
|
|
105
|
+
// `<targetNamespace>-<name>` — this factory always sets
|
|
106
|
+
// `targetNamespace`, so the install namespace would spend part of Helm's
|
|
107
|
+
// 53-character release-name budget and a `name` at exactly the schema's
|
|
108
|
+
// limit would fail the install. Pinning it makes the release name `name`
|
|
109
|
+
// itself, so that limit binds on `name` alone. It also stops the release
|
|
110
|
+
// name from moving when a caller changes the install namespace, which
|
|
111
|
+
// Helm treats as a different release entirely.
|
|
112
|
+
releaseName: config.name,
|
|
113
|
+
install: {
|
|
114
|
+
createNamespace: config.createNamespace ?? false,
|
|
115
|
+
crds,
|
|
116
|
+
remediation: { retries: 3 },
|
|
117
|
+
},
|
|
118
|
+
upgrade: {
|
|
119
|
+
crds,
|
|
120
|
+
remediation: { retries: 3, remediateLastFailure: true, strategy: 'rollback' },
|
|
121
|
+
},
|
|
122
|
+
// The mapper's output is a graph-aware value tree — refs and CEL
|
|
123
|
+
// expressions live inside it — so it is handed to Flux as-is. The cast
|
|
124
|
+
// re-states that: `Composable<>` widens every optional branch of the
|
|
125
|
+
// values tree, which `TypeKroChartValues` models as its own recursive
|
|
126
|
+
// union rather than as optional properties.
|
|
127
|
+
...(config.values ? { values: config.values } : {}),
|
|
128
|
+
},
|
|
129
|
+
}).withReadinessEvaluator(traefikHelmReleaseReadinessEvaluator);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=helm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/helm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traefik resource factories.
|
|
3
|
+
*/
|
|
4
|
+
export * from './common.js';
|
|
5
|
+
export * from './gateway.js';
|
|
6
|
+
export * from './helm.js';
|
|
7
|
+
export * from './middleware.js';
|
|
8
|
+
export * from './routing.js';
|
|
9
|
+
export * from './tls.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traefik resource factories.
|
|
3
|
+
*/
|
|
4
|
+
export * from './common.js';
|
|
5
|
+
export * from './gateway.js';
|
|
6
|
+
export * from './helm.js';
|
|
7
|
+
export * from './middleware.js';
|
|
8
|
+
export * from './routing.js';
|
|
9
|
+
export * from './tls.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|