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,1269 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared upstream Gateway API type definitions.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `src/factories/envoy-ai-gateway` (see #176) so that every
|
|
5
|
+
* Gateway API implementation in TypeKro — Envoy Gateway, Traefik v3, and any
|
|
6
|
+
* future controller — describes `GatewayClass`, `Gateway`, `HTTPRoute`,
|
|
7
|
+
* `GRPCRoute`, `ReferenceGrant` and `BackendTLSPolicy` with one set of types.
|
|
8
|
+
*
|
|
9
|
+
* Vendor-specific policy CRDs (`BackendTrafficPolicy`, `AIGatewayRoute`,
|
|
10
|
+
* Traefik `Middleware`, ...) deliberately stay in their own factory packages.
|
|
11
|
+
*
|
|
12
|
+
* **ArkType is the single source of truth for the SPEC types here.** Every
|
|
13
|
+
* `*Spec` / config type below is inferred from the schema next to it
|
|
14
|
+
* (`typeof XSchema.infer`), which is the repository's integration contract: one
|
|
15
|
+
* definition validates at runtime, generates KRO SimpleSchema, and types the
|
|
16
|
+
* factory. The shapes were verified field-by-field against the CRDs installed
|
|
17
|
+
* by the Gateway API v1.2.1 experimental channel, read back from a live API
|
|
18
|
+
* server with `kubectl get crd <name> -o jsonpath='{.spec.versions[*].schema.openAPIV3Schema}'`.
|
|
19
|
+
*
|
|
20
|
+
* STATUS types stay hand-written interfaces: they describe what a controller
|
|
21
|
+
* publishes, never user input, so there is nothing to validate or generate.
|
|
22
|
+
*
|
|
23
|
+
* Where a schema is narrower than the CRD it is deliberate and noted inline
|
|
24
|
+
* (for example `listeners[].protocol`, which the CRD types as a bare string).
|
|
25
|
+
*/
|
|
26
|
+
/** A `metav1.Condition` as published by Gateway API controllers. */
|
|
27
|
+
export interface KubernetesCondition {
|
|
28
|
+
readonly type: string;
|
|
29
|
+
readonly status: string;
|
|
30
|
+
readonly reason?: string;
|
|
31
|
+
readonly message?: string;
|
|
32
|
+
readonly observedGeneration?: number;
|
|
33
|
+
}
|
|
34
|
+
/** Status shape of any Gateway API resource that only publishes conditions. */
|
|
35
|
+
export interface AcceptedResourceStatus {
|
|
36
|
+
readonly conditions?: readonly KubernetesCondition[];
|
|
37
|
+
}
|
|
38
|
+
/** `Gateway.status`: assigned addresses plus Accepted/Programmed conditions. */
|
|
39
|
+
export interface GatewayObservedStatus {
|
|
40
|
+
readonly addresses?: readonly {
|
|
41
|
+
readonly type?: string;
|
|
42
|
+
readonly value: string;
|
|
43
|
+
}[];
|
|
44
|
+
readonly conditions?: readonly KubernetesCondition[];
|
|
45
|
+
readonly listeners?: readonly {
|
|
46
|
+
readonly name: string;
|
|
47
|
+
readonly attachedRoutes?: number;
|
|
48
|
+
readonly conditions?: readonly KubernetesCondition[];
|
|
49
|
+
}[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Status of a Gateway API resource that reports per-parent conditions, i.e.
|
|
53
|
+
* routes (`parents`) — one entry per `parentRef` that a controller claimed.
|
|
54
|
+
*/
|
|
55
|
+
export interface RouteObservedStatus {
|
|
56
|
+
readonly parents?: readonly {
|
|
57
|
+
readonly controllerName?: string;
|
|
58
|
+
readonly parentRef?: ParentReference;
|
|
59
|
+
readonly conditions?: readonly KubernetesCondition[];
|
|
60
|
+
}[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Status of a Gateway API policy attachment (`BackendTLSPolicy`, and the
|
|
64
|
+
* implementation-specific policies that follow the same convention), which
|
|
65
|
+
* reports conditions per ancestor rather than per parent.
|
|
66
|
+
*/
|
|
67
|
+
export interface GatewayPolicyObservedStatus {
|
|
68
|
+
readonly ancestors?: readonly {
|
|
69
|
+
readonly controllerName?: string;
|
|
70
|
+
readonly conditions?: readonly KubernetesCondition[];
|
|
71
|
+
}[];
|
|
72
|
+
}
|
|
73
|
+
/** An object reference restricted to Secrets (and, historically, ConfigMaps). */
|
|
74
|
+
export declare const SecretObjectReferenceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
75
|
+
name: string;
|
|
76
|
+
group?: string;
|
|
77
|
+
kind?: string;
|
|
78
|
+
namespace?: string;
|
|
79
|
+
}, {}>;
|
|
80
|
+
/** A certificate or CA reference used by listener TLS configuration. */
|
|
81
|
+
export type SecretObjectReference = typeof SecretObjectReferenceSchema.infer;
|
|
82
|
+
/** `GatewayClass.spec`. */
|
|
83
|
+
export declare const GatewayClassSpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
84
|
+
controllerName: string;
|
|
85
|
+
description?: string;
|
|
86
|
+
parametersRef?: {
|
|
87
|
+
group: string;
|
|
88
|
+
kind: string;
|
|
89
|
+
name: string;
|
|
90
|
+
namespace?: string;
|
|
91
|
+
};
|
|
92
|
+
}, {}>;
|
|
93
|
+
/**
|
|
94
|
+
* `GatewayClass.spec`.
|
|
95
|
+
*
|
|
96
|
+
* `TController` lets an implementation pin its own controller name as a literal
|
|
97
|
+
* type (e.g. `GatewayClassSpec<'traefik.io/gateway-controller'>`) while the
|
|
98
|
+
* unparameterized form stays usable for generic tooling. The shape is inferred
|
|
99
|
+
* from {@link GatewayClassSpecSchema}; only `controllerName` is re-typed,
|
|
100
|
+
* because ArkType has no generic-literal equivalent.
|
|
101
|
+
*/
|
|
102
|
+
export type GatewayClassSpec<TController extends string = string> = Omit<typeof GatewayClassSpecSchema.infer, 'controllerName'> & {
|
|
103
|
+
controllerName: TController;
|
|
104
|
+
};
|
|
105
|
+
/** Which namespaces a listener accepts routes from. */
|
|
106
|
+
export declare const AllowedRoutesSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
107
|
+
namespaces?: {
|
|
108
|
+
from?: "All" | "Selector" | "Same";
|
|
109
|
+
selector?: {
|
|
110
|
+
matchLabels?: Record<string, string>;
|
|
111
|
+
matchExpressions?: {
|
|
112
|
+
key: string;
|
|
113
|
+
operator: string;
|
|
114
|
+
values?: string[];
|
|
115
|
+
}[];
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
kinds?: {
|
|
119
|
+
kind: string;
|
|
120
|
+
group?: string;
|
|
121
|
+
}[];
|
|
122
|
+
}, {}>;
|
|
123
|
+
/** Which namespaces a listener accepts routes from. */
|
|
124
|
+
export type AllowedRoutes = typeof AllowedRoutesSchema.infer;
|
|
125
|
+
/** `Gateway.spec.listeners[].tls`. */
|
|
126
|
+
export declare const GatewayTLSConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
127
|
+
mode?: "Terminate" | "Passthrough";
|
|
128
|
+
certificateRefs?: {
|
|
129
|
+
name: string;
|
|
130
|
+
group?: string;
|
|
131
|
+
kind?: string;
|
|
132
|
+
namespace?: string;
|
|
133
|
+
}[];
|
|
134
|
+
frontendValidation?: {
|
|
135
|
+
caCertificateRefs?: {
|
|
136
|
+
group: string;
|
|
137
|
+
kind: string;
|
|
138
|
+
name: string;
|
|
139
|
+
namespace?: string;
|
|
140
|
+
}[];
|
|
141
|
+
};
|
|
142
|
+
options?: Record<string, string>;
|
|
143
|
+
}, {}>;
|
|
144
|
+
/** `Gateway.spec.listeners[].tls`. */
|
|
145
|
+
export type GatewayTLSConfig = typeof GatewayTLSConfigSchema.infer;
|
|
146
|
+
/**
|
|
147
|
+
* A single `Gateway.spec.listeners[]` entry.
|
|
148
|
+
*
|
|
149
|
+
* `protocol` is narrower than the CRD, which types it as a bare string: these
|
|
150
|
+
* five are the protocols the API defines, and an unknown protocol is rejected
|
|
151
|
+
* by every controller rather than doing something useful.
|
|
152
|
+
*/
|
|
153
|
+
export declare const GatewayListenerSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
154
|
+
name: string;
|
|
155
|
+
protocol: "TCP" | "UDP" | "HTTP" | "HTTPS" | "TLS";
|
|
156
|
+
port: number;
|
|
157
|
+
hostname?: string;
|
|
158
|
+
tls?: {
|
|
159
|
+
mode?: "Terminate" | "Passthrough";
|
|
160
|
+
certificateRefs?: {
|
|
161
|
+
name: string;
|
|
162
|
+
group?: string;
|
|
163
|
+
kind?: string;
|
|
164
|
+
namespace?: string;
|
|
165
|
+
}[];
|
|
166
|
+
frontendValidation?: {
|
|
167
|
+
caCertificateRefs?: {
|
|
168
|
+
group: string;
|
|
169
|
+
kind: string;
|
|
170
|
+
name: string;
|
|
171
|
+
namespace?: string;
|
|
172
|
+
}[];
|
|
173
|
+
};
|
|
174
|
+
options?: Record<string, string>;
|
|
175
|
+
};
|
|
176
|
+
allowedRoutes?: {
|
|
177
|
+
namespaces?: {
|
|
178
|
+
from?: "All" | "Selector" | "Same";
|
|
179
|
+
selector?: {
|
|
180
|
+
matchLabels?: Record<string, string>;
|
|
181
|
+
matchExpressions?: {
|
|
182
|
+
key: string;
|
|
183
|
+
operator: string;
|
|
184
|
+
values?: string[];
|
|
185
|
+
}[];
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
kinds?: {
|
|
189
|
+
kind: string;
|
|
190
|
+
group?: string;
|
|
191
|
+
}[];
|
|
192
|
+
};
|
|
193
|
+
}, {}>;
|
|
194
|
+
/** A single `Gateway.spec.listeners[]` entry. */
|
|
195
|
+
export type GatewayListener = typeof GatewayListenerSchema.infer;
|
|
196
|
+
/** `Gateway.spec`. */
|
|
197
|
+
export declare const GatewaySpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
198
|
+
gatewayClassName: string;
|
|
199
|
+
listeners: {
|
|
200
|
+
name: string;
|
|
201
|
+
protocol: "TCP" | "UDP" | "HTTP" | "HTTPS" | "TLS";
|
|
202
|
+
port: number;
|
|
203
|
+
hostname?: string;
|
|
204
|
+
tls?: {
|
|
205
|
+
mode?: "Terminate" | "Passthrough";
|
|
206
|
+
certificateRefs?: {
|
|
207
|
+
name: string;
|
|
208
|
+
group?: string;
|
|
209
|
+
kind?: string;
|
|
210
|
+
namespace?: string;
|
|
211
|
+
}[];
|
|
212
|
+
frontendValidation?: {
|
|
213
|
+
caCertificateRefs?: {
|
|
214
|
+
group: string;
|
|
215
|
+
kind: string;
|
|
216
|
+
name: string;
|
|
217
|
+
namespace?: string;
|
|
218
|
+
}[];
|
|
219
|
+
};
|
|
220
|
+
options?: Record<string, string>;
|
|
221
|
+
};
|
|
222
|
+
allowedRoutes?: {
|
|
223
|
+
namespaces?: {
|
|
224
|
+
from?: "All" | "Selector" | "Same";
|
|
225
|
+
selector?: {
|
|
226
|
+
matchLabels?: Record<string, string>;
|
|
227
|
+
matchExpressions?: {
|
|
228
|
+
key: string;
|
|
229
|
+
operator: string;
|
|
230
|
+
values?: string[];
|
|
231
|
+
}[];
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
kinds?: {
|
|
235
|
+
kind: string;
|
|
236
|
+
group?: string;
|
|
237
|
+
}[];
|
|
238
|
+
};
|
|
239
|
+
}[];
|
|
240
|
+
addresses?: {
|
|
241
|
+
value: string;
|
|
242
|
+
type?: string;
|
|
243
|
+
}[];
|
|
244
|
+
infrastructure?: {
|
|
245
|
+
labels?: Record<string, string>;
|
|
246
|
+
annotations?: Record<string, string>;
|
|
247
|
+
parametersRef?: {
|
|
248
|
+
group: string;
|
|
249
|
+
kind: string;
|
|
250
|
+
name: string;
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
backendTLS?: {
|
|
254
|
+
clientCertificateRef?: {
|
|
255
|
+
name: string;
|
|
256
|
+
group?: string;
|
|
257
|
+
kind?: string;
|
|
258
|
+
namespace?: string;
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
}, {}>;
|
|
262
|
+
/** `Gateway.spec`. */
|
|
263
|
+
export type GatewaySpec = typeof GatewaySpecSchema.infer;
|
|
264
|
+
/**
|
|
265
|
+
* A route's reference to the Gateway (or listener) it attaches to.
|
|
266
|
+
*
|
|
267
|
+
* `kind` stays a plain string, matching the CRD: the mesh profile allows a
|
|
268
|
+
* `Service` parent, so pinning the literal `'Gateway'` would reject a valid
|
|
269
|
+
* upstream shape.
|
|
270
|
+
*/
|
|
271
|
+
export declare const ParentReferenceSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
272
|
+
name: string;
|
|
273
|
+
group?: string;
|
|
274
|
+
kind?: string;
|
|
275
|
+
namespace?: string;
|
|
276
|
+
sectionName?: string;
|
|
277
|
+
port?: number;
|
|
278
|
+
}, {}>;
|
|
279
|
+
/** A route's reference to the Gateway (or listener) it attaches to. */
|
|
280
|
+
export type ParentReference = typeof ParentReferenceSchema.infer;
|
|
281
|
+
/** A backend a route rule forwards to. */
|
|
282
|
+
export declare const BackendRefSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
283
|
+
name: string;
|
|
284
|
+
group?: string;
|
|
285
|
+
kind?: string;
|
|
286
|
+
namespace?: string;
|
|
287
|
+
port?: number;
|
|
288
|
+
weight?: number;
|
|
289
|
+
}, {}>;
|
|
290
|
+
/** A backend a route rule forwards to. */
|
|
291
|
+
export type BackendRef = typeof BackendRefSchema.infer;
|
|
292
|
+
/**
|
|
293
|
+
* One `HTTPRoute.spec.rules[].matches[]` entry.
|
|
294
|
+
*
|
|
295
|
+
* `path.value` is optional exactly as the CRD has it — an omitted value means
|
|
296
|
+
* the `/` prefix — and `method` uses the CRD's enum rather than a bare string.
|
|
297
|
+
*/
|
|
298
|
+
export declare const HTTPRouteMatchSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
299
|
+
path?: {
|
|
300
|
+
type?: "Exact" | "RegularExpression" | "PathPrefix";
|
|
301
|
+
value?: string;
|
|
302
|
+
};
|
|
303
|
+
headers?: {
|
|
304
|
+
name: string;
|
|
305
|
+
value: string;
|
|
306
|
+
type?: "Exact" | "RegularExpression";
|
|
307
|
+
}[];
|
|
308
|
+
queryParams?: {
|
|
309
|
+
name: string;
|
|
310
|
+
value: string;
|
|
311
|
+
type?: "Exact" | "RegularExpression";
|
|
312
|
+
}[];
|
|
313
|
+
method?: "POST" | "PATCH" | "PUT" | "DELETE" | "GET" | "CONNECT" | "HEAD" | "OPTIONS" | "TRACE";
|
|
314
|
+
}, {}>;
|
|
315
|
+
/** One `HTTPRoute.spec.rules[].matches[]` entry. */
|
|
316
|
+
export type HTTPRouteMatch = typeof HTTPRouteMatchSchema.infer;
|
|
317
|
+
/** A header modification applied by an `HTTPRoute` filter. */
|
|
318
|
+
export declare const HTTPHeaderFilterSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
319
|
+
set?: {
|
|
320
|
+
name: string;
|
|
321
|
+
value: string;
|
|
322
|
+
}[];
|
|
323
|
+
add?: {
|
|
324
|
+
name: string;
|
|
325
|
+
value: string;
|
|
326
|
+
}[];
|
|
327
|
+
remove?: string[];
|
|
328
|
+
}, {}>;
|
|
329
|
+
/** A header modification applied by an `HTTPRoute` filter. */
|
|
330
|
+
export type HTTPHeaderFilter = typeof HTTPHeaderFilterSchema.infer;
|
|
331
|
+
/**
|
|
332
|
+
* One `HTTPRoute.spec.rules[].filters[]` entry.
|
|
333
|
+
*
|
|
334
|
+
* `extensionRef` is how an implementation attaches its own middleware — Traefik
|
|
335
|
+
* uses it to reference a `traefik.io/v1alpha1` `Middleware`.
|
|
336
|
+
*/
|
|
337
|
+
export declare const HTTPRouteFilterSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
338
|
+
type: "RequestHeaderModifier" | "ResponseHeaderModifier" | "RequestMirror" | "RequestRedirect" | "URLRewrite" | "ExtensionRef";
|
|
339
|
+
requestHeaderModifier?: {
|
|
340
|
+
set?: {
|
|
341
|
+
name: string;
|
|
342
|
+
value: string;
|
|
343
|
+
}[];
|
|
344
|
+
add?: {
|
|
345
|
+
name: string;
|
|
346
|
+
value: string;
|
|
347
|
+
}[];
|
|
348
|
+
remove?: string[];
|
|
349
|
+
};
|
|
350
|
+
responseHeaderModifier?: {
|
|
351
|
+
set?: {
|
|
352
|
+
name: string;
|
|
353
|
+
value: string;
|
|
354
|
+
}[];
|
|
355
|
+
add?: {
|
|
356
|
+
name: string;
|
|
357
|
+
value: string;
|
|
358
|
+
}[];
|
|
359
|
+
remove?: string[];
|
|
360
|
+
};
|
|
361
|
+
requestRedirect?: {
|
|
362
|
+
scheme?: "http" | "https";
|
|
363
|
+
hostname?: string;
|
|
364
|
+
port?: number;
|
|
365
|
+
statusCode?: 301 | 302;
|
|
366
|
+
path?: {
|
|
367
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
368
|
+
replaceFullPath?: string;
|
|
369
|
+
replacePrefixMatch?: string;
|
|
370
|
+
};
|
|
371
|
+
};
|
|
372
|
+
urlRewrite?: {
|
|
373
|
+
hostname?: string;
|
|
374
|
+
path?: {
|
|
375
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
376
|
+
replaceFullPath?: string;
|
|
377
|
+
replacePrefixMatch?: string;
|
|
378
|
+
};
|
|
379
|
+
};
|
|
380
|
+
requestMirror?: {
|
|
381
|
+
backendRef: {
|
|
382
|
+
name: string;
|
|
383
|
+
group?: string;
|
|
384
|
+
kind?: string;
|
|
385
|
+
namespace?: string;
|
|
386
|
+
port?: number;
|
|
387
|
+
weight?: number;
|
|
388
|
+
};
|
|
389
|
+
percent?: number;
|
|
390
|
+
fraction?: {
|
|
391
|
+
numerator: number;
|
|
392
|
+
denominator?: number;
|
|
393
|
+
};
|
|
394
|
+
};
|
|
395
|
+
extensionRef?: {
|
|
396
|
+
group: string;
|
|
397
|
+
kind: string;
|
|
398
|
+
name: string;
|
|
399
|
+
};
|
|
400
|
+
}, {}>;
|
|
401
|
+
/** One `HTTPRoute.spec.rules[].filters[]` entry. */
|
|
402
|
+
export type HTTPRouteFilter = typeof HTTPRouteFilterSchema.infer;
|
|
403
|
+
/** One `HTTPRoute.spec.rules[]` entry. */
|
|
404
|
+
export declare const HTTPRouteRuleSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
405
|
+
name?: string;
|
|
406
|
+
matches?: {
|
|
407
|
+
path?: {
|
|
408
|
+
type?: "Exact" | "RegularExpression" | "PathPrefix";
|
|
409
|
+
value?: string;
|
|
410
|
+
};
|
|
411
|
+
headers?: {
|
|
412
|
+
name: string;
|
|
413
|
+
value: string;
|
|
414
|
+
type?: "Exact" | "RegularExpression";
|
|
415
|
+
}[];
|
|
416
|
+
queryParams?: {
|
|
417
|
+
name: string;
|
|
418
|
+
value: string;
|
|
419
|
+
type?: "Exact" | "RegularExpression";
|
|
420
|
+
}[];
|
|
421
|
+
method?: "POST" | "PATCH" | "PUT" | "DELETE" | "GET" | "CONNECT" | "HEAD" | "OPTIONS" | "TRACE";
|
|
422
|
+
}[];
|
|
423
|
+
filters?: {
|
|
424
|
+
type: "RequestHeaderModifier" | "ResponseHeaderModifier" | "RequestMirror" | "RequestRedirect" | "URLRewrite" | "ExtensionRef";
|
|
425
|
+
requestHeaderModifier?: {
|
|
426
|
+
set?: {
|
|
427
|
+
name: string;
|
|
428
|
+
value: string;
|
|
429
|
+
}[];
|
|
430
|
+
add?: {
|
|
431
|
+
name: string;
|
|
432
|
+
value: string;
|
|
433
|
+
}[];
|
|
434
|
+
remove?: string[];
|
|
435
|
+
};
|
|
436
|
+
responseHeaderModifier?: {
|
|
437
|
+
set?: {
|
|
438
|
+
name: string;
|
|
439
|
+
value: string;
|
|
440
|
+
}[];
|
|
441
|
+
add?: {
|
|
442
|
+
name: string;
|
|
443
|
+
value: string;
|
|
444
|
+
}[];
|
|
445
|
+
remove?: string[];
|
|
446
|
+
};
|
|
447
|
+
requestRedirect?: {
|
|
448
|
+
scheme?: "http" | "https";
|
|
449
|
+
hostname?: string;
|
|
450
|
+
port?: number;
|
|
451
|
+
statusCode?: 301 | 302;
|
|
452
|
+
path?: {
|
|
453
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
454
|
+
replaceFullPath?: string;
|
|
455
|
+
replacePrefixMatch?: string;
|
|
456
|
+
};
|
|
457
|
+
};
|
|
458
|
+
urlRewrite?: {
|
|
459
|
+
hostname?: string;
|
|
460
|
+
path?: {
|
|
461
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
462
|
+
replaceFullPath?: string;
|
|
463
|
+
replacePrefixMatch?: string;
|
|
464
|
+
};
|
|
465
|
+
};
|
|
466
|
+
requestMirror?: {
|
|
467
|
+
backendRef: {
|
|
468
|
+
name: string;
|
|
469
|
+
group?: string;
|
|
470
|
+
kind?: string;
|
|
471
|
+
namespace?: string;
|
|
472
|
+
port?: number;
|
|
473
|
+
weight?: number;
|
|
474
|
+
};
|
|
475
|
+
percent?: number;
|
|
476
|
+
fraction?: {
|
|
477
|
+
numerator: number;
|
|
478
|
+
denominator?: number;
|
|
479
|
+
};
|
|
480
|
+
};
|
|
481
|
+
extensionRef?: {
|
|
482
|
+
group: string;
|
|
483
|
+
kind: string;
|
|
484
|
+
name: string;
|
|
485
|
+
};
|
|
486
|
+
}[];
|
|
487
|
+
backendRefs?: {
|
|
488
|
+
name: string;
|
|
489
|
+
group?: string;
|
|
490
|
+
kind?: string;
|
|
491
|
+
namespace?: string;
|
|
492
|
+
port?: number;
|
|
493
|
+
weight?: number;
|
|
494
|
+
filters?: {
|
|
495
|
+
type: "RequestHeaderModifier" | "ResponseHeaderModifier" | "RequestMirror" | "RequestRedirect" | "URLRewrite" | "ExtensionRef";
|
|
496
|
+
requestHeaderModifier?: {
|
|
497
|
+
set?: {
|
|
498
|
+
name: string;
|
|
499
|
+
value: string;
|
|
500
|
+
}[];
|
|
501
|
+
add?: {
|
|
502
|
+
name: string;
|
|
503
|
+
value: string;
|
|
504
|
+
}[];
|
|
505
|
+
remove?: string[];
|
|
506
|
+
};
|
|
507
|
+
responseHeaderModifier?: {
|
|
508
|
+
set?: {
|
|
509
|
+
name: string;
|
|
510
|
+
value: string;
|
|
511
|
+
}[];
|
|
512
|
+
add?: {
|
|
513
|
+
name: string;
|
|
514
|
+
value: string;
|
|
515
|
+
}[];
|
|
516
|
+
remove?: string[];
|
|
517
|
+
};
|
|
518
|
+
requestRedirect?: {
|
|
519
|
+
scheme?: "http" | "https";
|
|
520
|
+
hostname?: string;
|
|
521
|
+
port?: number;
|
|
522
|
+
statusCode?: 301 | 302;
|
|
523
|
+
path?: {
|
|
524
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
525
|
+
replaceFullPath?: string;
|
|
526
|
+
replacePrefixMatch?: string;
|
|
527
|
+
};
|
|
528
|
+
};
|
|
529
|
+
urlRewrite?: {
|
|
530
|
+
hostname?: string;
|
|
531
|
+
path?: {
|
|
532
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
533
|
+
replaceFullPath?: string;
|
|
534
|
+
replacePrefixMatch?: string;
|
|
535
|
+
};
|
|
536
|
+
};
|
|
537
|
+
requestMirror?: {
|
|
538
|
+
backendRef: {
|
|
539
|
+
name: string;
|
|
540
|
+
group?: string;
|
|
541
|
+
kind?: string;
|
|
542
|
+
namespace?: string;
|
|
543
|
+
port?: number;
|
|
544
|
+
weight?: number;
|
|
545
|
+
};
|
|
546
|
+
percent?: number;
|
|
547
|
+
fraction?: {
|
|
548
|
+
numerator: number;
|
|
549
|
+
denominator?: number;
|
|
550
|
+
};
|
|
551
|
+
};
|
|
552
|
+
extensionRef?: {
|
|
553
|
+
group: string;
|
|
554
|
+
kind: string;
|
|
555
|
+
name: string;
|
|
556
|
+
};
|
|
557
|
+
}[];
|
|
558
|
+
}[];
|
|
559
|
+
timeouts?: {
|
|
560
|
+
request?: string;
|
|
561
|
+
backendRequest?: string;
|
|
562
|
+
};
|
|
563
|
+
retry?: {
|
|
564
|
+
codes?: number[];
|
|
565
|
+
attempts?: number;
|
|
566
|
+
backoff?: string;
|
|
567
|
+
};
|
|
568
|
+
sessionPersistence?: {
|
|
569
|
+
sessionName?: string;
|
|
570
|
+
absoluteTimeout?: string;
|
|
571
|
+
idleTimeout?: string;
|
|
572
|
+
type?: "Cookie" | "Header";
|
|
573
|
+
cookieConfig?: {
|
|
574
|
+
lifetimeType?: "Permanent" | "Session";
|
|
575
|
+
};
|
|
576
|
+
};
|
|
577
|
+
}, {}>;
|
|
578
|
+
/** One `HTTPRoute.spec.rules[]` entry. */
|
|
579
|
+
export type HTTPRouteRule = typeof HTTPRouteRuleSchema.infer;
|
|
580
|
+
/**
|
|
581
|
+
* `HTTPRoute.spec`.
|
|
582
|
+
*
|
|
583
|
+
* `parentRefs` is required here although the CRD allows it to be absent: a
|
|
584
|
+
* route attached to nothing serves no traffic, and TypeKro would have no
|
|
585
|
+
* resource to order it against.
|
|
586
|
+
*/
|
|
587
|
+
export declare const HTTPRouteSpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
588
|
+
parentRefs: {
|
|
589
|
+
name: string;
|
|
590
|
+
group?: string;
|
|
591
|
+
kind?: string;
|
|
592
|
+
namespace?: string;
|
|
593
|
+
sectionName?: string;
|
|
594
|
+
port?: number;
|
|
595
|
+
}[];
|
|
596
|
+
hostnames?: string[];
|
|
597
|
+
rules?: {
|
|
598
|
+
name?: string;
|
|
599
|
+
matches?: {
|
|
600
|
+
path?: {
|
|
601
|
+
type?: "Exact" | "RegularExpression" | "PathPrefix";
|
|
602
|
+
value?: string;
|
|
603
|
+
};
|
|
604
|
+
headers?: {
|
|
605
|
+
name: string;
|
|
606
|
+
value: string;
|
|
607
|
+
type?: "Exact" | "RegularExpression";
|
|
608
|
+
}[];
|
|
609
|
+
queryParams?: {
|
|
610
|
+
name: string;
|
|
611
|
+
value: string;
|
|
612
|
+
type?: "Exact" | "RegularExpression";
|
|
613
|
+
}[];
|
|
614
|
+
method?: "POST" | "PATCH" | "PUT" | "DELETE" | "GET" | "CONNECT" | "HEAD" | "OPTIONS" | "TRACE";
|
|
615
|
+
}[];
|
|
616
|
+
filters?: {
|
|
617
|
+
type: "RequestHeaderModifier" | "ResponseHeaderModifier" | "RequestMirror" | "RequestRedirect" | "URLRewrite" | "ExtensionRef";
|
|
618
|
+
requestHeaderModifier?: {
|
|
619
|
+
set?: {
|
|
620
|
+
name: string;
|
|
621
|
+
value: string;
|
|
622
|
+
}[];
|
|
623
|
+
add?: {
|
|
624
|
+
name: string;
|
|
625
|
+
value: string;
|
|
626
|
+
}[];
|
|
627
|
+
remove?: string[];
|
|
628
|
+
};
|
|
629
|
+
responseHeaderModifier?: {
|
|
630
|
+
set?: {
|
|
631
|
+
name: string;
|
|
632
|
+
value: string;
|
|
633
|
+
}[];
|
|
634
|
+
add?: {
|
|
635
|
+
name: string;
|
|
636
|
+
value: string;
|
|
637
|
+
}[];
|
|
638
|
+
remove?: string[];
|
|
639
|
+
};
|
|
640
|
+
requestRedirect?: {
|
|
641
|
+
scheme?: "http" | "https";
|
|
642
|
+
hostname?: string;
|
|
643
|
+
port?: number;
|
|
644
|
+
statusCode?: 301 | 302;
|
|
645
|
+
path?: {
|
|
646
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
647
|
+
replaceFullPath?: string;
|
|
648
|
+
replacePrefixMatch?: string;
|
|
649
|
+
};
|
|
650
|
+
};
|
|
651
|
+
urlRewrite?: {
|
|
652
|
+
hostname?: string;
|
|
653
|
+
path?: {
|
|
654
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
655
|
+
replaceFullPath?: string;
|
|
656
|
+
replacePrefixMatch?: string;
|
|
657
|
+
};
|
|
658
|
+
};
|
|
659
|
+
requestMirror?: {
|
|
660
|
+
backendRef: {
|
|
661
|
+
name: string;
|
|
662
|
+
group?: string;
|
|
663
|
+
kind?: string;
|
|
664
|
+
namespace?: string;
|
|
665
|
+
port?: number;
|
|
666
|
+
weight?: number;
|
|
667
|
+
};
|
|
668
|
+
percent?: number;
|
|
669
|
+
fraction?: {
|
|
670
|
+
numerator: number;
|
|
671
|
+
denominator?: number;
|
|
672
|
+
};
|
|
673
|
+
};
|
|
674
|
+
extensionRef?: {
|
|
675
|
+
group: string;
|
|
676
|
+
kind: string;
|
|
677
|
+
name: string;
|
|
678
|
+
};
|
|
679
|
+
}[];
|
|
680
|
+
backendRefs?: {
|
|
681
|
+
name: string;
|
|
682
|
+
group?: string;
|
|
683
|
+
kind?: string;
|
|
684
|
+
namespace?: string;
|
|
685
|
+
port?: number;
|
|
686
|
+
weight?: number;
|
|
687
|
+
filters?: {
|
|
688
|
+
type: "RequestHeaderModifier" | "ResponseHeaderModifier" | "RequestMirror" | "RequestRedirect" | "URLRewrite" | "ExtensionRef";
|
|
689
|
+
requestHeaderModifier?: {
|
|
690
|
+
set?: {
|
|
691
|
+
name: string;
|
|
692
|
+
value: string;
|
|
693
|
+
}[];
|
|
694
|
+
add?: {
|
|
695
|
+
name: string;
|
|
696
|
+
value: string;
|
|
697
|
+
}[];
|
|
698
|
+
remove?: string[];
|
|
699
|
+
};
|
|
700
|
+
responseHeaderModifier?: {
|
|
701
|
+
set?: {
|
|
702
|
+
name: string;
|
|
703
|
+
value: string;
|
|
704
|
+
}[];
|
|
705
|
+
add?: {
|
|
706
|
+
name: string;
|
|
707
|
+
value: string;
|
|
708
|
+
}[];
|
|
709
|
+
remove?: string[];
|
|
710
|
+
};
|
|
711
|
+
requestRedirect?: {
|
|
712
|
+
scheme?: "http" | "https";
|
|
713
|
+
hostname?: string;
|
|
714
|
+
port?: number;
|
|
715
|
+
statusCode?: 301 | 302;
|
|
716
|
+
path?: {
|
|
717
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
718
|
+
replaceFullPath?: string;
|
|
719
|
+
replacePrefixMatch?: string;
|
|
720
|
+
};
|
|
721
|
+
};
|
|
722
|
+
urlRewrite?: {
|
|
723
|
+
hostname?: string;
|
|
724
|
+
path?: {
|
|
725
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
726
|
+
replaceFullPath?: string;
|
|
727
|
+
replacePrefixMatch?: string;
|
|
728
|
+
};
|
|
729
|
+
};
|
|
730
|
+
requestMirror?: {
|
|
731
|
+
backendRef: {
|
|
732
|
+
name: string;
|
|
733
|
+
group?: string;
|
|
734
|
+
kind?: string;
|
|
735
|
+
namespace?: string;
|
|
736
|
+
port?: number;
|
|
737
|
+
weight?: number;
|
|
738
|
+
};
|
|
739
|
+
percent?: number;
|
|
740
|
+
fraction?: {
|
|
741
|
+
numerator: number;
|
|
742
|
+
denominator?: number;
|
|
743
|
+
};
|
|
744
|
+
};
|
|
745
|
+
extensionRef?: {
|
|
746
|
+
group: string;
|
|
747
|
+
kind: string;
|
|
748
|
+
name: string;
|
|
749
|
+
};
|
|
750
|
+
}[];
|
|
751
|
+
}[];
|
|
752
|
+
timeouts?: {
|
|
753
|
+
request?: string;
|
|
754
|
+
backendRequest?: string;
|
|
755
|
+
};
|
|
756
|
+
retry?: {
|
|
757
|
+
codes?: number[];
|
|
758
|
+
attempts?: number;
|
|
759
|
+
backoff?: string;
|
|
760
|
+
};
|
|
761
|
+
sessionPersistence?: {
|
|
762
|
+
sessionName?: string;
|
|
763
|
+
absoluteTimeout?: string;
|
|
764
|
+
idleTimeout?: string;
|
|
765
|
+
type?: "Cookie" | "Header";
|
|
766
|
+
cookieConfig?: {
|
|
767
|
+
lifetimeType?: "Permanent" | "Session";
|
|
768
|
+
};
|
|
769
|
+
};
|
|
770
|
+
}[];
|
|
771
|
+
}, {}>;
|
|
772
|
+
/** `HTTPRoute.spec`. */
|
|
773
|
+
export type HTTPRouteSpec = typeof HTTPRouteSpecSchema.infer;
|
|
774
|
+
/** One `GRPCRoute.spec.rules[].matches[]` entry. */
|
|
775
|
+
export declare const GRPCRouteMatchSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
776
|
+
method?: {
|
|
777
|
+
type?: "Exact" | "RegularExpression";
|
|
778
|
+
service?: string;
|
|
779
|
+
method?: string;
|
|
780
|
+
};
|
|
781
|
+
headers?: {
|
|
782
|
+
name: string;
|
|
783
|
+
value: string;
|
|
784
|
+
type?: "Exact" | "RegularExpression";
|
|
785
|
+
}[];
|
|
786
|
+
}, {}>;
|
|
787
|
+
/** One `GRPCRoute.spec.rules[].matches[]` entry. */
|
|
788
|
+
export type GRPCRouteMatch = typeof GRPCRouteMatchSchema.infer;
|
|
789
|
+
/**
|
|
790
|
+
* One `GRPCRoute.spec.rules[]` entry.
|
|
791
|
+
*
|
|
792
|
+
* The CRD accepts only the four filter types that make sense for gRPC
|
|
793
|
+
* (`RequestHeaderModifier`, `ResponseHeaderModifier`, `RequestMirror`,
|
|
794
|
+
* `ExtensionRef`) but reuses the HTTP filter shape, which is what
|
|
795
|
+
* {@link HTTPRouteFilterSchema} models.
|
|
796
|
+
*/
|
|
797
|
+
export declare const GRPCRouteRuleSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
798
|
+
name?: string;
|
|
799
|
+
matches?: {
|
|
800
|
+
method?: {
|
|
801
|
+
type?: "Exact" | "RegularExpression";
|
|
802
|
+
service?: string;
|
|
803
|
+
method?: string;
|
|
804
|
+
};
|
|
805
|
+
headers?: {
|
|
806
|
+
name: string;
|
|
807
|
+
value: string;
|
|
808
|
+
type?: "Exact" | "RegularExpression";
|
|
809
|
+
}[];
|
|
810
|
+
}[];
|
|
811
|
+
filters?: {
|
|
812
|
+
type: "RequestHeaderModifier" | "ResponseHeaderModifier" | "RequestMirror" | "RequestRedirect" | "URLRewrite" | "ExtensionRef";
|
|
813
|
+
requestHeaderModifier?: {
|
|
814
|
+
set?: {
|
|
815
|
+
name: string;
|
|
816
|
+
value: string;
|
|
817
|
+
}[];
|
|
818
|
+
add?: {
|
|
819
|
+
name: string;
|
|
820
|
+
value: string;
|
|
821
|
+
}[];
|
|
822
|
+
remove?: string[];
|
|
823
|
+
};
|
|
824
|
+
responseHeaderModifier?: {
|
|
825
|
+
set?: {
|
|
826
|
+
name: string;
|
|
827
|
+
value: string;
|
|
828
|
+
}[];
|
|
829
|
+
add?: {
|
|
830
|
+
name: string;
|
|
831
|
+
value: string;
|
|
832
|
+
}[];
|
|
833
|
+
remove?: string[];
|
|
834
|
+
};
|
|
835
|
+
requestRedirect?: {
|
|
836
|
+
scheme?: "http" | "https";
|
|
837
|
+
hostname?: string;
|
|
838
|
+
port?: number;
|
|
839
|
+
statusCode?: 301 | 302;
|
|
840
|
+
path?: {
|
|
841
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
842
|
+
replaceFullPath?: string;
|
|
843
|
+
replacePrefixMatch?: string;
|
|
844
|
+
};
|
|
845
|
+
};
|
|
846
|
+
urlRewrite?: {
|
|
847
|
+
hostname?: string;
|
|
848
|
+
path?: {
|
|
849
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
850
|
+
replaceFullPath?: string;
|
|
851
|
+
replacePrefixMatch?: string;
|
|
852
|
+
};
|
|
853
|
+
};
|
|
854
|
+
requestMirror?: {
|
|
855
|
+
backendRef: {
|
|
856
|
+
name: string;
|
|
857
|
+
group?: string;
|
|
858
|
+
kind?: string;
|
|
859
|
+
namespace?: string;
|
|
860
|
+
port?: number;
|
|
861
|
+
weight?: number;
|
|
862
|
+
};
|
|
863
|
+
percent?: number;
|
|
864
|
+
fraction?: {
|
|
865
|
+
numerator: number;
|
|
866
|
+
denominator?: number;
|
|
867
|
+
};
|
|
868
|
+
};
|
|
869
|
+
extensionRef?: {
|
|
870
|
+
group: string;
|
|
871
|
+
kind: string;
|
|
872
|
+
name: string;
|
|
873
|
+
};
|
|
874
|
+
}[];
|
|
875
|
+
backendRefs?: {
|
|
876
|
+
name: string;
|
|
877
|
+
group?: string;
|
|
878
|
+
kind?: string;
|
|
879
|
+
namespace?: string;
|
|
880
|
+
port?: number;
|
|
881
|
+
weight?: number;
|
|
882
|
+
filters?: {
|
|
883
|
+
type: "RequestHeaderModifier" | "ResponseHeaderModifier" | "RequestMirror" | "RequestRedirect" | "URLRewrite" | "ExtensionRef";
|
|
884
|
+
requestHeaderModifier?: {
|
|
885
|
+
set?: {
|
|
886
|
+
name: string;
|
|
887
|
+
value: string;
|
|
888
|
+
}[];
|
|
889
|
+
add?: {
|
|
890
|
+
name: string;
|
|
891
|
+
value: string;
|
|
892
|
+
}[];
|
|
893
|
+
remove?: string[];
|
|
894
|
+
};
|
|
895
|
+
responseHeaderModifier?: {
|
|
896
|
+
set?: {
|
|
897
|
+
name: string;
|
|
898
|
+
value: string;
|
|
899
|
+
}[];
|
|
900
|
+
add?: {
|
|
901
|
+
name: string;
|
|
902
|
+
value: string;
|
|
903
|
+
}[];
|
|
904
|
+
remove?: string[];
|
|
905
|
+
};
|
|
906
|
+
requestRedirect?: {
|
|
907
|
+
scheme?: "http" | "https";
|
|
908
|
+
hostname?: string;
|
|
909
|
+
port?: number;
|
|
910
|
+
statusCode?: 301 | 302;
|
|
911
|
+
path?: {
|
|
912
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
913
|
+
replaceFullPath?: string;
|
|
914
|
+
replacePrefixMatch?: string;
|
|
915
|
+
};
|
|
916
|
+
};
|
|
917
|
+
urlRewrite?: {
|
|
918
|
+
hostname?: string;
|
|
919
|
+
path?: {
|
|
920
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
921
|
+
replaceFullPath?: string;
|
|
922
|
+
replacePrefixMatch?: string;
|
|
923
|
+
};
|
|
924
|
+
};
|
|
925
|
+
requestMirror?: {
|
|
926
|
+
backendRef: {
|
|
927
|
+
name: string;
|
|
928
|
+
group?: string;
|
|
929
|
+
kind?: string;
|
|
930
|
+
namespace?: string;
|
|
931
|
+
port?: number;
|
|
932
|
+
weight?: number;
|
|
933
|
+
};
|
|
934
|
+
percent?: number;
|
|
935
|
+
fraction?: {
|
|
936
|
+
numerator: number;
|
|
937
|
+
denominator?: number;
|
|
938
|
+
};
|
|
939
|
+
};
|
|
940
|
+
extensionRef?: {
|
|
941
|
+
group: string;
|
|
942
|
+
kind: string;
|
|
943
|
+
name: string;
|
|
944
|
+
};
|
|
945
|
+
}[];
|
|
946
|
+
}[];
|
|
947
|
+
sessionPersistence?: {
|
|
948
|
+
sessionName?: string;
|
|
949
|
+
absoluteTimeout?: string;
|
|
950
|
+
idleTimeout?: string;
|
|
951
|
+
type?: "Cookie" | "Header";
|
|
952
|
+
cookieConfig?: {
|
|
953
|
+
lifetimeType?: "Permanent" | "Session";
|
|
954
|
+
};
|
|
955
|
+
};
|
|
956
|
+
}, {}>;
|
|
957
|
+
/** One `GRPCRoute.spec.rules[]` entry. */
|
|
958
|
+
export type GRPCRouteRule = typeof GRPCRouteRuleSchema.infer;
|
|
959
|
+
/** `GRPCRoute.spec`. */
|
|
960
|
+
export declare const GRPCRouteSpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
961
|
+
parentRefs: {
|
|
962
|
+
name: string;
|
|
963
|
+
group?: string;
|
|
964
|
+
kind?: string;
|
|
965
|
+
namespace?: string;
|
|
966
|
+
sectionName?: string;
|
|
967
|
+
port?: number;
|
|
968
|
+
}[];
|
|
969
|
+
hostnames?: string[];
|
|
970
|
+
rules?: {
|
|
971
|
+
name?: string;
|
|
972
|
+
matches?: {
|
|
973
|
+
method?: {
|
|
974
|
+
type?: "Exact" | "RegularExpression";
|
|
975
|
+
service?: string;
|
|
976
|
+
method?: string;
|
|
977
|
+
};
|
|
978
|
+
headers?: {
|
|
979
|
+
name: string;
|
|
980
|
+
value: string;
|
|
981
|
+
type?: "Exact" | "RegularExpression";
|
|
982
|
+
}[];
|
|
983
|
+
}[];
|
|
984
|
+
filters?: {
|
|
985
|
+
type: "RequestHeaderModifier" | "ResponseHeaderModifier" | "RequestMirror" | "RequestRedirect" | "URLRewrite" | "ExtensionRef";
|
|
986
|
+
requestHeaderModifier?: {
|
|
987
|
+
set?: {
|
|
988
|
+
name: string;
|
|
989
|
+
value: string;
|
|
990
|
+
}[];
|
|
991
|
+
add?: {
|
|
992
|
+
name: string;
|
|
993
|
+
value: string;
|
|
994
|
+
}[];
|
|
995
|
+
remove?: string[];
|
|
996
|
+
};
|
|
997
|
+
responseHeaderModifier?: {
|
|
998
|
+
set?: {
|
|
999
|
+
name: string;
|
|
1000
|
+
value: string;
|
|
1001
|
+
}[];
|
|
1002
|
+
add?: {
|
|
1003
|
+
name: string;
|
|
1004
|
+
value: string;
|
|
1005
|
+
}[];
|
|
1006
|
+
remove?: string[];
|
|
1007
|
+
};
|
|
1008
|
+
requestRedirect?: {
|
|
1009
|
+
scheme?: "http" | "https";
|
|
1010
|
+
hostname?: string;
|
|
1011
|
+
port?: number;
|
|
1012
|
+
statusCode?: 301 | 302;
|
|
1013
|
+
path?: {
|
|
1014
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
1015
|
+
replaceFullPath?: string;
|
|
1016
|
+
replacePrefixMatch?: string;
|
|
1017
|
+
};
|
|
1018
|
+
};
|
|
1019
|
+
urlRewrite?: {
|
|
1020
|
+
hostname?: string;
|
|
1021
|
+
path?: {
|
|
1022
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
1023
|
+
replaceFullPath?: string;
|
|
1024
|
+
replacePrefixMatch?: string;
|
|
1025
|
+
};
|
|
1026
|
+
};
|
|
1027
|
+
requestMirror?: {
|
|
1028
|
+
backendRef: {
|
|
1029
|
+
name: string;
|
|
1030
|
+
group?: string;
|
|
1031
|
+
kind?: string;
|
|
1032
|
+
namespace?: string;
|
|
1033
|
+
port?: number;
|
|
1034
|
+
weight?: number;
|
|
1035
|
+
};
|
|
1036
|
+
percent?: number;
|
|
1037
|
+
fraction?: {
|
|
1038
|
+
numerator: number;
|
|
1039
|
+
denominator?: number;
|
|
1040
|
+
};
|
|
1041
|
+
};
|
|
1042
|
+
extensionRef?: {
|
|
1043
|
+
group: string;
|
|
1044
|
+
kind: string;
|
|
1045
|
+
name: string;
|
|
1046
|
+
};
|
|
1047
|
+
}[];
|
|
1048
|
+
backendRefs?: {
|
|
1049
|
+
name: string;
|
|
1050
|
+
group?: string;
|
|
1051
|
+
kind?: string;
|
|
1052
|
+
namespace?: string;
|
|
1053
|
+
port?: number;
|
|
1054
|
+
weight?: number;
|
|
1055
|
+
filters?: {
|
|
1056
|
+
type: "RequestHeaderModifier" | "ResponseHeaderModifier" | "RequestMirror" | "RequestRedirect" | "URLRewrite" | "ExtensionRef";
|
|
1057
|
+
requestHeaderModifier?: {
|
|
1058
|
+
set?: {
|
|
1059
|
+
name: string;
|
|
1060
|
+
value: string;
|
|
1061
|
+
}[];
|
|
1062
|
+
add?: {
|
|
1063
|
+
name: string;
|
|
1064
|
+
value: string;
|
|
1065
|
+
}[];
|
|
1066
|
+
remove?: string[];
|
|
1067
|
+
};
|
|
1068
|
+
responseHeaderModifier?: {
|
|
1069
|
+
set?: {
|
|
1070
|
+
name: string;
|
|
1071
|
+
value: string;
|
|
1072
|
+
}[];
|
|
1073
|
+
add?: {
|
|
1074
|
+
name: string;
|
|
1075
|
+
value: string;
|
|
1076
|
+
}[];
|
|
1077
|
+
remove?: string[];
|
|
1078
|
+
};
|
|
1079
|
+
requestRedirect?: {
|
|
1080
|
+
scheme?: "http" | "https";
|
|
1081
|
+
hostname?: string;
|
|
1082
|
+
port?: number;
|
|
1083
|
+
statusCode?: 301 | 302;
|
|
1084
|
+
path?: {
|
|
1085
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
1086
|
+
replaceFullPath?: string;
|
|
1087
|
+
replacePrefixMatch?: string;
|
|
1088
|
+
};
|
|
1089
|
+
};
|
|
1090
|
+
urlRewrite?: {
|
|
1091
|
+
hostname?: string;
|
|
1092
|
+
path?: {
|
|
1093
|
+
type: "ReplaceFullPath" | "ReplacePrefixMatch";
|
|
1094
|
+
replaceFullPath?: string;
|
|
1095
|
+
replacePrefixMatch?: string;
|
|
1096
|
+
};
|
|
1097
|
+
};
|
|
1098
|
+
requestMirror?: {
|
|
1099
|
+
backendRef: {
|
|
1100
|
+
name: string;
|
|
1101
|
+
group?: string;
|
|
1102
|
+
kind?: string;
|
|
1103
|
+
namespace?: string;
|
|
1104
|
+
port?: number;
|
|
1105
|
+
weight?: number;
|
|
1106
|
+
};
|
|
1107
|
+
percent?: number;
|
|
1108
|
+
fraction?: {
|
|
1109
|
+
numerator: number;
|
|
1110
|
+
denominator?: number;
|
|
1111
|
+
};
|
|
1112
|
+
};
|
|
1113
|
+
extensionRef?: {
|
|
1114
|
+
group: string;
|
|
1115
|
+
kind: string;
|
|
1116
|
+
name: string;
|
|
1117
|
+
};
|
|
1118
|
+
}[];
|
|
1119
|
+
}[];
|
|
1120
|
+
sessionPersistence?: {
|
|
1121
|
+
sessionName?: string;
|
|
1122
|
+
absoluteTimeout?: string;
|
|
1123
|
+
idleTimeout?: string;
|
|
1124
|
+
type?: "Cookie" | "Header";
|
|
1125
|
+
cookieConfig?: {
|
|
1126
|
+
lifetimeType?: "Permanent" | "Session";
|
|
1127
|
+
};
|
|
1128
|
+
};
|
|
1129
|
+
}[];
|
|
1130
|
+
}, {}>;
|
|
1131
|
+
/** `GRPCRoute.spec`. */
|
|
1132
|
+
export type GRPCRouteSpec = typeof GRPCRouteSpecSchema.infer;
|
|
1133
|
+
/**
|
|
1134
|
+
* `ReferenceGrant.spec` — the opt-in a namespace publishes so resources in
|
|
1135
|
+
* `from` namespaces may reference the listed `to` resources in this namespace.
|
|
1136
|
+
*/
|
|
1137
|
+
export declare const ReferenceGrantSpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1138
|
+
from: {
|
|
1139
|
+
group: string;
|
|
1140
|
+
kind: string;
|
|
1141
|
+
namespace: string;
|
|
1142
|
+
}[];
|
|
1143
|
+
to: {
|
|
1144
|
+
group: string;
|
|
1145
|
+
kind: string;
|
|
1146
|
+
name?: string;
|
|
1147
|
+
}[];
|
|
1148
|
+
}, {}>;
|
|
1149
|
+
/** `ReferenceGrant.spec`. */
|
|
1150
|
+
export type ReferenceGrantSpec = typeof ReferenceGrantSpecSchema.infer;
|
|
1151
|
+
/**
|
|
1152
|
+
* `BackendTLSPolicy.spec`.
|
|
1153
|
+
*
|
|
1154
|
+
* Kept general on purpose: Envoy Gateway targets its own `Backend` kind while
|
|
1155
|
+
* other controllers target `Service`, so `targetRefs[].group`/`kind` are plain
|
|
1156
|
+
* strings rather than one vendor's literals.
|
|
1157
|
+
*/
|
|
1158
|
+
export declare const BackendTLSPolicySpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1159
|
+
targetRefs: {
|
|
1160
|
+
group: string;
|
|
1161
|
+
kind: string;
|
|
1162
|
+
name: string;
|
|
1163
|
+
sectionName?: string;
|
|
1164
|
+
}[];
|
|
1165
|
+
validation: {
|
|
1166
|
+
hostname: string;
|
|
1167
|
+
wellKnownCACertificates?: "System";
|
|
1168
|
+
caCertificateRefs?: {
|
|
1169
|
+
group: string;
|
|
1170
|
+
kind: string;
|
|
1171
|
+
name: string;
|
|
1172
|
+
}[];
|
|
1173
|
+
subjectAltNames?: {
|
|
1174
|
+
type: "Hostname" | "URI";
|
|
1175
|
+
hostname?: string;
|
|
1176
|
+
uri?: string;
|
|
1177
|
+
}[];
|
|
1178
|
+
};
|
|
1179
|
+
options?: Record<string, string>;
|
|
1180
|
+
}, {}>;
|
|
1181
|
+
/** `BackendTLSPolicy.spec`. */
|
|
1182
|
+
export type BackendTLSPolicySpec = typeof BackendTLSPolicySpecSchema.infer;
|
|
1183
|
+
/**
|
|
1184
|
+
* Identity fields every Gateway API resource factory accepts.
|
|
1185
|
+
*
|
|
1186
|
+
* These schemas are the source of truth for the TYPES and the target of the
|
|
1187
|
+
* schema tests; the factories do not run them over their input, because inside
|
|
1188
|
+
* a composition `name` may be a `KubernetesRef` proxy rather than a string and
|
|
1189
|
+
* every constraint here would reject it.
|
|
1190
|
+
*/
|
|
1191
|
+
export declare const gatewayApiClusterResourceMetadataShape: {
|
|
1192
|
+
readonly name: import("arktype/internal/variants/string.ts").StringType<string, {}>;
|
|
1193
|
+
/** Extra labels merged onto `metadata.labels`. */
|
|
1194
|
+
readonly 'labels?': "Record<string, string>";
|
|
1195
|
+
/** Extra annotations merged onto `metadata.annotations`. */
|
|
1196
|
+
readonly 'annotations?': "Record<string, string>";
|
|
1197
|
+
/** Resource graph id. Required when `name` is a schema reference. */
|
|
1198
|
+
readonly 'id?': "string > 0";
|
|
1199
|
+
};
|
|
1200
|
+
/** Identity fields every namespaced Gateway API resource factory accepts. */
|
|
1201
|
+
export declare const gatewayApiNamespacedResourceMetadataShape: {
|
|
1202
|
+
readonly namespace: import("arktype/internal/variants/string.ts").StringType<string, {}>;
|
|
1203
|
+
readonly name: import("arktype/internal/variants/string.ts").StringType<string, {}>;
|
|
1204
|
+
/** Extra labels merged onto `metadata.labels`. */
|
|
1205
|
+
readonly 'labels?': "Record<string, string>";
|
|
1206
|
+
/** Extra annotations merged onto `metadata.annotations`. */
|
|
1207
|
+
readonly 'annotations?': "Record<string, string>";
|
|
1208
|
+
/** Resource graph id. Required when `name` is a schema reference. */
|
|
1209
|
+
readonly 'id?': "string > 0";
|
|
1210
|
+
};
|
|
1211
|
+
/** Identity of a cluster-scoped Gateway API resource, without its spec. */
|
|
1212
|
+
export declare const GatewayApiClusterResourceMetadataSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1213
|
+
name: string;
|
|
1214
|
+
labels?: Record<string, string>;
|
|
1215
|
+
annotations?: Record<string, string>;
|
|
1216
|
+
id?: string;
|
|
1217
|
+
}, {}>;
|
|
1218
|
+
/** Identity of a cluster-scoped Gateway API resource, without its spec. */
|
|
1219
|
+
export type GatewayApiClusterResourceMetadata = typeof GatewayApiClusterResourceMetadataSchema.infer;
|
|
1220
|
+
/** Identity of a namespaced Gateway API resource, without its spec. */
|
|
1221
|
+
export declare const GatewayApiNamespacedResourceMetadataSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1222
|
+
namespace: string;
|
|
1223
|
+
name: string;
|
|
1224
|
+
labels?: Record<string, string>;
|
|
1225
|
+
annotations?: Record<string, string>;
|
|
1226
|
+
id?: string;
|
|
1227
|
+
}, {}>;
|
|
1228
|
+
/** Identity of a namespaced Gateway API resource, without its spec. */
|
|
1229
|
+
export type GatewayApiNamespacedResourceMetadata = typeof GatewayApiNamespacedResourceMetadataSchema.infer;
|
|
1230
|
+
/**
|
|
1231
|
+
* Configuration for `backendTLSPolicy`.
|
|
1232
|
+
*
|
|
1233
|
+
* Fully inferred rather than generic: a `BackendTLSPolicy` has exactly one
|
|
1234
|
+
* spec shape, so there is nothing for a type parameter to vary.
|
|
1235
|
+
*/
|
|
1236
|
+
export declare const BackendTLSPolicyConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1237
|
+
controllerName: string;
|
|
1238
|
+
spec: {
|
|
1239
|
+
targetRefs: {
|
|
1240
|
+
group: string;
|
|
1241
|
+
kind: string;
|
|
1242
|
+
name: string;
|
|
1243
|
+
sectionName?: string;
|
|
1244
|
+
}[];
|
|
1245
|
+
validation: {
|
|
1246
|
+
hostname: string;
|
|
1247
|
+
wellKnownCACertificates?: "System";
|
|
1248
|
+
caCertificateRefs?: {
|
|
1249
|
+
group: string;
|
|
1250
|
+
kind: string;
|
|
1251
|
+
name: string;
|
|
1252
|
+
}[];
|
|
1253
|
+
subjectAltNames?: {
|
|
1254
|
+
type: "Hostname" | "URI";
|
|
1255
|
+
hostname?: string;
|
|
1256
|
+
uri?: string;
|
|
1257
|
+
}[];
|
|
1258
|
+
};
|
|
1259
|
+
options?: Record<string, string>;
|
|
1260
|
+
};
|
|
1261
|
+
namespace: string;
|
|
1262
|
+
name: string;
|
|
1263
|
+
labels?: Record<string, string>;
|
|
1264
|
+
annotations?: Record<string, string>;
|
|
1265
|
+
id?: string;
|
|
1266
|
+
}, {}>;
|
|
1267
|
+
/** Configuration for `backendTLSPolicy`. */
|
|
1268
|
+
export type BackendTLSPolicyConfig = typeof BackendTLSPolicyConfigSchema.infer;
|
|
1269
|
+
//# sourceMappingURL=types.d.ts.map
|