typekro 0.3.1 → 0.4.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/README.md +142 -1054
- package/dist/.tsbuildinfo +1 -1
- package/dist/alchemy/deployers.d.ts +0 -5
- package/dist/alchemy/deployers.d.ts.map +1 -1
- package/dist/alchemy/deployers.js +25 -72
- package/dist/alchemy/deployers.js.map +1 -1
- package/dist/core/composition/imperative.d.ts +2 -2
- package/dist/core/composition/imperative.d.ts.map +1 -1
- package/dist/core/composition/imperative.js +394 -10
- package/dist/core/composition/imperative.js.map +1 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts +1 -9
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.js +76 -10
- package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/core/composition/typekro-runtime/types.d.ts +8 -5
- package/dist/core/composition/typekro-runtime/types.d.ts.map +1 -1
- package/dist/core/composition/typekro-runtime/types.js.map +1 -1
- package/dist/core/constants/brands.d.ts +20 -0
- package/dist/core/constants/brands.d.ts.map +1 -1
- package/dist/core/constants/brands.js +20 -0
- package/dist/core/constants/brands.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +36 -1
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +289 -4
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +44 -2
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +645 -63
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/event-filter.d.ts.map +1 -1
- package/dist/core/deployment/event-filter.js +6 -7
- package/dist/core/deployment/event-filter.js.map +1 -1
- package/dist/core/deployment/event-monitor.d.ts +36 -2
- package/dist/core/deployment/event-monitor.d.ts.map +1 -1
- package/dist/core/deployment/event-monitor.js +183 -33
- package/dist/core/deployment/event-monitor.js.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts +22 -0
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +291 -27
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/readiness.d.ts.map +1 -1
- package/dist/core/deployment/readiness.js +4 -2
- package/dist/core/deployment/readiness.js.map +1 -1
- package/dist/core/deployment/rollback-manager.d.ts +2 -1
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
- package/dist/core/deployment/rollback-manager.js +5 -2
- package/dist/core/deployment/rollback-manager.js.map +1 -1
- package/dist/core/deployment/shared-utilities.js.map +1 -1
- package/dist/core/deployment/status-hydrator.d.ts +1 -1
- package/dist/core/deployment/status-hydrator.d.ts.map +1 -1
- package/dist/core/deployment/status-hydrator.js +8 -5
- package/dist/core/deployment/status-hydrator.js.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +60 -21
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.d.ts +7 -0
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.js +50 -0
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.d.ts +5 -0
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.js +53 -4
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
- package/dist/core/expressions/analyzer.d.ts +6 -6
- package/dist/core/expressions/analyzer.d.ts.map +1 -1
- package/dist/core/expressions/analyzer.js +40 -75
- package/dist/core/expressions/analyzer.js.map +1 -1
- package/dist/core/expressions/cel-conversion-engine.d.ts.map +1 -1
- package/dist/core/expressions/cel-conversion-engine.js +10 -11
- package/dist/core/expressions/cel-conversion-engine.js.map +1 -1
- package/dist/core/expressions/composition-integration.d.ts +2 -2
- package/dist/core/expressions/composition-integration.d.ts.map +1 -1
- package/dist/core/expressions/composition-integration.js +20 -12
- package/dist/core/expressions/composition-integration.js.map +1 -1
- package/dist/core/expressions/field-hydration-processor.d.ts +4 -1
- package/dist/core/expressions/field-hydration-processor.d.ts.map +1 -1
- package/dist/core/expressions/field-hydration-processor.js +12 -13
- package/dist/core/expressions/field-hydration-processor.js.map +1 -1
- package/dist/core/expressions/imperative-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/imperative-analyzer.js +54 -24
- package/dist/core/expressions/imperative-analyzer.js.map +1 -1
- package/dist/core/expressions/index.d.ts +2 -0
- package/dist/core/expressions/index.d.ts.map +1 -1
- package/dist/core/expressions/index.js +2 -0
- package/dist/core/expressions/index.js.map +1 -1
- package/dist/core/expressions/magic-proxy-analyzer.d.ts +1 -1
- package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy-analyzer.js +8 -7
- package/dist/core/expressions/magic-proxy-analyzer.js.map +1 -1
- package/dist/core/expressions/parser.d.ts +163 -0
- package/dist/core/expressions/parser.d.ts.map +1 -0
- package/dist/core/expressions/parser.js +272 -0
- package/dist/core/expressions/parser.js.map +1 -0
- package/dist/core/kubernetes/api.d.ts.map +1 -1
- package/dist/core/kubernetes/api.js +5 -6
- package/dist/core/kubernetes/api.js.map +1 -1
- package/dist/core/kubernetes/bun-api-client.d.ts +95 -0
- package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -0
- package/dist/core/kubernetes/bun-api-client.js +160 -0
- package/dist/core/kubernetes/bun-api-client.js.map +1 -0
- package/dist/core/kubernetes/bun-http-library.d.ts +38 -0
- package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -0
- package/dist/core/kubernetes/bun-http-library.js +133 -0
- package/dist/core/kubernetes/bun-http-library.js.map +1 -0
- package/dist/core/kubernetes/client-provider.d.ts +3 -0
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
- package/dist/core/kubernetes/client-provider.js +32 -23
- package/dist/core/kubernetes/client-provider.js.map +1 -1
- package/dist/core/kubernetes/errors.d.ts +189 -0
- package/dist/core/kubernetes/errors.d.ts.map +1 -0
- package/dist/core/kubernetes/errors.js +298 -0
- package/dist/core/kubernetes/errors.js.map +1 -0
- package/dist/core/kubernetes/index.d.ts +19 -0
- package/dist/core/kubernetes/index.d.ts.map +1 -0
- package/dist/core/kubernetes/index.js +23 -0
- package/dist/core/kubernetes/index.js.map +1 -0
- package/dist/core/kubernetes/type-guards.d.ts +142 -0
- package/dist/core/kubernetes/type-guards.d.ts.map +1 -0
- package/dist/core/kubernetes/type-guards.js +151 -0
- package/dist/core/kubernetes/type-guards.js.map +1 -0
- package/dist/core/logging/logger.d.ts.map +1 -1
- package/dist/core/logging/logger.js +8 -0
- package/dist/core/logging/logger.js.map +1 -1
- package/dist/core/readiness/cluster-state.d.ts.map +1 -1
- package/dist/core/readiness/cluster-state.js +6 -4
- package/dist/core/readiness/cluster-state.js.map +1 -1
- package/dist/core/references/cel-evaluator.d.ts.map +1 -1
- package/dist/core/references/cel-evaluator.js +12 -2
- package/dist/core/references/cel-evaluator.js.map +1 -1
- package/dist/core/references/cel.js +1 -1
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/references/resolver.d.ts +28 -1
- package/dist/core/references/resolver.d.ts.map +1 -1
- package/dist/core/references/resolver.js +325 -11
- package/dist/core/references/resolver.js.map +1 -1
- package/dist/core/references/schema-proxy.d.ts.map +1 -1
- package/dist/core/references/schema-proxy.js +14 -5
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/core/scope/resolver.d.ts +16 -0
- package/dist/core/scope/resolver.d.ts.map +1 -0
- package/dist/core/scope/resolver.js +45 -0
- package/dist/core/scope/resolver.js.map +1 -0
- package/dist/core/serialization/core.d.ts +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +78 -54
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/types/common.d.ts +23 -1
- package/dist/core/types/common.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +68 -1
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/deployment.js +17 -0
- package/dist/core/types/deployment.js.map +1 -1
- package/dist/core/types/factory-scope.d.ts +42 -0
- package/dist/core/types/factory-scope.d.ts.map +1 -0
- package/dist/core/types/factory-scope.js +14 -0
- package/dist/core/types/factory-scope.js.map +1 -0
- package/dist/core/types/kubernetes.d.ts +146 -4
- package/dist/core/types/kubernetes.d.ts.map +1 -1
- package/dist/core/types/references.d.ts +47 -3
- package/dist/core/types/references.d.ts.map +1 -1
- package/dist/core/types/references.js.map +1 -1
- package/dist/core/types/serialization.d.ts +17 -6
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/utils/crd-patcher.d.ts +30 -0
- package/dist/core/utils/crd-patcher.d.ts.map +1 -0
- package/dist/core/utils/crd-patcher.js +198 -0
- package/dist/core/utils/crd-patcher.js.map +1 -0
- package/dist/core/utils/crd-schema-fix.d.ts +108 -0
- package/dist/core/utils/crd-schema-fix.d.ts.map +1 -0
- package/dist/core/utils/crd-schema-fix.js +245 -0
- package/dist/core/utils/crd-schema-fix.js.map +1 -0
- package/dist/core/utils/index.d.ts +12 -0
- package/dist/core/utils/index.d.ts.map +1 -0
- package/dist/core/utils/index.js +12 -0
- package/dist/core/utils/index.js.map +1 -0
- package/dist/core/utils/minimal-connection-reset-suppression.d.ts +16 -0
- package/dist/core/utils/minimal-connection-reset-suppression.d.ts.map +1 -0
- package/dist/core/utils/minimal-connection-reset-suppression.js +72 -0
- package/dist/core/utils/minimal-connection-reset-suppression.js.map +1 -0
- package/dist/core/utils/output-filter.d.ts +16 -0
- package/dist/core/utils/output-filter.d.ts.map +1 -0
- package/dist/core/utils/output-filter.js +90 -0
- package/dist/core/utils/output-filter.js.map +1 -0
- package/dist/core/utils/scoped-error-suppression.d.ts +25 -0
- package/dist/core/utils/scoped-error-suppression.d.ts.map +1 -0
- package/dist/core/utils/scoped-error-suppression.js +226 -0
- package/dist/core/utils/scoped-error-suppression.js.map +1 -0
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +52 -12
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +38 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.js +280 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -0
- package/dist/factories/apisix/compositions/index.d.ts +5 -0
- package/dist/factories/apisix/compositions/index.d.ts.map +1 -0
- package/dist/factories/apisix/compositions/index.js +5 -0
- package/dist/factories/apisix/compositions/index.js.map +1 -0
- package/dist/factories/apisix/index.d.ts +11 -0
- package/dist/factories/apisix/index.d.ts.map +1 -0
- package/dist/factories/apisix/index.js +11 -0
- package/dist/factories/apisix/index.js.map +1 -0
- package/dist/factories/apisix/resources/helm.d.ts +59 -0
- package/dist/factories/apisix/resources/helm.d.ts.map +1 -0
- package/dist/factories/apisix/resources/helm.js +175 -0
- package/dist/factories/apisix/resources/helm.js.map +1 -0
- package/dist/factories/apisix/resources/index.d.ts +5 -0
- package/dist/factories/apisix/resources/index.d.ts.map +1 -0
- package/dist/factories/apisix/resources/index.js +5 -0
- package/dist/factories/apisix/resources/index.js.map +1 -0
- package/dist/factories/apisix/types.d.ts +339 -0
- package/dist/factories/apisix/types.d.ts.map +1 -0
- package/dist/factories/apisix/types.js +88 -0
- package/dist/factories/apisix/types.js.map +1 -0
- package/dist/factories/apisix/utils/helm-values-mapper.d.ts +19 -0
- package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/apisix/utils/helm-values-mapper.js +108 -0
- package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/apisix/utils/index.d.ts +5 -0
- package/dist/factories/apisix/utils/index.d.ts.map +1 -0
- package/dist/factories/apisix/utils/index.js +5 -0
- package/dist/factories/apisix/utils/index.js.map +1 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts +45 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +323 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -0
- package/dist/factories/cert-manager/compositions/index.d.ts +2 -0
- package/dist/factories/cert-manager/compositions/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/compositions/index.js +2 -0
- package/dist/factories/cert-manager/compositions/index.js.map +1 -0
- package/dist/factories/cert-manager/index.d.ts +10 -0
- package/dist/factories/cert-manager/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/index.js +19 -0
- package/dist/factories/cert-manager/index.js.map +1 -0
- package/dist/factories/cert-manager/resources/certificates.d.ts +39 -0
- package/dist/factories/cert-manager/resources/certificates.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/certificates.js +132 -0
- package/dist/factories/cert-manager/resources/certificates.js.map +1 -0
- package/dist/factories/cert-manager/resources/challenges.d.ts +113 -0
- package/dist/factories/cert-manager/resources/challenges.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/challenges.js +281 -0
- package/dist/factories/cert-manager/resources/challenges.js.map +1 -0
- package/dist/factories/cert-manager/resources/helm.d.ts +57 -0
- package/dist/factories/cert-manager/resources/helm.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/helm.js +390 -0
- package/dist/factories/cert-manager/resources/helm.js.map +1 -0
- package/dist/factories/cert-manager/resources/index.d.ts +5 -0
- package/dist/factories/cert-manager/resources/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/index.js +6 -0
- package/dist/factories/cert-manager/resources/index.js.map +1 -0
- package/dist/factories/cert-manager/resources/issuers.d.ts +79 -0
- package/dist/factories/cert-manager/resources/issuers.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/issuers.js +204 -0
- package/dist/factories/cert-manager/resources/issuers.js.map +1 -0
- package/dist/factories/cert-manager/types.d.ts +1015 -0
- package/dist/factories/cert-manager/types.d.ts.map +1 -0
- package/dist/factories/cert-manager/types.js +198 -0
- package/dist/factories/cert-manager/types.js.map +1 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts +19 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.js +117 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/cert-manager/utils/index.d.ts +2 -0
- package/dist/factories/cert-manager/utils/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/utils/index.js +2 -0
- package/dist/factories/cert-manager/utils/index.js.map +1 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +220 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts.map +1 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.js +293 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.js.map +1 -0
- package/dist/factories/cilium/compositions/index.d.ts +8 -0
- package/dist/factories/cilium/compositions/index.d.ts.map +1 -0
- package/dist/factories/cilium/compositions/index.js +11 -0
- package/dist/factories/cilium/compositions/index.js.map +1 -0
- package/dist/factories/cilium/index.d.ts +10 -0
- package/dist/factories/cilium/index.d.ts.map +1 -0
- package/dist/factories/cilium/index.js +19 -0
- package/dist/factories/cilium/index.js.map +1 -0
- package/dist/factories/cilium/resources/bgp.d.ts +10 -0
- package/dist/factories/cilium/resources/bgp.d.ts.map +1 -0
- package/dist/factories/cilium/resources/bgp.js +14 -0
- package/dist/factories/cilium/resources/bgp.js.map +1 -0
- package/dist/factories/cilium/resources/gateway.d.ts +72 -0
- package/dist/factories/cilium/resources/gateway.d.ts.map +1 -0
- package/dist/factories/cilium/resources/gateway.js +118 -0
- package/dist/factories/cilium/resources/gateway.js.map +1 -0
- package/dist/factories/cilium/resources/helm.d.ts +93 -0
- package/dist/factories/cilium/resources/helm.d.ts.map +1 -0
- package/dist/factories/cilium/resources/helm.js +377 -0
- package/dist/factories/cilium/resources/helm.js.map +1 -0
- package/dist/factories/cilium/resources/index.d.ts +14 -0
- package/dist/factories/cilium/resources/index.d.ts.map +1 -0
- package/dist/factories/cilium/resources/index.js +35 -0
- package/dist/factories/cilium/resources/index.js.map +1 -0
- package/dist/factories/cilium/resources/load-balancer.d.ts +9 -0
- package/dist/factories/cilium/resources/load-balancer.d.ts.map +1 -0
- package/dist/factories/cilium/resources/load-balancer.js +12 -0
- package/dist/factories/cilium/resources/load-balancer.js.map +1 -0
- package/dist/factories/cilium/resources/networking.d.ts +202 -0
- package/dist/factories/cilium/resources/networking.d.ts.map +1 -0
- package/dist/factories/cilium/resources/networking.js +581 -0
- package/dist/factories/cilium/resources/networking.js.map +1 -0
- package/dist/factories/cilium/resources/observability.d.ts +9 -0
- package/dist/factories/cilium/resources/observability.d.ts.map +1 -0
- package/dist/factories/cilium/resources/observability.js +11 -0
- package/dist/factories/cilium/resources/observability.js.map +1 -0
- package/dist/factories/cilium/resources/security.d.ts +10 -0
- package/dist/factories/cilium/resources/security.d.ts.map +1 -0
- package/dist/factories/cilium/resources/security.js +14 -0
- package/dist/factories/cilium/resources/security.js.map +1 -0
- package/dist/factories/cilium/types.d.ts +1001 -0
- package/dist/factories/cilium/types.d.ts.map +1 -0
- package/dist/factories/cilium/types.js +79 -0
- package/dist/factories/cilium/types.js.map +1 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts +32 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +152 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -0
- package/dist/factories/external-dns/compositions/index.d.ts +2 -0
- package/dist/factories/external-dns/compositions/index.d.ts.map +1 -0
- package/dist/factories/external-dns/compositions/index.js +3 -0
- package/dist/factories/external-dns/compositions/index.js.map +1 -0
- package/dist/factories/external-dns/index.d.ts +10 -0
- package/dist/factories/external-dns/index.d.ts.map +1 -0
- package/dist/factories/external-dns/index.js +19 -0
- package/dist/factories/external-dns/index.js.map +1 -0
- package/dist/factories/external-dns/resources/dns-endpoint.d.ts +54 -0
- package/dist/factories/external-dns/resources/dns-endpoint.d.ts.map +1 -0
- package/dist/factories/external-dns/resources/dns-endpoint.js +53 -0
- package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -0
- package/dist/factories/external-dns/resources/helm.d.ts +57 -0
- package/dist/factories/external-dns/resources/helm.d.ts.map +1 -0
- package/dist/factories/external-dns/resources/helm.js +435 -0
- package/dist/factories/external-dns/resources/helm.js.map +1 -0
- package/dist/factories/external-dns/resources/index.d.ts +3 -0
- package/dist/factories/external-dns/resources/index.d.ts.map +1 -0
- package/dist/factories/external-dns/resources/index.js +4 -0
- package/dist/factories/external-dns/resources/index.js.map +1 -0
- package/dist/factories/external-dns/types.d.ts +180 -0
- package/dist/factories/external-dns/types.d.ts.map +1 -0
- package/dist/factories/external-dns/types.js +39 -0
- package/dist/factories/external-dns/types.js.map +1 -0
- package/dist/factories/flux/git-repository.d.ts +2 -2
- package/dist/factories/flux/git-repository.d.ts.map +1 -1
- package/dist/factories/helm/types.d.ts +24 -3
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/index.d.ts +7 -1
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +21 -2
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/kubernetes/config/config-map.d.ts +4 -1
- package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/config-map.js +4 -0
- package/dist/factories/kubernetes/config/config-map.js.map +1 -1
- package/dist/factories/kubernetes/config/secret.d.ts +6 -1
- package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/secret.js +4 -0
- package/dist/factories/kubernetes/config/secret.js.map +1 -1
- package/dist/factories/kubernetes/networking/service.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/service.js +6 -1
- package/dist/factories/kubernetes/networking/service.js.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role.js +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -1
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/scheduling/priority-class.js +1 -1
- package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -1
- package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/storage-class.js +1 -1
- package/dist/factories/kubernetes/storage/storage-class.js.map +1 -1
- package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/deployment.js +9 -4
- package/dist/factories/kubernetes/workloads/deployment.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.js +2 -2
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts +31 -1
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.js +80 -7
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
- package/dist/factories/pebble/compositions/index.d.ts +2 -0
- package/dist/factories/pebble/compositions/index.d.ts.map +1 -0
- package/dist/factories/pebble/compositions/index.js +3 -0
- package/dist/factories/pebble/compositions/index.js.map +1 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts +56 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts.map +1 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.js +97 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.js.map +1 -0
- package/dist/factories/pebble/index.d.ts +10 -0
- package/dist/factories/pebble/index.d.ts.map +1 -0
- package/dist/factories/pebble/index.js +19 -0
- package/dist/factories/pebble/index.js.map +1 -0
- package/dist/factories/pebble/resources/helm.d.ts +99 -0
- package/dist/factories/pebble/resources/helm.d.ts.map +1 -0
- package/dist/factories/pebble/resources/helm.js +167 -0
- package/dist/factories/pebble/resources/helm.js.map +1 -0
- package/dist/factories/pebble/resources/index.d.ts +2 -0
- package/dist/factories/pebble/resources/index.d.ts.map +1 -0
- package/dist/factories/pebble/resources/index.js +3 -0
- package/dist/factories/pebble/resources/index.js.map +1 -0
- package/dist/factories/pebble/types.d.ts +184 -0
- package/dist/factories/pebble/types.d.ts.map +1 -0
- package/dist/factories/pebble/types.js +23 -0
- package/dist/factories/pebble/types.js.map +1 -0
- package/dist/factories/pebble/utils/helm-values-mapper.d.ts +21 -0
- package/dist/factories/pebble/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/pebble/utils/helm-values-mapper.js +96 -0
- package/dist/factories/pebble/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/shared.d.ts +18 -1
- package/dist/factories/shared.d.ts.map +1 -1
- package/dist/factories/shared.js +89 -8
- package/dist/factories/shared.js.map +1 -1
- package/dist/factories/simple/config/config-map.d.ts +7 -2
- package/dist/factories/simple/config/config-map.d.ts.map +1 -1
- package/dist/factories/simple/config/config-map.js +3 -0
- package/dist/factories/simple/config/config-map.js.map +1 -1
- package/dist/factories/simple/config/secret.d.ts +11 -2
- package/dist/factories/simple/config/secret.d.ts.map +1 -1
- package/dist/factories/simple/config/secret.js +23 -1
- package/dist/factories/simple/config/secret.js.map +1 -1
- package/dist/factories/simple/storage/persistent-volume-claim.d.ts.map +1 -1
- package/dist/factories/simple/storage/persistent-volume-claim.js +1 -0
- package/dist/factories/simple/storage/persistent-volume-claim.js.map +1 -1
- package/dist/factories/simple/types.d.ts +5 -1
- package/dist/factories/simple/types.d.ts.map +1 -1
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +67 -0
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/type-guards.d.ts +5 -0
- package/dist/utils/type-guards.d.ts.map +1 -1
- package/dist/utils/type-guards.js +9 -3
- package/dist/utils/type-guards.js.map +1 -1
- package/package.json +49 -5
|
@@ -0,0 +1,581 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cilium Networking CRD Factory Functions
|
|
3
|
+
*
|
|
4
|
+
* This module provides factory functions for Cilium networking resources:
|
|
5
|
+
* - CiliumNetworkPolicy
|
|
6
|
+
* - CiliumClusterwideNetworkPolicy
|
|
7
|
+
*
|
|
8
|
+
* Each factory function includes embedded readiness evaluators for proper
|
|
9
|
+
* lifecycle management and status monitoring.
|
|
10
|
+
*/
|
|
11
|
+
import { createResource } from '../../shared.js';
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// CILIUM NETWORK POLICY FACTORY
|
|
14
|
+
// =============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Embedded readiness evaluator for CiliumNetworkPolicy
|
|
17
|
+
*
|
|
18
|
+
* Evaluates policy readiness based on:
|
|
19
|
+
* - Policy acceptance by Cilium agent
|
|
20
|
+
* - Endpoint selection and rule application
|
|
21
|
+
* - Error conditions and validation status
|
|
22
|
+
*/
|
|
23
|
+
export const ciliumNetworkPolicyReadinessEvaluator = (resource) => {
|
|
24
|
+
const status = resource.status;
|
|
25
|
+
// Check if status exists - for CiliumNetworkPolicy, no status often means it's been accepted
|
|
26
|
+
// but not yet processed by the Cilium agent. We'll consider this ready after a brief period.
|
|
27
|
+
if (!status) {
|
|
28
|
+
// If the resource exists and has been applied, consider it ready
|
|
29
|
+
// CiliumNetworkPolicy doesn't always populate status immediately
|
|
30
|
+
if (resource.metadata?.creationTimestamp) {
|
|
31
|
+
const createdTime = new Date(resource.metadata.creationTimestamp);
|
|
32
|
+
const now = new Date();
|
|
33
|
+
const ageInSeconds = (now.getTime() - createdTime.getTime()) / 1000;
|
|
34
|
+
// If the policy has existed for more than 5 seconds without errors, consider it ready
|
|
35
|
+
if (ageInSeconds > 5) {
|
|
36
|
+
return {
|
|
37
|
+
ready: true,
|
|
38
|
+
message: 'CiliumNetworkPolicy applied successfully (no status reported)',
|
|
39
|
+
details: {
|
|
40
|
+
phase: 'applied',
|
|
41
|
+
ageInSeconds: Math.round(ageInSeconds),
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
ready: false,
|
|
48
|
+
message: 'CiliumNetworkPolicy status not available',
|
|
49
|
+
details: { phase: 'pending' },
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// Check for error conditions
|
|
53
|
+
if (status.conditions) {
|
|
54
|
+
// Check for Ready condition first (standard Kubernetes pattern)
|
|
55
|
+
const readyCondition = status.conditions.find((c) => c.type === 'Ready');
|
|
56
|
+
if (readyCondition) {
|
|
57
|
+
if (readyCondition.status === 'True') {
|
|
58
|
+
return {
|
|
59
|
+
ready: true,
|
|
60
|
+
message: 'CiliumNetworkPolicy is ready and applied',
|
|
61
|
+
details: {
|
|
62
|
+
lastTransition: readyCondition.lastTransitionTime,
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// Handle specific error reasons, prefer message over reason
|
|
68
|
+
let message = 'CiliumNetworkPolicy not ready';
|
|
69
|
+
if (readyCondition.message) {
|
|
70
|
+
message = `CiliumNetworkPolicy not ready: ${readyCondition.message}`;
|
|
71
|
+
}
|
|
72
|
+
else if (readyCondition.reason === 'InvalidEndpointSelector') {
|
|
73
|
+
message = 'CiliumNetworkPolicy not ready: Invalid endpoint selector';
|
|
74
|
+
}
|
|
75
|
+
else if (readyCondition.reason) {
|
|
76
|
+
message = `CiliumNetworkPolicy not ready: ${readyCondition.reason}`;
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
ready: false,
|
|
80
|
+
message,
|
|
81
|
+
details: {
|
|
82
|
+
condition: readyCondition,
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Check for validation errors (Cilium-specific)
|
|
88
|
+
const invalidCondition = status.conditions.find((c) => c.type === 'Valid' && c.status === 'False');
|
|
89
|
+
if (invalidCondition) {
|
|
90
|
+
return {
|
|
91
|
+
ready: false,
|
|
92
|
+
message: `CiliumNetworkPolicy validation failed: ${invalidCondition.message || invalidCondition.reason || 'Unknown error'}`,
|
|
93
|
+
details: {
|
|
94
|
+
condition: invalidCondition,
|
|
95
|
+
state: status.state,
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
// Check for valid condition (Cilium uses 'Valid' instead of 'Ready')
|
|
100
|
+
const validCondition = status.conditions.find((c) => c.type === 'Valid' && c.status === 'True');
|
|
101
|
+
if (validCondition) {
|
|
102
|
+
return {
|
|
103
|
+
ready: true,
|
|
104
|
+
message: 'CiliumNetworkPolicy is valid and applied',
|
|
105
|
+
details: {
|
|
106
|
+
condition: validCondition,
|
|
107
|
+
state: status.state,
|
|
108
|
+
lastTransition: validCondition.lastTransitionTime,
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
if (readyCondition) {
|
|
113
|
+
return {
|
|
114
|
+
ready: true,
|
|
115
|
+
message: 'CiliumNetworkPolicy is ready and applied',
|
|
116
|
+
details: {
|
|
117
|
+
condition: readyCondition,
|
|
118
|
+
state: status.state,
|
|
119
|
+
lastTransition: readyCondition.lastTransitionTime,
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Check state field as fallback
|
|
125
|
+
if (status.state) {
|
|
126
|
+
switch (status.state.toLowerCase()) {
|
|
127
|
+
case 'ready':
|
|
128
|
+
case 'applied':
|
|
129
|
+
return {
|
|
130
|
+
ready: true,
|
|
131
|
+
message: 'CiliumNetworkPolicy is ready',
|
|
132
|
+
details: { state: status.state },
|
|
133
|
+
};
|
|
134
|
+
case 'error':
|
|
135
|
+
case 'failed':
|
|
136
|
+
return {
|
|
137
|
+
ready: false,
|
|
138
|
+
message: `CiliumNetworkPolicy failed: ${status.message || 'Unknown error'}`,
|
|
139
|
+
details: { state: status.state },
|
|
140
|
+
};
|
|
141
|
+
case 'pending':
|
|
142
|
+
case 'applying':
|
|
143
|
+
return {
|
|
144
|
+
ready: false,
|
|
145
|
+
message: 'CiliumNetworkPolicy is being applied',
|
|
146
|
+
details: { state: status.state },
|
|
147
|
+
};
|
|
148
|
+
default:
|
|
149
|
+
return {
|
|
150
|
+
ready: false,
|
|
151
|
+
message: `CiliumNetworkPolicy in unknown state: ${status.state}`,
|
|
152
|
+
details: { state: status.state },
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// Default to not ready if we can't determine status
|
|
157
|
+
return {
|
|
158
|
+
ready: false,
|
|
159
|
+
message: 'CiliumNetworkPolicy status unclear',
|
|
160
|
+
details: { status },
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Factory function for CiliumNetworkPolicy
|
|
165
|
+
*
|
|
166
|
+
* Creates a Cilium network policy resource with comprehensive configuration
|
|
167
|
+
* options for ingress and egress rules, endpoint selection, and L7 policies.
|
|
168
|
+
*
|
|
169
|
+
* @param resource - CiliumNetworkPolicy resource definition
|
|
170
|
+
* @returns Enhanced CiliumNetworkPolicy resource with embedded readiness evaluator
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* Basic network policy:
|
|
174
|
+
* ```typescript
|
|
175
|
+
* const policy = ciliumNetworkPolicy({
|
|
176
|
+
* apiVersion: 'cilium.io/v2',
|
|
177
|
+
* kind: 'CiliumNetworkPolicy',
|
|
178
|
+
* metadata: {
|
|
179
|
+
* name: 'allow-frontend',
|
|
180
|
+
* namespace: 'default'
|
|
181
|
+
* },
|
|
182
|
+
* spec: {
|
|
183
|
+
* endpointSelector: {
|
|
184
|
+
* matchLabels: { app: 'frontend' }
|
|
185
|
+
* },
|
|
186
|
+
* ingress: [{
|
|
187
|
+
* fromEndpoints: [{
|
|
188
|
+
* matchLabels: { app: 'backend' }
|
|
189
|
+
* }],
|
|
190
|
+
* toPorts: [{
|
|
191
|
+
* ports: [{ port: '8080', protocol: 'TCP' }]
|
|
192
|
+
* }]
|
|
193
|
+
* }]
|
|
194
|
+
* }
|
|
195
|
+
* });
|
|
196
|
+
* ```
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* L7 HTTP policy:
|
|
200
|
+
* ```typescript
|
|
201
|
+
* const httpPolicy = ciliumNetworkPolicy({
|
|
202
|
+
* apiVersion: 'cilium.io/v2',
|
|
203
|
+
* kind: 'CiliumNetworkPolicy',
|
|
204
|
+
* metadata: {
|
|
205
|
+
* name: 'api-access',
|
|
206
|
+
* namespace: 'default'
|
|
207
|
+
* },
|
|
208
|
+
* spec: {
|
|
209
|
+
* endpointSelector: {
|
|
210
|
+
* matchLabels: { app: 'api' }
|
|
211
|
+
* },
|
|
212
|
+
* ingress: [{
|
|
213
|
+
* fromEndpoints: [{
|
|
214
|
+
* matchLabels: { app: 'frontend' }
|
|
215
|
+
* }],
|
|
216
|
+
* toPorts: [{
|
|
217
|
+
* ports: [{ port: '8080', protocol: 'TCP' }],
|
|
218
|
+
* rules: {
|
|
219
|
+
* http: [{
|
|
220
|
+
* method: 'GET',
|
|
221
|
+
* path: '/api/v1/.*'
|
|
222
|
+
* }]
|
|
223
|
+
* }
|
|
224
|
+
* }]
|
|
225
|
+
* }]
|
|
226
|
+
* }
|
|
227
|
+
* });
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
export function ciliumNetworkPolicy(resource) {
|
|
231
|
+
// Validate required fields - allow CEL expressions, KubernetesRef objects, and JavaScript expression results
|
|
232
|
+
const name = resource.metadata?.name;
|
|
233
|
+
if (name === undefined || name === null) {
|
|
234
|
+
throw new Error('CiliumNetworkPolicy name is required');
|
|
235
|
+
}
|
|
236
|
+
if (!resource.spec) {
|
|
237
|
+
throw new Error('CiliumNetworkPolicy spec is required');
|
|
238
|
+
}
|
|
239
|
+
// Validate endpoint selector if provided (empty object {} is valid for selecting all endpoints)
|
|
240
|
+
if (resource.spec.endpointSelector && Object.keys(resource.spec.endpointSelector).length > 0) {
|
|
241
|
+
if (!resource.spec.endpointSelector.matchLabels &&
|
|
242
|
+
!resource.spec.endpointSelector.matchExpressions) {
|
|
243
|
+
throw new Error('CiliumNetworkPolicy endpointSelector must have matchLabels or matchExpressions');
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// Validate ingress rules if provided
|
|
247
|
+
if (resource.spec.ingress) {
|
|
248
|
+
resource.spec.ingress.forEach((rule, index) => {
|
|
249
|
+
if (!rule.fromEndpoints &&
|
|
250
|
+
!rule.fromCIDR &&
|
|
251
|
+
!rule.fromCIDRSet &&
|
|
252
|
+
!rule.fromEntities &&
|
|
253
|
+
!rule.fromGroups) {
|
|
254
|
+
throw new Error(`CiliumNetworkPolicy ingress rule ${index} must specify at least one source`);
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
// Validate egress rules if provided
|
|
259
|
+
if (resource.spec.egress) {
|
|
260
|
+
resource.spec.egress.forEach((rule, index) => {
|
|
261
|
+
if (!rule.toEndpoints &&
|
|
262
|
+
!rule.toCIDR &&
|
|
263
|
+
!rule.toCIDRSet &&
|
|
264
|
+
!rule.toEntities &&
|
|
265
|
+
!rule.toGroups &&
|
|
266
|
+
!rule.toFQDNs) {
|
|
267
|
+
throw new Error(`CiliumNetworkPolicy egress rule ${index} must specify at least one destination`);
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
return createResource({
|
|
272
|
+
...resource,
|
|
273
|
+
apiVersion: 'cilium.io/v2',
|
|
274
|
+
kind: 'CiliumNetworkPolicy',
|
|
275
|
+
metadata: {
|
|
276
|
+
...resource.metadata,
|
|
277
|
+
namespace: resource.metadata?.namespace || 'default',
|
|
278
|
+
},
|
|
279
|
+
}).withReadinessEvaluator(ciliumNetworkPolicyReadinessEvaluator);
|
|
280
|
+
}
|
|
281
|
+
// =============================================================================
|
|
282
|
+
// CILIUM CLUSTERWIDE NETWORK POLICY FACTORY
|
|
283
|
+
// =============================================================================
|
|
284
|
+
/**
|
|
285
|
+
* Embedded readiness evaluator for CiliumClusterwideNetworkPolicy
|
|
286
|
+
*
|
|
287
|
+
* Evaluates cluster-wide policy readiness based on:
|
|
288
|
+
* - Policy acceptance across all nodes
|
|
289
|
+
* - Node selector validation
|
|
290
|
+
* - Cluster-wide rule application status
|
|
291
|
+
*/
|
|
292
|
+
export const ciliumClusterwideNetworkPolicyReadinessEvaluator = (resource) => {
|
|
293
|
+
const status = resource.status;
|
|
294
|
+
// Check if status exists - for CiliumClusterwideNetworkPolicy, no status often means it's been accepted
|
|
295
|
+
// but not yet processed by the Cilium agent. We'll consider this ready after a brief period.
|
|
296
|
+
if (!status) {
|
|
297
|
+
// If the resource exists and has been applied, consider it ready
|
|
298
|
+
// CiliumClusterwideNetworkPolicy doesn't always populate status immediately
|
|
299
|
+
if (resource.metadata?.creationTimestamp) {
|
|
300
|
+
const createdTime = new Date(resource.metadata.creationTimestamp);
|
|
301
|
+
const now = new Date();
|
|
302
|
+
const ageInSeconds = (now.getTime() - createdTime.getTime()) / 1000;
|
|
303
|
+
// If the policy has existed for more than 5 seconds without errors, consider it ready
|
|
304
|
+
if (ageInSeconds > 5) {
|
|
305
|
+
return {
|
|
306
|
+
ready: true,
|
|
307
|
+
message: 'CiliumClusterwideNetworkPolicy applied successfully (no status reported)',
|
|
308
|
+
details: {
|
|
309
|
+
phase: 'applied',
|
|
310
|
+
ageInSeconds: Math.round(ageInSeconds),
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return {
|
|
316
|
+
ready: false,
|
|
317
|
+
message: 'CiliumClusterwideNetworkPolicy status not available',
|
|
318
|
+
details: { phase: 'pending' },
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
// Check for error conditions
|
|
322
|
+
if (status.conditions) {
|
|
323
|
+
// Check for validation errors first
|
|
324
|
+
const invalidCondition = status.conditions.find((c) => c.type === 'Valid' && c.status === 'False');
|
|
325
|
+
if (invalidCondition) {
|
|
326
|
+
return {
|
|
327
|
+
ready: false,
|
|
328
|
+
message: `CiliumClusterwideNetworkPolicy validation failed: ${invalidCondition.message || invalidCondition.reason || 'Unknown error'}`,
|
|
329
|
+
details: {
|
|
330
|
+
condition: invalidCondition,
|
|
331
|
+
state: status.state,
|
|
332
|
+
},
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
// Check for valid condition (Cilium uses 'Valid' instead of 'Ready')
|
|
336
|
+
const validCondition = status.conditions.find((c) => c.type === 'Valid' && c.status === 'True');
|
|
337
|
+
if (validCondition) {
|
|
338
|
+
return {
|
|
339
|
+
ready: true,
|
|
340
|
+
message: 'CiliumClusterwideNetworkPolicy is valid and applied cluster-wide',
|
|
341
|
+
details: {
|
|
342
|
+
condition: validCondition,
|
|
343
|
+
state: status.state,
|
|
344
|
+
lastTransition: validCondition.lastTransitionTime,
|
|
345
|
+
},
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
// Also check for Ready condition as fallback
|
|
349
|
+
const readyCondition = status.conditions.find((c) => c.type === 'Ready' && c.status === 'True');
|
|
350
|
+
if (readyCondition) {
|
|
351
|
+
return {
|
|
352
|
+
ready: true,
|
|
353
|
+
message: 'CiliumClusterwideNetworkPolicy is ready and applied cluster-wide',
|
|
354
|
+
details: {
|
|
355
|
+
condition: readyCondition,
|
|
356
|
+
state: status.state,
|
|
357
|
+
lastTransition: readyCondition.lastTransitionTime,
|
|
358
|
+
},
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
// Check state field as fallback
|
|
363
|
+
if (status.state) {
|
|
364
|
+
switch (status.state.toLowerCase()) {
|
|
365
|
+
case 'ready':
|
|
366
|
+
case 'applied':
|
|
367
|
+
return {
|
|
368
|
+
ready: true,
|
|
369
|
+
message: 'CiliumClusterwideNetworkPolicy is ready',
|
|
370
|
+
details: { state: status.state },
|
|
371
|
+
};
|
|
372
|
+
case 'error':
|
|
373
|
+
case 'failed':
|
|
374
|
+
return {
|
|
375
|
+
ready: false,
|
|
376
|
+
message: `CiliumClusterwideNetworkPolicy failed: ${status.message || 'Unknown error'}`,
|
|
377
|
+
details: { state: status.state },
|
|
378
|
+
};
|
|
379
|
+
case 'pending':
|
|
380
|
+
case 'applying':
|
|
381
|
+
return {
|
|
382
|
+
ready: false,
|
|
383
|
+
message: 'CiliumClusterwideNetworkPolicy is being applied cluster-wide',
|
|
384
|
+
details: { state: status.state },
|
|
385
|
+
};
|
|
386
|
+
default:
|
|
387
|
+
return {
|
|
388
|
+
ready: false,
|
|
389
|
+
message: `CiliumClusterwideNetworkPolicy in unknown state: ${status.state}`,
|
|
390
|
+
details: { state: status.state },
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
// Default to not ready if we can't determine status
|
|
395
|
+
return {
|
|
396
|
+
ready: false,
|
|
397
|
+
message: 'CiliumClusterwideNetworkPolicy status unclear',
|
|
398
|
+
details: { status },
|
|
399
|
+
};
|
|
400
|
+
};
|
|
401
|
+
/**
|
|
402
|
+
* Factory function for CiliumClusterwideNetworkPolicy
|
|
403
|
+
*
|
|
404
|
+
* Creates a cluster-wide Cilium network policy resource that applies across
|
|
405
|
+
* all nodes in the cluster. Supports node selection and cluster-wide rules.
|
|
406
|
+
*
|
|
407
|
+
* @param resource - CiliumClusterwideNetworkPolicy resource definition
|
|
408
|
+
* @returns Enhanced CiliumClusterwideNetworkPolicy resource with embedded readiness evaluator
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* Cluster-wide deny-all policy:
|
|
412
|
+
* ```typescript
|
|
413
|
+
* const denyAll = ciliumClusterwideNetworkPolicy({
|
|
414
|
+
* apiVersion: 'cilium.io/v2',
|
|
415
|
+
* kind: 'CiliumClusterwideNetworkPolicy',
|
|
416
|
+
* metadata: {
|
|
417
|
+
* name: 'deny-all-ingress'
|
|
418
|
+
* },
|
|
419
|
+
* spec: {
|
|
420
|
+
* endpointSelector: {}, // Selects all endpoints
|
|
421
|
+
* ingress: [], // Empty ingress rules = deny all
|
|
422
|
+
* egress: [] // Empty egress rules = deny all
|
|
423
|
+
* }
|
|
424
|
+
* });
|
|
425
|
+
* ```
|
|
426
|
+
*
|
|
427
|
+
* @example
|
|
428
|
+
* Node-specific cluster policy:
|
|
429
|
+
* ```typescript
|
|
430
|
+
* const nodePolicy = ciliumClusterwideNetworkPolicy({
|
|
431
|
+
* apiVersion: 'cilium.io/v2',
|
|
432
|
+
* kind: 'CiliumClusterwideNetworkPolicy',
|
|
433
|
+
* metadata: {
|
|
434
|
+
* name: 'worker-node-policy'
|
|
435
|
+
* },
|
|
436
|
+
* spec: {
|
|
437
|
+
* nodeSelector: {
|
|
438
|
+
* matchLabels: { 'node-role.kubernetes.io/worker': '' }
|
|
439
|
+
* },
|
|
440
|
+
* ingress: [{
|
|
441
|
+
* fromEntities: ['host'],
|
|
442
|
+
* toPorts: [{
|
|
443
|
+
* ports: [{ port: '9100', protocol: 'TCP' }]
|
|
444
|
+
* }]
|
|
445
|
+
* }]
|
|
446
|
+
* }
|
|
447
|
+
* });
|
|
448
|
+
* ```
|
|
449
|
+
*/
|
|
450
|
+
export function ciliumClusterwideNetworkPolicy(resource) {
|
|
451
|
+
// Validate required fields - allow CEL expressions, KubernetesRef objects, and JavaScript expression results
|
|
452
|
+
const name = resource.metadata?.name;
|
|
453
|
+
if (name === undefined || name === null) {
|
|
454
|
+
throw new Error('CiliumClusterwideNetworkPolicy name is required');
|
|
455
|
+
}
|
|
456
|
+
if (!resource.spec) {
|
|
457
|
+
throw new Error('CiliumClusterwideNetworkPolicy spec is required');
|
|
458
|
+
}
|
|
459
|
+
// Validate endpoint selector if provided (empty object {} is valid for selecting all endpoints)
|
|
460
|
+
if (resource.spec.endpointSelector && Object.keys(resource.spec.endpointSelector).length > 0) {
|
|
461
|
+
if (!resource.spec.endpointSelector.matchLabels &&
|
|
462
|
+
!resource.spec.endpointSelector.matchExpressions) {
|
|
463
|
+
throw new Error('CiliumClusterwideNetworkPolicy endpointSelector must have matchLabels or matchExpressions');
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
// Validate node selector if provided
|
|
467
|
+
if (resource.spec.nodeSelector) {
|
|
468
|
+
if (!resource.spec.nodeSelector.matchLabels && !resource.spec.nodeSelector.matchExpressions) {
|
|
469
|
+
throw new Error('CiliumClusterwideNetworkPolicy nodeSelector must have matchLabels or matchExpressions');
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
// Validate ingress rules if provided
|
|
473
|
+
if (resource.spec.ingress) {
|
|
474
|
+
resource.spec.ingress.forEach((rule, index) => {
|
|
475
|
+
if (!rule.fromEndpoints &&
|
|
476
|
+
!rule.fromCIDR &&
|
|
477
|
+
!rule.fromCIDRSet &&
|
|
478
|
+
!rule.fromEntities &&
|
|
479
|
+
!rule.fromGroups) {
|
|
480
|
+
throw new Error(`CiliumClusterwideNetworkPolicy ingress rule ${index} must specify at least one source`);
|
|
481
|
+
}
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
// Validate egress rules if provided
|
|
485
|
+
if (resource.spec.egress) {
|
|
486
|
+
resource.spec.egress.forEach((rule, index) => {
|
|
487
|
+
if (!rule.toEndpoints &&
|
|
488
|
+
!rule.toCIDR &&
|
|
489
|
+
!rule.toCIDRSet &&
|
|
490
|
+
!rule.toEntities &&
|
|
491
|
+
!rule.toGroups &&
|
|
492
|
+
!rule.toFQDNs) {
|
|
493
|
+
throw new Error(`CiliumClusterwideNetworkPolicy egress rule ${index} must specify at least one destination`);
|
|
494
|
+
}
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
return createResource({
|
|
498
|
+
...resource,
|
|
499
|
+
apiVersion: 'cilium.io/v2',
|
|
500
|
+
kind: 'CiliumClusterwideNetworkPolicy',
|
|
501
|
+
metadata: resource.metadata ?? { name: 'unnamed-cilium-clusterwide-network-policy' },
|
|
502
|
+
}, { scope: 'cluster' }).withReadinessEvaluator(ciliumClusterwideNetworkPolicyReadinessEvaluator);
|
|
503
|
+
}
|
|
504
|
+
// =============================================================================
|
|
505
|
+
// SIMPLE FACTORY FUNCTIONS
|
|
506
|
+
// =============================================================================
|
|
507
|
+
/**
|
|
508
|
+
* Simple factory function for CiliumNetworkPolicy
|
|
509
|
+
*
|
|
510
|
+
* Creates a CiliumNetworkPolicy with simplified configuration and sensible defaults.
|
|
511
|
+
*
|
|
512
|
+
* @param config - Simplified CiliumNetworkPolicy configuration
|
|
513
|
+
* @returns Enhanced CiliumNetworkPolicy resource with embedded readiness evaluator
|
|
514
|
+
*
|
|
515
|
+
* @example
|
|
516
|
+
* ```typescript
|
|
517
|
+
* const policy = NetworkPolicy({
|
|
518
|
+
* name: 'allow-frontend',
|
|
519
|
+
* namespace: 'default',
|
|
520
|
+
* spec: {
|
|
521
|
+
* endpointSelector: {
|
|
522
|
+
* matchLabels: { app: 'frontend' }
|
|
523
|
+
* },
|
|
524
|
+
* ingress: [{
|
|
525
|
+
* fromEndpoints: [{
|
|
526
|
+
* matchLabels: { app: 'backend' }
|
|
527
|
+
* }],
|
|
528
|
+
* toPorts: [{
|
|
529
|
+
* ports: [{ port: '8080', protocol: 'TCP' }]
|
|
530
|
+
* }]
|
|
531
|
+
* }]
|
|
532
|
+
* },
|
|
533
|
+
* id: 'frontendPolicy'
|
|
534
|
+
* });
|
|
535
|
+
* ```
|
|
536
|
+
*/
|
|
537
|
+
export function NetworkPolicy(config) {
|
|
538
|
+
return ciliumNetworkPolicy({
|
|
539
|
+
apiVersion: 'cilium.io/v2',
|
|
540
|
+
kind: 'CiliumNetworkPolicy',
|
|
541
|
+
metadata: {
|
|
542
|
+
name: config.name,
|
|
543
|
+
...(config.namespace && { namespace: config.namespace }),
|
|
544
|
+
},
|
|
545
|
+
spec: config.spec,
|
|
546
|
+
...(config.id && { id: config.id }),
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Simple factory function for CiliumClusterwideNetworkPolicy
|
|
551
|
+
*
|
|
552
|
+
* Creates a CiliumClusterwideNetworkPolicy with simplified configuration and sensible defaults.
|
|
553
|
+
*
|
|
554
|
+
* @param config - Simplified CiliumClusterwideNetworkPolicy configuration
|
|
555
|
+
* @returns Enhanced CiliumClusterwideNetworkPolicy resource with embedded readiness evaluator
|
|
556
|
+
*
|
|
557
|
+
* @example
|
|
558
|
+
* ```typescript
|
|
559
|
+
* const denyAll = ClusterwideNetworkPolicy({
|
|
560
|
+
* name: 'deny-all-ingress',
|
|
561
|
+
* spec: {
|
|
562
|
+
* endpointSelector: {}, // Selects all endpoints
|
|
563
|
+
* ingress: [], // Empty ingress rules = deny all
|
|
564
|
+
* egress: [] // Empty egress rules = deny all
|
|
565
|
+
* },
|
|
566
|
+
* id: 'denyAllPolicy'
|
|
567
|
+
* });
|
|
568
|
+
* ```
|
|
569
|
+
*/
|
|
570
|
+
export function ClusterwideNetworkPolicy(config) {
|
|
571
|
+
return ciliumClusterwideNetworkPolicy({
|
|
572
|
+
apiVersion: 'cilium.io/v2',
|
|
573
|
+
kind: 'CiliumClusterwideNetworkPolicy',
|
|
574
|
+
metadata: {
|
|
575
|
+
name: config.name,
|
|
576
|
+
},
|
|
577
|
+
spec: config.spec,
|
|
578
|
+
...(config.id && { id: config.id }),
|
|
579
|
+
});
|
|
580
|
+
}
|
|
581
|
+
//# sourceMappingURL=networking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networking.js","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/networking.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cilium Observability CRD Factory Functions
|
|
3
|
+
*
|
|
4
|
+
* This module provides factory functions for Cilium observability resources:
|
|
5
|
+
* - Hubble configuration resources
|
|
6
|
+
* - Monitoring and metrics resources
|
|
7
|
+
*/
|
|
8
|
+
export declare const __observabilityPlaceholder = true;
|
|
9
|
+
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/observability.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,eAAO,MAAM,0BAA0B,OAAO,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cilium Observability CRD Factory Functions
|
|
3
|
+
*
|
|
4
|
+
* This module provides factory functions for Cilium observability resources:
|
|
5
|
+
* - Hubble configuration resources
|
|
6
|
+
* - Monitoring and metrics resources
|
|
7
|
+
*/
|
|
8
|
+
// TODO: Implement observability CRD factories in later tasks
|
|
9
|
+
// Placeholder export to make this a valid module
|
|
10
|
+
export const __observabilityPlaceholder = true;
|
|
11
|
+
//# sourceMappingURL=observability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/observability.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6DAA6D;AAE7D,iDAAiD;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cilium Security CRD Factory Functions
|
|
3
|
+
*
|
|
4
|
+
* This module provides factory functions for Cilium security resources:
|
|
5
|
+
* - CiliumEgressGatewayPolicy
|
|
6
|
+
* - CiliumLocalRedirectPolicy
|
|
7
|
+
* - CiliumCIDRGroup
|
|
8
|
+
*/
|
|
9
|
+
export declare const __securityPlaceholder = true;
|
|
10
|
+
//# sourceMappingURL=security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/security.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,eAAO,MAAM,qBAAqB,OAAO,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cilium Security CRD Factory Functions
|
|
3
|
+
*
|
|
4
|
+
* This module provides factory functions for Cilium security resources:
|
|
5
|
+
* - CiliumEgressGatewayPolicy
|
|
6
|
+
* - CiliumLocalRedirectPolicy
|
|
7
|
+
* - CiliumCIDRGroup
|
|
8
|
+
*/
|
|
9
|
+
// TODO: Implement in task 8.1 - Create CiliumEgressGatewayPolicy factory
|
|
10
|
+
// TODO: Implement in task 8.2 - Create CiliumLocalRedirectPolicy factory
|
|
11
|
+
// TODO: Implement in task 8.3 - Create CiliumCIDRGroup factory
|
|
12
|
+
// Placeholder export to make this a valid module
|
|
13
|
+
export const __securityPlaceholder = true;
|
|
14
|
+
//# sourceMappingURL=security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/security.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,yEAAyE;AACzE,yEAAyE;AACzE,+DAA+D;AAE/D,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC"}
|